Mozilla Favors Web Over Native Application Development

Mozilla has started working on WebAPI, a set of APIs for accessing device functionality usually accessible only for native applications in an attempt to develop a cross platform solution that will enable developers to write web applications once for all mobile OSes.

Mozilla launched Boot to Gecko (B2G) a month ago, a project aimed at creating a web OS similar to Chrome OS which does not target only netbooks but also Android-compatible phones and tablets. B2G will be based on Gecko and Android, and is meant to extend the web experience replacing the native one. It is not clear if Mozilla really wants to build such an OS or they just want to develop some web technologies they hope others will integrate into their browsers, as the B2G FAQ suggests:

Boot to Gecko (B2G) is an early-stage, exploratory project with the goal of building a complete, standalone operating system for the open Web. It is not a product offering, but if successful, could form the basis for one. …

We don't want B2G to lead to applications that only run atop B2G, or only run in Firefox. That's an important difference between what we're doing and proprietary mobile stacks today: we don't want a competitive advantage for Mozilla, we want a competitive advantage for the Web….

Ideally, the technology pioneered or refined in B2G will make its way into all mobile browsers, so that enhanced open Web applications can be great regardless of operating system or device. We look forward to working with other OS and browser developers on standards activities and even implementations.

B2G will be developed in four major areas: WebAPI, a Privilege Model – making sure the WebAPI can be safely accessed by web pages and applications-, Booting – a boot loader for Android-compatible devices, and Applications –either ported or new ones.

HTML5 is taking shape but developers still need to access various low or high level functionality – USB, camera, accelerometer, etc.- using only a common API in order for the unified web development experience to happen. And Mozilla has started working on that, the first step being a set of APIs for the phone to be ready in the next 3 to 6 months.

WebAPI will include the following APIs:

Dialer: Telephony & Messaging API, Contacts API

Address Book: Contacts API

SMS: Telephony & Messaging API, Contacts API

Clock

Camera: Camera API, Filesystem API

Gallery: Filesystem API based on FileReader (already done) & FileWriter. Also, a file abstraction can be built on top of IndexedDB

Calculator

Settings: Device Status API, Settings API

Games: Accelerometer API, Mouse Lock API

Maps: Geolocation API, Contacts API

When this API is done and implemented, developers will be able to write web applications that are very similar to native ones, but they won’t have to rewrite the application for each mobile OS, but rather once for all implementers of the API. For this plan to succeed, the API needs to embraced by all major mobile OS manufacturers. Robert Nyman, a Technical Evangelist for Mozilla, declared in an official post that “[WebAPI] specification drafts and implementation prototypes will be available, and it will be submitted to W3C for standardization.” Some of these APIs are already developed by W3C, such as the Geolocation API, so it’s not clear if Mozilla will propose new ones or just enlists all the APIs needed for cross-platform web development.

It remains for Apple, Google and Microsoft to embrace the APIs, and contribute to them. Apple’s initial vision for iOS was based on HTML, as ArsTechnica observed, and Google is known for pushing web standards as much as possible. Microsoft is also working on an HTML5 UI for Windows 8, and that involves APIs for accessing PC’s hardware from the browser, so they will likely embrace the idea. It remains to see if W3C will build these APIs based on Mozilla’s WebAPI or on a proposal coming from one of the other big players.

InfoQ Weekly Newsletter

Join a community of over 250 K senior developers by signing up for our newsletter. If you are based in the EEA, please contact us so we can provide you with the protections afforded to you under EEA protection laws.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

By subscribing to this email, we may send you content based on your previous topic interests. See our privacy notice for details.

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.