BONDI is an API framework aimed at mobile devices. OMTP launched the BONDI initiative, which defined new interfaces and a security framework to enable the access to mobile phone functionality from browser and widget engine in a secure way. 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 with a maintenance release following on July, 30th, 2009 Version 1.1 of the API was released as stable on February, 11th, 2010. 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 announced that BONDI would be one of the technologies used.
API
As of release 1.1, the BONDI API defines the following interfaces:
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.
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 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 based on the function the widget intends to use.