October 02, 2009
Mobile Industry Converging on Device APIs
Mobile Device APIs are programming interfaces that enable widgets on mobile platforms to gain access to specific phone features, such as the camera, battery, call lists and address book. Up until now these have been tied to specific device hardware and operating systems, but there are three ongoing initiatives to reduce market fragmentation by offering standard APIs, enabling a widget to be written once and run on any phone, even if it requires access to hardware features.
The Bondi project of the Open Mobile Terminal Platform (OMTP) has produced a set of APIs and reference model for common device features; these currently include SMS messaging, local files, media gallery, location, camera, and communication log (missed calls).
Bondi has been implemented by a number of operators, system and device manufacturers including Microsoft (Windows Mobile 6.0), LiMo (Linux for Mobile), O2, Vodafone BetaVine and LG; there are some SDKs available for developers, and even an emulator so you can test out your BONDI widget on a virtual phone. You can download it for the Eclipse IDE from the LiMo Foundation.
JIL (Joint Innovation Lab)
JIL is an initiative of Vodagine, Verizon Wireless, China Mobile, and Softbank Mobile, and like Bondi is also focussed on developing device APIs and related services that build upon the W3C Widgets specification.
One of the criticisms of JIL is that it "jumped the gun" somewhat on both W3C and Bondi in a rush to get to market quickly, and in the process has made the landscape more confusing for developers. However, at the recent Over The Air event I attended, Vodafone's Rick Fant explained that the group would be working with Bondi and W3C in future.
W3C Device APIs and Policy
The W3C DAP group was formed recently to develop a common device API specification, based on initial submissions from Bondi, JIL, Nokia, and Opera. Hopefully this will pull together all the different device APIs out there and come up with some common standards. Some pieces of the puzzle are already shaping up, such as the W3C GeoLocation API specification
Not Just For Mobile Phones