No matter the OS, HTML5 threads the apps together.
Of the many mobile operating systems in the marketplace, Android has the largest share of users, and Android is based on Linux. It’s not surprising then to know that Linux is also the basis for several new (if slow-moving) operating systems for mobile devices (phone, tablet, phablet). Some are in production today, but most are still in the development stages. Then again, this is the rule for most products in mobility today.
Once known as BootToGecko (BTG), Firefox OS is in production today and available largely in Europe and South America. There’s no real reason you can’t use Firefox OS anywhere else, subject to a carrier that allows it and a phone that can run it.
There are three parts to Mozilla’s Firefox OS: Gonk, Gecko, and Gaia. Gonk is the kernel and the hardware abstraction layer. It’s the core app that is adapted for differing chipsets and phone hardware features, and is largely chipset-specific.
By contrast, Gecko is the application interface/runtime. It sets up networking, creates individual Java VM instances for each discrete application, defines support and arbitration for varying codecs, grabs info and info streams from the Gonk layer, and handles application calls. It’s similar in nature to the API layer that links a browser to a kernel. Think of Gecko as a browser core that speaks to Gonk and the underlying hardware features of the phone. HTML5 apps can run on Gecko without a browser.
Gaia is the user interface that handles the screen I/O, display, and window management (although some comes from Gecko). It contains a payload of basic apps including dialers and contact books, and it supports HTML5 apps and partitioning.
Today, you can buy several phones that are preloaded with Firefox OS. Or you can use the Firefox OS simulator if you’re a developer, in much the same way that Google has simulators for Chrome and Android. Mozilla also supports Android for its browsers. Like Google, Firefox need to develop ecosystems that make operators/carriers and users happy. Early work suggests they’ll be nipping on Android heels, soon.
Canonical proposes to make the Ubuntu Touch and its family of devices into PC-equivalents in a way that’s different than Firefox OS, Android, and iOS. The Ubuntu Touch will run ported Ubuntu applications that behave as Ubuntu on a standard notebook or tablet does. Although Ubuntu’s penetration in the EU, North American, and South American markets is somewhat small, a burgeoning number of South East Asian markets are ripe for change.
Canonical has publicly expressed its interest in developing smartphones for users in developing areas. To these ends, Canonical has made an effort to allow cloud backup, application sourcing, and other Google Play/iTunes-comparable resources (Ubuntu One) to hopefully compare iCloud, and Google, and Microsoft cloud-ish resources for a hopefully attractive comparable ecosystem of resources for newbie users.
Only a handful of phones can be ported or converted to Ubuntu Touch, although developer resources otherwise abound. Ubuntu proposes its similar, GTK-based UI called Unity to run across all salient devices for consumer and developer ease. The Samsung Galaxy Nexus 4 is the faster of two platforms supported by Canonical for Ubuntu Touch, and the fixed-list gets longer and longer each week. Ubuntu proposes to release Ubuntu Touch with Ubuntu 14.04, a Long Term Support release.
Like iOS and Android, Touch is designed to work seamlessly across tablet, phablet, or phone devices. Users will have multiple choices for application sources – if operators and carriers permit. Based on the infamously stodgy and conservative (yet solid) Debian Linux releases, users might be able to use simple Ubuntu One application access, or at a lower level, perhaps dpkg, the Debian package manager.
Like Mozilla with Firefox OS, Ubuntu will have an uphill climb against the successes of Google Android, Apple’s iOS, and even Microsoft’s Windows 8+ phones.
Pronounced tie’zen, Tizen is much older, if less pedigreed than the mobile work coming from Mozilla or Canonical. The product of several projects, most visibly the early “Project LiMo” (LInux/MObile) project of the Linux Foundation, Tizen has hefty sponsors. These sponsors are largely contributions from Samsung, Fujitsu, Huawei, and NTT Docomo, but also include western companies such as Intel and Sprint.
Samsung’s Linux Project and its Bada Project form the roots of Tizen, but contributions aren’t exclusively Samsung’s. As Tizen has roots in the Linux Foundation, Bada, and other bits and pieces, its licensing structure isn’t quite clear, but the Project LiMo components — which produced pilot phones for developers — is clearly open source.
Bada was designed to be a development environment, not unlike Firefox Gecko, wherein a kernel could be interchanged to deal with a mobile device’s hardware. This means that Linux or another OS could be used for the kernel with Bada as the UI and runtime for applications. Bada therefore is similar to Gecko, but also to GT (Firefox), KDE, Gnome, and Ubuntu Touch/Unity.
Although Tizen development very much lags Firefox OS and Ubuntu Touch, the musculature of Samsung (along with other members of the Tizen Association and the Linux Foundation) provide potentially heavyweight development potential. Today, however, there are no phones, only agreements. Its developer site is active, with an added initiative towards automotive “in-vehicle infotainment.”
Which One To Love?
Canonical’s Ubuntu, although losing money as of this writing, covers the bases in a way that only Microsoft, Apple, and Google/Android have attempted. Ubuntu popularity in many worldwide markets, along with its evolving parallel cloud infrastructure and sales effort, make it the most likely candidate to succeed.
However, Google also pours extensive funds into the Mozilla Foundation, and a future for Gecko in vehicles and non-traditional devices could be strong.
In all cases, one standard is clear: Each of these vendors is betting very heavily on HTML5-based applications as well as methods to make HTML5 compatibility the basis for their future. Whether made from Java or other language frameworks, HTML5 is the common thread that runs through each of these alternative mobile operating systems. Start with HTML5, and your applications’ portability is almost assured.