Personal tools

Mobile/Get Involved

From MozillaWiki

Jump to: navigation, search

This page is the place to learn how to start contributing to Firefox for Android, also known as Fennec.

Firefox for Android is developed by the Mozilla community. We're currently focused on making Firefox rock on Android phones and tablets. We hope this page will help you become an active member of our community! If you're looking for other ways to contribute to Mozilla, have a look at Mozilla's global page for new contributors.

If you still feel that you don't know where to start after reading this page, feel free to ping us on IRC, we can probably give you some ideas. We're always looking for ways to improve this page to make it easier to start contributing to Firefox for Android. Suggestions and general feedback are more than welcome.

Contents

Hacking

Setting up a development environment for Firefox for Android is relatively easy. Just follow our build instructions and you'll be ready to start hacking after a couple of hours—mostly waiting for everything to compile. Unfortunately, Firefox for Android is more complicated than a basic Android app, so we recommend that you're comfortable using a command line before getting started.

Before starting to work on a bug, you should make sure you have your development environment set up. When you're ready to start hacking, it's a good idea to add a comment to the bug report letting the mentor know that you want to work on it. Ideally, the bug report should already have relevant source code links to help you get started. If you're unsure whether to take a certain bug or not, you can always contact us for clarification. If the bug you're working on involves UI changes, request feedback from the UX team (see contact list below) before landing.

Resources

Here's a list of resources that you may find useful for hacking on Fennec. Feel free to add more if you find things are missing!

Videos

Mentor Bugs

If you are looking for a bug with guidance, we maintain a set of bugs that are marked with an assigned mentor (see "Whiteboard" field). The mentor will help you get the necessary information to understand the issue, point out relevant parts of the code to look at, etc. You can browse these bugs on Bugs Ahoy!, but here's a list of unassigned mentor bugs to get you started:

