Web Apps Or Firefox OS Apps?
Written by Mike James   
Friday, 21 June 2013

Mozilla has released a video that promotes the idea that Firefox OS is "the platform HTML5 deserves". Sounds like a strong comment on the future, but is Mozilla really creating a platform for standardized web apps or something new?

I have already written about the fragmentation of the web app environment in The Disastrous Fragmentation Of Web Apps, but it is getting worse and the indications are that it will become an increasing problem. The cause is the battle between two competing Web OSs - Firefox OS and Chrome OS. 

You might say this is silly as how many end users actually use either OS?

 

firefoxfuture

 

They are minority interests and as such can't cause the mainstream a problem. However, this ignores the linkage between the OS and the browser. Essentially Firefox OS is the Firefox browser running under a custom Linux. The same is true of Chrome OS - a version of Chrome running under a custom Linux. The development of the OS and the corresponding browser is very much linked.

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 first video in a promised set of videos:

 

 

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. 

 

hellophone

 

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.

 

More Information

WebAPI

Firefox OS for developers – the platform HTML5 deserves

Related Articles

The Disastrous Fragmentation Of Web Apps

Getting Started with Firefox OS - The UX Building Blocks  

Foxconn Mozilla Partnership Official       

Getting Started With Firefox OS And Geeksphone Keon       

 

    

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner

Last Updated ( Friday, 21 June 2013 )