Mobile Computing LECTURE # 1
The Course Course Code: IT-4545 Course Title: Mobile Computing Instructor: JAWAD AHMAD Email Address: jawadahmad@uoslahore.edu.pk Web Address: http://csandituoslahore.weebly.com/mc.html Term (Semester): Spring 2018 Duration: 15/16 Weeks
Text and Reference Material 1. Beginning Android 4 Application Development by Wei-Meng Lee, Wrox; 1st Edition (March 6, 2012). ISBN-10: 1118199545 2. Fundamentals of Mobile and Pervasive Computing by Frank Adelstein, Sandeep KS Gupta, Golden Richard III and Loren Schwiebert, McGraw-Hill Professional; 1st Edition (2004). ISBN-10: 0071412379.
Grading Following is the division of marks: Mid-Term Exam 30 Assignments and Quizzes 15 Attendance 05 Final Exams. 50 Marks division might change during the semester
Purpose of Course This course will introduce students to mobile computing and mobile application development. Mobile computing will be discussed from three perspectives: mobile technology, application development, and user interaction. The course will first overview various mobile computing applications, technologies and wireless communication. Next, students will learn about common paradigms in mobile computing such as low power computing, computing in an environment with limited resources, fault tolerance, and persistence.
Cont. Students will be introduced to and use mobile application frameworks and development environments to reinforce concepts covered in lectures. User interface and user experience will be discussed and application development guidelines from various vendors will be discussed and analyzed. Lastly, the course will look at some current research in mobile computing. Students will be expected to learn at least one mobile application development framework and use it to implement their assignments and course project.
What is Mobile Computing? Mobile Computing is a technology which allows a wireless enabled electronic device to: compute a computational problem data, voice and video reception, transmission and processing anywhere and anytime.
Main Concepts Mobile Communication Mobile Hardware Mobile Software
Mobile Communication An infrastructure made to provide data, voice and video communication over unguided and unbound media. The media is electromagnetic waves which require no medium to travel and propagate by their own electric and magnetic field.
Bluetooth Network M = Network initiator and controller S = Communicates via M P = Inactive S
WIFI Network AP : Access Point BSS : Base Service Set
Cellular Network
Traditional Phones Pick up the Phone Start Talking When finished talking, Hang Up!
Traditional Mobile Phones Pick up the Phone Start Talking When finished talking, Hang Up! Send and Receive Messages A few games
Featured Mobile Phones Calls, SMS, Games Camera Use Internet on Mobile Phone 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 Relationship with Customers Mobilink, Telenor, Warid, Ufone etc.
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 Carriers provide bind to certain companies only, called Aggregators Provide service by binding with Carrier. Google Maps etc.
Mobile Eco System Devices Laptops Netbooks Tablet Device (ipad) Mobile Phones
Mobile Eco System Platforms Simply call them Programming Languages in which a software is written. Examples are Java ME Windows Mobile Mac OS X version for mobile
Mobile Eco System Operating Systems The actual Software inside Mobiles Phones do have OS. Examples ios Android Symbian Windows Mobile
Mobile Eco System Application Framework (API) The developer s planet Developers have control to it. Layer above OS Contains services like Communication Graphics Locations Security
Mobile Eco System Applications Develop Something Games Utilities Educational App Examples Facebook 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. Used in computation (Processor, Memory), physical interaction with user (IOs) and communication (printed wirings, sensors, wireless technologies).
Mobile Hardware Processor Mobile CPU, smaller in size, low energy consumption, sleep modes, single to multi core. 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.
LCD Mobile Hardware Display Layers hierarchy is screen(lcd/amoled), touch-sensor(resistive/capacitive), protection(plastic/glass). Backlight, Liquid Crystals, Polarizing Filters Thick more layers More battery consumption Low contrast Inaccurate color reproduction Less lifespan AMOLED Transistors Layer, Organic Diodes Layer Thin less layers Less battery consumption High contrast Accurate color reproduction More lifespan
Mobile Hardware Sensors
Sensors Accelerometer
Sensors Gyroscope
Sensors Magnetometer
Sensors GPS/AGPS
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. Initial Release: 2007 Current Status: Present Written In: C, C++, Objective-C, Swift OS Family: Unix based Source Model: Closed
Mobile Software Android Developed by Google Initial Release: 2008 Current Status: Present Written In: JAVA OS Family: Linux based Source Model: Open
Mobile Software Windows Developed by Microsoft Initial Release: 2010 Current Status: Present Written In: C, C++ OS Family: Microsoft Windows Source model: Closed
Why Develop for Mobile? World s Population Is Around 7 Billion
Why Develop for Mobile? Around 6 Billion Mobile Users in World Big reason to develop for Mobile
Why Develop for Mobile? Mobile Phone Users (in millions) 202 154 121 111 105 859 China India U.S. 220 Russia Indonesia 238 Brazil 279 752 Veitnam Japan Pakistan Germany
Why Develop for Mobile? Smart Phone usage 1 Billion + _ 6 Billion Mobile Users Smart Phone Users Smart Phone market is Huge
Why Develop for Mobile? 1 Billion + Mobile Phones + Other Post-PC Devices
Which Platform to Develop for?
Things to Consider Market share No. of Users Development environment Licensing Ease of Development Programming Language Freedom of Development
Why Develop for Mobile?
Mobile Application Development ios Android
Mobile Development Apple Android Language Objective C Java License $99 / year 25$ for Life Time Open Source No Yes Hardware Only Apple machines Any Machine Publication Have to Pass Apple Publication System With Ease Multiple Devices Support Freedom of Development No Only ios Devices Not much Yes LG, Samsung, HTC etc. Yes
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