Mobile wireless applications allow you to customize a smartphone to your specific set of wants and needs. They are generally easy to find and install, and once you start using them, will become a necessary part of your mobile life.
As I have gained experience with mobile wireless applications, I have come to identify ways to group similar types of these applications using an informal classification, which has helped me to understand their similarities and differences.
- Client applications. These are split into two groups: native and portable,
- Messaging applications,
- Browser applications. Also split into two groups: markup and AJAX applications.
Client applications are installed on a mobile device and run on that device.
The application may be written to look and feel like a native application for specific phone models. A native application should behave and look like an integrated part of the installed phone software. Generally, custom compilers and tools are needed to build native software specifically for those phone models.
Portable applications are generally able to run with few changes across a wide range of phone models and manufacturers. The user interface is not as well integrated with any individual phone model and the software may not be able to take advantage of all the features provided by particular phone models.
Current messaging applications use SMS messages as the communications medium. Typically the user can use the standard “text messaging” feature provided with the phone. A single SMS message contains between 70 and 160 characters depending on how the characters are encoded. The protocol has been extended to send longer messages (http://en.wikipedia.org/wiki/SMS).
The servers need to receive and respond to the specifications of SMS messages. The messages are packed and need to be decoded before being used. Virtually every mobile phone includes full support for SMS messaging; and manufacturers provide SMS software libraries if you want to incorporate SMS communication into a custom application.
Browser applications are server-based applications that can be accessed through a web browser via a URL from a mobile device. There are a variety of web-based markup languages, dictated by the capabilities of the web browsers for different geographic regions, etc. Mobile web browsers are less flexible or capable than desktop web browsers, e.g., they are unlikely to support extensions and media players (such as Flash).
Markup applications are generated and run within the server. The client displays, or renders, the pages generated by the server and provides basic user-interaction. User input is sent by the browser to the server for processing.