The idea behind this project came to me very early on in my undergraduate degree. Once the time had come, I decided to take this on as my topic for my dissertation, which was submitted on August 10th, 2010.

My work included background research of the topic, and the various implementation approaches. Definition of requirements, and use cases. Application and database design, and finally implementation and testing. I also project managed all of the activities in order to ensure timely delivery.

A very small extract of that work can be found below. It is a topic that still interests me greatly, and one that I still do not believe has been solved today.

Introduction

Contact information is used by us all on a daily basis, both at work and during our free time. Address books are becoming increasingly large, which can measure several hundred entries; on average a contact list contains around 107 entries. (Komninos and Liarokapis, 2009), (Whittaker, Jones and Terveen, 2002b). Each contact can have one or more work, home and mobile phone numbers, email addresses and instant messaging aliases (Whittaker, Jones and Terveen, 2002b).

This volume of data is difficult to manage (Whittaker, Jones and Terveen, 2002b) and it is exacerbated by the duplication of this contact data onto all of our different address books found on our mobile phones, personal and work computers. In order for the information we keep about our contacts to be useful, it must be accurate (Whittaker, Jones and Terveen, 2002a) and consistent across all address books kept.

A person’s contact details are prone to change. Moving house leads to a change of address and potentially a change of the home telephone number. Changing employment to another company results in the changing of work telephone and email address. A new mobile phone may influence a change to another network and phone number. In all of these cases (and more), the owner of the contact detail must inform all their contacts of a change and then they, must go about updating all instances of that contact across their different address books.

Updates are not always communicated effectively to contacts. Factors include the cost of sending an update, a contact is not considered useful and the information kept is inaccurate or out of date, which means the intended recipient never receives it.

Research by Komninos and Liarokapis found that “46% of contacts were not used for at least 6 months or never used” (Komninos and Liarokapis, 2009). During this period, it would be a fair assumption that a contact detail may have changed and that its update was not communicated between two parties.

This project proposes automatic updates, which means a user would only be responsible for their own data and not those belonging to others. This reduction of administration means fewer chances of inaccuracy, reduced cost and a valuable time saver for the user. It also means the owner remains in control of their contact details, thereby forming a basis to enable revocation of shared information.

Implementation

I successfully implemented a client-server proof of concept. More specifically, it consisted of a "thick" PHP server and a "thin" Android (Java) client. Communication between the two devices was achieved using SyncML (now known as  Open Mobile Alliance Data Synchronization and Device Management), a platform-independent syncronisation standard.  A minor modification was made to this XML message, to include an additional element, in order to achieve the project's primary objective.

The following are snippets from the design documentation I produced, to illustrate some the scale and complexity of the system.

Use Case Diagram of Addrss.mobi

Use Case Diagram of Addrss.mobi

Component diagram of the inner working of the server application.

Component diagram of the inner working of the server application implemented.

Technologies used

Deployment diagram of the proof of concept implemented

References

The following are a small subset of references that directly relate to the introduction found at the top of this page:

Komninos, A. and Liarokapis, D. (2009) 'The Use of Mobile Contact List applications and a Context-Oriented Framework to Support their Design', MobileHCI, Article no. 79.

Whittaker, S., Jones, Q. and Terveen, L. (2002b) 'Contact Management: Identifying Contacts to Support Long-Term Communication', CSCW'02, p216-255.

Whittaker, S., Jones, Q. and Terveen, L. (2002a) 'Managing long term communications: Conversation and Contact Management', 35th Hawaii International Conference on system Sciences.