Hands-on With Mozilla's Boot to Gecko Mobile Operating System

We've seen some exciting things here at Mobile World Congress 2012, but perhaps the most exciting was Mozilla's newly announced Boot to Gecko mobile operating system. Currently in development, the operating system is based on the HTML 5 web language, and is being built to work on most of today's Android handsets, along with new lower-end phones in other countries.

We took a spin past Mozilla's booth to get the low down on its mobile operating system and what it's capable of.

Purpose and Goals

Mozilla designed Boot to Gecko to create a more open mobile operating system which can run well on lower-end hardware. A company rep told us that Mozilla's team posts all of its source code as soon as the code is done, something he noted that competitors don't do. Even updates t0 Android, which is an open-source OS, are sometimes held back or delayed from source code release.

Because the code is completely open source, handset makers and developers don't need Mozilla's cooperation to tweak it as they see fit. A Mozilla rep posited that phone vendors could end up creating their own versions of Boot to Gecko that look quite different. He also told us that developers could use the open source code to create their own custom ROMs so that users of current Android phones could change operating systems.

This week, Mozilla announced that Telefonica, a carrier that serves countries in both Europe and Latin America, will be coming out with devices based on the Boot to Gecko project. Mozilla says that companies like Telefonica are interested in its OS, because it runs so well on phones with low-end specs. By offering phones with single-core, low-MHz CPUs and less RAM that still get great performance, carriers can target cost-conscious customers in developing countries.

Start Speed & Interface

One of the first thing's we noticed about Boot to Gecko was how fast it ... booted. We couldn't get any specific times down, but suffice it to say Gecko started much faster than the average Android start speed.

Running on one of Samsung's Galaxy S II devices, Gecko looked spectacular. The lock screen has the feel of an Android lock screen, with the time prominently located in the center of the display, on top of an attractive wallpaper. To unlock the screen, users have the choice of swiping  up or down which reminds us a bit of Windows 7.5 lock screen, which requires you to slide up in order to reveal the home screen.

At the top of the screen, you'll find an Android-like status bar completely with the time, battery status and Wi-Fi signal and data connection status, as well as a SIM card status indicator. The home screen itself is made up of a 3 x 3 matrix of shortcut icons to various apps and features installed on your phone. Three available panels mean you get a total of 27 different matrix cells to work with.

Swiping between panels was smooth as silk. In fact, according to Mozilla, swiped panels move across the screen at a blazing 60 fps. Below the app matrix at the bottom of the screen is a notifications bar that pops up whenever you get a new message. The notifications area was just fixed, not operational on our demo unit, but it seemed to fit elegantly within the confines of the screen, without taking up too much real estate.

Dialer & Contacts

Gecko's dialer, like the rest of the operating system, is also an HTML 5 web app. In fact, even the dial tone uses an HTML 5 file. The dialer, and in fact all of Gecko, also supports haptic feedback.

We also were able to get a look at a prototype of Gecko's contacts app. The feature loads your contacts from a database stored on your device that can be accessed by certain privileged apps. Gecko also works with Mozilla Sync, which will allow users to sync their contacts with Mozilla's servers where they can be downloaded to another Gecko phone or accessed through Firefox or a compliant browser.

Apps & Marketplace

Thanks to its HTML 5 roots, Mozilla's project Gecko offers the distinct benefit of being able to run apps pulled directly from the web. The nice thing is you generally won't notice when a game is linked from the web. According to Mozilla, developers will be able to simply tell Gecko where an app lives on the web through its URL and place an icon for it on the operating system's home screen.

We saw a demonstration in which a game was pulled from the web onto Gecko through the web and it launched as quickly and play as smooth as a natively stored game would. To appear in Mozilla's app store, most games and apps must have an offline component so they can run even when connectivity disappears. Developers need to simply use HTML's Application Cache feature to enable offline use.

Because the entire Boot to Gecko OS is based on HTML 5, most HTML 5 programs on the web can be run through Gecko, even if they were created before the operating system was. HTML 5 also means that web developers won't have to learn a new programming language to create content for Gecko.

The Boot to Gecko Marketplace wasn't live during our demo of the operating system, but we were able to get a quick look at a sample page  to get a taste of what to expect. The main screen features two large panels for popular apps. Below that are two more panels displaying popular apps.

Videos & Graphics

Boot to Gecko uses an HTML 5 video element for video playback. Videos play at HD (if the screen supports it) and offer sound, although we were unable to hear any during our hands-on due to the ambient noise from the show floor. Mozilla also said that the same full-screen playback we saw on the Galaxy S II will be available on lower-end phones. The Boot to Gecko build we saw was using the Galaxy S II's CPU for playback, which is taxing on the device's battery. However, we were assured that the Gecko team is working on that.

During our demo, we were also able to see how the HTML 5-based Gecko can take full advantage of a device's hardware. We were able to check out an Open GL-based animation of a crystal skull (not the Indiana Jones type) floating over a sea of lava. As a Mozilla rep swiped across the screen, the skull pivoted around its axis, reflecting the changing light patterns caused by the lava. We were told the demo moved at roughly 30fps, which is certainly serviceable.


Boot to Gecko sits on top of a Linux Kernel and requires access only to basic hardware like the phone's accelerometer, compass, camera, GPS and Open GL-capable graphics chip. Beyond that there are no major requirements, meaning that the operating system can be ported to a variety of devices and software.

For the Galaxy S II and other Android-compatible handsets, Mozilla is placing the Gecko code on top of Android's hardware abstraction layer, allowing the operating system to take control of the phone's various pieces of hardware. On the Galaxy S II, Mozilla's developers took out the existing android, pulled out the proprietary drivers and added in the Gecko specific drivers and put the whole bundle back on the phone. The entire process is very similar to the way current Android mods like Cyanogen ROM are made.

Final Thoughts

So far we like what we saw out of Boot to Gecko. Its interface and UI are pleasant to look at and the stylish touches, such as being able to swipe the lock screen up or down, are certainly welcome. Perhaps the most impressive part of the operating system was its ability to run HTML 5-based apps, even when the handset we were looking at had no connectivity at all . We'll reserve any final judgements on the operating system until it is completed, but for now its safe to say Mozilla is on the right track.