acm - an acm publication


Smart phones
A tutorial

Ubiquity, Volume 2008 Issue April | BY Ramesh Singh , Preeti Bhargava , Samta Kain 


Full citation in the ACM Digital Library

1. INTRODUCTION Pervasive Computing integrates computation in the environment rather than computers which are distinct objects. Other terms for pervasive computing ubiquitous computing, calm technology, things that think and everyware. In other pervasive computing means computers everywhere, making them available the physical environment while making them effectively invisible to the user. having a desktop or a laptop machine, the technology pervasive computing embedded in the environment. Ubiquitous technology is often wireless, networked making its users more connected to the world around them and the it. Through pervasive computing, users use today's digital tools like laptops, phones, PDAs, smartphones to communicate and exchange information in different and conceive and use the geographical and temporal spaces differently. In being an aspect of information dissemination, pervasive or ubiquitous computing global and local, social and personal, invisible and visible at the same time.


Pervasive Computing integrates computation in the environment rather than having computers which are distinct objects. Other terms for pervasive computing include ubiquitous computing, calm technology, things that think and everyware. In other words, pervasive computing means computers everywhere, making them available throughout the physical environment while making them effectively invisible to the user. Instead of having a desktop or a laptop machine, the technology pervasive computing uses is embedded in the environment. Ubiquitous technology is often wireless, mobile or networked making its users more connected to the world around them and the people in it. Through pervasive computing, users use today's digital tools like laptops, mobile phones, PDAs, smartphones to communicate and exchange information in different ways and conceive and use the geographical and temporal spaces differently. In addition of being an aspect of information dissemination, pervasive or ubiquitous computing is global and local, social and personal, invisible and visible at the same time.


It consists of three major components: pervasive devices, pervasive networking, pervasive middleware and pervasive applications. Each of these components works in synergy to give pervasive computing its unique qualities.

2.1 Devices

An intelligent environment is likely to contain many different device types:

  • traditional input devices, such as mice or keyboards, and output devices, such as speakers or light-emitting diodes;
  • wireless mobile devices, such as pagers, personal digital assistants, cell phones, palmtops, and so on;
  • smart devices, such as intelligent appliances, floor tiles with embedded sensors, and biosensors.
Ideally, pervasive computing should encompass every device worldwide that has built-in active and passive intelligence.

2.2 Pervasive networking

The number of pervasive devices is expected to multiply rapidly over the next few years. There will be more than 300 million PDAs; two billion consumer electronic devices, such as wireless phones, pagers, and settop boxes; and five billion additional everyday devices, such as vending machines, refrigerators, and washing machines embedded with chips and connected to a pervasive network. As a consequence of this proliferation, many current technologies must be revamped. In addition to extending the backbone infrastructure to meet the anticipated demand, global networks like the Internet also must modify existing applications to completely integrate these pervasive computing devices into existing social systems.

2.3 Pervasive middleware

Like distributed computing and mobile computing, pervasive computing requires a middleware "shell" to interface between the networking kernel and the end-use applications running on pervasive devices. This pervasive middleware will mediate interactions with the networking kernel on the user�s behalf and will keep users immersed in the pervasive computing space. The middleware will consist mostly of firmware and software bundles executing in either client-server or peer-to-peer mode. User interfaces are another aspect of middleware. Standard Web browsers represent the high end of interface sophistication. They use more color, graphics, and controls than users typically expect on pervasive devices. Mobile computing has already introduced microbrowsers.

2.4 Pervasive applications

Pervasive computing is more environment-centric than either Web-based or mobile computing. This means that applications will guide the middleware and networking issues to a large extent. Consider a heart patient wearing an implanted monitor that communicates wirelessly with computers trained to detect and report abnormalities. The monitor should know when to raise the alarm, based on its knowledge about the environment. So this is much more than simple wireless communication.


