Early comparison of Nokia/BONDI APIs

Hi,

I spent a little of time comparing the APIs that were proposed by Nokia
to the APIs proposed by BONDI [1].

My comparison is at best superficial, doesn't cover all the APIs, and
I'm not an expert in API design, so some of my remarks may be
irrelevant; but I'm hoping it can serve as a starting point for the
technical discussions around concrete APIs.

 * General
Some success callback functions defined in BONDI uses a generic
interface (SuccessCallback) - they should use sub-classes to identify
and define the expected parameters; for instance, in Messaging,
ApplicationLauncher,  Gallery, etc; in some of these, I believe the
success callback may not expect any parameter at all, but that should be
made explicit.

 * Calendar
Nokia's interface seems much more complete; e.g. BONDI lacks proper
handling of recurrent events, which would prevent proper interaction
with real calendar applications; Nokia's seem to match roughly the JSR
interfaces.

 * Camera
BONDI's interface more complete - allows for video and much more
detailed control of camera settings.

 * Contacts
Nokia's address interface more precise - note overlap with Geolocation
v2 spec:
http://dev.w3.org/geo/api/spec-source-v2.html#address_interface (which
has more fields: county, streetNumber, premises, additionalInfo; diff
'postalCode' / 'code'
Nokia allows for named groups of contacts
BONDI has a search interface (not Nokia)

* Messaging
BONDI's definition of account interface? (in getAvailableEmailAccounts -
cf lack of specialized callback interfaces)
BONDI doesn't read (or alter) messages lists, only allows to send
Nokia offers to start message editor; has new messages notifications

Dom

1. Nokia APIs:
http://lists.w3.org/Archives/Public/public-device-apis/2009Apr/0001.html
   BONDI APIs:
http://bondi.omtp.org/1.0/apis/index.html

Received on Thursday, 30 July 2009 07:57:33 UTC