WebAPI
The Mozilla WebAPI team is pushing the envelope of the web to include --- and in places exceed --- the capabilities of competing stacks.
Contributing
WebAPI work is being tracked by Mozilla bug 673923. Find an dependent bug that interests you (and is unassigned), and assign it to yourself.
Use Cases
We are aiming at providing all the necessary APIs to build a basic HTML5 phone experience within the next 3-6 months.
Application | Required 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 |
Calculator | - |
Settings | Device Status API, Settings API |
Games | Accelerometer API, Mouse Lock API |
Maps | Geolocation API, Contacts API |
Mozilla will most likely not implement the FileSystem API. For local file access, we have implemented FileReader and plan to implement FileWriter. A file system abstraction can additionally be built on top of IndexedDB.
Legend
Work in progress, see linked bug
Implemented but not shipped yet
Shipped in Firefox already
Process
A draft specification and prototype implementation of new Web APIs will be discussed publicly on our mailing list and at our public meetings (see below). Once an initial implementation is available on trunk, we will submit the new API for standardization to the W3C.
Design Principals
Security
Security will be a central aspect of all the APIs that we design. We wouldn't want any random webpage to be able to read the users contact list, or able to issue arbitrary commands to any USB device which is hooked up to the users computer.
In some cases the solution will be to simply ask the user, like we do today for Geolocation for example. In other cases, where security implications are scarier or where describing the risk to the user is harder, we'll have to come up with better solutions.
This is an area where we're still doing a lot of research. I really want to emphasize that we don't have all the answers yet, but that we plan on having them before we roll out these APIs to millions of users.
Low Level vs. High Level
One question that often comes up, is should we do low level APIs, like USB access, or high level APIs, like camera access?
In many cases we are going to want to do both high level and low level APIs, with an initial priority on low level. High level APIs will let us create more friendly APIs, which are both easier to use for developers, and better for users since we can provide better security guarantees. However low level APIs will provide support for a wider range of hardware and use cases and will get the browser out of the critical path for innovation.
Meetings
- Tuesday @ 10:00am PDT
- Dial-in: Audio-only conference# 9254
- People with Mozilla phones or softphones please dial x4000 Conf# 9254
- US/Toll-free: +1 800 707 2533, (pin 4000) Conf# 9254
- US/California/Mountain View: +1 650 903 0800, x4000 Conf# 9254
- US/California/San Francisco: +1 415 762 5700, x4000 Conf# 9254
- US/Oregon/Portland: +1 971 544 8000, x4000 Conf# 9254
- CA/British Columbia/Vancouver: +1 778 785 1540, x4000 Conf# 9254
- CA/Ontario/Toronto: +1 416 848 3114, x4000 Conf# 9254
- UK/London: +44 (0)207 855 3000, x4000 Conf# 9254
- FR/Paris: +33 1 84 88 37 37, x4000 Conf# 9254
- Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn't look like it accepts phone numbers
- SkypeOut is free if you use the 800 number
- (you can also join room 254 on vidyo if you have a mozilla account)
- *1 to unmute yourself
- join irc.mozilla.org #webapi for back channel
Communication
Mailing-list / Newsgroup
You can subscribe to the mailing list here: https://lists.mozilla.org/listinfo/dev-webapi
And the web based API is here: http://groups.google.com/group/mozilla.dev.webapi/topics
The newsgroup lives on the news.mozilla.org server and has the name mozilla.dev.webapi
IRC
Find us on irc.mozilla.org in #webapi. Need help to use Mozilla IRC servers?