A smartphone is an electronic handheld device that integrates the functionality of a mobile phone, personal digital assistant (PDA) and other information devices. Imagine the number of pockets a person would need if he would have to carry a cell phone, a calculator, address book, music player, camera etc. A smart phone provides a solution to this problem. A smart phone can be developed by adding telephone features to an existing PDA or adding �smart� functionalities of a PDA to a mobile phone. A key feature of a smart phone is that additional applications can be installed on the device. These applications can be developed by the manufacturer, the operator or any other third party like the user or any software developer. Thus unlike the conventional cell phones, a user can install, configure or run applications of their interests on the smart phone. Consider a standard cell phone with a built-in calculator application. A user has to use this calculator whether or not its helpful for him or not. But if that phone were a smartphone, the user could have installed any compatible calculator application he likes. Thus using a smart phone a user can make and receive phone calls, can interact with laptop and desktop computers, access internet, send and receive emails, manage personal information, instant messaging, data synchronization with applications like Microsoft outlook, play audio and video files and install applications of his choice. Additionally smart phones features also include GPS navigation tools and the ability to read business documents in a variety of formats like PDF.

Mobile phones have become a pervasive part of everyday life. People have mobile phones, smart phones or PDAs with them nearly always and anywhere. The primary aim of pervasive computing is providing information to the users anywhere anytime and on any device. Due to the proliferation of smart phones and PDAs and since they provide end to end communication in mobile networks, smart phones serve as important pervasive devices in ubiquitous environments. These smart phones can send and receive information via GPRS or bluetooth and can even provide the user location via GPS (Global Positioning System). Today�s mobile phone networks provide global ubiquitous wireless environments, satisfying most requirements of the pervasive computing information service delivery. Thus along with smart phones, pervasive computing brings the power of broadband communication to the shoppers, travelers, businessmen and others on the go. Smart phones also support many advanced interactive user interfaces. Many projects have been developed to build interactive user interfaces like the MyGrocer project.


An Application Development Platform or Framework is basically a collection of tools and libraries which enable developers to develop application targeting a hardware of software platform. Some of the well known application development platforms like Java, .NET framework target and get ported on various software platforms or operating systems. BREW is a application development platform or framework which targets and get ported on various hardware platforms.

4.1. Binary Runtime Environment for Wireless (BREW)

BREW is an application development platform created by Qualcomm for mobile phones. It is air-interface independent, i.e. it can support GSM/GPRS, UMTS, and CDMA. However, when BREW was first introduced it was solely developed for CDMA handsets. Standing for Binary Runtime Environment for Wireless, it is a software platform that can download and run small programs for playing games, sending messages, sharing photos, etc. The main advantage of BREW platform is that the application developers can easily port their applications between all the Qualcomm ASICs (Application Specific Integrated Circuits). The BREW runs between the application and the wireless device's chip operating system; therefore BREW enables a programmer to develop applications without needing to code for system interface or understand wireless applications.

Software for the BREW-enabled handsets can be developed in C or C++ using the BREW SDK. The SDK includes a BREW Emulator which can be used for testing during the development process. Unlike the Java ME platform, where any developer can upload and execute software on any supported handset, BREW applications must be digitally signed. Because BREW gives complete control over the handset hardware, only content providers or authenticated BREW developers have the tools necessary to create a digital signature.

The BREW API is more standard across supported phones than the J2ME API, which can be considerably different depending on the phone model. Also graphics tricks are easier with Brew and have direct access to the screen buffer.

4.2. Java 2 Micro Edition (J2ME)

