Mobile devices are becoming the most indispensable
computing device a person needs. With the advent of smart
phones, the mobile phone has become as powerful as any
ordinary desktop computer in terms of the applications it
can run and its computing power [5]. People are now using
their mobile phones not just for calling and sending messages
but also for browsing the Internet, playing games, listening
to music, taking pictures and videos just to name a
few. In response to the rising demand for better mobile devices,
companies have developed various types of mobile
devices that would suit different people with different computing
needs. Some of these companies are even opening up
their application programming interfaces (APIs) that would
allow anyone to develop their own applications for their mobile
devices given the right tools. Examples of these are the
Symbian operating system C++ API2, Java platform micro
edition (Java ME) API3 from Sun Microsystems, the Android
API4 from the Open Handset Alliance and the iPhone
API from Apple5.