Mobile Application Development
Chapter 1: Introduction
1.1. Introduction to Mobile Computing
1
Outline
Trends in Computing Technology
Motivations, concepts, and challenges of mobile
computing
Overview of Ubiquitous / pervasive computing
2
The trends in Computing Technology
Mainframe computing (60’s-70’s)
massive computers to execute big
data processing applications
very few computers in the world
Desktop computing (80’s-90’s)
one computer at every desk to help in
business related activities
computers connected in intranets to a
massive global network (internet), all
wired
Ubiquitous computing (00’s?)
tens/hundreds of computing devices in
every room/person,
becoming “invisible” and part of the
environment
3
Computing: Trend
Size
Number
One Computer for Many One Computer for Many Computers for
People One Person One Person
(Mainframe Computing) (PC Computing) (Ubiquitous/Pervasive
Computing)
4
Computing: Evolution
Mobile
Centralized Ubiquitious
Computing
Distributed
Computing
Computing Computing
Remote Communication Mobile Networks Context Awareness
Fault Tolerance & availability Mobile Information Access Ad-hoc Networks
Remote Information Access Adaptive Applications Smart Sensors & Devices
Research Problems
There are different flavors of Computing
Evolution depending on who is looking at it and
the viewing angle.
5
Motivations, Concepts, and Challenges
of Mobile Computing
6
Motivations
Mobility was the requirement of the 90’s, first in communications
and then in computing.
rapidly growing demand by users
many interested players:
equipment manufacturers, infrastructure and service providers
Enabling Technologies
Development and deployment of wireless/mobile technology and
infrastructure
in-room, in-building, on-campus, in-the-field, MAN, WAN
Miniaturization of computing machinery
. . . -> PCs -> laptop -> PDAs/smart phones ->embedded
computers/sensors
Improving device capabilities/software development environments,
e.g.,
andriod: http://code.google.com/android/
iphone: http://developer.apple.com/iphone/
windows mobile 7
What is Mobile Computing?
A simple definition could be:
Mobile Computing is using a computer (of one kind or another)
while on the move.
Using small size portable computers, hand-helds, and
other small wearable devices, to access remote
applications via wireless networks (BlueTooth, W-
LANs, Cellular, SAT. etc.) by mobile users (animals,
trains, cars, cell phones, ….)
Mobile computing is to describe technologies that
enable people to access network services anytime, and
anywhere,
with portable and wireless computing and communication
devices.
8
Why Mobile Computing?
People are mobile
Devices are mobile
9
Aspects of mobility
User mobility: a user who has access to the same or
similar services at different places.
Between different geographical locations
Between different networks
Between different communication devices
Between different applications
Device portability
Between different geographical locations
Between different networks
10
What Mobile users want?
Seamless mobility
“connect” from any location, at any time
convenience of use (no extra setup, “plug and play”)
same computing environment, same services,
consistent interfaces, regardless of location
Mobile users may be willing to sacrifice some
performance for mobility, but only some.
11
Mobile Computing Functions
We can define a computing environment as mobile if it
supports one or more of the following characteristics:
User Mobility:
User should be able to move from one physical location to another
location and use the same service.
The service could be in the home network or a remote network.
Example could be a user moves from London to Paris and uses
Internet to access the corporate application the same way the user
uses in the home office.
Network Mobility:
User should be able to move from one network to another network and
use the same service.
Example could be a user moves from Hong Kong to New Delhi and
uses the same GSM phone to access the corporate application. In
home network he uses this service over GPRS (General Packet Radio
Service) whereas in Delhi he accesses it over the GSM network.
12
Mobile Computing Functions (cont’d)
Device Mobility:
User should be able to move from one device to another and
use the same service.
Example could be sales representatives using their desktop
computer in home office. During the day while they are on the
street they would like to use their Palmtop to access the
application.
Session Mobility:
A user session should be able to move from one user-agent
environment to another.
Example could be a user was using his service through a
CDMA. The user entered into the basement to park the car
and got disconnected from his CDMA network. User goes to
home office and starts using the desktop. The unfinished
session in the CDMA device moves from the mobile device to
the desktop computer. 13
Mobile Computing Functions (cont’d)
Host Mobility:
The user device can be either a client or server.
When it is a server or host, some of the complexities change.
In case of host mobility the mobility of IP needs to be taken
care of.
14
Applications
Vehicles
transmission of news, road condition, weather, etc
position via GPS
local ad-hoc network with vehicles close-by to prevent accidents
and to exchange some useful information.
vehicle data (e.g., from busses, high-speed trains) can be
transmitted in advance for maintenance.
Medical
Nurses/Doctors in Medical offices are now using Wireless Tablet
PCs/WLAN to collect and share patient information.
Sales
Sales representatives are using Tablet PCs with Smart phones
for presentation, transmitting/access information among office,
hotel, and customer location.
15
Applications(cont’d)
Emergencies
Early transmission of patient data to the hospital, current
status, first diagnosis
Provide mobile infrastructure in dealing with Natural Disaster
(earthquake, hurricane, fire), war, ...
Replacement of fixed networks
remote sensors, e.g., weather, earth activities
LANs in historic buildings
Entertainment, education, ...
outdoor Internet access
intelligent travel guide, location dependent info
ad-hoc networks for multi user games
16
Application: on the road
17
Application: on the move
18
Application: at home
19
Application: disaster recovery
9/11, Tsunami, Hurricane Katrina,
South Asian earthquake …
Wireless communication and
mobile computing capability can
make a difference between life
and death !
rapid deployment
efficient resource and energy
usage
resilient: survive in unfavorable
and untrusted environments
20
The future: wearable computers
http://www.media.mit.edu/wearables/
A whole new
meaning to the term
“smarty pants”
21
Wireless Vs. Mobile
Mobile devices and wireless networks are not always
same
Mobile Wireless Sample Applications
Devices Networks
No No Stationary workstations in office
No Yes Wireless LANs to connect office workers in an unwired building
Yes No Using a portable computer in a hotel or conference room
Yes Yes Cellular phones, Palm Pilots, portable offices,
22
Mobile and Wireless Devices
23
Challenges in mobile computing
Mobility of devices
Hardware
Lighter, smaller, energy management, user interface
Low bandwidth, high bandwidth variability
Kbit/s to Mbit/s, bandwidth fluctuation
Security risk
Devices more vulnerable, endpoint authentication harder
Heterogeneous network
Different devices, interfaces and protocols
Higher loss-rates, higher delays, more jitter
Connection setup time, hand-off
Restrictive regulations of frequencies
Frequencies have to be coordinated
24
Overview of Ubiquitous/pervasive
Computing
25
Ubiquitous computing = mobile computing + intelligent environment.
From technology point of view
Computers everywhere – embedded into fridges, washing
machines, door locks, cars, furniture.
Intelligent environment.
Mobile portable computing devices
Wireless communication – seamless mobile/fixed.
From users point of view
Invisible – implicit interaction with your environment.
Enhancing human abilities in context of tasks
26
Ubiquitous Computing: Alternative
Names
Alternative names:
• Pervasive Computing
• Ambient Computing
• Intelligent Computing
• Invisible Computing
• Proactive computing
• Autonomic computing
• Sentient computing
27
Ubiquitous Computing: What is it about
According to Mark Weiser
Ubiquitous computing is about the invisible
and everywhere (every time) computing
Invisible: tiny, embedded, attachable…
Everywhere: wireless, dynamically configurable,
remote access, adapting, …
It is about making computers so embedded, so
fitting, so natural that we use them even
without noticing their presence and without
thinking about them.
28
Ubiquitous Computing: Why now?
Computing devices are becoming very tiny, sometimes
invisible, either mobile or embedded and exist in
almost any type of object imaginable.
Computing environment is becoming full of the
increasingly ubiquitous and interconnected computing
devices
Enhanced by a convergence of:
Advanced electronics (Moor’s low),
Wireless technologies,
And the Internet.
29
Ubiquitous Computing: Environment
30
Ubiquitous Computing: Environment ...
Hospital Driving Office
Meeting Teaching
Devices ….. Services
Smart Phone, Car kits, Phone Call, Email, Message,
Wearable, PDAs, … News alert, …
The most precious resource in a computer system is no longer its processor,
memory, disk, or network, but what?
But rather human attention. The aim in Ubiquitous computing is, therefore:
minimizing distractions on users’ attention, and
creating environment that adapts to the user’s context and needs.
31
Ubiquitous Computing: the future-Internet of
things
Internet (past) when a
user was allowed only to
use content
Internet (present) a user
is allowed to also create
content (e.g. facebook,
twitter, …)
Internet (future) ?
IP for “Everything” with IPv6? “Things” will be allowed to create
and use content
Ability of any social network-able objects to deliver information or
accept input ==>the phenomenon of “Internet of things”
32
Mobile Computing vs. Ubiquitous Computing
●Mobile computing:
– Abe owns Mobile phone with web access, voice and short
messaging.
- Remains connected while he drives from Piasa to Bole.
● Ubiquitous computing:
– Abe is leaving home to go and meet his friends.
- While passing the fridge, the fridge sends a message to his
shoe that milk is almost finished.
– When Abe is passing grocery store, shoe sends message to
glasses which displays BUY milk message.
– Abe buys milk, goes home.
33
Assigment
Ubiquitous Computing vs Internet of Things (IoT)
34