Mozilla Launches Firefox Mobile Add-On Challenge

39

 

Mozilla has launched a contest to spur on development of add-ons for its recently-released Firefox for Mobile browser. Between now and April 12, developers are encouraged to create extensions or other add-ons tailored for the mobile browser. The top ten submissions (as judged by Mozilla’s Add-ons and Mobile teams) will each be awarded a package containing a Mozilla t-shirt, phone case, and a brand-new Nokia N900 phone — which runs the Maemo mobile Linux operating system and was the very first device to support Firefox for Mobile.

 

The goal of the contest is to extend Firefox in innovative ways that take special advantage of the fact that the browser is mobile: the small screen size, the touch-screen interface, and the out-and-about nature carrying the browser in your pocket. Complete rules for the contest are available on developer.mozilla.org and specify compatibility and UI style guidelines. The contest is for add-ons which in Mozilla parlance includes both extensions and media plugins, though most of the discussion centers on extensions. The judges indicate three areas which they are most interested in seeing add-ons break new ground: using native device APIs, photo / media / social sharing tools, and session- and file-saving tools.

The browser maker held a similar contest in 2009, and the ten winners from that round provide some clues as to what sort of add-on the judges may be looking for. Several of the selected winners make use of the geolocation API, such as NearMe and Geoguide.  But several others enhance the usability of the browser itself, making it easier to scroll, click, open new tabs, and read multi-page site contents with only the touch screen user interface.

Developing for Mobile Firefox

Right now, Firefox for Mobile is available in stable releases only for Maemo, but alphas are available for Windows Mobile, and development builds for Android. The browser will also run on desktop OSes to aid developers; builds are provided for Linux as well as Windows and Mac OS X.

The browser is based on the same code base as desktop Firefox, including core components like the Gecko renderer, full JavaScript, CSS, and HTML5 support, Awesomebar, tabs, saved forms and password management. It is also built with the same technology exposed for add-on development: XUL and Chrome for the user interface, XPCOM components, and DOM Inspector for page content

Naturally, mobile Firefox has a different, simplified user interface — including far fewer UI elements in the main browser window, but also simplified menus, preferences, and other functionality that add-on developers should be aware of. On the other hand, the mobile browser is designed to take advantage of services built in to the phone itself — the “native device APIs” mentioned in the recommended areas of development.

These device APIs include the address book, SMS messaging and voice calling services, still and video camera, potentially even GPS and accelerometer hardware. Add-on developers can hook their code into device APIs using the JavaScript module, which is a new addition to Gecko that is not scheduled to hit desktop Firefox until version 3.7. Ctypes allow a JavaScript program to call C-compatible external library functions directly (with some limitations for obvious security and stability reasons). For add-on developers, this eliminates the need to write binary code or to build an XPCOM wrapper.

Clearly, better integration between the browser and the “native” applications and services on a device is necessary for a seamless on-the-go browsing experience. Cutting and pasting a link or snippet of text to send via email is simple enough on the desktop, with a full keyboard, mouse, and copious screen real estate — but doing the same thing on a card-sized screen using only finger touch commands is arduous, if possible at all.

The contest rules do stipulate that qualifying add-ons must be capable of running on all three mobile Firefox platforms, however, so integration with system service even using ctypes is not a trivial task. The Mozilla wiki contains a few good starting points, including a list of APIs that the project intends to support, such as location awareness and Google Gears.

Digging into the other add-on development areas suggested by the judges, the “photo, media, social and sharing tools” item is clearly aimed at simplifying access to social media — making it easier to view activity streams, and making it easier to participate by uploading and sharing content from the mobile device. Right now, many sites like Twitter and Facebook produce their own stand-alone mobile applications, which should be proof enough that the current generation of web browsers is not serving the mobile participant well.

Finally, the session and file saving suggestion speaks to the fact that mobile devices today are full-fledged computing platforms, not just communicators.  It mentions making it easier to download and save content such as images and PDFs, and remembering open tabs and last-browsing locations. Firefox for mobile is the first mobile browser to support tabs at all; judging by the explosion in popularity of tabbed browsing on the desktop, it is a feature mobile users will quickly come to expect. The sooner the browser makes it pleasant, the better.

Add-on developers can get started building their entries immediately. The official contest page includes helpful links to the mobile Firefox documentation, as well as extension and user interface Best Practices. The deadline for entry is April 12, and winners will be announced by April 16.