Steps to contribute to firefox os (gaia)

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

description

Provide Firefox OS Frontend (gaia) contribution procedures for new comers. Presented at COSCUP 2013

Transcript of Steps to contribute to firefox os (gaia)

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