Steps to contribute to firefox os (gaia)

Post on 26-Aug-2014

5.533 views 6 download

Tags:

description

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

Transcript of Steps to contribute to firefox os (gaia)

Steps to Contribute Firefox OS (gaia)

gasolin@mozilla.com

wait for B2G session (by thinker)

If you are more familiar with...

C++ Python JS

Warning

C++ Python JSwelcome aboard :)

If you are familiar with...

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

Reference

Why I’m here?

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

Firefox OS Front End (Gaia)

Open x Mobile x Web

Firefox OS Front End (Gaia)

Open x Mobile x Web(& python )

Firefox OS Front End (Gaia)

Open x Mobile x Web

三種願望⼀一次滿⾜足

(& python )

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

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

How good are you?

…...

Make you a better programmer

practice, cowork, feedback

Practice掱

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

Cowork劦

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

Feedback

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

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)

Mozilla can help YOU

and YOU can help us, too

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

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

Web Application

Web Platform

Infrastructure

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

Web Application

Web Platform

Infrastructure

Gaia

Gecko

Gonk

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

Reference

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

Reference

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

Reference

Firefox OS Simulator

• Firefox addon to simulate and debug web apps

http://bit.ly/T249hsReference

Gecko

Core Browser Engine

GeckoNetscape90’ Browser

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Desktop Firefox

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android)

Firefox for Mobile

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gonk

adapter to each device

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

GeckoNetscape

Firefox (windows)

Firefox (mac)

Firefox (linux)

Firefox (android) Firefox OS

Gaia

Gonk

adapter to each device

system & build-in web apps

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/

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/

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/

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/

credit by http://bit.ly/Vf99jc

Gaia (System & build-in web apps)

credit by http://bit.ly/Vf99jc

Gaia (System & build-in web apps)

system platformsystem utilitybrowsermediaproductivitycommunications...

Gecko ~= Tony Stark

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

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

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

Up and running

Get gaia

Build gaia

Run gaia

Get Aurora

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

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

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/

Run gaia

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

Discover

Find Issues

take bug

fire a bug

Bugzilla http://bit.ly/YwASU7Find Issues

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

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

Take bug

Follow bugReference

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

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

Reference

My first patch

Coding

Submit Patch

Review Granted

Ask review

Merge

I have an idea...

[feature] Talking Dialer: play voice with Dialing

(for demo purpose)

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

Need information or helpUse ‘Need more information from’ field

CodingCount Number voice clip found...

CodingCount Number voice clip found...

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

Pull Request (submit patch)

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

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

Ask Reviewattach an auto redirect html page to github

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

send PR for reviewAssign proper reviewer from Module owner list

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

Wait for review

Wait for review

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

get feedbackWarning

get feedbackWarning

or get granted with criteria

fix it, then...

Warning

Congrats, your get first commit

keep doing your good job!

Done

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

-- Marissa Mayer

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

Make the world a better place

webwide

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

Thanks