Bondi (software)
BONDI (named after Bondi Beach) is an API framework aimed at mobile devices. OMTP launched the BONDI initiative, which defined new interfaces (Javascript APIs) and a security framework (based on XACML policy description) to enable the access to mobile phone functionality (Application Invocation, Application Settings, Camera, Communications Log, Gallery, Location, Messaging, Persistent Data, Personal Information, Phone Status, User Interaction) from browser and widget engine in a secure way.
Developer(s) | Open Mobile Terminal Platform |
---|---|
Initial release | 16 February 2009 at MWC 2009 |
Stable release | BONDI 1.1
/ 11 February 2010[1] |
Platform | Windows Mobile (reference implementation), Android, BREW, iOS, Java, LiMo, Maemo, Palm OS, RIM, Symbian, bada |
License | Apache 2.0 |
Website | bondi.omtp.org |
BONDI supports widget-based applications as well as web-based applications.
History
BONDI was initiated in 2008 by OMTP. The first BONDI widget, based on a preliminary version of the 1.0 specification was shown at MWC 2009 in February 2009.
Version 1.0 of the API specification released on June, 2nd, 2009 [2] with a maintenance release (1.01) following on July, 30th, 2009 [3]
Version 1.1 of the API was released as stable on February, 11th, 2010.[4]
In February 2010, at MWC 2010 the Samsung Wave was released as the first mobile phone to contain the BONDI as a built-in API as part of the bada platform.
At MWC 2010, The Wholesale Applications Community (WAC) announced that BONDI would be one of the technologies used.[5]
API
As of release 1.1, the BONDI API defines the following interfaces:[6]
- Application Launcher - Access to the installed applications. It also provides access to the native applications such as messaging, telephony and newly installed applications.
- Messaging - Send and manage text-, binary and multimedia-messages via Email, SMS, and MMS.
- User Interaction - To allow widgets to access functions that integrate with the widget runtime user interface.
- File System - Access to the filesystem of a device.
- Gallery - Access to media galleries located on the phone.
- Device Status - Access to status information, such as battery level or display orientation.
- Application Configuration - Access to application specific static storage for preference and other application settings.
- Geolocation - Allows the detection of the user's location by abstracting from a range of location methods.
- Camera - Access to local camera devices to allow capturing video and photo.
- Telephony - Access to information on recent calls (missed, received, and initiated).
- PIM - Personal Information Management provides access to contacts, calendars and tasks APIs. See below.
- Contact - Access to contacts available in the address books.
- Calendar - Access to device calendars.
- Task - Access to phone resident task management functions
The upcoming 1.5 API will add or change the following APIs:[7]
- APDU - Allows the communication between web application and a smart card by using the Application Protocol Data Units (APDUs).
- Bluetooth - Access to the bluetooth functionality.
- Crypto - Provides cryptographic functions like hashing, signature verification, encrypting and decrypting.
- DLNA - Enables discovery of the DLNA devices in the local network and control of the devices.
- Server Push - Provides functionality of OMA Push delivery to Web Applications running in the widget context.
- Sensor - Access to device sensors, such as accelerometer, altimeter, ambient temperature or tilt sensors.
- Telephony - Extension of existing API to enable the handling of incoming and outgoing phone calls.
Policies
To safeguard users from malicious web applications, BONDI defines a policy layer between the API and the device. Policies can be set on a widget provider level (for signed widgets) on a widget level or on an API call-by-call level for web pages.
Every widget carries a manifest declaring the APIs to be used by that widget, allowing users to install (or deny installation) based on the function the widget intends to use.
References
- "OMTP announces latest BONDI release 1.1". OMTP News Release. OMTP. Archived from the original on 20 February 2010. Retrieved 2010-03-02.
- "BONDI Approved Version 1.0 is released with commitment from operators and manufacturers". OMTP News Release. OMTP. Archived from the original on 2009-12-29. Retrieved 2010-03-02.
- "OMTP announces the release of BONDI 1.01". OMTP News Release. OMTP. Archived from the original on 31 January 2010. Retrieved 2010-03-02.
- "OMTP announces latest BONDI release 1.1 and new cross platform widgets". OMTP News Release. OMTP. Archived from the original on 20 February 2010. Retrieved 2010-03-02.
- "Leading Operators Unite to Unleash Global Apps Potential". WAC News Release. WAC. Retrieved 2010-02-15.
- "BONDI API Specification - Version 1.1". Archived from the original on 27 February 2010. Retrieved 2010-03-02.
- "BONDI 1.5 APIs Public Working Draft v1". Archived from the original on 24 February 2010. Retrieved 2010-03-02.