BendyConf: Introduction To Firefox OS
Josh’s BendyConf talk introduced us to Firefox OS, an open source, web focused mobile operating system developed by Mozilla. Although it has been available for more than a year, this June marked the release of version 2.0, making now a good time to get acquainted with the project.
The key feature of Firefox OS is its use of open standards and web technologies: application layout and structure are defined using HTML, styles with CSS, and application behavior in Javascript. The home screen, built-in functions, and third party apps are all rendered using Gecko, the same layout engine that powers the Firefox Desktop browser. By choosing these established technologies, Mozilla is using well documented, highly scrutinized building blocks from the ground up. As an added bonus, using open standards has allowed them to target an impressively low price point, with one device retailing for as little as $50.
Josh gave us a more detailed look at these features, and how they are pushing forward tighter integration between the web and mobile devices. Definitely check out the video to get all of his insights into Firefox OS. Below, I’ve broken down the main points I took from Josh’s talk:
The Web Is The Best SDK
In today’s app-centric world, web pages can seem like outdated technology. But as the comic above (also featured in Josh’s talk) so pithily suggests, web technologies are still unmatched in terms of seamlessness and universal accessibility.
Mozilla makes full use of these capabilities with Gaia, the user interface and set of core applications for Firefox OS. Like the rest of the operating system, Gaia is written entirely in a combination of HTML, CSS and Javascript. Even the Dialer, a core feature of any smartphone, is built from these familiar components.
Mozilla has made other sensible choices on top of their basic decision to use open technologies over bespoke architecture. For instance, all of the core apps use Marionette.js, an extension to the popular Backbone framework which helps promote well structured, maintainable JavaScript code and will be familiar to many contemporary web developers.
Native API Access
While HTML5 has some support for native device functions, namely camera and geolocation access, there is no standardized support for many smartphone features such as telephony or vibration that many native applications depend on. Clearly a web based operating system would have to implement some of this functionality to support even the most basic use cases of making a phone call or sending notifications, and Mozilla has done so for a wide range of native hardware functions.
However Mozilla has gone beyond this requirement by working with the W3C standards-setting body to gain official support for their WebAPIs, allowing access to low-level features on any standards compliant mobile device. By helping to standardize web APIs for these native functions, Firefox OS’s development will eventually benefit even developers on entirely separate platforms like Safari on iOS or Android’s Chrome browser.
Open Development, High Deployability
In keeping with their support for open source software and general philosophy of openness, it is almost a given that Mozilla has made the entirety of the Firefox OS source code public. More impressively, Mozilla has extended this openness to their development process in general. The OS’s developers are active on public mailing lists and other forums, answering questions and taking suggestions from the wider community of web and mobile developers. Even their planning and design meetings are open to the public.
This impressive openness contrasts markedly with other major mobile OS vendors, and should help Firefox OS along the road to wider adoption. Aside from supporting community involvement, the benefits of this embrace of openness are already evidenced by The Firefox Marketplace. The application, also open source of course, enables the familiar idiom of browsing and installing software from an app store not just for devices running Firefox OS, but for users of Android and the Firefox Desktop browser as well.
Summary
Firefox OS represents a new direction for the world of mobile software development. By leveraging powerful, well established web technologies, Mozilla is seeking to provide a fully featured, free, and open alternative to the walled gardens of Apple and Google’s OS offerings. It will be exciting to see development continue as a wider range of devices and applications become available.
Josh’s talk also covered available hardware, Firefox OS’s underlying architecture, and where aspiring developers can find further resources. You can find the video above, or on Vimeo.