Mobile computing is growing everyday and getting popular. Many people are using mobiles which connect to Internet to browse and perform online tasks using their mobile devices. Users will have access to their data regardless of their physical location.
William, Ongtang and McDaniel (2009: 10) state that: “The next generation of open operating systems will be on small mobile devices which people carry everyday rather than desktops or mainframes.”
The concept of using mobile devices to perform tasks is an interesting topic which may lead to take the place of using traditional desktops to perform communications with the server. The objective is to develop software for battery powered devices with wireless network connectivity. Smart mobile devices are defined as those which are connected to a TCP capable network continuously.
According to BBC Measuring the Information Society 2010, currently there are over 5 billion mobile phone connections in the world. This statistics shows the potential of the mobile computing which should be considered by software developers to enhance their software for mobile devices. In some cases which we need to communicate with the server using multiple clients, it is a good idea to be able to replace mobile devices with traditional client desktops, because mobile devices are easier to carry and almost always cheaper.
By comparing hardware resources of mobile devices to the personal computers, it is obvious that personal computers have faster processors and more resources than mobile devices, so using mobile cloud computing becomes important to overcome this issue. Most of the mobile devices contain small storage capacity which they can use clouds to store the data for applications. Amazon EC2, Google AppEngine, Microsoft Azure and Force.com are all cloud providers for developers.