Thursday, October 31, 2013

Writing mobile contact management and address book apps

Writing a mobile app that manages contact information is a common requirement. First you will need to describe the app in terms of its purpose, features and functions. Before jumping right into database design, first consider what standards, interfaces and models are already available.

An enterprise address book app is typically concerned with providing details about contacts for some purpose such as messaging, transactions, or relationship tracking. An address book is typically thought of as a hierarchy of lists that contain addresses. Each of these levels of an address book will require their own data and metadata. See, for example, the Address Book Object Protocol published July 26, 2013 by Microsoft Corporation. This protocol provides developers with specifications for all the properties of various Address Book objects and how these object properties relate to each other.

An address book may be stored on an address book server or cached locally on a mobile device as an offline address book (OAB). One of the standards that helps in the exchange of address book information is the vCard. The Open Mobile Alliance publishes the OMA Converged Address Book (CAB) 1.0 standard and is proposing a 1.1 standard as well. This is really a much more advanced social address book standard designed for interoperability.
Remarkably, most mobile phone address books are rather insecure. Developers of address book apps should incorporate encryption and decryption protocols into any app where security is needed. While a development environment like the Magic xpa Application Platform can provided encrypted communication between application servers and mobile clients, the developer must decide to create a secure application and implement security standards for data storage. It is not automatic (nor should it be as some situations are better suited to unencrypted data storage and communications).

Your app may also need to access address book APIs. The table below cites some of the more common email and social mail clients and their corresponding address book APIs.

Mail Client
Address Book Type
Mozilla's LDAP XPCOM component
Local address book
Mozilla address-book XPCOM component
Outlook Personal Address Book (PAB)
Outlook Express / MS Mail
Windows Address Book (WAB)
Lotus Notes
Lotus Notes/Domino Address Book
Lotus C API
Google Mail
Google Contacts
Google Contacts API version 3.0
Yahoo! Mail
Yahoo! Address Book
Yahoo! Mail API
FaceBook Messaging System
FaceBook FriendList
Graph API
LinkedIn Connections

(requires the r_emailaddress member permission)
Connections API

Creating address book applications for mobile devices such as iPhone, iPAD, Android, BlackBerry and Windows Phone is easier with the Magic xpa Application Platform because of the built-in secure transport between client and server as well as the rich feature set for data discovery, communications and offline mode operations.

1 comment: