OpenSourceMobilePlatforms/DeviceCommandExecutionThroughWeb
Author : Dpellicer
From TechnologicalWiki
Contents |
[edit] Device command execution through web
Since mobile devices have new features like camera, GPS, accelerometers and other features, web developers are thinking about how to use them in their web applications. Now is not possible until an specific client is developed for each device, but there are few initiatives from W3C to implement an standard API to do this. This is called a Device API. W3C[1] is working on the following points:
- a set of Personal Information Management (PIM) APIs that include:
- Calendar API: an API to access a calendar service (e.g. to add an entry, to edit an entry, to delete an entry, etc.)
- Tasks API: an API to access a personal task management / organizer service (e.g. to add, edit, delete a task, etc.)
- Contacts API: an API to access a contacts or address book service (e.g. to add an entry, to edit an entry, to delete an entry, etc.)
- Camera API: an API to manage a device's camera (e.g. to take a picture)
- Messaging API: an API to access the message service (e.g. to create a message, to send a message, to delete a message, etc.). The API is agnostic to the underlying messaging service (e.g. e-mail, SMS, MMS, etc.).
- System Information and Events API: an API to access various system services e.g. battery level, network status, etc.
- FileSystem API, an API to access the file system and perform basic operations (Create, Read, Update, Delete) and more complex operations (e.g. mount, unmount). This API should be developed in coordination with the Web Applications Working Group File Upload specification
- Application Launcher API, an API to discover, identify and launch the platform native applications
- Application Configuration API, an API to manage application settings and user preferences
- User Interaction API, a set of APIs that give a widget or website far better control of how it manifests itself on different platforms. This would include minimize/maximize functions, window size, alerting mechanisms etc.
- Communication Log API, an API to access information about past communication events, such as sent emails, SMS, MMS, call events.
- Gallery API, an API to manage the local media file storage
- Security Policy Framework, to express security policies that govern access of Web Applications and widgets to security-critical APIs.
- Geolocation API
More information about that in http://www.w3.org/2009/05/DeviceAPICharter
[edit] Bondi
In 2008, OMTP launched a new initiative called Bondi; the initiative define new interfaces (Javascript APIs) and a security framework (based on XACML policy description) to enable the access to mobile phone functionalities (Application Invocation, Application Settings, Camera, Communications Log, Gallery, Location, Messaging, Persistent Data, Personal Information, Phone Status, User Interaction) from the browser or a widget engine in a secure way. BONDI initiative has also a program to setup an Open Source reference implementation at http://bondi.omtp.org. First release of the reference implementation and associated SDK was released on February 2009. An Approved Release 1.0 of BONDI was issued on June 2009 and can be found at http://bondi.omtp.org. The latest BONDI working version is 1.1 which is an update to the v.1.01 AR but for upcoming versions, some new APIs like telephony, push, bluetooth, crypto, sensors, etc will be available
An Open Source project for a comprehensive BONDI SDK was started at http://bondisdk.org. For now, you can use Bondi for testing on some Windows Mobile devices, and also on mobiles that support LiMo R2 like Vodafone 360 Samsung H1. It also exists some Open Source initiatives to use BONDI on Android like Widget Manager for Android and there are others with the same basis but different interfaces like phoneGap.
Bondi is also an input, promoted by the operators, to the W3C DAP standard.
[edit] Google Gears
Google has developed Google Gears. It is not an API or an extension for device command execution through web, it's an extension for the web browser that allows some new features, including Offline storage and Geolocation. There are implementations of Google Gears for several web browsers, and it is also included in Android, so it is possible to use it on a web application to retrieve the user location from the device.
Google gears is being deprecated in favor of HTML5 and other web standards.


