Firefox OS / Boot to Gecko: a phone OS written in a web browser

posted in: Uncategorized | 0
[Update] Announced July 2nd, Boot to Gecko is now Firefox OS.

On June 26th, 2012 I attended the HTML 5 meetup in Microsoft’s local sale office. This HTML 5 meetup invited Rob Hawkes and Chris Heilman from the Mozilla non-profit foundation, which created Firefox, to present their work on the Boot to Gecko project. They flew in from their office in London, England, also for the Google I/O event. Approximately 500 people signed up to this event, with attendance roughly 200 people.

Boot to Gecko is an operating system for phones, which joins the family of Android and iOS phone operating systems. The main selling feature of this new operating system, which was first released 8 months ago, is its open-sourced nature. Above the hardware layer, the operating system runs the Gecko web browser engine, which we are all familiar with: we use this web browser engine every time we open Firefox. The operating system provides a touch-enabled user interface through Gaia, which runs on Gecko. Gaia is novel in that it is written all in HTML 5, JavaScript, and CSS. Gaia calls into JavaScript APIs provided by the operating system.

The advantages of using Boot to Gecko are cross-platform mobile development, standard web technologies, and low cost of licensing. The industry movement is supporting cross-platform HTML 5 on Windows, Mac, Android, and iOS. HTML 5 is a standard that is already being adopted in web browsers, which is being extended to the whole device’s experience. HTML 5 standard does not require licensing to build projects.

Boot to Gecko is not the first or only endeavour to build a web browser operating system. Google Chrome OS is a web browser operating system for desktop computers. We may now ask why Boot to Gecko will be more successful than Chrome OS? Chrome OS does not displace existing desktop OSes such as Windows, Ubuntu, and Mac, all of which are more function-featured. In contrast, many reasons make Boot to Gecko a compelling competitor. First, the ecology of mobile devices is still fragmented with different iOS and Android phones. Considering the historical PC and mainframe market (cite Computer History Museum), we know that this fragmentation will become a few large players in the foreseeable future. Second, people are running older feature phones that do not benefit from modern OSes. Boot to Gecko will be compatible with these phones, bringing them to the modern age. An example market is Brazil where Boot to Gecko is partnering with telecoms to deploy this OS. Third, applications written for this OS will be runnable in web browsers too, so there is low risk to adopt.

Boot to Gecko has a competitor, Tizen. It remains to be seen which one of these hardware-accessible API projects will succeed.

Now let me review the APIs provided by Boot to Gecko, which are all accessible by JavaScript:

  • Touch and gestures
  • Camera
  • SMS
  • Telephony
  • Vibration
  • NFC
  • Bluetooth
  • USB
  • Battery
  • Full screen
  • Screen orientation
  • WebGL

I foresee the main risk here is security holes because websites could conceivably get access to these same APIs.

How to try Boot to Gecko? Firefox Nightly is able to run these new APIs. It is merely a matter of opening a URL in the web browser to Boot to Gecko’s emulator, only for Linux and Mac.