Smartphone & Developing Enterprise Applications for Smartphone
1. Introduction
Recent advances in technology make it feasible to incorporate significant processing power in
almost every device that we encounter in our daily life. For a number of years, visionary papers
have presented a picturesque computerized physical world with which we can potentially interact
faster and in a simpler fashion. People, however, are not yet taking advantage of this ubiquitous
computing world. Despite all the computing power lying around, most of our daily interactions
with the surrounding environment are still primitive and far from the ubiquitous computing
vision. Our pockets and bags are still jammed with a bunch of keys for the doors we have to
open/close daily (they did not change much since the Middle Ages), the car key or remote,
access cards, credit cards, and money to pay for goods. Any of these forgotten at home can turn
the day into a nightmare. If we travel, we also need maps and travel guides, coins to pay the
parking in the city, and tickets to take the train or subway. In addition, we are always carrying
our mobile phone, which for some mysterious reason is the least likely to be left at home. When
we finally arrive home or at the hotel, we are “greeted” by several remote controls eager to test
our intelligence. All these items are absolutely necessary for us to properly interact with our
environment. The problem is that there are too many of them, they are sometimes heavy, and we
will likely accumulate more and more of them as our life go on, requiring much larger pockets.
For this problem, the community does not lack innovative solutions that address some of its
aspects (e.g., wireless micro servers, electronic payment methods, and digital door keys). What is
missing is a simple, universal solution, which end-users are likely to accept easily. Ideally, we
would like to have a single device that acts as both personal server and personal assistant for
remote interaction with embedded systems located in proximity of the user. This device should
be programmable and support dynamic software extensions for interaction with newly
encountered embedded systems (i.e., dynamically loading new interfaces).To simplify its
acceptance by society, it should be a device that is already carried by people wherever they go.
We believe that Smart Phones are the devices that have the greatest chance of successfully
becoming universal remote controls for people to interact with various devices from their
surrounding environment; they will also replace all the different items we currently carry in our
pockets. Smart Phone is an emerging mobile phone technology that supports Java program
execution and provides both short range wireless connectivity (Bluetooth) and cellular network
1
Smartphone & Developing Enterprise Applications for Smartphone
connectivity through which the Internet can be accessed.
1.1 What is a Smartphone?
A smartphone is a device that lets you make telephone calls, but also adds features that you
might find on a personal digital assistant or a computer such as the ability to send and receive e-
mail and edit Office documents.
Smart Phones combine significant computing power with memory, short-range wireless
interfaces (e.g., Bluetooth), Internet connectivity (over GPRS), and various input-output
components (e.g., high- resolution color touch screens, digital cameras, and MP3 players).
The “smart” tag is well-earned: in addition to their pure telephony functions, they have an
operating system that can run an advanced web browser, as well as locally installed applications.
1.2 Why Buy a Smartphone?
As a busy person, you know the importance of staying a step ahead of your clients and your
family. You probably know the feeling of being tied to your desk or home so as not to miss that
important email or phone call and to maintain convenient access to essential data—proposals,
schedules, contact information, business news or the stock market
2. History
In 1992 IBM produced arguably the first ever smartphone. As a blue sky campaign they created
Simon, a concept product exhibited at the Las Vegas trade show Comdex. It was released to the
public in 1993 and sold by BellSouth.IBM was the first to venture into the business of offering
consumers a highly advanced mobile phone. The Simon was the first real attempt by the tech
industry to create a “Swiss Army Knife” type of phone that incorporated voice and data services
into one package, as the device acted as a mobile phone, a PDA and even a fax machine. What’s
more, the device even had a touch screen that could be used to dial phone numbers, making it a
true pre-pre-pre-precursor to the iPhone that would come 14 years later. Well, one Simon owner
describes it as “brick-like, huge and heavy.” And its original retail price was $899. Considered
low-end by today’s standard, this first smartphone featured an amazing array of features – email,
address book, clock, calendar, note pad, and even the ability to send and receive faxes.
2
Smartphone & Developing Enterprise Applications for Smartphone
The Nokia Communicator line was the first of Nokia’s smartphone starting with the Nokia 9000,
released in 1996. This distinctive palmtop computer style smartphone was the result of a
collaborative effort of an early successful and expensive Personal digital assistant (PDA) by
Hewlett Packard combined with Nokia’s bestselling phone around that time, and early prototype
models had the two devices fixed via a hinge. The Nokia 9210 was the first color screen
Communicator model which was the first true smartphone with an open operating system the
9500 Communicator was also Nokia’s first camera phone Communicator and Nokia’s first Wi-Fi
phone. The 9300 Communicator was the third dimensional shift into a smaller form factor, and
the latest E90 Communicator includes GPS. The Nokia Communicator model is remarkable for
also having been the most expensive phone model sold by a major brand for almost the full
lifespan of the model series, easily 20% and sometimes 40% more expensive than the next most
expensive smartphone by any major manufacturer.
3
Smartphone & Developing Enterprise Applications for Smartphone
In 1997 Ericsson released the concept phone GS88. It was the first device labeled as
‘smartphone’. The GS88 was followed up by the touch screen smartphone R380 in 2000, the first
device to use the new Symbian OS, and by the P800 in 2002, the first camera smartphone.
In the late 1990s, Canadian company Research in Motion was mostly known for its two-way
pagers that were adopted by tens of millions of users worldwide. But starting in 2002, RIM
4
Smartphone & Developing Enterprise Applications for Smartphone
entered the mobile phone market with its BlackBerry 5810 device, a phone with the ability to get
e-mail and surf the Web. The major downside of the 5810 was that you needed to plug in a
headset in order to talk on the phone. RIM would not release a proper headset-free smartphone
until the BlackBerry 6210 came out in early 2004.
The Treo 600 was the first smartphone released by Palm after it acquired device manufacturer
Handspring, which itself had been started by Palm’s original founders and which had used
Palm’s operating system as the basis for its Treo devices. This particular smartphone featured
both GSM and CDMA models and had 32MB of RAM and 144MHz of processing power. The
Treo was popular in its own right, although its release marked the start of the wane of Palm’s
influence.
5
Smartphone & Developing Enterprise Applications for Smartphone
In 2007 Apple released the iPhone with its intuitive touch screen this was the device that
revolutionized mobile web browsing.
Android’s rise is fairly remarkable for an operating system that only just launched in the fall of 2007.
The open-source operating system’s success is even more impressive when you consider that when it
debuted it was already facing a crowded field of OS heavyweights such as the iPhone, BlackBerry,
Windows Mobile and Symbian. But now Google’s open-source mobile operating system has become a
major player in the smartphone industry. It was used on more than 7% of all U.S. smartphones at the end
of 2009, more than double its market share from the previous quarter.
6
Smartphone & Developing Enterprise Applications for Smartphone
Although Android had been on the market for more than a year before the Droid’s release, the
Droid was the first major hit for the Android platform that had enduring brand recognition. The
device, which was also the first Android-based smartphone to run on the Verizon network, sold
more than 1 million units over its first 74 days on the market.
Sprint has long been eager to show off the capabilities of its WiMAX network, which is
currently the fastest wireless network commercially available in the United States. With the
7
Smartphone & Developing Enterprise Applications for Smartphone
release of the EVO 4G in summers 2010, Sprint finally has a flagship device that will let users
take advantage of its high-speed network. In addition to its connectivity, the phone is also
notable for its striking physical size, with a 4.3-inch 800 x 400 pixel display screen and a weight
of 6 ounces. The Android-based device is so big that it even features a kickstand that helps users
keep it upright while they’re looking at the screen.
In January 2010, Google launched the Nexus
One smartphone using its Android OS.
Google introduced the Nexus One as the first
device to be sold by the search company itself,
rather than a manufacturing or carrier partner.
The Nexus One, which runs Android 2.1, has
been designed by HTC and works with T-
Mobile’s network in the United States.
8
Smartphone & Developing Enterprise Applications for Smartphone
3. Smart Phone Interaction Models
A Smart Phone can be used to interact with the surrounding environment in different ways. We
have identified four interaction models:
3.1. Universal remote control,
3.2. Dual connectivity,
3.3. Gateway connectivity and
3.4. peer-to-peer.
With these models, a Smart Phone can be used to execute applications from as simple as
remotely adjusting various controls of home appliances or opening smart locks to complex
applications such as automatically booking a cab or ordering paying in a restaurant use an ad hoc
network of mobile phones to connect to the cashier’s computer.
3.1 Universal Remote Control Interaction Model:
The Smart Phone can act as a universal remote control for interaction with embedded systems
located in its proximity. To support proximity-aware interactions, both the Smart Phone and the
embedded systems with which the user interacts must have short-range wireless communication
capabilities. Figure illustrates such interactions using Bluetooth. Due to its low-power, low- cost
features; Bluetooth is the primary candidate for the short-range wireless technology that will
enable proximity-aware communication.
9
Smartphone & Developing Enterprise Applications for Smartphone
Since embedded systems with different functionalities can be scattered everywhere, a discovery
protocol will allow Smart Phones to learn the identity and the description of the embedded
systems located in their proximity. This protocol can work either automatically or on-demand,
but the information about the devices currently located in user’s proximity is displayed only
upon user’s request. Each embedded system should be able to provide its identity information
(unique to a device or to a class of devices) and a description of its basic functionality in a
human-understandable format. This model works well as long as the user has the interfaces for
interacting with the embedded systems preinstalled on the phone. An alternative, more flexible,
solution is to define a protocol that allows a Smart Phone to learn the interfaces from the
embedded systems themselves. The problem with this idea is that many embedded systems may
not be powerful enough to run complex software that implements such protocols. In the
following, we describe a second model of interaction that solves this problem.
3.2 Dual Connectivity Model:
Central to our universal interaction architecture is the dual connectivity model which is based on
the hybrid communication capabilities incorporated in the Smart Phones. They have the unique
feature of incorporating both short range wireless connectivity (e.g., Bluetooth) and Internet
10
Smartphone & Developing Enterprise Applications for Smartphone
connectivity (e.g., GPRS) in the same personal mobile device. With this model, the users can
interact with the close-by environment using the short-range wireless connectivity and with the
rest of the world using the Internet connectivity. Figure illustrates the Dual Connectivity
interaction model. As a typical application, let us assume that a person has just bought an
“intelligent” microwave oven equipped with a Bluetooth interface. This embedded system is
very simple and is not capable of storing or transferring its interface to a Smart Phone. However,
it is able to identify itself to Smart Phones. Using this information, the phones can connect to a
server across the Internet (i.e., over GPRS) to download the code of the interface that will allow
it to become a remote control for the microwave oven. The phone can also perform
authentication over the Internet to ensure that the code is trusted. All further communication
between this embedded system and the Smart Phone happens by executing the downloaded code.
This code will display a panel that emulates the panel of the microwave on the phone’s screen
(i.e., it effectively transforms the phone into an intuitive microwave remote control).
Another typical application is opening/closing Smart Locks. We envision that the entry in certain
buildings will soon be protected by Smart Locks (e.g. locks that are Bluetooth-enabled and can
be opened using digital door keys). The dual connectivity model enables users carrying Smart
Phones to open these locks in a secure manner. The Smart Phone can establish a connection with
the lock, obtain the ID of the lock, and connect to an Internet server over GPRS to download the
code that will be used for opening the lock (a digital door key can also be downloaded at the
same time). The server hosting the interface and the keys for the Smart Lock maintains a list of
people that are allowed to open the lock. The identity of the Smart Phone user (stored on the
Smart Phone in the form of personal in- formation) is piggybacked on the request submitted to
the server. If the server finds that this user is allowed to open the lock, it responds with the code
for the interface and the digital key. The dual connectivity model can also be used to
implement electronic payment applications. A client does not need to know about a vendor’s
embedded system in advance. The Smart Phone can authenticate the vendor using its Internet
connection. The same connection can be used by the client to withdraw electronic currency from
her bank and store it on the phone. Another option provided by the Smart Phone is to send some
of the unused money back into the bank account (i.e., make a deposit each time the amount on
the phone exceeds a certain limit). Potentially, the vendor’s embedded system can also be
connected to the Internet. For instance, this ability can be used to authenticate the client. Figure
11
Smartphone & Developing Enterprise Applications for Smartphone
presents a similar application that involves accessing an ATM using a Smart Phone.
3.3 The Gateway Connectivity Interaction Model:
Pervasive applications assume wireless communication through the IEEE 802.11 family of
protocols. These protocols allow for a significant increase in the communication distance and
bandwidth compared to Bluetooth. Using these protocols, the communication range is 250m or
more, while Bluetooth reaches only 10m. The bandwidth is also larger, 11-54Mbps compared to
less than 1Mbps for Bluetooth. The disadvantage of 802.11 is that it consumes too much energy,
and consequently, it drains out the mobile devices’ batteries in a very short period of time. With
the current state of the art, we do not expect to have 802.11 network interfaces embedded in
Smart Phones or other resource constrained embedded systems that need to run on batteries for a
significant period of time (e.g., several hours or even days). More powerful systems, however,
can take advantage of the 802.11 benefits and create mobile ad hoc networks. In such a situation,
a user would like to access data and services provided by these networks from its Smart Phone.
12
Smartphone & Developing Enterprise Applications for Smartphone
To succeed, a gateway device has to perform a change of protocol from Bluetooth to 802.11 and
vice-versa. Many places in a city (e.g., stores, theaters, restaurants) can provide such gateway
stations together with 802.11 hotspots. Figure illustrates this communication model and also
presents an application that can be built on top of it.
Let us assume a scenario where people want to book nearby cabs using their Smart Phones.
Instead of calling a taxi company or “gesturing” to book a cab, a client can start an application
on her Smart Phone that seamlessly achieves the same goal. Hence, the client is just one-click
away from booking a cab. In this scenario, each cab is equipped with 802.11 wireless networking
and GPS devices, and the entire booking process is completely decentralized. To join the mobile
adhoc network created by the cabs, a Smart Phone needs to connect to a gateway station that
performs a translation of protocols from Bluetooth to 802.11 and vice-versa.
3.4 Peer-to-Peer Model:
The Smart Phones can also communicate among themselves (or with other Bluetooth-enabled
devices) in a multihop, peer-to-peer fashion, similar to mobile ad hoc networks. For instance, this
model allows people to share music and pictures with others even if they are not in the proximity
of each other. Figure depicts yet another example of this model. A group of friends having dinner
13
Smartphone & Developing Enterprise Applications for Smartphone
in a restaurant can use their Smart Phones to execute a program that shares the check. One phone
initiates this process, an ad hoc network of Smart Phones is created, and finally the payment
message arrives at the cashier.
4. How Smartphone Works
4.1 Introduction to How Smartphone Works:
Think of a daily task, any daily task, and it's likely there's a specialized, pocket-sized device
designed to help you accomplish it. You can get a separate, tiny and powerful machine to make
phone calls, keep your calendar and address book, entertain you, play your music, give
directions, take pictures, check your e-mail, and do countless other things. But how many
pockets do you have? Handheld devices become as clunky as a room-sized supercomputer when
you have to carry four of them around with you every day.
A smartphone is one device that can take care of all of your handheld computing and
communication needs in a single, small package.
Unlike many traditional cell phones, smartphones allow individual users to install, configure and
run applications of their choosing. A smartphone offers the ability to conform the device to your
particular way of doing things. Most standard cell-phone software offers only limited choices for
14
Smartphone & Developing Enterprise Applications for Smartphone
re-configuration, forcing you to adapt to the way its set up. On a standard phone, whether or not
you like the built-in calendar application, you are stuck with it except for a few minor tweaks. If
that phone were a smartphone, you could install any compatible calendar application you like.
Since cell phones and PDAs are the most common handheld devices today, a smartphone is
usually either a phone with added PDA capabilities or a PDA with added phone capabilities.
Here's a list of some of the things smartphones can do:
Send and receive mobile phone calls – some smartphones are also Wi-Fi capable
Personal Information Management (PIM) including notes, calendar and to-do list
Communication with laptop or desktop computers
Data synchronization with applications like Microsoft Outlook and Apple's iCal calendar
programs
Instant messaging
Applications such as word processing programs or video games
Play audio and video files in some standard formats
4.2 The Layers of a Smartphone:
The Hardware:
Smartphones these days are powerful beasts. Their specification sheets almost read like what
you’d find for a computer, and these devices are now capable of tasks that one would have done
on a computer in the past, such as browsing desktop-class webpages, watching Flash videos,
running multiple apps at once, grabbing email and even doing simple photo and video editing.
Since these mobile devices are able to accomplish so many tasks, the hardware specifications of
a smartphone have gradually become a more important factor.
1. Processor:
15
Smartphone & Developing Enterprise Applications for Smartphone
Processor speed is of somewhat less importance than the rest of the specifications, simply
because these megahertz numbers are not capable of accurately reflecting the actual performance
of a smartphone. More often than not, the everyday performance and speed of operation of a
particular device are more dependent on software optimizations and the efficiency of the OS
rather than purely based on processor speeds.
Many smartphones use power-efficient ARM processors, which are also found in routers,
printers, and other embedded devices like Smart Watches and MP3 players. They have a certain
amount of on-board memory in the tens of megabytes, and many have slots for removable
memory formats like SD and MMC cards as well.
Chips used in smartphones
2. Internal memory:
This is an important figure to look at when selecting a new smartphone, especially for devices
capable of multitasking out of the box (sorry iPhone) as having more RAM means being able to
run more apps at one time without suffering from apps closing unexpectedly, system slowdowns
and freezes. RAM size varies from 64MB to 128MB.
3. Hardware 3D graphics acceleration:
Having 3D graphics acceleration onboard results in better-looking games (those that take
advantage of the added hardware) and smoother high-resolution video playback in addition to a
overall-speedier user interface.
4. External Connectors:
16
Smartphone & Developing Enterprise Applications for Smartphone
Standard external connectors refer to the use of non-proprietary connections for audio output
and data transfers in a device. Most smartphones have a combination of 3.5mm standard
headphone jack and micro USB port for audio and data respectively. At this point, micro USB
charging is also starting to be implemented in newer devices.
5. Camera & LED/XENON FLASH:
The same rules that govern megapixel counts on standalone digital cameras do apply to
smartphones too; more megapixels aren’t always better. One of the largest debates of all time
with regards to smartphone imaging is whether Xenon or LED flash units should be used in
smartphones. Xenon flash is always better than LED flash.
6. Internal sensors:
Fundamentally, there are four internal sensors you should look out for:
An accelerometer handles auto-rotation of your device’s display, detecting whether you’re trying
to capture a photo in portrait or landscape mode, as well as for special features such as silencing
calls and alarms when the device is turned over.
A magnetometer is otherwise known as a digital compass; this is used in GPS navigation apps
where the map is aligned to the direction you’re facing, as well as in “augmented reality” apps
such as Layer on the Android platform; these apps make use of the digital compass in your
device and your camera in order to point out certain points of interest relative to their actual
location.
A light sensor automatically adjusts your screen’s backlight and keypad lighting based on
ambient lighting conditions; your screen would dim in dark conditions so as not to dazzle you
and increase in brightness in sunlight to boost outdoor visibility.
Lastly, a proximity sensor turns off the display during phone calls on touch screen handsets so as
to prevent accidental touches when the device is taped to the side of your face.
7. Battery:
Battery has capability ranging from 850mAh to 1500mAh.
8. Wireless technologies:
Fundamentally, at present, there are three types of wireless technologies in smartphones; cellular,
Bluetooth and location services (GPS).
The Software:
17
Smartphone & Developing Enterprise Applications for Smartphone
Software for smartphones can be visualized as a software stack. The stack consists of the
following layers:
kernel - management systems for processes and drivers for hardware
Middleware - software libraries that enable smartphone applications (such as security,
web browsing, messaging, etc.)
application execution environment (AEE) - application programming interfaces, which
allow developers to create their own programs
user interface framework - the graphics and layouts seen on the screen
application suite - the basic applications users access regularly such as menu screens,
calendars and message inboxes
4.3 Smartphone Operating Systems:
The most important software in any smartphone is its operating system (OS). An operating
system manages the hardware and software resources of smartphones. Some OS platforms cover
the entire range of the software stack. Others may only include the lower levels (typically the
kernel and middleware layers) and rely on additional software platforms to provide a user
interface framework, or AEE. The smartphone operating systems are:
18
Smartphone & Developing Enterprise Applications for Smartphone
Symbian:
Symbian OS is an operating system (OS) designed for mobile devices and smartphones, with
associated libraries, user interface, frameworks and reference implementations of common tools,
originally developed by Symbian Ltd. It was a descendant of Psion's EPOC and runs exclusively
on ARM processors, although an unreleased x86 port existed.
Symbian OS is the operating system for more than 100 different models of phones. The
operating system consists of the kernel and middleware components of the software stack. The
upper layers are supplied by application platforms like S60, UIQ, and MOAP.
iPhone OS:
It is a mobile operating system developed and marketed by Apple Inc. It is the default operating
system of the iPhone, the iPod Touch, and the iPad. It is derived from Mac OS X, with which it
shares the Darwin foundation, and is therefore a Unix-like operating system, by nature.
iPhone OS has four abstraction layers: the Core OS layer, the Core Services layer, the Media
layer, and the Cocoa Touch layer. The operating system uses less than 500 megabytes of the
device's storage, Written in C. Used for ARM-based processor.
Linux:
19
A Nokia N92 with Symbian OS
Smartphone & Developing Enterprise Applications for Smartphone
Linux is unique among the other operating systems in that its development is driven by a
community of developers rather than by a central company. According to ARC chart, the Linux
OS supports more processors than any other operating system on the market, though the most
popular phone models still use the Symbian OS. There are some drawbacks to the system,
however. Since Linux is an organic OS, with developers constantly changing and updating it
even at the kernel level, platforms based on Linux code can be very different from one another.
Some smartphone companies find the risk too great to invest in Linux. Six telecommunications
companies are responding to this by forming the LiMo foundation, an organization that is
attempting to create a standardized Linux platform.
The Linux Smartphone
Windows Mobile:
The Windows Mobile OS encompasses the entire software stack from the kernel to the
application interface. The OS is based off of Window CE.NET. On February 12, 2007, Microsoft
unveiled Windows Mobile 6, the latest version of the software platform. Much of the strength of
this OS lies in the compatibility with the Microsoft Office suite of programs.
20
Smartphone & Developing Enterprise Applications for Smartphone
The T-Mobile SDA Windows Mobile Smartphone
ANDROID:
Android is a software stack for mobile devices that includes an operating system, middleware
and key applications, that uses a modified version of the Linux kernel. It was initially developed
by Android Inc., a firm later purchased by Google, and lately by the Open Handset Alliance. It
allows developers to write managed code in the Java language, controlling the device via
Google-developed Java libraries. Programmed in C and runs on ARM processors.
Garnet:
formerly known as Palm OS, this operating system combines a Linux-based foundation with
applications written for the old Palm OS. The Palm OS was mainly used in PDAs, though the
Treo line of smartphones used it as well. Phones using the Garnet OS should become available in
late 2007.
BlackBerry OS:
It is the proprietary software platform, created by Research In Motion for its BlackBerry line of
smartphone handhelds. The operating system provides multitasking and supports specialized
input devices that have been adopted by RIM for use in its handhelds, particularly the track
21
Smartphone & Developing Enterprise Applications for Smartphone
wheel, trackball, and most recently, the track pad and touch screen. Runs on both Intel Xscale
and ARM processors, Written in C++.
4.4 Network Protocols:
Smartphones use cell-phone network technology to send and receive data (such as phone calls,
web browsing, file transfers, etc.). Developers classify this technology into generations. The first
generation includes analog cell phone technology. Digital cell phones require more advanced
protocols, which constitute the second generation. Between generation two and three, network
engineers created protocols that are more advanced than generation two’s digital technology but
not so innovative that they are a truly new generation. Developers General Packet Radio Services
(GPRS) is a wireless, packet-based communication service and until recently was the standard
2.5G protocol used in most smartphones. Unlike a circuit-switched voice connection, this is a
packet-switched, "always on" connection that remains active as long as the phone is within range
of the service. It allows smartphones to do things like run applications remotely over a network,
interface with the Internet, participate in instant messenger sessions, act as a wireless modem for
a computer and transmit and receive e-mails. GPRS can send and receive data at a rate of 114
kilobytes per second. Some smartphones in the United States still use this protocol, though
newer, faster protocols are available.
One protocol that is faster than GPRS used in the U.S. market is Enhanced Data GSM
Environment (EDGE). EDGE can transmit data at more than three times the rate of GPRS (384
Kbps). Many smartphones in the United States are now using EDGE protocol.
22
Smartphone & Developing Enterprise Applications for Smartphone
Treo 700w: Palm's First Windows Mobile Smartphone
Protocols in 3G transmit data in terms of megabytes per second rather than kilobytes (some as
fast as 10 Mbps). While some U.S. carriers support 3G protocols, many still rely on 2.5G
technology. Europe and Asia have much stronger 3G integration in their respective cell phone
networks. Some 3G protocols are:
Universal Mobile Telecommunication Service (UMTS)
Wideband Code-Division Multiple Access (WCDMA)
High-Speed Downlink Packet Access (HSDPA)
Evolution Data Maximized (EVDO)
4.5 Flexible Interfaces:
The core services on smartphones all tie in to the idea of a multi-purpose device that can
effectively multitask. A user can watch a video clip, field a phone call, and then return to the
video clip after the call, all without closing each application. Or he or she can flip through the
digital calendar and to-do list applications without interrupting the voice call. All of the data
stored on the phone can be synchronized with outside applications or manipulated by third-party
phone applications in any number of ways. Systems supported by smartphones include:
23
Smartphone & Developing Enterprise Applications for Smartphone
Bluetooth:
A short-range, wireless radio service that allows phones to wirelessly link up with each other and
with other nearby devices that support it. This includes things like printers, scanners, input
devices, computers and headsets.
Some varieties of Bluetooth only allow communication with one device at a time, but others
allow simultaneous connection with multiple devices.
Data Synchronization:
A phone that keeps track of your personal information, like appointments, to-do lists, addresses,
and phone numbers, needs to be able to communicate with all of the other devices you use to
keep track of those things. There are hundreds of possible platforms and applications you might
use for this in the course of a day. If you want to keep all of this data in synchronization with
what's on your phone, then you generally have to look for a cell phone that speaks the languages
of all of the devices and applications you use. Or you can go out and buy new applications that
speak the language of your cell phone.
Smartphone E-mail Application
The Open Mobile Alliance (OMA) is a collaborative organization with the mission to “facilitate
global user adoption of mobile data services by specifying market driven mobile service enablers
that ensure service interoperability across devices, geographies, service providers, operators, and
networks, while allowing businesses to compete through innovation and differentiation”. The
24
Smartphone & Developing Enterprise Applications for Smartphone
OMA formed a Data Synchronization Working Group, which is continuing the work begun by
the SyncML Initiative. SyncML is an open-standards project designed to eliminate the trouble of
worrying about whether your PIM devices sync up with your phone and vice-versa. The project
is designed so that any kind of data can be synchronized with any application on any piece of
hardware, through any network, provided that they are all programmed to OMA standards. This
includes synchronization over the Web, Bluetooth, mail protocols and TCP/IP networks.
Java:
A smartphone that is compatible with the Java programming language allows the user to load
and run Java applications and MIDlets. MIDlets are applications that use a subset of Java and are
specifically programmed to run on wireless devices. Java MIDlets include add-ons, games,
applications and utilities. Since there are millions of Java developers worldwide, and the Java
development tools are freely accessible, smartphone users can install thousands of third-party
applications on their phones. Because of the way the OS architecture of most phones is built,
these applications can access and use all of the data on the user's phone. For example, if you
don't like the photo caller ID that comes bundled with Symbian Series 60 OS, you can just find
one that you like better.
5. System Architecture
System architecture for universal interaction consists of a common Smart Phone software
architecture and an interaction protocol. This protocol allows Smart Phones to interact with the
surrounding environment and the Internet.
5.1 Smart Phone Software Architecture:
Figure shows the Smart Phone software architecture. In the following, we briefly describe the
components of the software architecture:
25
Smartphone & Developing Enterprise Applications for Smartphone
Bluetooth Engine is responsible for communicating with the Bluetooth-enabled embedded
systems. It is composed of sub-components for device discovery and sending/receiving data. The
Bluetooth Engine is a layer above the Bluetooth stack and provides a convenient Java API for
accessing the Bluetooth stack.
Internet Access Module carries out the communication between the Smart Phone and various
Internet servers. It provides a well-defined API that supports operations specific to our
architecture (e.g., downloading an interface).The protocol of communication is HTTP on top of
GPRS.
Proximity Engine is responsible for discovering the embedded systems located within the
Bluetooth communication range. Each time the user wants to interact with one of these systems,
and an interface for this system is not available locally (i.e., a miss in the Interface Cache), the
Proximity Engine is responsible from downloading such an interface. If the embedded system
has enough computing power and memory, the interface can be downloaded directly from it.
Otherwise, the Proximity Engine invokes the Internet Access Module to connect to a web server
and download the interface. The downloaded interface is stored in the Interface Cache for later
reuse. Once this is done, the Proximity Engine informs the Execution Engine to dispatch the
downloaded interface for execution. All further communication between the Smart Phone and
the embedded system happens as a result of executing this interface.
26
Smartphone & Developing Enterprise Applications for Smartphone
Execution Engine is invoked by the Proximity Engine and is responsible for dispatching
interface programs for execution over the Java virtual machine. These programs interact with the
Bluetooth Engine to communicate with the embedded systems or with other Smart Phones They
may also interact with the Internet Access Module to communicate with Internet servers. For
instance, the interface programs may need to contact a server for security related actions or to
download necessary data in case of a miss in the Personal Data Storage.
Interface Cache stores the code of the downloaded interfaces. This cache avoids downloading an
interface every time it is needed. An interface can be shared by an entire class of embedded
systems (e.g., Smart Locks, or Microwaves). Every interface has an ID (which can be the ID of
the embedded system or the class of embedded systems it is associated with). This ID helps in
recognizing the cached interface each time it needs to be looked up in the cache. Additionally,
each interface has an associated access handler that is executed before any subsequent execution
of the interface. This handler may define the time period for which the interface should be
cached, how and when the interface can be reused, or the permissions to access local resources.
The user can set the access handler’s parameters before the first execution of the interface.
Personal Data Storage acts as a cache for “active data”. It stores data that needs to be used during
the interactions with various embedded systems. Examples of such data include digital door keys
and electronic cash. Each data item stored in this cache has three associated handlers: access
handler, miss handler, and eviction handler. Each time an interface needs some data, it checks
the Personal Data Storage. If the data is available locally (i.e., hit), the access handler is
executed, and the program goes ahead. For instance, the access handler may check if this data
can be shared among different interfaces. If the data is not available locally (i.e., miss), the miss
handler instructs the Internet Access Module to download the data from the corresponding
Internet server. The eviction handler defines the actions to be taken when data is evicted from the
cache. For instance, electronic cash can be sent back to the bank at eviction time.
5.2 Smart Phone Interaction Protocol:
Below figure shows the interaction protocol that takes place when a Smart Phone needs to
interact with an embedded system. We consider that any embedded system is registered with a
trusted web server (this web server can be physically distributed on multiple computers). At
27
Smartphone & Developing Enterprise Applications for Smartphone
registration, the web server assigns a unique ID and a URL to the device. All the information
necessary to interact with the device along with a user interface is stored at that URL. This URL
may be common for an entire class of embedded systems. The user invokes the Proximity Engine
each time she needs to interact with a device located in the proximity. Once the embedded
systems in the proximity have been identified, the user can choose the one she wants to interact
with. Consequently, a request is sent to the embedded system to provide its ID and URL. Upon
receiving the ID and URL of the embedded system, the Smart Phone executes the access control
handler, and then, loads and executes the interface. In case of a miss in the Interface Cache, the
interface needs to be downloaded on the phone either from the web server or from the embedded
system itself. An inter face downloaded from an embedded system is untrusted and is not
allowed to access local resources (i.e., this is a sandbox model of execution, where the interface
can only execute safe instructions on the phone). The interfaces downloaded from the web server
are trusted; they are assumed to be verified before being distributed by the server. Each time a
SmartPhone requests an interface from the web server, it has to send the interface ID and the
URL provided by the embedded system. It also sends it’s ID (stored in the Personal Data
Storage). The permission to download an interface is subject to access control enforced based on
the SmartPhone ID and, potentially, other credentials presented by the user. Once the access is
granted, the web server responds with the interface code.
28
Smartphone & Developing Enterprise Applications for Smartphone
Smart Phone Interaction Protocol
6. Smartphone application development
Smartphones like iPhone, Blackberry, Android, etc. are a wonderful combination of
computers and cell-phones. They include many multi-media features that seem to
be capturing the interests of individuals. With the popularity of these devices,
enterprises have discovered them to be useful for employees who are distant /
dispersed from the office. Therefore, developing smartphone applications for the
enterprises has become necessary.
Enterprises need to be able to deploy applications to smartphones. These applications make the
smartphone more useful by making it into a business tool and by connecting it to the enterprise.
Examples of applications and services that may be deployed are messaging applications like
29
Smartphone & Developing Enterprise Applications for Smartphone
email and instant messaging, security applications like antivirus, line-of-business applications
like CRM, and personal productivity applications like document editing and expense tracking.
Apple, with its App Store, has raised the bar on smartphone application distribution, but only for
the consumer market. The Apple App Store makes it easy for vendors to reach consumers and
for smartphone users to find and deploy applications. The other smartphone vendors have
responded in kind, with Google's Android Market, BlackBerry's App World, and the Windows
Mobile Marketplace. Each of these application clouds has somewhat different business models,
but all target the consumer market and none satisfies the needs of the enterprise. For example,
enterprises need a way to deploy custom applications, negotiate license pricing with their
independent software vendors (ISVs), and control application policies.
How are enterprise smartphone applications being deployed today?
It depends on the Mobile OS and the type of application. BlackBerry distributes enterprise
applications through the BES server, but this applies mostly to applications that are mandatory
for the smartphone, and it doesn't give the administrator the ability to present the user with a set
of permitted -- but not required -- apps. Users can deploy applications themselves on Windows
Mobile devices, or they may be pushed using a mobile device management (MDM) product.
Some applications, perhaps better called services, require specialized configuration using
enterprise back-end systems, and sometimes they require the device to be tethered. And tethering
introduces its own set of problems.
What are the unique challenges facing the enterprise when it comes to tethering?
Tethering forces the user to connect the smartphone to a PC/MAC/laptop. These connections
introduce security issues -- many companies have policies in place to protect against data leakage
and malware, for example, by not allowing USB keys to be attached to a laptop. In general, the
ideal solution is to have any device connect directly to the enterprise network. This forces data-
flows through the usual channels that are managed, protected, filtered and audited. Tethering is
also complicated for the end user and not automated -- it's difficult to push applications and
updates to a smartphone when these only happen via tethering. The irony is that the most
connected devices we own -- our smartphones -- do not yet live in a completely Web-based,
over-the-air world.
30
Smartphone & Developing Enterprise Applications for Smartphone
Consumer application clouds do exist, but they are not suitable for the enterprise. The enterprise
needs its own application store. So what would an enterprise application store look like?
An enterprise application store gives IT administrators and users the ability to manage the
applications on their devices. It has four fundamental properties:
1. The enterprise app store is controlled by the IT administrator and managed by IT. The app
store may live in the enterprise or as a cloud service, but it must be private and under the control
of the enterprise. Managing of the application store by IT is important for many reasons,
including protecting the IP in custom applications, and license management.
2. The enterprise app store must be accessible over the air with no tethering required. Users
should authenticate using enterprise credentials.
3. The enterprise application store should be able to handle a wide set of applications and
services:
Applications that are mandatory for all devices (e.g., email, antivirus, VoIP).
Line-of-business applications those are specific to the employee and his role or job (e.g., CRM,
SFA).
Recommended or permitted third-party applications -- these applications could live in the
enterprise app store or be pointed to from the app store.
4. A single enterprise app store should support multiple mobile OSs. The enterprise does not
want one application store for BlackBerry and another for iPhone and so on. Enterprise IT should
be able to manage applications and services, and associated configurations and policies, from a
single app store.
6.1 Steps to develop enterprise applications:
1. The first step in any Smartphone application development, or any other computer system, is to
determine the application's scope. What will the application do? In many cases, this has a very
simple answer. If the application is a smartphone adaptation of a board game, then it should have
every feature that the physical game does. If you are creating a dictionary application, it should
31
Smartphone & Developing Enterprise Applications for Smartphone
have every word in the English language along with a definition. Once determines the scope of
an application, we can begin to formulate that application's business strategy and ultimately its
development schedule.
Different kinds of Smartphone app development take different amounts of time to complete
depending on the scope of the project.
2. The second phase in development is figuring which software tools are available to us to bring
together the kind of functionality that the application requires. Most smartphones have their own
proprietary software development kit (SDK). Many of these kits have certain pre-built general
kinds of functions that can be reused and co-opted into the code again and again. These
combinations of code packages ultimately become your smartphone app.
Once the basic functionality is in development, software engineers begin to test how each app
works. The iPhone SDK, for example, allows developers to test their iPhone applications on an
iPhone simulator before they ever load the app onto a real iPhone. These testing tools, along with
other debugging applications, give developers an edge in finding any and all software related
problems as they arise.
3. The final phase of smartphone application development is beta testing. Give the application to
a few of employees and have they used it on their smartphone for a few weeks to see if there are
any more issues. This is, more or less, a long term software test. Most of the bugs in an
application aren't always found right away. It can take a little time to spot them, so make sure
they are all gone well before the new app is released.
What do you see for the future of smartphone applications in the enterprise?
Smartphones make business more efficient by bringing enterprise data and systems where they
are needed, so information can be made more useful and kept more current, and they enable
better decisions based on the resources available in real time. Increasingly, we will see these
applications implemented as rich clients that leverage data from the data center in order to
optimize the user experience but leave enterprises with good control over their information.
Smartphones will also start to complement, and perhaps replace, other devices in the enterprise.
32
Smartphone & Developing Enterprise Applications for Smartphone
7. Features
There are a few features that you'll find on every smartphone:
1. Operating System:
A smartphone will be based on an operating system that allows it to run productivity
applications, such as the BlackBerry OS, the Palm OS, or Windows Mobile.
2. Software:
A smartphone will offer more than just an address book. It may allow you to create and edit
Microsoft Office documents or manage your finances.
3. Web Access:
A smartphone offer some sort of access to the Internet. Smartphones are basically hand-held
computers and, like any computer, they feature Web browsers. These browsers load and navigate
websites the way a typical computer browser would, although smartphones are sometimes
directed to a company's mobile home page, which usually offers pared down features for faster
downloading times.
4. QWERTY Keyboard:
A smartphone includes a QWERTY keyboard, so the keys are laid out in the same manner they
would be on your computer keyboard. Because smartphone users are often heavy email and Web
users, a full keypad is a convenient feature, as well as a huge time-saver.
5. Messaging:
Smartphones have helped to bridge the gap between personal digital assistants (PDAs) and
regular mobile phones and therefore must provide features targeted to the business professional.
All cell phones can send and receive text messages, but what sets a smartphone apart is its ability
to send and receive e-mail. Some smartphone can support multiple e-mail accounts. Email
capability is a must-have feature for all smartphones; allowing users to stay on top of their
33
Smartphone & Developing Enterprise Applications for Smartphone
messages while on the go. Others include access to the popular instant messaging services, like
Yahoo! Messenger.
6. Touch Screen:
It has a touch screen for entering data. Apple iPhone and iPod touch include new user interfaces
using other means of input. The iPhone and iPod touch uses Multi-touch technology.
7. Wireless Connectivity:
Many smartphones consume Touch Screen Technology and also Wireless Wide-Area Networks.
Most modern smartphones have Bluetooth wireless connectivity. It can be used to connect
keyboards, headsets, GPS and many other accessories. Superior PDAs have Wi-Fi/ WLAN -
connectivity, It is used to connecting to Wi-Fi hotspots or wireless networks.
8. Synchronization Facility:
An important function of smartphone is synchronizing data with a PC. This feature allows
keeping up-to-date contact information stored on software like Microsoft Outlook or ACT! To
update the database on the smartphone, most smartphones come with the facility to synchronize
to a PC. With many PDAs, Third-party synchronization software is also available.
9. Applications:
Perhaps one of the well-publicized features of a smartphone is its ability to use third-party
applications, sometimes called apps. These applications include games, productivity tools, music
services, e-readers, weather trackers and news aggregators, among others. Smartphones feature
an applications store where users can browse, download and review both free and priced apps.
8. Security
Perhaps the most challenging consideration for the future is security. Smartphones and PDAs are
already popular among many corporate executives, who often use their phones to transmit
confidential information. Smartphones may be vulnerable to security breaches such as an Evil
Twin attack. In an evil twin attack, a hacker sets a server’s service identifier to that of a
34
Smartphone & Developing Enterprise Applications for Smartphone
legitimate hotspot or network while simultaneously blocking traffic to the real server. When a
user connects with the hacker’s server, information can be intercepted and security is
compromised.
One downside to the openness and configurability of smartphones is that it also makes them
susceptible to viruses. Hackers have written viruses that attack SymbianOS phones. The viruses
can do things like turning off anti-virus software, locking the phone completely or deleting all
applications stored on the phone.
On the other side, some critics argue that anti-virus software manufacturers greatly exaggerate
the risks, harms and scope of phone viruses in order to help sell their software.
The incredible diversity in smartphone hardware, software and network protocols inhibit
practical, broad security measures. Most security considerations either focus on particular
operating systems or have more to do with user behavior than network security.
With data transmission rates reaching blistering speeds and the incorporation of WiFi
technology, the sky is the limit on what smartphones can do. Possibly the most exciting thing
about smartphone technology is that the field is still wide open. It's an idea that probably hasn't
found its perfect, real-world implementation yet. Every crop of phones brings new designs and
new interface ideas. No one developer or manufacturer has come up with the perfect shape, size
or input method yet. The next "killer app" smartphone could look like a flip phone, a tablet PC, a
candy bar or something no one has conceived of yet.
35
Smartphone & Developing Enterprise Applications for Smartphone
9. Smartphone Uses
There are a variety of smartphones on the market that can be used for both practical and
recreational purposes.
1. Scheduling:
In a business setting, smartphones are often used to aid scheduling and personal organization.
Smartphones are tightly coupled with existing scheduling software that lets you view, change
and respond to appointments and conflicts as they arise in your schedule.
2. Internet Access:
Smartphones effectively provide Internet access at a high level of fidelity to users on the go.
Smartphones give you the capability to do a real-time check of the news, stock information and
email. In addition, many smartphones have integrated Internet browsers that you can use to surf
the Internet or watch videos online.
3. Specialty Technology:
Smartphones often provide enhanced technology such as a global positioning system (GPS).
Often the GPS functionality is tightly integrated with other features of a phone that let you
quickly find your location on a map. In addition, a smartphone can give you specific directions to
your destination. Many smartphones also leverage your GPS location to develop context aware
applications, such as a restaurant recommendation near where the smartphone user is currently
located.
4. Multimedia:
In addition to viewing videos and streaming songs from the Internet, smartphones also can act as
a content management system for users. Smartphones allow users to download songs, pictures
and videos. Smartphones typically come with cameras that you can use to take pictures or videos
of where you are and instantly share them with friends and family.
36
Smartphone & Developing Enterprise Applications for Smartphone
10. Advantages
Smartphones are one of the most popular forms of communication all over the world, they have
many advantages:-
1. Multifunctional:
They are Multifunctional because they are phones and ambulant personal computers.
2. They are quick to communicate:
They are quick because you can communicate in seconds with everybody, and also you can send
important information and documents in seconds in any place.
3. Keep in Touch:
With a smartphone you can receive, read and reply to your emails from the palm of your hand.
Whether you are in line at the post office, waiting at the airport, hiking in the hills or at home
37
Smartphone & Developing Enterprise Applications for Smartphone
watching sports on TV, you'll know you haven't missed an email from that important client.
Some smartphones allow you to view, edit and send attachments, so you can get reports to your
boss before he arrives in the office Monday morning. Instant messaging (IM) is also available on
many models, enabling you to chat in real time, and of course you can still make a call or send a
text message.
4. Stay Connected:
The advantages of having mobile access to the Internet, either via Wi-Fi or a cellular network,
cannot be over-emphasized. As well as keeping you connected to all your favorite social
networks, a smartphone will enable you to use Internet search engines on the move, shop at
online stores, and bring all the latest news and sports into your hand. Wherever you happen to be,
if it's online, it'll be in your pocket.
5. Get Organized:
In addition to all of its communication features, the smartphone is also a multi-purpose personal
digital assistant (PDA). Using the powerful built-in processor and memory, smartphones come
equipped with an address book, calendar, calculator, note pad, voice recorder, and many other
features to keep your personal and professional life running smoothly. Most models also boast a
camera, enabling you to capture and share photos and video, and some offer global positioning
systems (GPS) with satellite navigation (sat nav).
6. In Business:
If you need to stay productive when out of the office, choose a smartphone that includes a range
of basic business tools. Many come with simple word-processing capabilities, spreadsheet and
database programs, and even mobile presentation software. If these are not pre-installed on your
smartphone, all of the main platforms, including Blackberry, Android, Windows Mobile,
Symbian and Apple's iOS, enable you to purchase and download such programs from third-party
vendors.
38
Smartphone & Developing Enterprise Applications for Smartphone
11. Disadvantages
On the other hand, despite being very helpful and full of advantages, the smartphones also have
some disadvantages:
1. Expensive:
They aren’t cheap because the equipment required is expensive. Most cell phone providers
require users to sign long-term contracts. Internet access is provided at an additional cost, raising
the cost of owning a smartphone depending on the terms of the contract.
2. Small Screen Size:
Smartphone screens generally measure just a few inches wide and in length. Accessing websites
and email from small screens involves extensive scrolling to view all the information, and may
be difficult for those with poor eyesight.
3. Complicated:
Smartphones are complicated because sometimes they require programs that are difficult to learn
and there maybe a need to download new programs in order to have a better performance.
4. Awkward Keyboard Size:
Alphanumeric keys are smaller and closer together on a smartphone than they are on a full-size
keyboard, which can be problematic for those with larger hands. Some smart phones have
QWERTY keyboards, which are meant to mimic traditional computer keyboards. Still, it is not
possible to type on the keyboard as fast as you can type on a full-size keyboard considering one
hand is generally used to hold the smartphone.
5. Less personal:
They are less personal because you can’t see the persons face and their reactions or expressions
when you are communicating with them.
6. Website Access:
39
Smartphone & Developing Enterprise Applications for Smartphone
Wireless Access Protocol (WAP) uses software to optimize websites for the smaller screen of a
smartphone. Not all websites are WAP-enabled so some cannot be accessed, or if they can, they
may not show all the content. Images may not appear and scrolling the entire web page can
become tedious due to the small screen size.
7. Work-Life Balance:
The small size, light-weight factor and portability of smartphones allow them to be carried at all
times, which makes it difficult for some people to designate a clear delineation between work life
and home life. Frequent checking of email and internet applications takes time and attention
away from interpersonal relationships.
12. The Future of Smartphones
Smartphones are getting thinner and cheaper, and as a result are entering the consumer market.
For the past few years smartphones have been aimed at prosumers, or “professional consumers”
(prosumers can also refer to “production consumers”, or consumers who drive the design,
production and alteration of a product). Prosumers are generally early adopters of products. They
have disposable income and great enthusiasm for particular products or technologies.
Smartphone developers find prosumers very useful when designing applications and hardware.
As prosumers pick and choose the phones that offer the applications they want, developers can
tweak designs and move towards mass production. Analysts predict that one billion smartphone
handsets will be sold by 2012.
While input methods will vary, the research firm, ARC chart, forecasts that 38 percent of all
mobile phones will use touch screens or touch panels by 2012.The iPhone uses an advanced
touch screen, for example, and can even detect multiple points of contact simultaneously.
40
Smartphone & Developing Enterprise Applications for Smartphone
13. Conclusion
In the very few years Smartphones have existed, the general Smartphone has overtaken the
mobile industry with its advanced computing abilities. Now it has become “conventional” with
its convenient functions, which allow it to connect to the world from just about anywhere.
Adding onto that, its ability to run complete operating systems, along with continuous software
updates promises the prolongation of Smartphone dominance in the mobile markets. Now, in the
busy lifestyles societies hold, we begin to predict that future Smartphones will become the PC
replacements. Connectivity, PC-like capabilities, internal processors and the further
developments for compact-easy to carry technologies help Smartphones to stand out.
41
Smartphone & Developing Enterprise Applications for Smartphone
14. Bibliography and References
1. www.wikipedia.org
2. www.smartphones.about.com
3. www.howstuffworks.com
4. www.ehow.com
42
Top Related