Visitor Monitoring Fragmentation Continues with Yet Another OS - Firefox | Keynote

Fragmentation Continues with Yet Another OS - Firefox

By Josh Galde | June 27, 2013

CATEGORIES: Mobile Quality

Recently Mozilla announced its intent to build their own OS built on the Firefox browser. This, in theory is intended to give a standards-based framework for simplifying mobile app development and providing a strong platform for HML5 web-based mobile app development. In a recent article on this topic, the author writes "Currently, if you develop an app for Firefox OS then you can run it under the Firefox browser as well. The same is true of a Chrome app but these two forms of app are not compatible. You have to do some work to convert a Chrome app to a Firefox app. It is true that most of the work is in creating a suitable manifest and in packaging the app. You could say that this is an almost trivial difference but there are deeper reasons to suppose that this division might get worse.

At the moment we have the two browsers competing for your apps and the competition is frankly a bit weak. Despite the amazing Firefox demos and Chrome experiments, the world doesn't seem to be falling over itself to create packaged apps for either browser. Indeed there seems to be a big preference for creating pure HTML5 apps that run on either browser without modification.

If you want to target a mobile device then you need to use something that augments the basic HTML5 and JavaScript so that you can access the native hardware - accelerometers, camera, dialer etc. What this means is that this particular route to web based mobile apps isn't 100% pure. Frameworks like Cordova are great but you can't really claim to be writing HTML5 web apps.

This is all about to change.

Firefox OS is the browser based operating system that will give you access ot the mobile hardware without an additional framework. What this means is that you can write a "native" phone app using nothing but HTM5, CSS and JavaScript. The same app will run in a desktop browser if you allow for the lack of hardware. It all sounds great and this is what Mozilla is getting at when it says that Firefox OS is the platform HTML5 deserves.

Firefox OS is open and free to all. The only restrictions on the programmer are those imposed by the security mechanisms. If you want to see what Mozilla think about their creation take a look at the this video.

So Firefox OS is the platform HTML5 deserves.

Only there is a small problem.

To make this all work Mozilla is having to invent, at incredible speed, a complete set of web APIs which give access to the phone's hardware. These APIs are not standards, even though Mozilla hopes that they will be standards and has submitted them to W3C. If you want to see how fast Mozilla is innovating take a look at WebAPI and take special note of the implementation and standardization status columns.

At the moment Google seems to not be reacting to the rapid change. If you think about it for a moment this seems reasonable as Google already has a mobile operating system in the form of Android - and very successful it is. Why should Google incorporate WebAPIs such as the Camera API? It isn't a standard and in any case Chrome desktop generally doesn't have access to a digital camera. Chrome running on Android is a different matter, but why would Google go to the trouble of adding a feature which would undermine the Android app marketplace?

It is possible that Chrome will add a Camera API and any others that manage to become standardized, but Google's app extensions for Chrome are oriented to making Chrome OS a viable portable operating system not a phone operating system.

None of this looks as if it is going to be a revolution, until you take note of how the device manufacturers are behaving. They have been showing a lot of interest in Firefox OS. The latest news is that Foxconn, the manufacturer of the iPhone is hiring an additional 3000 programmer to work on Firefox OS. It seems that Foxconn sees Firefox OS as a way to make it less reliant on Apple's fortunes.

At the moment developers seem to be ignoring Firefox OS and there are few apps in marketplace. However, this is not taking into account the current state of the Firefox OS development environment. There is a simulator and Geeksphone has provided a developer preview phone, but when you actually attempt to begin work on app that is making use of the web APIs that Mozilla are working on you quickly find that they are not ready to be used. There is little documentation and much of the framework is marked "experimental". It isn't surprising that there are few finished apps on the shelves - there isn't yet a finished OS to program to!

So the question is, what happens to the idea that web apps are universal and can work anywhere?

Given the rate that Mozilla is inventing new web APIs this idea is more or less dead, for the moment at least. It is not the case that you can sit down and develop a web app and expect it to work on Firefox desktop, mobile and OS, let alone Chrome and Chrome OS and as to IE... forget it.

Any programmer wanting to create apps that run under Firefox OS might as well realize that this is a new platform that just happens to use HTML and JavaScript. You code for the Firefox OS, not the browser.

It is true that this could change.

All of the Mozilla web APIs could become standards and in an ideal world Google, Microsoft and Apple might just make their browsers support these standards - but it is difficult to believe in a world where this might happen. There are simply too many proprietary interests at stake. Microsoft needs to keep WinRT special, Apple would lose control of its walled garden and app store and Google would see Android decline in popularity. Only Mozilla has anything to gain from the standardization of the WebAPIs."

While the DeviceAnywhere platform continues to stay agnostic, this will no doubt add fuel to the fire over how and what to develop. With any OS, the problem remains - app quality is often overlooked and customer ratings are still king. Therefore, no matter what OS you develop on, testing is critical to its success in the real world.

Back to Top