ID Summary Whiteboard
894622 display URL/address when hovering over a link [mentor=kats][bad first bug][lang=js,java]
582581 Auto-populate the text in the Find-in-page textbox with search engine query [mentor=wesj][lang=js][lang=java]
583242 Add contact support to form autocomplete (Android) [lang=java][mentor=blassey]
613287 video controls should "push in" when tapped [mentor=wesj]
613590 No alert shown if we try to download with no sd-card attached [mentor=wesj]
648548 provide a UI to allow users to download fonts that are missing from their system [mentor=blassey][lang=js]
706500 ANR in keyDispatchingTimedOut due to blockage in GeckoLayerClient.compositionPauseRequested() [mentor=jchen]
725776 Expand and collapsible subdivided history? [mentor=lucasr]
732177 Clean up handleMessage() in GeckoApp [mentor=mcomella][lang=java]
732752 Load session history when 'loading tabs from last time' [mentor=bnicholson]
744025 Expose more discoverable way to delete downloads [mentor=wesj]
756074 Double tap to zoom should zoom to container, not text [mentor=wesj]
756912 Some thumbnails missing from Firefox Beta home screen [Engagement][mentor=gcp]
757927 No visible action for unsupported file association in the Downloads Manager [mentor=wesj]
758259 libstagefright crash in _ZN7android8OMXCodec14configureCodecERKNS_2spINS_8MetaDataEEEj with Flash on Samsung GT-I9100G with Gingerbread [native-crash][mentor=snorp]
765121 Video controls unresponsive on mobile [mentor=wesj][lang=js][lang=xbl]
771752 Master password preference dialog keyboard does not automatically show up on Galaxy Nexus [mentor=wesj][lang=java]
825752 Minus key (-) generates 0 keycode instead of 109 on TF300T [mentor=jchen][lang=c++]
830761 Add a way to undo Clear Pin(s) [mentor=wesj][lang=java]
846184 Lightweight theme should be shown on startup, rather than when Gecko initializes [good first bug][mentor=margaret][lang=java][has partial patch]
847435 Style "go back" session history menu [mentor=bnicholson][lang=java][bad first bug][non-trivial]
875366 Make dir listings mobile friendly [mentor=wesj][lang=css][lang=C++][bad-first-bug]
881091 Article showing twice in reader mode [mentor=lucasr][lang=js]
884327 Domain highlighting should be applied to URLs shown during pageload [mentor=wesj][lang=js]
891040 Media controls on Kickstarter overflow page content [mentor=wesj][lang=js][lang=xbl]
893289 Kill AlertNotification [mentor=wesj][lang=java]
895750 Strange doorhanger behavior - persists between tabs [mentor=margaret][lang=java]
901059 Clean up old unused package-manifest.in references [good first bug][mentor=markcapella@twcny.rr.com]
907079 The forward button is displayed after opening and closing the reader mode settings menu [mentor=margaret][lang=js]
912343 Extend testBookmarkKeyword to check for search term [mentor=margaret][lang=java]
917970 Large text on door-hanger for mixed content blocking on high DPI devices [lang=java][mentor=margaret]
921136 Fix behavior for selecting "Remove" for a combined bookmark-history item from Home items [mentor=margaret][lang=java]
921433 The favicon bundled with Fennec for support.mozilla.org does not match the actual favicon of the site [mentor=rnewman][lang=java][good first bug]
921468 [tablet] Empty space at the top of about:home list views [mentor=margaret][lang=java]
927692 Preload search engines [mentor=rnewman][lang=java][good first bug]
935259 Follow-up: Split DOMLinkAdded switch statement into methods [mentor=liuche][lang=javascript]
937253 Bookmarks opened from the Android Home Screen should "switch to tab" if the bookmarked page is already open [mentor=lucasr][lang=java]
944934 Use icon of helper app in address bar [mentor=wesj]
945340 crash in libstagefright.so@address - Nexus 4, 5 and 7 Android 4.4 [mentor=blassey][badfirstbug]
945714 Don't tweak tab states to force the 'showProgress' behaviour [mentor=lucasr][lang=java]
946329 Tapping in reader mode page margins doesn't toggle footer [mentor=wesj][lang=js]
947162 Adblock Plus Settings Page locks up the Browser/Add-on Manager [mentor=wesj]
947606 Tabs opened from other apps can disappear on OOM [mentor=mcomella][lang=java]
948355 Unable to go to mozRequestFullScreen() in <body contextmenu=...> [mentor=wesj][lang=js][lang=java]
949045 Persist open tabs more quickly, sync all the damn time [qa+][parallel][mentor=rnewman]
949204 SiteIdentityPopup doesn't need to depend on BrowserApp [mentor=lucasr][lang=java]
949637 Use LocalBroadcastManager to create more efficient and secure broadcasts [mentor=mcomella][lang=java]
949902 Command to go up a level in bookmark view is mislabeled [mentor=lucasr][lang=java]
956861 'Show search suggestions' preference label is misleading for non-supported engines [mentor=bnicholson]
956865 Calling BrowserApp.addTab with no parameters causes odd behavior [mentor=margaret][lang=js]
958399 Use apple-touch-icon links as the home screen icon for homescreen shortcuts [mentor=wesj][lang=js][lang=java]
958525 add ability to mute tabs [mentor=blassey]
959185 Audit API access levels in the toolbar package [good first bug][mentor=lucasr][lang=java]
959203 Experiment: Try using only XHDPI resources [mentor=rnewman][good first bug]
961335 Write unit tests for the ICODecoder [mentor=rnewman][lang=java][good first bug][exterminationweek]
964412 Support basic HTML markup in doorhanger text [mentor=margaret][lang=java]
965817 Empty space at the Tools menu display - HTC Sensation 4G [mentor=lucasr]
966654 Close button tap target on snippet banner is too small [mentor=margaret][lang=java][good first bug]
966707 Delete old addons.sqlite and extensions.sqlite [mentor=rnewman][lang=java]
967376 Pull master password dialog out of GeckoPreferences [mentor=wesj][lang=java]
968533 Separate Fennec-specific code and resources from generic Gecko code and resources [mentor=blassey]
970478 Certificate error pages are not completely translated in localized builds (missing pipnss.properties in build) [mentor=wesj]
971660 [tablet] - Settings menu options are not staying highlighted [tablet][mentor=liuche]
972058 Disable strictmode warnings during known violations [mentor=rnewman][lang=java]
972448 Add support for StaggeredGridView layout in dynamic panels [mentor=margaret][lang=java][bad first bug]
972624 Add tests to ensure each device configuration has the appropriate app menu [mentor=mcomella][lang=java]
972723 Reading list icon persists when aborting page load and going back to about:home [mentor=wesj][lang=js]
974427 Generalize page_row_height dimension [mentor=lucasr][lang=java]
974466 SelectHelper passed document instead of window to prompt [mentor=wesj][lang=js]
974846 (Nexus 7) - Tapping the android back button will not dismiss Firefox on some devices [mentor=lucasr]
976511 Text cut off on panels from reading list or recent tabs for (pt-PT), (hu-HU) [mentor=liuche][lang=js]
976616 Support dynamic viewport changes [mentor=kats][lang=js][bad first bug]
977164 Tabs from other devices should filter out open tabs [mentor=rnewman][lang=java][good first bug]
979776 Allow section tabs in hub panels [mentor=margaret][lang=java][bad first bug]
984310 Helper app icon in the URL bar, is not displayed after tapping back from external app [mentor=wesj]
996227 Add "Save as PDF" button test [mentor=mcomella][lang=java]
997049 "Switch to tab" does not work for Reading List entries [mentor=margaret][lang=java]
997996 Make ToolbarComponent.dismissEditingMode use the cancel editing mode button [mentor=mcomella][lang=java]
669510 Create Home screen shortcuts from bookmarks using a shell shortcut launcher [mentor=wesj]
721117 extension to exercise hooks in Native UI [mentor=mfinkle]
721421 Increase acceleration when a new fling action is performed during a fling [mentor=kats][lang=java]
755909 Text is selected when clicking textbox with Swype keyboard [mentor=jchen]
903532 [Fig] Follow-up: Reposition empty hint for better tablet layout [mentor=liuche][lang=java]
700437 Ux for hiding doorhangers and showing them back [mentor=margaret]
701895 [IME] return key does not cause the urlbar to go to the website using simeji [testday-20111111], [VKB][mentor=jchen]
715990 Fire click events on option elements [mentor=wesj][lang=js]
718960 "Add to Home Screen" is both unclear and hidden [mentor=wesj]
719527 Enable input suggestions for the AwesomeBar when it's in Search mode [mentor=jchen]
720050 Various issues with disabled form controls [mentor=margaret]
720622 Avoid crashing when library loading fails somehow [mentor=bnicholson][lang=java]
722255 Add-ons Manager: Extension icon is scaled down unnecessarily [mentor=wesj]
723664 Asus Transformer hardware keyboard will replace the previous character in the text box with the next character typed. [mentor=jchen]
725919 Visual cursor position is different from the actual one on Etherpad [mentor=jchen][badfirstbug]
726865 UX for add-on installation warnings (softblocked or outdated add-ons) in Native Fennec [mentor=bnicholson]
730644 GeckoProfile file operations should be async [mentor=wesj]
731887 Need to be able to force reload of cached objects (CSS, JS, images, etc.) [MTD], [parity-desktop][mentor=bnicholson]
737658 Fennec should raise the same key down/press/up event sequence for input forms, regardless of device type or OS version [mentor=jchen]
785549 Possible problems if byline contains <'s or >'s [mentor=lucasr][lang=js]
826780 Splash screen background color is not right for open webapp [WebRuntime] [mentor=wesj][lang=java]
701725 Enable the ability to undo a closed tab [testday-20111111], tabs-ux[mentor=lucasr]
707415 Needs better initial size for file listings readability [mentor=wesj]
708457 No Next button in the software keyboard when entering data into http://www.sweepstakes.com/ [mentor=jchen]
714070 Tapping on the "Installation completed" toaster notification should open up the Add-ons manager [mentor=wesj][lang=javascript]
716748 Investigate Google's Android Lint tool for scanning project resources for potential bugs [mentor=mcomella][lang=java]
717088 compositionupdate events aren't being fired when text is deleted [mentor=jchen]
717600 Maxlength attribute is ignored for typed characters with the vkb (even when composition string is committed) [mentor=jchen]
717712 Should popups pass as a top-site [mentor=mfinkle]
719690 Fire mousemove events on long press [mentor=wesj][lang=js]
720542 Fennec Java <-> native events should be autogenerated [mentor=ckitching]
737024 Show new types of bookmarks (separator, livemark, and query) where applicable [mentor=lucasr]
619521 need a way to provide fonts for scripts/languages not supported by the standard fonts on the device [testday-2011-06-24][leave open][mentor=blassey]
876867 Style non-spinner input elements in Doorhangers [mentor=wesj][lang=java]
912306 Form history dropdown reappears after moving focus outside the associated form field [mentor=margaret][lang=java][lang=js][bad first bug]
935289 Update about:home thumbnail context menu items [mentor=margaret][lang=java][bad first bug]
719276 Double tapping causes css :active to remain [mentor=wesj][lang=js]
604719 No warning when the downloaded file is larger than the space available [strings][native-crash][mentor=wesj]
727816 Video controls should allow changing volume [mentor=wesj]
747633 Back button behaviour should be consistent regardless of tabs open [mentor=cwiiis]
769857 Delay showing tap highlight instantly on tap (50ms delay) [mentor=wesj][lang=js]

