You are on page 1of 37

Lecture 1:

Introduction

Robel M.
z
AGENDA
❖ Mobile Computing

❖ Mobile Technologies

❖ Anatomy of a Mobile Device

❖ Applications of Mobile Computing


z
Mobile computing

❖ A computing environment over physical mobility.

❖ Users should able to access data, information or other logical


objects from any device in any network while on the move.

❖ Usually mobile computing is associated with web access using the


cell phone.

❖ Any kind of data processing with some kind of an easily portable


device whether or not it has a connection to a network or other
devices.
z
MOBILE COMPUTING(MC)

❖ It allows a user to perform – any task


▪ From – anywhere

▪ Using – a computing device

▪ in – the public (the Web), corporate (business


information) and personal information spaces (medical
record, address book).
z
Main principles of MC

▪ Portability: Physical mobility

▪ Connectivity: quality of service (QoS) of the network


connectivity.

▪ Interactivity: node collaboration and communication between


computing devices

▪ Individuality: have individual contextual information individually.


z
Devices: MC

▪ Portable computers

▪ Smart Cards

▪ Mobile phones: telephony devices

▪ Wearable computers
z What are mobile applications?

❖ In mobile apps: the client device is expected to be a pocket-fitting


device.
▪ Smart phones

▪ palm-size or handheld computers...

❖ Those apps are targeted for devices of the macro- mobile


environment.
▪ Small size

▪ limited bandwidth

▪ low processing power.


z

▪ User needs vary from lightweight


entertainment to heavyweight industrial
systems
(or vice versa)
z
Why are mobile applications needed?

❖ People are moving even more than before


▪ They must still be able to manage contacts and events
and access networked information.

❖ The web created new needs for availability


of information.
▪ Instant access to needed data.

▪ Data must be available 24h a day.


z

MOBILE DEVICE
z Smartphone Hardware Architecture

Display Camera Phone Sensors

Main Memory
GPU CPU Transmitter/
Sim Card Receiver
Operating System
Operating System and
and Drivers
Baseband radio interface
Runtime Middleware
Modem Processors
Application Software
z
Central Processing Unit (CPU)
❖ ARM architecture (majority)
▪ Advanced RISC Machine: one family of
CPU based on RISC
▪ Reduced Instruction Set Computer
▪ RISC: designed to perform smaller no &
types of computer instructions.
▪ High speed

▪ MIMS: millions of instruction per second

▪ Outstanding performance with low power

❖ System-on-a-Chip
❖ 32-bit or 64-bit.
❖ Low power consumption
❖ Multi-core
z
Graphics Processing Unit (GPU)

They improve the performance in the


rendering of videos, games, and other
graphics.

❖ System-on-a-Chip

❖ Low power consumption

❖ Accelerate 3D rendering

❖ Media decoding
z
Memory and Storages

❖ RAM (Random Access Memory)


▪ Very fast

▪ Lose contents when power-off

❖ Internal storage and ROM


▪ Store the operating system and critical files

▪ Store user and app data

▪ Fast access

❖ Removable storage
▪ Supported by Android only

▪ Store user and app data

▪ Not always available


z
Display Requirements

❖ Large Area

❖ High Resolution

❖ Sharp

❖ High Contrast

❖ Accurate Color Reproduction

❖ Good Viewing Angles

❖ Responsive (touchable)
z
Display Technologies

❖ Two main types (with subtypes)


▪ LCD (Liquid Crystal Display)

▪ AMOLED (Active-Matrix Organic Light-Emitting


Diode)
z Display Types
Type one: LCD
 Cheap to produce

 Accurate color reproduction

 Need backlight

 Limited viewing angles

Type two AMOLED


 Actively emits colors

 Vibrant colors and high contrast

 Excellent viewing angles

 Shorter lifespan than LCDs

 Some inaccurate color reproduction


z
AMOLED

- Key component: LED (Light Emitting Diode)

- There are a serious of thin organic material films placed b/n two
coordinator of each LED
▪ – Used to produce light when a current is applied
z Connectivity & Sensors

Connectivity
▪ Wi-Fi (can be used as Wi-Fi hotspot)
▪ 3G or 4G data service (3G speed: <200K ; 4G speed
<1000K)
▪ Bluetooth (range from 1m to 100m)
▪ Near field communication (NFC) (range < 20 cm)

Sensors
▪ GPS: detect outdoor location
▪ Accelerometers: detect screen orientation, movements
▪ Gyroscope : game controls (angular movement)
▪ Proximity sensor: detect objects nearby
▪ Temperature, heart beat and more
z First version of android

▪ Initial release: Oct. 2008

▪ NO on-screen keyboard

▪ NO multitouch capability

▪ NO paid apps

▪ The pull-down notification window

▪ Deep, rich Gmail integration

▪ The Android Market

▪ Home screen widgets


z Early versions of Android

Version 1.5 cupcake and Version 1.6 Donut


