Académique Documents
Professionnel Documents
Culture Documents
C O U RS E C O D E : C S - 4 5 4 8
P R E R EQ U I S I T ES : C MP - 2 1 2 4 ( O B J EC T O R I E N T E D P RO G R A MM I NG )
L EC T U R E 0 1
Mobile Computing
AN OVERVIEW
The Course
Course Title: Mobile Application Development
Instructor: Muhammad Habib
◦ Email Address:
◦ Prerequisites: CMP-2124 (Object Oriented Programming)
Duration: 15/16 Weeks
Text and Reference Material
1. Beginning Android 4 Application Development by
Wei- Menge Lee, John Wiley & Sons, 2012
2. Beginning Android 4 by Grant Allen, Apress, (2011)
What is Mobile Computing?
Mobile Computing is a technology which allows a
wireless enabled electronic device to:
Mobile Hardware
Mobile Software
Mobile Communication
An infrastructure made to provide data, voice
and video communication over unguided and
unbound media.
AP : Access Point
BSS : Base Service Set
Cellular Network
Traditional Phones
• Start Talking
• Start Talking
• A few games
Featured Mobile Phones
• Calls, SMS, Games
• Camera
• Check Emails
Smart Phones
• Calls, SMS, Games
• Camera
• Use Internet on Mobile Phone
• Check Emails
• Enjoy Music
• Watch Videos
• Use Social Networks
• Maps
• Read Books
• Do almost everything that can be done on a Computer.
Mobile Eco System
Mobile Eco System
Operators
• Different names
• Carrier
• Service Providers
• Mobile Network Operators
• Cellular Companies
• Gate Keepers
• Their Job
• Install Towers
• Operate Networks
• Provide Services
Mobilink, Telenor, Warid, Ufone etc.
• Relationship with Customers
Mobile Eco System
Networks
• Based on Radio Signals
• Capability can determined by
• Antenna
• Type of Radio
• Available Networks
• GSM
• CDMA
• 2G
• GPRS
• EDGE
• 3G
• 4G (LTE)
Mobile Eco System
Aggregators
Aggregators
Carrier.
• Laptops
• Netbooks
• Mobile Phones
Mobile Eco System
Platforms
• Simply call them Programming
written.
• Examples are
• Java ME
• Windows Mobile
• Examples
• iOS
• Android
• Symbian
• Windows Mobile
Mobile Eco System
Application Framework (API)
• Layer above OS
• Communication
• Graphics
• Locations
• Security
Mobile Eco System
Applications
• Develop Something
• Games
• Utilities
• Educational App
• Examples
• Calendar
• Clock
• Skype
Mobile Eco System
Services
• What Applications actually do
• Examples
• Send Message
• Make a Call
• Get a Location
• Find a Restaurant
• Post on Facebook
• Tweet on Twitter
Mobile Hardware
Collection of electronic components.
GPU
Graphic processing unit, dedicated
processor, processes and renders HD
graphics, animations and videos smoothly.
Mobile Hardware
ISP
Image Signal Processor, dedicated
processor, enhance camera functions,
image and video capturing, high-resolution
support etc.
VPU
Video Processing Unit, dedicated processor,
video encoding and decoding.
Mobile Hardware
MCU
Audio engine.
RPU
Radio Processing Unit, contains Bluetooth,
WIFI, Radio, 3G/4G Modem, transmits,
receives and process radio signals and
digital data.
Mobile Hardware
Boot ROM
Write-Protected flash contains very first
code run by the processor.
Memory
RAM, low power, double data rate, dynamic
RAM.
Mobile Hardware
Storage
Internal Storage, two partitions, one for
firmware and other for user apps, files and
data.
External Storage, microSD Card.
Mobile Hardware
Display
Layers hierarchy is screen(LCD/AMOLED),
touch-sensor(resistive/capacitive),
protection(plastic/glass).
LCD AMOLED
Backlight, Liquid Crystals, Polarizing Filters Transistors Layer, Organic Diodes Layer
Thick – more layers Thin – less layers
More battery consumption Less battery consumption
Low contrast High contrast
Inaccurate color reproduction Accurate color reproduction
Less lifespan More lifespan
Mobile Hardware
Primary camera W/WO flash.
Secondary camera W/WO flash.
Battery.
Speakers.
Microphones.
And other components…
Mobile Software
An operating system which interact with mobile hardware
and user programs to perform computation and manage
hardware and software resources. It also deals with the
services of mobility (connectivity, communication,
mobility).
Mobile Software
Mobile Software | iOS
Developed by Apple Inc.
World’s
Population
Is Around
7 Billion
Why Develop for Mobile?
Around
6 Billion
111 105
121
154 859 China
202 India
U.S.
220 Russia
Indonesia
238 Brazil
Veitnam
752
279 Japan
Pakistan
Germany
Why Develop for Mobile?
Smart Phone usage
1 Billion
Mobile Users
Smart Phone Users
6 Billion
Market share
◦ No. of Users
Development environment
◦ Licensing
Ease of Development
◦ Programming Language
Freedom of Development
Why Develop for Mobile?
Current Trends
Wireless Media:
Independence in physical location
Variety in data rate
Variety in cost
Portable Devices:
Single unit and wireless Enabled
Variety in features
Variety in cost
Current Trends
Different Platforms:
Open and closed source OS
Variety in operations and implementation
Variety in cost
Applications Availability:
Same application availability for multiple
platforms
Access of same services, functionalities and
data on multiple platforms
Current Trends
Time Saving:
Ease in access and operate
Precise and fast computation
Anywhere and anytime sharing
Productivity Enhancement:
Ease in research and development
Ease in marketing and getting revenue
Current Trends
Entertainment:
Music, photos, videos, online streaming,
games, social apps, messengers, magazines
and much more
Challenges
Coverage Areas:
Wireless network existence?
Variety in bandwidth
Limited frequencies
Security Risks:
Authentication?
Logged in apps
Online accounts and transactions
Challenges
Privacy Risks:
Authorization?
Missing information
Location awareness
Personal information and data
Big Data:
Data cost
Data loss
Data scalability
Challenges
Big Data:
Data security and privacy
Fraud Monitoring:
Lots of IT industries
Physical vs Online existence
Online products and transactions
Lots of hackers
Challenges
Integration:
Billions of people
Trillions of devices
Millions of APIs and services
Hostage in clouds
Hardware:
Lighter, smaller and faster
Management
Cost
Challenges
Software:
Variety of platforms, variety of apps, user
interface and interaction
Work
Entertainment
Energy Limitations:
Battery capacity
Battery consumption
Battery life
Mobile Application
Development
iOS Android
Mobile Development
Apple Android
Language Objective C Java
License $99 / year No Need
Open Source No Yes
Hardware Only Apple machines Any Machine
Publication Have to Pass Apple With Ease
Publication System