Java is becoming a standard across wireless devices because of its application portability, endorsement by virtually all wireless technology vendors, integrated safeguards for network delivery, sandboxing, and it�s a powerful object oriented programming language. Java runtime environments are standard or readily available for Symbian (e.g. Nokia Communicator 9200), embedded Linux (Sharp Zaurus), PocketPC (Compaq's iPAQ), Palm (KVMs from Sun, Esmertec, Kada, IBM) and real-time operating systems.

The modular design of the J2ME architecture enables an application to be scaled based on constraints of a small computing device. J2ME architecture doesn�t replace the operating system of a small computing device. Instead, J2ME architecture consists of layers located above the native operating system, collectively referred to as the Connected Limited Device Configuration (CLDC). The CLDC, which is installed on top of the operating system, forms the run-time environment for small computing devices.

The J2ME architecture comprises three software layers. The first layer is the configuration layer that includes the Java Virtual Machine (JVM), which directly interacts with the native operating system. The configuration layer also handles interactions between the profile and the JVM. The second layer is the Profile layer, which consists of the minimum set of application programming interfaces (APIs) for the small computing devices. The third layer is the Mobile Information Device Profile (MIDP). The MIDP layer consists Java APIs for user network connections, persistence storage, and the user interface. It has access to CLDC libraries and MIDP libraries.

Small Computing Device Requirements

There are minimum resource requirements for a small computing device to run a J2ME application. First the device must have a minimum of 96 X 54 pixel display that can handle bitmapped graphics and have a way of users to input information, such as a keypad, keyboard or touch screen. At least 128 kilobytes (KB) of nonvolatile memory is necessary to run Mobile Information Device (MID), and 8 KB of nonvolatile memory is needed for storage of persistent application data. To run JVM, 32KB of volatile memory must be available. The device must provide two way connectivity.

A MIDlet is an application that requires a device that implements Java ME, MIDP to run. Like other Java programs, MIDlets have a "compile once, run anywhere" potential. All the files necessary to implement a MIDlet must be contained within a production package called the Java Archive (JAR) file. These files include MIDlet classes, graphic images and the manifest file. The manifest file contains a list of attributes and related definitions that are used by the application manager to install the files contained in the JAR file onto the small computing device. Along with this, a Java Application Descriptor (JAD) file can also be included within the JAR file. A JAD file is used to provide the application manager with additional content information about the JAR file to determine whether the MIDlet suite can be implemented on the device.

Servlets are modules of java code that run in a server application to answer client requests. Since servlets are written in the highly portable Java language and follow a standard framework, they provide a means to create sophisticated server extensions in a server and operating system independent way. To create a wireless mobile application, the midlets are deployed on a mobile phone (client) which supports java applications and the servlets are deployed on a server. The client application is then tied into the server via an HTTP connection. The application will send requests to the server for data and receive fgresponses that will be mapped into the appropriate fields of the client application.


Client Server Architecture

Most of the pervasive computing projects involving smart phones follow client server architecture. The term client/server was first used in the 1980s in reference to personal computers (PCs) on a network. The actual client/server model started gaining acceptance in the late 1980s. The client/server software architecture is a versatile, message-based and modular infrastructure that is intended to improve usability, flexibility, interoperability, and scalability as compared to centralized, mainframe, time sharing computing.

Fig.1. Client Server Architecture

Client server architecture is an architecture of a computer network in which many clients (remote processors) request and receive service from a centralized server (host computer). Client computers provide an interface to allow a computer user to request services of the server and to display the results the server returns. Servers wait for requests to arrive from clients and then respond to them. Ideally, a server provides a standardized transparent interface to clients so that clients need not be aware of the specifics of the system (i.e., the hardware and software) that is providing the service. Today clients are often situated at workstations or on personal computers, while servers are located elsewhere on the network, usually on more powerful machines. This computing model is especially effective when clients and the server each have distinct tasks that they routinely perform. In hospital data processing, for example, a client computer can be running an application program for entering patient information while the server computer is running another program that manages the database in which the information is permanently stored. Many clients can access the server's information simultaneously, and, at the same time, a client computer can perform other tasks, such as sending e-mail. Because both client and server computers are considered intelligent devices, the client-server model is completely different from the old "mainframe" model, which utilized a centralized mainframe computer that performed all the tasks for its associated "dumb" terminals.


6.1. MyGrocer Project [1]

The IST (Information Society Technologies)-funded MyGrocer project has developed an innovative software application addressing the retail sector. Its solution combines radio frequency product identification, wireless network communications techniques (i.e. WLAN) and information technology resources using actual database technologies and protocols (OLAP, XML, HTML, WAP). This combination will transform current shopping methods by offering the customer accurate information about each and every product in the shopping trolley. Unlike barcodes, RF-tags uniquely identify each product. In addition, they do not require physical scanning; the RF-Tags are constantly transmitting their presence to the RF Receiver positioned on the shopping trolley or in the vicinity.

When the customer enters a shop, he/she logs onto the MyGrocer application via the trolley's terminal. The system identifies the user and displays the shopping list on the shopping trolley's display. The trolley's system can identify the placing of the products in (or out of) the trolley, access pricing information, display promotions, and relates to other in-shop applications. At the check-out, the smart shopping trolley system transmits the list of items to the cashier. It transmits the purchased item list, helps generate the receipt and tells the cashier the amount to be paid. The customer's shopping list is kept in the local system to be used in future promotions. Meanwhile, the data are transmitted to the supermarket IT system and can help update the shop's inventory in real-time and initiate the necessary measures to replenish the stock.

At home, providing the goods are stored in an identified location equipped with a RFReceiver, a local server (PC, Personal Digital Assistant (PDA), set-top box, etc.) can keep track of the local inventory of goods. If the system is used, a 'restock' notice can be generated and transmitted over the Internet, for items that aren't put back in place after a predetermined period of time. It contributes to producing a 'shopping list'. The consumer can electronically retrieve his/her shopping list (PC, PDA, mobile phone) and conduct remote/ mobile shopping transactions.

6.2. mExpress Project [2]

mExpress (Mobile in Exhibition Provision for Electronics Support Services) project exploits location sensing and tracking through smart phone technology and wireless LAN systems to provide route assistance within an exhibition space. The system uses the visitor's PDA or smartphone to locate his position at any time during the exhibition. Also, the information when a visitor approaches a particular stand can be known. In addition, visitors can also create a personal profile using their smart phones or PDAs either in advance or directly on-site, which will point them directly to the site or the stand they are interested in the exhibition.

6.3. E-Care Project [3]

The E-Care Project is a comprehensive monitoring system to capture, transmit and distribute vital health data to doctors, carers and family. E-Care's system dynamically produces data depending who accesses a patient's record. A doctor will see all the health information, a system or medical administrator will see data relevant to them, while patients, their friends or family, will see another set of data, all coming from the one file. Also, it can acquire vital information about a patient who lives far away from medical support, and it can alert medical staff if there is a dangerous change in patient's status.

The E-Care system comprises of wireless intelligent sensors network, biomedical sensors and a radio terminal to monitor various activities of a patient like his pulse rate, blood pressure, temperature, glucose levels, drug conformance etc. Data collected by the sensors are sent to the central repository system via the transmitters.

SMS are sent to the drug conformance device like a PDA installed near the patient's bed to remind when they have to take the medication and the patients send a conformation once they take the drugs. The Medical Data Manager (MDM) module of the central repository system checks the patient's data against the patient's records and any doctor's notes. If there is any change in the patient's vital signs like blood pressure, an alarm is sent immediately to the patient's physician on his smart phone or PDA. Also, the MDM can alert the doctor if the patient's data fails to arrive.

6.4. TellMaris [4], [5]

The TellMaris project provides 3D navigation and vital information to the sailors about the entrance of the harbors and regular weather forecasts. It provides the tourists with route and location based services and information on city attractions, restaurants and other tourists highlights on their PDAs or smart phones.

6.5 The Virtual Blood Bank Project [6]

The VBB project in India�s National Capital Region of Delhi uses smart phones to build a pervasive network that gives people instantaneous information about available blood donors in their vicinity.

6.6 The Interactive Traffic Beat Project [7]

The Interactive Traffic Beat Project uses a Web-based service to deliver vehicle traffic information to people through their cell phones at the right time so that valuable time can be saved and the chaos on the roads can be managed.


3. A. Marsh, "The E-CARE Project: Removing the Wires," Proc. Int�l Conf. Computer Science, vol. 2, Elsevier Science Publishers, 2002, pp. 1012�1018.
4. A. Schilling et al., "Introducing 3D GIS for the Mobile Community: Technical Aspects in the case of TellMaris," Proc. IMC Workshop 2003, Fraunhofer IRB Verlag, 2003, pp. 86�92.
6. Ramesh Singh, Preeti Bhargava, Samta Kain, "Smart Phones to the Rescue: The Virtual Blood Bank Project," IEEE Pervasive Computing, vol. 6, no. 4, pp. 86-89, Oct-Dec, 2007
7. Singh, R.; Bhargava, P.; Kain, S., "Smart phones and interactive reports leave traffic in the rearview mirror," Potentials, IEEE , vol.27, no.2, pp.33-38, March-April 2008

Source: Ubiquity Volume 9, Issue 14 (April 8, 2008 - April 14, 2008)


Leave this field empty