▪ An on-screen keyboard
▪ Extensible widgets

▪ Video capture and playback

Version 2.1 – Version 2.3


▪ Multitouch capability

▪ Support for front-facing cameras

▪ Screen PIN protection

Version 3.x
▪ Targeted exclusively at tablets

▪ No physical buttons

▪ Improved multitasking
z
Recent versions of android
Version 4.0 Ice Cream Sandwich
▪ NFC support
▪ Face unlock

▪ Data usage analysis

Version 4.1 to 4.3


▪ Support panoramic image

▪ Predictive text

▪ support OpenGL ES 3.0

Version 4.4 KitKat (SDK 19)


▪ Full screen apps (Immerse yourself)

▪ Google Cloud Print

▪ Improved Quick office app


z
Current versions of Android

▪ Version 5.0 – 5.1 Lollipop (SDK 22)


▪ Version 6.0 Marshmallow (SDK 23)
▪ Version 7.0 Nugget (SDK 24)
z
Android Architecture
z
Application Framework
- Activity Manager android.activity
 Manages the activity life cycle of applications

- Content Providers android.provider


 Manage the data sharing between applications

- Telephony Manager android.telephony


 Manages all voice calls.

- Location Manager android.location


 Location management, using GPS or cell tower

- Resource Manager
 Manage the various types of resources we use in our App
z Libraries

- OpenGL ES android.opengl
 The OpenGL ES is a 3D graphics library.

- SQLite android.database.sqlite
 Contains the SQLite database management classes

- Media Framework
 The media framework contains all of the codecs that are required for
multimedia experience.
- Free Type: used to render the fonts
- SSL: used for internet security (Secure Socket Layer)
- WebKit: open source browser engine
z Linux Kernel

❖ Based on Linux 2.6 kernel but Android is not Linux.


❖ Does not include the full set of standard Linux utilities
❖ Used as a hardware abstraction layer
❖ Performs important power management activities
❖ Open Source: provide libraries to modify hardware
drivers
Early versions of iOS

- Before iOS: OS X
– Based on Mach Kernel (a type of UNIX system)

- First version: iPhone OS (OS X for iPhone) 2007


– Didn't support 3G
– Didn't support multitasking
– Didn't support 3rd party apps
– Couldn't copy or paste text
– Apple focused on user experiences
– Have a pinch-to-zoom function

- iPhone OS 2.0
– The App Store
– The development SDK
Current versions of iOS

- IOS 7
– Big changes in UI
– Add a Control Center (copied from Android)
– Add AirDrop for sharing
– Free iWork (document editing tools)
– Changed a lot of APIs
– Touch ID

- IOS 10.x
– Closer iOS integration e.g. iPad and OSX
– More features utilizing 3D Touch
z iOS Architecture

Cocoa Touch: UIKit, Game Kit, Map Kit, and iAd

Media: Core Graphics, Core Text, OpenGL ES, Core


Animation, AVFoundation, Core Audio, and video playback

Core Services: memory management, hardware services


such as GPS, compass, accelerometer, …

Core OS: kernel, file system, network, security, power


management, device drivers
z iOS Development Resources
❖ Official iOS development resource
– https://developer.apple.com/
– Example projects
– Tutorials

❖ Technical questions
– Get answer from Google
– Watch for stackoverflow.com for answers

❖ Example projects in categories


– http://code4app.net/
z Summary
❖ Smartphone is a versatile device. It is a powerful and portable
computer with a lot of sensors

❖ The Android operation system is the most popular OS on


smartphone. Java is the main language used for app
development. Android OS is open- source and it can be
customized.

❖ The iOS operating system is the second most popular OS.


Swift2 is now the is the official development language,
Object-C is also supported . iOS is for iPhone, iPad, iPod only.

❖ Several third part middleware platforms/API can be used to


develop cross platform app. (such as Unity 3D, Phone Gap )
z

APPLICATIONS OF MOBILE COMPUTING


z Applications I
Vehicles
▪ transmission of news, road conditions, weather
▪ personal communication using cellular
▪ position identification via GPS
▪ inter vehicle communications for accident prevention
▪ vehicle and road inter communications for traffic control, signaling,
data gathering
▪ ambulances, police, etc.: early transmission of patient data to the
hospital, situation reporting.
▪ entertainment: music, video
Highway Scenario
z

GSM, 3G, WLAN,


Bluetooth, ...

PDA, laptop, cellular phones,


GPS, sensors
Applications II
- Mobile workers
– access to customer files and company documents stored in a central location
– collaborative work environments
– access to email and voice messages
- Replacement of fixed networks
– remote sensors, e.g., weather, environment, road conditions
– flexible work spaces
– LANs in legacy buildings
- Entertainment, education, ...
– outdoor Internet access
– intelligent travel guide with up-to-date
location dependent information
– ad-hoc networks for
multi user games
z

THANK YOU!

You might also like