Top Banner
Steps to Contribute Firefox OS (gaia) [email protected]
71

Steps to contribute to firefox os (gaia)

Aug 26, 2014

Download

Self Improvement

Fred Lin

Provide Firefox OS Frontend (gaia) contribution procedures for new comers.

Presented at COSCUP 2013
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Steps to contribute to firefox os (gaia)

Steps to Contribute Firefox OS (gaia)

[email protected]

Page 2: Steps to contribute to firefox os (gaia)

wait for B2G session (by thinker)

If you are more familiar with...

C++ Python JS

Warning

Page 3: Steps to contribute to firefox os (gaia)

C++ Python JSwelcome aboard :)

If you are familiar with...

First stop https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia

Reference

Page 4: Steps to contribute to firefox os (gaia)

Why I’m here?

Page 5: Steps to contribute to firefox os (gaia)

About Me:

• Mozilla Firefox OS front-end developer• GTUG Taipei Organizer (Open)• Android developer and book author (Mobile)• Python Web developer (Web)

http://www.gasolin.idv.tw

Page 6: Steps to contribute to firefox os (gaia)

Firefox OS Front End (Gaia)

Open x Mobile x Web

Page 7: Steps to contribute to firefox os (gaia)

Firefox OS Front End (Gaia)

Open x Mobile x Web(& python )

Page 8: Steps to contribute to firefox os (gaia)

Firefox OS Front End (Gaia)

Open x Mobile x Web

三種願望⼀一次滿⾜足

(& python )

Page 9: Steps to contribute to firefox os (gaia)

WHY contribute OSS?you know you can coding, but...

Page 10: Steps to contribute to firefox os (gaia)

(It’s all about how good you want to be)

How good are you?

…...

Page 11: Steps to contribute to firefox os (gaia)

Make you a better programmer

practice, cowork, feedback

Page 12: Steps to contribute to firefox os (gaia)

Practice掱

photo credit by http://www.flickr.com/photos/21556354@N03/7203604810/sizes/l/

Page 13: Steps to contribute to firefox os (gaia)

Cowork劦

photo credit by http://www.flickr.com/photos/outinthesticks/7336479102/sizes/l/

Page 14: Steps to contribute to firefox os (gaia)

Feedback

photo credit by http://www.flickr.com/photos/breathalyzer/2966642214/sizes/o/

Page 15: Steps to contribute to firefox os (gaia)

heal the world?Can you use your code to

photo credit by http://www.flickr.com/photos/noelzialee/267129769/sizes/l/

(make it a better place)

Page 16: Steps to contribute to firefox os (gaia)

Mozilla can help YOU

and YOU can help us, too

Page 17: Steps to contribute to firefox os (gaia)

WHAT IS Firefox OS?B2G = GAIA + GECKO + GONK

Page 18: Steps to contribute to firefox os (gaia)

WHAT IS Firefox OS?B2G = GAIA + GECKO + GONK

Web Application

Web Platform

Infrastructure

Page 19: Steps to contribute to firefox os (gaia)

WHAT IS Firefox OS?B2G = GAIA + GECKO + GONK

Web Application

Web Platform

Infrastructure

Gaia

Gecko

Gonk

Page 20: Steps to contribute to firefox os (gaia)

HTML5 Support APIshttps://developer.mozilla.org/docs/HTML/HTML5

Reference

Page 21: Steps to contribute to firefox os (gaia)

Firefox OS/Mobile for Android WebAPIhttps://developer.mozilla.org/en-US/docs/WebAPI

Reference

Page 22: Steps to contribute to firefox os (gaia)

Web App Developer Hubhttps://marketplace.firefox.com/developers/

Reference

Page 23: Steps to contribute to firefox os (gaia)

Firefox OS Simulator

• Firefox addon to simulate and debug web apps

http://bit.ly/T249hsReference

Page 24: Steps to contribute to firefox os (gaia)

Gecko

Core Browser Engine

Page 25: Steps to contribute to firefox os (gaia)

GeckoNetscape90’ Browser

Page 26: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Desktop Firefox

Page 27: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android)

Firefox for Mobile

Page 28: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Page 29: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gonk

adapter to each device

Page 30: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

Page 31: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

Page 32: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

image credit by http://ironman.wikia.com/wiki/

Page 33: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

image credit by http://ironman.wikia.com/wiki/

Page 34: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

image credit by http://ironman.wikia.com/wiki/

Page 35: Steps to contribute to firefox os (gaia)

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

image credit by http://ironman.wikia.com/wiki/

Page 36: Steps to contribute to firefox os (gaia)

credit by http://bit.ly/Vf99jc

Gaia (System & build-in web apps)

Page 37: Steps to contribute to firefox os (gaia)

credit by http://bit.ly/Vf99jc

Gaia (System & build-in web apps)

system platformsystem utilitybrowsermediaproductivitycommunications...

