The Mozilla Boot2Gecko (B2G) project just got a new name: Firefox OS. The idea is a mobile operating system that runs web apps rather than native apps, rather like WebOS.
Firefox OS has to provide some basic facilities for web applications to run on the platform: some APIs for device capabilities, a security model for accessing the APIs, and an installation mechanism.
The device APIs are somewhat similar to the W3C Device API specs, however as I reported previously Mozilla rather disappointingly decided to work on its APIs separately from W3C with the idea of effectively dumping its final specs into W3C as a take-it-or-leave-it fait accompli. That position has moved since, with Mozilla now joining in with DAP, but there is a lot of fragmentation in device APIs and Mozilla hasn’t been completely helpful here.
The security layer is an important aspect of a web app platform, as the device APIs give access to features that could easily be abused by malicious apps – things like location services, the camera, contacts and so on. This is something that other initiatives such as WAC and Webinos have been concerned with; however again I think Mozilla has taken a similar-but-not-the-same and almost certainly not incompatible approach.
And finally there is the installation of web apps, which requires things like standard metadata for describing your app and providing configuration information. Initially Mozilla are focussed on remote apps – so you host your app on your own servers, and just provide the configuration metadata. Firefox OS can then run the app through the browser. Installed web applications are on the menu too, but not in the current iteration. So how are Mozilla to accomplish this? Perhaps they could use W3C Widgets? Or OpenSocial? Or, grief, even Chrome Apps. No, they’ve invented another spec for this which is almost the same but not. Yay, another addition to the anthology.
Here’s the statement from the Mozilla FAQ:
Is the Open Web app manifest the same thing as the manifest used for Google Chrome extensions and installable web apps? Or the W3C Widgets manifest? Or the HTML5 cache manifest?
No to all of these. The Open Web app manifest is probably most similar to the Google manifest, but they are not identical. It is hoped that the Open Web apps manifest will become a standard.
Way to go Mozilla. To be fair, the app manifest spec has been submitted to W3C for consideration. Its about 80% the same as the W3C Widget Interface spec, but not really compatible. Perhaps after going through the W3C processes it’ll end up being harmonised with existing specs, though its hard to say how enthusiastic Mozilla feel about that.
Overall, I think Firefox OS is a great idea: an open source mobile app environment, built from the ground up for web apps rather than native apps. I just wish Mozilla would ditch the not invented here attitude.