Open; Resolved; Total (0% complete)


Testing

If you want to help us find issues on the latest Fennec releases, join the Mobile QA team and participate in the breadth of areas that are offered. We're always looking for assorted Android Device coverage and a breadth of website compatibility testing.

Start by filing Firefox for Android Issues or converse directly with us on IRC about the bugs you find. Or watch the Events calendar for upcoming Mobile Testdays on focused topics! Testdays are an interactive opportunity to participate in real time with other community testers on testing and debugging.

Finally, subscribe to our bi-monthly newsletter on the latest and greatest in Fennec features!

Useful links:

Support

Join our amazing volunteer support community dedicated to helping people get the most out of Firefox Mobile!

  1. Create an account on SUMO - Creating an account gives you access to answering questions and editing articles about Firefox Mobile, where we give you credit for your contributions.
  2. Answer support questions - Share your knowledge of Firefox Mobile by pointing people to the right help articles and providing troubleshooting steps for their individual questions. View and reply to the unanswered mobile support questions.
  3. Improve the Knowledge Base - If you like to write or teach, improving the articles in the Knowledge Base is great way to help thousands of people each week. Currently we are looking for contributors to document the new Camera UI feature in Firefox Mobile and the new Tablet UI.

Communication

Subscribe to the mobile-firefox-dev mailing list to follow and participate in development discussions.

To keep in touch with the Mobile team on a daily basis, you should hang out on the #mobile channel at irc://irc.mozilla.org/mobile. We're always there, in different timezones. You can read the IRC wiki page for more details about joining IRC. If you want to talk to people from specific areas or have any questions, here are a few people you can ping:

  • Front-end: bnicholson, lucasr, margaret, mbrubeck, mcomella, mfinkle, sriram, wesj
  • Platform: blassey, cpeterson, Cwiiis, gcp, jchen, kats, snorp
  • QA: AaronMT, kbrosnan, jhammink, mw22, nhirata, tchung
  • Design: ibarlow, madhava
  • Marketing: sam
  • Support: michelleluna, rolandtanglao, tdowner
  • Market data and insights: irina
  • Project management: elancaster
  • Product management: kar, dria


You should also be able to find us in the mobile Mozillians group.

For the latest developments, updates, pro-tips and happenings in the world of Firefox on Android, you should follow @FennecNightly on Twitter. You can also read our development blogs on planet mobile.