Before designing a system architecture for mobile applications, it is important to understand the characteristics of these applications. In this section, we present various mobile applications and outline the properties of these applications and the devices they run on. From this analysis, we argue for certain infrastructure requirements to facilitate mobile applications.
Mobile applications are constantly evolving and it is difficult to outline a definitive set of application requirements. However, there are certain trends and properties we see in emerging applications.
Early applications on mobile devices were often stand-alone programs that did not interact with other applications or with a network. Examples include rudimentary personal information management (PIM) utilities such as calendars and to-do lists; single-player games, such as solitaire card games; and camera applications that let users capture and view photos. In the context of this discussion, the notable property of these applications is that they had no network access and all the data are manually entered. While such applications may provide the ability to synchronize data with a desktop computer, physical access to the computer is required, decreasing the advantage of a mobile device.
Here, we are more concerned with mobile applications that have access to a network while mobile. Most mobile devices today provide some means to access a network, such as the Internet, ...