Mozilla's 'Boot to Gecko' to be a web operating system
They have already identified areas where they will need to work in order to make the web operating system a reality. These include prototyping device and OS APIs for use within the browser to make functions such as telephony, SMS, cameras, USB, Bluetooth and NFC available to applications; a privilege model to stop abuse of those capabilities; a bootable low level operating system; and the selection or creation of a number of applications to exercise the new system.
The low level system is to be based on Android, because the developers believe they should be targeting the mobile device space though, according to Mike Shaver, they intend to use "as little of Android as possible" while "It's not likely that we'll use the Android Java-wrapped graphics APIs. It's nice to start from something that's known to boot and have access to all the devices we want to expose". The Android decision is not final and the developers are open to other platforms, but believe Android's widespread availability gives it some advantages for prototyping. Early discussions are taking place in a thread in mozilla.dev.platform.
Previous work in the domain includes the W3C's Device API. In 2010, the W3C's Device APIs and Policy Working Group published the System Information API which exposes bit input, output, sensors, audio and networking hardware to the browser. That specification is, though, marked as "at risk" and "will likely need to be vastly reworked". There is also an HTML Media Capture public working draft for recording content from camera within the browser.
The Mozilla B2G developers plan to do their work in the open, releasing source as they develop it and taking successful additions to standards groups such as the W3C. The eventual aim is to see "native-grade" applications running on the web rather than just on Firefox.