Page 38: Steps to contribute to firefox os (gaia)

Gecko ~= Tony Stark

photo credit by http://fanartexhibit.wordpress.com/2013/02/08/lady-avengers-wallpaper/

Page 39: Steps to contribute to firefox os (gaia)

Let’s play with Gaia• Up-and-running• Discover• My first patch

credit by http://bit.ly/1cnczgr

Page 40: Steps to contribute to firefox os (gaia)

Up and running

Get gaia

Build gaia

Run gaia

Get Aurora

Page 41: Steps to contribute to firefox os (gaia)

Get gaia https://github.com/mozilla-b2g/gaia

Page 42: Steps to contribute to firefox os (gaia)

Get AuroraGet Firefox Alpha version to emulate gaia in browserhttp://aurora.mozilla.org/

Page 43: Steps to contribute to firefox os (gaia)

Build Gaia# make steps$ DEBUG=1 make

more options and detail

• Make Options https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking#Make_options

• Hacking Gaia https://hacks.mozilla.org/2013/01/hacking-gaia-for-firefox-os-part-1/

Page 44: Steps to contribute to firefox os (gaia)

Run gaia

# open browser$ /[AppPath]/firefox -profile /User/me/gaia/profile-debug

Page 45: Steps to contribute to firefox os (gaia)

Discover

Find Issues

take bug

fire a bug

Page 46: Steps to contribute to firefox os (gaia)

Bugzilla http://bit.ly/YwASU7Find Issues

Page 47: Steps to contribute to firefox os (gaia)

Bugzilla http://bit.ly/YwASU7Fire a bug

Page 48: Steps to contribute to firefox os (gaia)

my first patchhttp://mzl.la/14IUpTh

http://mzl.la/15EJpS9

photo credit by http://www.wallpaperdev.com/wallpaper/2560x1600/cute-baby-printable-version-65303.html

Reference

Page 49: Steps to contribute to firefox os (gaia)

Take bug

Page 50: Steps to contribute to firefox os (gaia)

Follow bugReference

Page 51: Steps to contribute to firefox os (gaia)

DiscussionIRC: #b2g, #gaia (english)#mozilla-taiwan (chinese)

Maillist: https://lists.mozilla.org/listinfo/dev-gaia

Reference

Page 52: Steps to contribute to firefox os (gaia)

My first patch

Coding

Submit Patch

Review Granted

Ask review

Merge

Page 53: Steps to contribute to firefox os (gaia)

I have an idea...

[feature] Talking Dialer: play voice with Dialing

(for demo purpose)

Page 54: Steps to contribute to firefox os (gaia)

Fire a bugBug 877972 - able to play a short sound clip when keypad is pressed

Page 55: Steps to contribute to firefox os (gaia)

Need information or helpUse ‘Need more information from’ field

Page 56: Steps to contribute to firefox os (gaia)

CodingCount Number voice clip found...

Page 57: Steps to contribute to firefox os (gaia)

CodingCount Number voice clip found...

credit by Bumbler to Speech http://zhusee2.github.io/bumbler-to-speech/

Page 59: Steps to contribute to firefox os (gaia)

Pull Request (submit patch)

got PR https://github.com/mozilla-b2g/gaia/pull/11319

Page 60: Steps to contribute to firefox os (gaia)

Automatic Coding Style (lint) check

rely on lint toolsGaia has forced lint check before each commit(go @timdream for detail)

credit gjslint https://developers.google.com/closure/utilities/docs/linter_howto

Reference

Page 61: Steps to contribute to firefox os (gaia)

Ask Reviewattach an auto redirect html page to github

photo credit by http://weheartit.com/entry/9380358/via/abz

Page 62: Steps to contribute to firefox os (gaia)

send PR for reviewAssign proper reviewer from Module owner list

https://wiki.mozilla.org/Modules/FirefoxOS

Page 63: Steps to contribute to firefox os (gaia)

Wait for review

Page 64: Steps to contribute to firefox os (gaia)

Wait for review

got ‘review granted’ (r+), or not (r-)

Page 65: Steps to contribute to firefox os (gaia)

get feedbackWarning

Page 66: Steps to contribute to firefox os (gaia)

get feedbackWarning

Page 67: Steps to contribute to firefox os (gaia)

or get granted with criteria

fix it, then...

Warning

Page 68: Steps to contribute to firefox os (gaia)

Congrats, your get first commit

keep doing your good job!

Done

Page 69: Steps to contribute to firefox os (gaia)

去做⼀一些你還沒準備好能做的事那是讓⼈人成⻑⾧長的⽅方式

-- Marissa Mayer

I always did something I was a little not ready to do. I think that’s how you grow.

Page 70: Steps to contribute to firefox os (gaia)

Make the world a better place

webwide

https://github.com/mozilla-b2g/gaiahttps://github.com/mozilla-b2g/B2G

Page 71: Steps to contribute to firefox os (gaia)

Thanks