Chapter 2-Intro To Mobile Computing
Chapter 2-Intro To Mobile Computing
Andriod
The iphone
Mobile Computing
•
• Definition
• Trends of computing
• Mobile devices
• Mobile computing issues &
Challenges
• Mobile computing applications &
platforms
• Mobile OS
2
What is computing?
3
Computing Trend
Size
5
Computing Paradigms…
Personal computing system
– refers to the use of personal computers
for Computation.
Characterized by
– Local software installation,
– Local system maintenance
– Customizable to user needs
– Very low utilization
6
Computing Paradigms…
Distributed computing :
– refers to the use of distributed systems to solve
computational problems.
Distributed system
– consists of multiple autonomous computers that
communicate through a computer network.
– it appears to its users as a single coherent system.
7
• Distributed computing example: surfing the
web from different terminals on university .
Each web page consists of hypertext, pictures,
movies and elements anywhere on the
internet.
8
Distributed computing…
9
Distributed computing…
Distributed systems are characterized by:
remote information access (Message passing )
High availability (replication , mirrored execution, ...)
fault tolerance (atomic transactions, consistency …)
Security
10
Computing Paradigms…
Parallel Computing
– Calculations of large problems are divided into
smaller parts and carried out simultaneously
/concurrently on different processors.
Characterized by
– Shared memory (to exchange information
between processors)
11
Parallel Computing
12
Computing Paradigms…
What is Mobile Computing?
Mobile
Able to move freely.
usually Wireless is need to move freely .
Computing
The activity of performing computations.
A simple answer =>
• Performing computation in mobile units
13
Mobile Computing
• Using:
– small size portable computers, hand-helds and other
small wearable devices,
• To run stand-alone applications (or access
remote applications) via:
– wireless networks: IR, BlueTooth, W-LANs, Cellular,
W-Packet Data networks, SAT. etc.
• By:
– nomadic or mobile users (animals, agents, trains, cars,
cell phones, ….)
Mobile Computing
15
Computing Paradigms…
Pervasive/ Ubiquitous computing
is about the invisible and everywhere (every
time) computing
– Ubiquitous= “seeming to be in all places”
– Pervasive= “present or noticeable in every part of
a thing or place”
16
Pervasive computing …
Characteristics
Invisible: tiny, embedded, attachable…
Every where: wireless, dynamically configurable,
remote access, adapting, …
17
Pervasive computing Example
• A simple example is the automatic
adjustment of heating, cooling and lighting
levels in a room based on an occupant’s
profile.
• refrigerators "aware" of their suitably tagged
contents, able to both plan a variety of menus
from the food actually on hand, and warn
users of stale or spoiled food.
18
Pervasive computing
Characterized by :
Context Awareness (physical location, physiological
state, emotional state,….. distraction-free)
Ad-hoc Networks
Smart Spaces,(equipped with visual and audio sensing
systems )
Smart Sensors, Wearables…
19
Cloud Computing
• “Cloud computing provides computation,
software, data access, and storage services
that do not require end-user knowledge of the
physical location and configuration of the
system that delivers the services.”
• Cloud computing characteristics: Agility,
Reduced Cost, Device And Location
Independence, On-demand Scalability And
Performance
20
Cloud computing
http://en.wikipedia.org/wiki/File:Cloud_computing.svg 21
Mobile Devices
22
Mobile devices
• A mobile device (a.k.a. handheld device,
handheld computer) is a pocket-sized
computing device, typically having a display
screen with touch input or a miniature
keyboard.
23
Different types of mobile devices
• Laptop
– Notebook
– Netbook
– Ultra-Mobile PC
• Communication devices
– pager
– Smartphone
– PDA &Pocket PC
– cell phone
– Cordless phone
• Tablet PC
• E-book readers
24
Laptops, Notebook, & Netbooks
Laptops: 1991
Notebooks: 1996
Netbooks: 2006
Mobile devices…
• Laptop in general
– is a small personal computer designed for
portability.
– Usually all of the interface hardware(ports,
graphics card, sound channel, etc.,) are built in to
a single unit.
– Contain batteries that can power the device for
some periods of time.
– upgrade is usually difficult/impossible. ( Keyboard
/ display)
26
Laptop…
Notebook
• Screen -(10” and above)
• Purpose- (multi- purpose)
• Weight – (light)
• Computing power (high )
– heavy multi-tasking loads e.g creating and editing
HD video or computer aided engineering SWs.
– contain high capacity batteries.
27
Laptop…
Netbook
• Screen -(7”-10”)
• Purpose
– (limited,.. internet, basic applications)
• Weight – (very light)
• Computing power (low )
– Used for basic applications. E.g. Office applications
– Longer battery life.
28
Laptop…
Ultra mobile-pcs(UMPCs)
• Screen -(4”-7”)
• Purpose
– (very limited,…, Internet, veiw info)
• Weight –(very very light)
• Computing power (very low )
– Used for basic applications. E.g. Office applications
– Longer battery life.
• UMPCs are pocketable!
• reduced specification (lack CD-drive, LAN )
29
Communication devices…
• Pager
• Beeper
– because of the sound it made
• Voice Tone Pagers
– Recorded Voice message.
• Numeric Pagers
– can display up to twenty digits at a time.
• Alphanumeric Pagers
– modified versions of numeric pagers with
sophisticated display to accommodate text
30
Communication devices…
• Two-way Alphanumeric pagers
– are alphanumeric pagers capable of both
sending & receiving text messages.
• Still used in
• emergency services .fire & police stations.
• large hospital complex, where cellular coverage is
often weak or nonexistent
• Fancy Restaurant( waiting staff )
31
Communication devices…
Mobile phone/cellphone
• Provides
– voice communications,
– Short Message Service (SMS),
– Multimedia Message Service (MMS),
• newer phones also provide
– Internet services
• Web browsing, instant messaging capabilities &
• e-mail.
32
Communication devices…
PDA: Personal Digital Assistant
– designed primarily to provide the functionality of
maintaining appointments, tasks, contacts, etc.
– usually pen-based,(use a stylus rather than a keyboard
for input)
• Today PDAs function as a
– cellular phone, fax sender, Web browser and personal
organizer.
• Traditional PDAs have not had phone or fax
services
• Pocket PC: A type of PDA/smartphone which
runs WindowsMobile as its operating system.
33
Smart Phones
Communication devices…
Smart phone
• traditional PDA + cellular phone
– combines standard phone features,
such as making and receiving phone calls,
with computer functionality.
• Incorporates
– Wi-Fi access, email, calendars and
– GPS
• let you store information & install programs
35
Smart phone Functionality
• Voice calls (of course), Video calls
• Local File Storage
• Internet/Cloud Services
• Office Computing
• eBook Reader
• Multimedia Player
• Digital Audio/Video Recorder
• Location Based Services
• Context awareness
36
Communication devices…
• Cordless telephone
is a telephone with a wireless
handset that communicates
via radio wave with base station
connected to a fixed telephone line
37
Mobile devices…
Tablet PC
– portable personal computer equipped with
a touch screen as a primary input device and
designed to be operated and owned by an
individual.
– use virtual keyboards and handwriting
recognition for text input through the
touchscreen.
– Tablet PCs also can be connected to a full-size
keyboard and monitor
38
• Two main types of tablet PCs:
• Convertible -look a lot like normal laptops
except the screen can be rotated all the way
around and laid down flat across the Keyboard.
• Slate- looks like a flat screen without a
keyboard
39
Tablet PC…
• advantage
– Great mobility
– Save money
• stationer costs stays in your pocket
– digital ink
• record your handwriting and drawings
40
Mobile devices…
• E-book reader
– portable electronic device that
is designed primarily for the purpose
of reading digital books and publication.
Support
- Text to Speech
- Internet Capabilities( Wi-Fi ,3G)
41
Mobile devices
PDA Laptop/Notebook
Pager
• graphical displays • fully functional
• receive only
• character recognition • standard applications
• tiny displays
• simple text • simplified WWW
messages
Sensors,
embedded
controllers
Smartphone
• tiny keyboard
Mobile phones
• simple versions
• voice, data
of standard applications
• simple graphical displays
performance
No clear separation between device types possible
Mobile computing application
43
Mobile computing application
• Transport
– position and tracking via GPS
– prevent accidents, navigation system.
– Tourist navigation
44
Mobile computing application…
• Business
– M-Commerce: mobile E-commerce /shopping …
– M-Banking: offer mobile access to financial and account
information.
– Advertising: using SMS is becoming very popular in our
country.
– Traveling salesperson
• Entertainment, education
– outdoor Internet access
– multi user games
– M-learning : E-learning
45
Dashen bank
• The first mobile
Banking service in
Ethiopia
46
Mobile computing application…
• Location aware
– find services in the local environment, e.g. printer
– nearest cash ATM/ shop / restaurant/hotel
• Web access & Communication
– outdoor Internet access
– Electronic Mail
– Chatting
• Application Services in general
– push: e.g., breaking news info
– pull: e.g., nearest cash ATM
47
NextBus: Customer Service
• The Problem
– Buses in San Francisco have difficulty keeping to 20
minute schedule during rush hours
– Posted schedule becomes meaningless
• The Solution
– Bus riders carrying Internet-enabled cell phone or
PDA helps:
• Find estimated arrival time at each stop, digitally in real time
• Soon location-based advertisements will pop up—you have time to
get a cup of coffee before the bus arrives—Starbuck’s is 200 feet to
the right
48
NextBus (cont.)
• The Results
– Passengers in San Francisco are happy with the
system
• Worries about missing the bus are diminished
• May discover they have time for a cup of coffee
before the bus arrives
– Bus company can:
• Schedule better
• Arrange for extra buses when needed
• Improve operations
49
NextBus Operational Model
50
Activity
• State one mobile application idea that you will
develop as your course project .
51
• Mobile OS
52
Mobile OS
53
Activity
• What are the major functions of any OS?
– managing the various peripheral devices:
eg. mouse, keyboard
– Provides a user interface:, e.g. CLI, (GUI)
– Handles system resources: such as computer's
memory and sharing of the central processing unit
(CPU) time by various applications or peripheral
devices
– Provides file management : refers to the way that
the operating system manipulates, stores, retrieves
and saves data.
54
Types of Mobile OS
55
Types of Mobile OS
• Symbian
– Market share(2010): 37.6%( #1 )
– License : open source
– Company: Nokia.
– CPU Architecture: ARM
– Programmed in: C++
– Application store: Symbian Horizon,Ovistore(10000+)
– Package manager: Nokia Ovi Suite
– Other: multi-touch, easily affordable cost
56
Symbian (Nokia)
• Pros
– Massive global reach
• Leads WW market with 62% of smartphone traffic
– being open source could help accelerate pace of
innovation
• Issues
– Limited reach in the US/Developed countries
– Application distribution more difficult today vs.
iPhone’s app store
– Manufacturer dependent
57
Types of Mobile OS
• Android
– Market share(2010): 22.7%
– License : open source
– Company: Open Handset Alliance(Google).
– CPU Architecture: ARM, x86
– Programmed in: C, C++, Java
– Application store: Google play (700,000+)
– Package manager: APK
– Other: multi-touch, Linux
58
Android (Google)
• Pros:
– Open source => accelerate pace of
innovation
– Manufacturer-independent => could help
accelerate consumer adoption
– Technology support (e.g., touchscreen,
GPS, accelerometer, video and still
cameras)
• Issues:
– Late to market relative to iPhone
59
Sensors
• Ambient Light Sensor:
– adjusts the display brightness
• Proximity Sensor
– detects how close screen of the phone is to your
body .display turns off in order to save battery
• Accelerometer, Gyroscope
– detect the orientation of the device and adapts
the content to suit the new orientation
61
• Combining a gyroscope with an
accelerometer allows the device to sense
motion on six axes – left, right, up, down,
forward and backward, as well as roll, pitch
and yaw rotations – allowing for more
accurate motion sensing abilities comparable
to a game controller such as the Wii-mote.
• Read about Netendo Wii.
62
Gyroscope
• A gyroscope is a device for
measuring orientation,
based on conservation of
angular momentum.
• 2010: $5, based on
MEMS technology
• a single part with gyroscopic
sensors and
an accelerometer
• output up to six full degrees
of freedom.
63
Proximity sensor
• A proximity sensor
detects the presence of
nearby objects without
physical contact
64
Types of Mobile OS
• BlackBerry RIM OS
– Market share(2010): 16.0%
– License : Proprietary
– Company: Research in motion (RIM).
– CPU Architecture: ARM
– Programmed in: Java
– Application store: Blackberry App World(30000+)
– Package manager: Blackberry Desktop Manager
– Other: not multi-touch, push email service
65
BlackBerry OS (RIM)
• Pros:
– Large reach and data-hungry user base
• Leads US market with 31% of smartphone traffic
• #3in WW market with 11% of smartphone traffic
– Developers not limited to single distribution channel
• Issues:
– Less Developer momentum
– Application distribution more difficult today vs.
iPhone’s app store
– Users more email focused vs. web consuming iPhone
users
– RIM / hardware dependent
66
Types of Mobile OS
• Apple iOS
– Market share(2010): 15.7%
– License : Proprietary
– Company: Apple.
– CPU Architecture: ARM
– Programmed in: C, C++, Objective-C
– Application store: Apple App Store(300,000+)
– Package manager: iTunes
– Other: Mac OS X, multi-touch, for iphone ,ipod touch
ipad, Apple Tv only
67
iPhone OS (Apple)
• Pros:
– Strong user growth and data-hungry user base
• More than 10 million iPhones sold
– Application store creating a vibrant app ecosystem with
great momentum
• More than 3K applications (~20% free)
• More than 1 million downloads
– Powerful technology (e.g., multi-touch, GPS,
accelerometer)
• Issues:
– App approval process is largely a black-box to developers
– Apps viewed as competitive to Apple are often shut down
– App store is the only authorized distribution channel
– Apple / hardware dependent
68
Types of Mobile OS
• Windows Mobile
– Market share(2010): 4.2%
– License : Proprietary
– Company: Microsoft.
– CPU Architecture: ARM
– Programmed in: C++
– Application store: Windows Marketplace for Mobile
– Package manager: Windows Mobile Device Center/
ActiveSync
– Other: multi-touch, Windows CE
69
Windows Mobile
• Pros
– Strong user reach
• #2 in US market with 30% of smartphone traffic
– Manufacturer independent
– >18K apps
– Windows Mobile 7 support refurbish UI and multi-
touch
• Issues
– Less developer enthusiasm vs. that for iPhone and
Android
– Application distribution more difficult today vs.
iPhone’s app store
70
Types of Mobile OS
• Others
– Palm OS- mobile operating system initially
developed by Palm
– webOS – Mobile operating system from HP/Palm
– Bada - Mobile operating system developed by
Samsung Electronics
– MeeGo OS – from Nokia and Intel (open source,
GPL)
71
72
More on Mobile OS
• Metrics
– AdMob metrics
(http://www.admob.com/s/solutions/metrics)
• Mobile OS introductions / summaries
– http://en.wikipedia.org/wiki/Symbian_OS
– http://en.wikipedia.org/wiki/IPhone_OS
– http://en.wikipedia.org/wiki/Windows_Mobile
– http://en.wikipedia.org/wiki/Google_Android
– http://en.wikipedia.org/wiki/BlackBerry_OS
• Comparison / analysis
73 – http://mobithinking.com/mobile-marketing-
Mobile computing issues & Challenges
• Location issues
• Connection Quality
• Device limitations
• Active transaction
• Security risks
• Wide variety terminals and devices with
different capabilities
78
Challenges
• Location
– Device location is always changing
– Mobility: challenges and opportunities
– Localization & Location sensitivity
– Routing data and messages
79
Location…
• Localization is the ability of the architecture of
the mobile application to accommodate logic that
allows the selection of different business logic,
level of work flow, and interfaces based on a
given set of location information commonly
referred to as locales.
• E.g Location in Ethiopia currency ETB , TAX… e-
commerce Web sites are able to take into
account the different taxation rules depending on
the locale of the sale and the location of the
purchase
80
Location…
• Location sensitivity is the ability of the device
and the software application to first obtain
location information while being used and
then to take advantage of this location
information in offering features and
functionality.
81
Collecting location
• methods for collecting location
– Prompt the user to select the location
– Using the device( GPS, signal strength and
triangulation can be used to come up with some
approximate location information, depending on the
cellular network)
• Techniques
– Triangulation
– Proximity
– scene analysis
82
Triangulation: Lateration
calculation of position information based
on distance measurements.
• 2D position requires three distance
measurements.
• 3D position requires four distance measurements.
d
d
d
Proximity
Detecting an object when it is near a known
location through observed changes at that
location.
• Physical contact: pressure sensors, capacitance field
detector. Smart Floor.
85
Location-Based Applications (LBAs)
• Examples:
89
Frequent Disconnections
90
Connection….
• Address Migration
– Existing applications send packets to a fixed network
address
– Need to support dynamically changing “local”
addresses as mobile device moves through network
Mobile IP
• Apps should stop & resume must know how to
deal with lack of reliable connectivity.
– E.g user traveling in a train and downloading report
using his PDA while passing through a tunnel .
91
Solution variable Bandwidth
» Caching is a good idea, e.g., web cache
– Asynchronous/spool-oriented applications, like mail or
printing
» Trickle back data when bandwidth is available
– Disconnected file systems:
• Applications adaptation to changing quality of
connectivity
» High bandwidth, low latency: business as usual
» High bandwidth, high latency: aggressive pre fetching
» Low bandwidth, high latency: asynchronous
• Vertical handoff in case of heterogeneous network.
92
Device limitation
• Device limitation
– Power
– Storage
– CPU
– user interface
93
Device limitation …
• Mobile device are small!
– Physical limitation => Display , Memory, Cpu,
Power… limitations
– The heaviest part of mobile devices are batteries
94
Mobile Computers
• CPUs
– Multiple cores
– Mega Hertz. 1 Giga Hertz new
• RAM
– 512 MB, common in 2011
– in Giga Bytes new
• Persistent Storage
– 32 GB MicroSD common in 2011
95
Limitations of the Mobile Computer
?????
97
Device limitation …
• Varying user interface
– some alternative interfaces are voice user
interfaces, smaller displays, stylus and other
pointing devices, touch-screen displays, and
miniature keyboards
– For example, drivers who want to get some
directions to their destination may use a data-
enabled cellular phone.
– Most apps must be multichannel /multimodal
98
Active transaction
• Active transaction
– most stationary applications, passive systems
because they are in a passive state, waiting for
some external signal from the user to tell them to
start doing some particular thing..
– then comes message based system any one
participant in the system could send a message to
another participant in the system. and, if desired,
in an asynchronous manner.
99
Active transaction..
• Later came the idea of push. In the push model of
communication, an information producer announces
the availability of certain types of information, an
interested consumer subscribes to this information,
and the producer periodically publishes the
information (pushes it to the consumer).
• There is much in common between the concepts of
messaging systems and push systems. The principle
difference is that messaging systems are asynchronous
by definition. This requirement does not exist for push
based systems. Push systems, by definition, are active
systems.
100
Active transaction…
• we will define active transactions as those
transactions initiated by the system. Active
transactions may be synchronous or
asynchronous.
• Synchronous transactions are time dependent
transactions.
101
Mobile software development(WHY?)
• Motivation
In Africa:
– + 1 billion people
– + 30 million computers
– + 264 million mobiles
• Largest growth rate of mobile subscribers
• For most Africans/Ethiopians , our mobile is
our only computing device!
102
Mobile Application Marketplaces
• Google, Apple, Nokia, Palm, etc. have mobile
marketplaces where one can sell applications.
– Application delivery over the Network!
• Apple iPhone App store:
– 350,000 applications
– 1 Billion downloads !
– $1 Million USD a day in sales!
103
Mobile Software Development
• Challenges
– Different Operating Systems.
– Different Screen Size.
• are a challenge even on the same OS
– Different Input methods.
• Keyboard (Keypad – Keyboard – Soft Keyboard),
• TrackBall/Joystick, Pen (Handwriting), Touch,
• Microphone (Voice Command), Camera (Image
Recognition), GPS
104
–Different Hardware Architectures.
• most dominant architectures in the
market of CPUs is the ARM architecture
–Limited computing capabilities.
–Lack of good language support
–Security
• Always shared medium
105
Mobile Software Development
• Solutions to Challenges
– Multi Modal Interface.
• E.g Combining the face and speech recognition together
helps to increase speech recognition accuracy and lower
word error rate
– Simplified Algorithms (Speed ).
– Data Compression (Size & Speed).
– Programming Language Selection.
– Screen independent graphical coordinates or layout
managers.
– Unicode Support
– Encryption and authentication
106
Mobile Software Development
• Programming Languages
– C/C++, .NET, Java ME, FlashLite, SilverLight Mobile
– JavaFX, HTML/WML/JAVASCRIPT/AJAX
• selection is same reasons for using them on the desktop.
• Some languages are for web,
• some are for performance,
• some for portability,
• some of skills and preferences.
107
Architecture( Managed Vs. native)
• If you write programs for the mobile devices
you should plan to work in the Compact
Framework using “managed” code
• This makes your programs
– Portable
– Safe
– Easy to write
108
Native (unmanaged) code
109
Managed Code
110
So, Rules To Code By
• Use Managed Code wherever possible
• Good reasons to use Native Code:
– You *really* want speed
– You *really* want to drive the hardware directly
– You are being paid *really* large sums of money
to do it
111
Why Android?
• Open source
• Easy to develop
• Wide tech support
• Android NO. #1 Mobile Os in the current
market !
112
Developers Toolkits…
113
Mobile Application
114
Application Categories
• Informational
– Converters, weather, area-guides, finance
– Location-based
• Data Entry
– Business records, medical records, exercise
– Send info to server for aggregation?
• Multimedia
– Camera, video, music, photos, ringtones
• Shopping
– m-commerce, compare prices
115
Application Categories
• (Social) Networks
– IM, MySpace, Facebook, binu
• Communication
– Skype, Tango, viber, VoIP, SMS, video
• Business productivity
– spreadsheets, inventory
• Utilities
– Torch (flashlight), notepad, stopwatch
• Games
116
Recent Facts
117
Global smart phone share
118
Summary
• Computing Trend
• Existing computing paradigms
• Mobile computing applications
• Different types of mobile devices
• Mobile OS
• Mobile Software Development
119