View
214
Download
1
Category
Tags:
Preview:
Citation preview
1
The iphone
Projection keyboard
MyVu Portable projectors
Andriod
The iPad
Mobile Computing•
2
Chapter Outline
• Definition • Trends of computing • Mobile devices • Mobile computing issues & Challenges • Mobile computing applications & platforms• Mobile OS
3
What is computing?
The activity of performing computations.OR
Computing can also be defined as the activity of using computer hardware and software for
some purpose .
Computing TrendSize
Number
One Computer for Many People
(Mainframe Computing)
One Computer for One Person
(PC Computing)Many Computer for One
Person
(Pervasive Computing)
1960’s 1980’s 2000’s
5
Existing computing paradigms Personal Computing
Distributed
Computing
Mobile Computing
Pervasive Computing Autonomic
Computing
Parallel Computing
Cloud Computing
Super
Computing
6
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
7
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.
8
• 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
9
Distributed computing…
10
Distributed computing…
Distributed systems are characterized by:remote information access (Message passing )High availability (replication , mirrored execution, ...)
fault tolerance (atomic transactions, consistency …)Security
11
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)
12
Parallel Computing
13
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
14
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, ….)
15
Mobile Computing
Three basic components Networks: communication Devices and computing units :mobile Applications : Computation
16
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”
17
Pervasive computing …
Characteristics 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 without even thinking about them.”
18
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.
19
Pervasive computing
Characterized by :Context Awareness (physical location, physiological
state, emotional state,….. distraction-free)Ad-hoc NetworksSmart Spaces,(equipped with visual and audio sensing
systems ) Smart Sensors, Wearables…
20
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
21
Cloud computing
http://en.wikipedia.org/wiki/File:Cloud_computing.svg
22
• Mobile Devices
23
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.
• Due to the rapid advancement of the technology its hard to make a specific classifications of mobile devices.
24
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
25
Laptops, Notebook, & Netbooks
Laptops: 1991Notebooks: 1996Netbooks: 2006
26
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)
27
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.
28
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.
29
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 )
30
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
31
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 )
32
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.
33
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.
34
Smart Phones
35
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
36
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
37
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
38
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
39
• 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
40
Tablet PC…
• advantage– Great mobility– Save money• stationer costs stays in your pocket
– digital ink • record your handwriting and drawings
41
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)
42
• Application
43
Mobile computing application
• Transport– position and tracking via GPS– prevent accidents, navigation system.– Tourist navigation
• Emergencies/ Disaster relief– early transmission of patient data to the hospital,
current status, first diagnosis.– earthquakes, hurricanes, fire etc.
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 mobileBanking 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
51
Activity
• State one mobile application idea that you will develop as your course project .
• Start thinking about What you will do ?
52
Comparison to Wired Net.• Wired Networks- high bandwidth- low bandwidth variability- can listen on wire- high power machines- high resource machines- need physical
access(security)- low delay- connected operation
• Mobile Networks- low bandwidth- high bandwidth variability- hidden terminal problem- low power machines- low resource machines- need proximity- higher delay- disconnected operation
53
Home work
• Read about – Microsoft Surface
– The sixth Sense by MIT
54
Today
• Mobile OS • Mobile computing issues & Challenges • Mobile applications development
55
Mobile OS
• is the operating system that controls a mobile device similar in principle to an operating system such as Windows, Mac OS, or Linux that controls a desktop computer or laptop.
57
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
58
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– Application distribution more difficult today vs.
iPhone’s app store – Manufacturer dependent
59
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: Android market(100,000+)– Package manager: APK– Other: multi-touch, Linux
60
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
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
Sensors
• Ambient Light Sensor• 3D Accelerometer• Proximity Sensor• Temperature and Pressure Sensor
65
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
66
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
67
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
68
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
69
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
70
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
71
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)
73
More on Mobile OS• Metrics
– AdMob metrics (http://www.admob.com/s/solutions/metrics)
– Opera State of the Mobile Web Report (http://www.opera.com/mobile_report/)
• 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– http://www.brighthand.com/default.asp?newsID=14142– http://www.osnews.com/story/20329/SDK_Shoot-Out_Andr
oid_vs_iPhone– http://weblog.infoworld.com/fatalexception/archives/2008/
09/sdk_shootout_an.html– http://www.alleyinsider.com/2008/10/iphone-app-store-s-b
rutal-reality-get-viral-or-don-t-quit-your-day-job
78
Mobile computing issues & Challenges
• Location issues • Connection Quality• Device limitations• Active transaction• Security risks • Wide variety terminals and devices with
different capabilities
79
Challenges
• Location – Device location is always changing– Mobility: challenges and opportunities– Localization & Location sensitivity
80
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
81
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.
82
Colleting 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
84
Location-Based Applications (LBAs)
• Examples:
Location-based recommendations, geo-tagging GeoLife: shopping list when near a grocery storeTrafficSense: real-time traffic conditionsFieldworker assistant
• Location expresses context of user– Facilitates content delivery
85
86
Connection ….
• Quality of Service– Wireless connection is used usually – mobility means loss of network connectivity
reliability.– Frequent Disconnection – Variable Bandwidth( indoor , outdoor)– Heterogeneous Networks (2G,3G, Satellite, wifi..
87
Frequent Disconnections
· Handoff blank out (>1ms for most cellulars)· Drained battery disconnection· Voluntary disconnection (turned off to
preserve battery power, also off overnight)· Theft and damage (hostile environment)· Roam-off disconnections
88
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 .
89
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.
90
Device limitation
• Device limitation – Power– Storage– CPU– user interface
91
Device limitation …
• Mobile device are small!– Physical limitation => Display , Memory, Cpu,
Power… limitations – The heaviest part of mobile devices are batteries
92
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
93
Limitations of the Mobile Computer
· Short battery lifetime (max ~ 5 hours)· Subject to theft and destruction => unreliable· Highly unavailable (normally powered-off to
conserve battery)· Limited capability (display, memory, input
devices, and disk space)· Lack of de-facto general architecture: hand-
helds, communicators, laptops, and other devices
94
• Support for multiple platforms
?????
95
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
96
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.
97
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.
98
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.
99
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!
100
Mobile Application Marketplaces
• Google, Apple, Nokia, Palm, etc. have mobilemarketplaces 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!
101
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
102
–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
103
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
104
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.
105
Architecture( Manged 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
106
Native (unmanaged) code
• compiled for the specific hardware in the device
• Has direct access to the processor instruction set
107
Managed Code
• Programs execute within a managed environment
• Code is not produced for a specific target hardware
• Code is validated before execution
108
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
109
Why Android?
• Open source • Easy to develop • Wide tech support • Android is going to be the #1 Mobile Os in the
market by 2014 !
110
Developers Toolkits…
• To start to develop you need:– JDK– Eclipse IDE– ADT plug-in– Android SDK
111
Mobile Application
• Group project developing mobile app and demo.
• A chance to demonstrate your creativity!
• Surprise price for the Best App!
112
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
113
Application Categories
• (Social) Networks– IM, MySpace, Facebook
• Communication– Skype, VoIP, SMS
• Business productivity– spreadsheets, inventory
• Utilities– Torch (flashlight), notepad, stopwatch
• Games
114
Summary
• Computing Trend• Existing computing paradigms• Mobile computing applications• Different types of mobile devices • Mobile OS • Mobile Software Development
Recommended