The iphone Projection keyboard MyVuPortable projectors Andriod The iPad Mobile Computing 1

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

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