adsfundi

Thursday, August 20, 2009

Introduction to Mobile Computing


Mobile Computing is an umbrella term used to describe technologies that enable people to access network services anyplace, anytime, and anywhere. Ubiquitous computing and nomadic computing are synonymous with mobile computing. Information access via a mobile device is plagued by low available bandwidth, poor connection maintenence, poor security, and addressing problems. Unlike their wired counterparts, design of software for mobile devices must consider resource limitation, battery power and display size. Consequently, new hardware and software techniques must be developed. For example, applications need to be highly optimized for space, in order to fit in the limited memory on the mobile devices. For Internet enabled devices, the good old TCP/IP stack cannot be used; it takes too much space and is not optimized for minimal power consumption. Given the plethora of cellular technologies that have emerged in such a market, it becomes extremely difficult to provide support for inter-device communication.

A new hardware technology solution, Bluetooth, has been proposed to overcome this barrier. Any device with a Bluetooth chip will be able to communicate seamlessly with any other device having a similar chip irrespective of the communication technologies they might be using. For the sake of explanation, an analogy can be drawn between the Java Virtual Machine and Blue tooth.

In the recent past, cellular phone companies have shown an interesting growth pattern. The number of customers has been steadily increasing but the average airtime per user has slowed to a constant. To increase the user average connect time, many cellular providers have started providing data services on their networks which entices the user to use the mobile device for both voice and data communication. Typical data services include chat, e-mail, Internet browsing. An example of this type of service is SMS (Short Message Service). It is a data service in a GSM cellular network that allows the users to send a maximum of 160-character message at a time (similar to paging). Inherently, this service is not feasible for browsing, checking e-mail or chatting. GSM networks provide another service called GPRS (General Packet Radio Service) that allows information to be sent and received across the cellular network.

There has also been a recent effort defining common standards for providing data services on hand-held devices. WAP (Wireless Application Protocol) and KVM (Kilobyte Virtual Machine) deserve a mention here. WAP is a protocol suite that comprises of protocols tailored for small devices. WAP has been developed by the WAP Forum [ www.wapforum.org] and runs over an underlying bearer protocol like IP or SMS. In the WAP model, a service provider operates a WAP gateway to convert Internet content to a miniaturized subset of HTML that is displayed by a mini-browser on the mobile device. Companies like Nokia, Ericsson and Motorola have already developed WAP enabled phones. As of now, these phones are available and functional mostly in Europe.

HTML, the de-facto Internet language, is not optimized for these devices. Handheld devices are characterized by small display sizes, limited input capabilities and limited bandwidth. The HTML document model consisting of headers, titles, paragraphs, etc, does not work well for a 10 row by 15 character wide screen. Keeping in mind the memory constraints of the mobile device, the browser should not be heavy (i.e. the markup language should not be too detailed). Alternative markup languages that have been proposed include HDML (Handheld Device Markup Language -- a prevalent standard), WML (Wireless Markup Language -- WAP brainchild) and Compact HTML . Details about these standards can be obtained from w3c site. Curious readers can also subscribe to the mailing list. The popular mini-browser in the market right now is UP.browser from phone.com. The browser has been licensed to many cellular phone manufacturers like Motorola, Ericsson, Sony and Toshiba.

The above mentioned KVM is Sun Microsystems's answer to the different mobile device platforms. KVM is a lightweight version of the Java Virtual Machine and allows applications to be written once for the different wireless platforms. By wireless platforms I mean the mobile device operating systems. Currently there are three contenders: Microsoft [www.microsoft.com/windowsce] with its Windows CE (Consumer Electronics), Symbian [www.symbian.com] with its EPOC operating system, and the current market leader 3Com [www.3com.com] with its PalmOS.

Stay tuned...mobile computing is the way the world is heading!

No comments:

Post a Comment