Chapter 2 - Mobile Computing
Chapter 2 - Mobile Computing
Introduction
• Mobile Computing can be described as the ability to compute
remotely while on the move.
• It can also viewed as encompassing two separate and distinct
concepts: Mobility and Computing.
Computing denotes the capability to automatically carry out certain
processing related to service invocations on a remote computer.
Mobility provides the capability to change location while
communicating to invoke computing services at some remote
computers.
• Mobile Computing is also considered as the discipline for
creating an information management platform free from
spatial and temporal constraints.
Fundamentals of Mobile
Computing
• The discipline of mobile computing has its origin in Personal
Communication Services (PCS).
PCS refers to a wide variety of wireless access and personal mobility
services provided through a small terminal (eg. Cell Phone)
PCS are connected to Public Switched Telephone Network (PSTN) to
provide access to wired telephones.
PCS includes
Higher-tier Digital Cellular Systems
Low-tier telecommunication system
Principles of Mobile Computing
• Portability
Devices/nodes connected within the mobile computing should
facilitate mobility.
They may have limited device capabilities and power supply
• Connectivity
Defines the Quality of Service (QoS) of the network connectivity.
The network availability is expected to be maintained at a high
level with minimum amount of lag/downtime
• Interactivity
Connected devices can communicate and collaborate through active
transactions of data
Principles…
• Individually
A portable device or a mobile node connected to a mobile network
often denote an individual
A mobile computing system should be able to adopt the technology
to cater the individual needs
Should also be able to obtain contextual information of each node
Mobile Devices and Mobile OS
• A mobile computing devices are
Any device that is created using mobile components such as mobile
hardware and software
Are portable devices capable of operating, executing and providing
services and applications like a typical computing device.
Devices that are known as portable computing devices or handheld
computing devices
• Some of the most common forms of mobile computing
devices are
Netbooks
A small, light, low-power notebook computer that has less processing power
than a full-sized laptop but is still suitable for word processing, running a Web
browser and connecting wirelessly to the Internet.
Mobile Devices…
Cellular Phone
is identified as a mobile system consisting of the equipment and SIM card that
actually assigns the mobile telephone number.
A cell phone is a portable telephone that can make and receive calls over a
radio frequency link while the user is moving within a telephone service area.
Smart Phone
A handheld personal computer with a mobile operating system and an
integrated mobile broadband cellular network connection for voice, SMS, and
Internet data communication;
Most if not all smartphones also support Wi-Fi.
They are typically pocket-sized as opposed to tablets
They are able to run a variety of software components known as apps.
While basic apps comes pre-installed others are available for download from
places such as Google Play Store or Apple App Store
Cellular Phone
Smart Phone
Mobile Devices…
Mobile Devices…
• Smart Pad
Smart pad (multi-finger touch pad) is a different from traditional
touchpad, because it can support multi-finger gesture to let user
interact with their notebook system more intuitively.
Mobile Operating System (Mobile
OS)
• A Mobile OS is
An operating system that helps to run other application software on
mobile devices.
The same kind of software as the famous computer operating systems
like Linux and Windows, but now they are light and simple to some
extent.
Existing Mobiles OS are all derived from Linux.
Combines the beauty of computer and hand use devices.
• Core components of a Mobile OS
Kernel
Is the heart of the mobile OS
It handles device’s hardware like the CPU and memory
Ensures hardware and apps can talk to each other by managing scheduling,
memory, device connections
Components of Mobile OS…
Application Framework
Base for running mobile apps
Takes care of things like managing apps’ lifecycle, security permissions, how
app talks to the system
Eg. Androids SDK and IOS’s UIKit.
Hardware Abstract Layer (HAL)
A bridge between the kernel and the upper software layers of the mobile OS.
It creates the standard way to work with hardware parts like sensors, cameras,
and input devices.
Features of Mobile OS
• Mobile OS has many different things that makes mobile
devices better, easy to use and safer
User Interface (UI)
UI features include graphical and interactive elements for user-device
interaction
Multitasking
Allows users to run multiple apps simultaneously and switch between them
seamlessly
Networking
Supports various wireless connectivity options including Wi-Fi, cellular
networks, Bluetooth and GPS
Media and Entertainment
This feature improves multimedia consumption, entertainment, and creativity
on mobile devies
Features of Mobile OS…
Device Management
Includes setting section for users to manage their mobile devices such as
configurations, updates, security settings and preferences.
Security Services
Ensures device and data security against threats like malware, unauthorized
access and data breaches.
Cloud Integration
Enables uses to store, sync and access their data like photos, contacts, notes
and other data
Location Based Services (LBS)
Enables mobile devices to determine their geographic location using a
combination of GPS, Wi-Fi, cellular networks and Bluetooth.
Popular platforms of the Mobile
OS
• Android OS
The most popular mobile OS based on the Linux Kernel and open-
source software.
It was developed by Google and was launched in 2008.
• iPhone OS / iOS
Developed by the Apple inc for the use on its mobile devices
• Bada
Is a Samsung mobile OS that was launched in 2010 to run on mid-
range Samsung produced smart phones
• BlackBerry OS
Developed by Research in Motion (RIM) designed specifically for
BlackBerry handheld devices.
Popular Mobile OS…
• Symbian OS
Was developed by Symbian Ltd in 1998 for the mobile phones.
Nokia was the first company to release Symbian OS on its mobile
phone at that time.
• Windows Mobile OS
It was developed by Microsoft for the Pocket PCs and Smart Mobiles
• Harmony OS
The latest mobile OS that was developed by Huawei for the use of
its devices
• Tizen OS
An open-source, Linux-based OS developed collaboratively by
Samsung and Intel along with the Linux Foundation and the Tizen
Association.
Mobile Computing Issues and
Challenges
• Hardware Challenges
Limited Battery Life
Mobile devices rely on batteries, which drain quickly under heavy usage,
especially when running graphics-intensive applications, streaming, or
connecting to the internet.
Processing Power and Memory
Mobile devices, especially low-end smartphones, often have limited processing
power and memory compared to desktops.
This constraint limits the complexity of applications that can run effectively and
can result in slower performance, especially for applications that require
significant computation.
Screen Size and Resolution
Mobile devices have small screens, which can hinder usability, especially for
complex interfaces or applications
Designing mobile-friendly interfaces is a constant challenge for developers.
Issues and Challenges…
• Network and Connectivity Challenges
Variable Network Quality
Mobile devices rely on network connectivity, which can vary significantly depending
on location, network congestion, and availability of mobile towers.
Bandwidth Limitations
Mobile networks are often limited by data bandwidth, especially in rural or
underdeveloped areas.
Low bandwidth impacts data transfer rates, slowing down applications and reducing
the quality of streaming services.
Latency
Mobile applications, especially those requiring real-time interaction, suffer from
latency due to network routing, signal quality, and distance from network
infrastructure.
Roaming and Handoff
When users move between different networks (such as Wi-Fi and cellular), there may
be interruptions or delays in connectivity.
Issues and Challenges…
• Security and Privacy
Data Security
Mobile devices are vulnerable to data theft and unauthorized access due to
their portability, frequent use in public places, and lower security measures
compared to desktops.
App Permissions and Privacy
Many mobile apps require permissions to access sensitive data.
Poorly managed permissions can lead to privacy risks for users.
Malware and Phishing
Mobile devices are increasingly targeted by malware and phishing attacks.
BYOD (Bring Your Own Device)
In business environments, employees may use personal devices for work,
posing risks to corporate data security.
Issues and Challenges…
• Software and Compatibility Challenges
Operating System Fragmentation
Mobile platforms, especially Android, are fragmented with multiple OS versions
and custom manufacturer skins.
Application Performance Optimization
Developing applications that run efficiently across different devices with varied
hardware specifications is challenging.
Frequent Updates and Patches
Mobile OS and apps require regular updates to address bugs, security
vulnerabilities, and new features.
Cross-Platform Development
Building applications for multiple platforms (e.g., iOS and Android) while
maintaining consistent functionality and user experience requires additional
resources and development expertise.
Issues and Challenges…
• Usability and User Experience
Touch Interface Constraints
Designing intuitive and responsive touch interfaces is challenging due to the
small screen and lack of physical buttons.
Responsive Design
Mobile applications must adjust to various screen sizes, orientations, and
resolutions.
Ensuring a responsive design that works well across all devices is essential for a
good user experience
Context Awareness and Personalization
Mobile devices have sensors that enable location-based and context-aware
applications.
However, using these sensors without negatively impacting user privacy or
device battery is challenging.
Issues and Challenges…
• Interoperability and Integration with Other Systems
Compatibility with IoT Devices
Mobile devices are increasingly integrated with IoT ecosystems, such as smart
homes and wearables.
Ensuring interoperability between devices using different protocols and
standards is complex.
Enterprise System Integration
In corporate environments, mobile applications often need to integrate with
enterprise systems.
Ensuring smooth, secure, and real-time access to corporate data on mobile
devices is a major challenge.
Issues and Challenges…
• Regulatory and Compliance Issues
Data Protection Regulations
Mobile devices collect and store personal data, subjecting them to privacy
laws.
Compliance with these laws is essential for mobile applications, especially for
those handling sensitive data.
Content and App Store Regulations
Different app stores have varied policies and requirements regarding content,
privacy, and security.
Ensuring compliance with these regulations can be difficult for app developers,
especially with complex or data-intensive applications.
Issues and Challenges…
• Scalability and Reliability
Scalability
As mobile application usage grows, developers must ensure that their backend
infrastructure can scale to handle increasing loads without downtime or
degraded performance.
This is particularly challenging for real-time applications like social media or
messaging apps.
Reliability and Crash Management
Ensuring that mobile applications are reliable and do not crash under different
conditions (such as network drops, power-saving modes, or low memory)
requires extensive testing and robust error handling.
Issues and Challenges…
• Testing and Quality Assurance
Device and OS Testing Diversity
Due to the variety of mobile devices, operating systems, and screen sizes,
testing mobile applications across all possible combinations is challenging.
Emulators can help, but real-world testing on physical devices is often
necessary to ensure quality.
User Feedback and Rapid Iteration
Mobile users expect rapid fixes and updates.
Managing a fast development cycle to address user feedback and fix issues
requires agile processes and efficient development resources.
Mobile Computing Technologies
• Encompasses a range of tools, protocols and infrastructures
that enable devices to access, process, and transmit data
wirelessly.
Wireless Communication Technologies
Cellular Networks: 3G, 4G, 5G
Wi-Fi
Bluetooth
Near Field Communication (NFC): Allows for close range data transfer between
compatible devices often used for contactless payments
Mobile Operating System
Android
iOS
Harmony OS
Windows Mobile/Phone
Mobile Computing Technologies…
Mobile Web Technologies
HTML5: A markup language for creating responsive and interactive mobile web
applications
CSS3 and JavaScript: Essential for designing and building the front-end of
mobile web apps, enabling features like animations and interactive content.
Progressive Web Apps (PWAs): Web applications designed to offer near-native
experience, including offline capabilities and push notifications
Mobile Application Development Frameworks
Flutter: An open-source framework by Google for building natively compiled
applications for mobile, web, and desktop from a single codebase.
React Native: A JavaScript framework maintained by Meta (Facebook) that
allows for cross-platform mobile app development.
Swift and SwiftUI: Used for building native iOS apps.
Kotlin: Officially supported language for Android development, offering modern
features
Mobile Computing Technologies…
Mobile Cloud Computing
Allows data and application processing to be performed on external servers
(clouds) rather than on the mobile device itself.
Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform
(GCP)
Mobile Sensors and GPS Technology
Accelerometers and gyroscopes: detect orientation and motion
GPS: Provides accurate location data, essential for navigation and location
based services
Proximity Sensors: Detect the presence of nearby objects without physical
contact
Mobile Payment Technologies
Mobile Wallets: Enable secure transactions using tokenization and NFC. Eg. E-
Birr
QR Code Payments: Used in mobile apps for scanning and making transactions
easily.
Mobile Computing Technologies…
Mobile Device Management
Tools and software used by organizations to manage, secure, and deploy
mobile devices used by employees.
Mobile Security Technologies
Biometric Authentication: Uses physical traits (e.g., fingerprints, facial
recognition) for device security.
Encryption: Ensures secures communication between devices and services.
Two-Factor Authentication (2FA): Adds an extra layer of security beyond just
passwords
• These technologies collectively contribute to the
functionality, connectivity, and security of mobile computing
in everyday life.
Mobile Computing Applications
• Mobile computing benefit us in different areas of our life and
work
Healthcare Applications: Mobile computing significantly impacts
healthcare by allowing doctors, patients, and healthcare providers to
manage and access health information more efficiently.
Mobile Health
Remote Patient Monitoring
Telemedicine
Business and Productivity: mobile computing boosts productivity and
streamlines operations, enabling professionals to work from
anywhere.
Mobile Office Applications
Collaboration Tools
Mobile CRM (Customer Relationship Management) Systems
Mobile Computing Applications…
Entertainment and Media: Mobile devices are central to modern
entertainment and media consumption. They provide access to a
variety of content at any time.
Streaming Services
Mobile Gaming
Social Media Apps
Education and E-Learning: Mobile computing has transformed
education by making learning more accessible and interactive.
Mobile Learning Platforms
Educational Tools
Virtual Classrooms
Mobile Computing Applications…
Transportation and Navigation: Mobile computing plays a crucial role
in modern transportation and navigation, making travel more
efficient and convenient.
GPS and Navigation Apps
Ride-Sharing Services
Public Transportation Apps
Finance and Banking: Mobile computing has revolutionized the
financial sector, giving users greater control over their finances.
Mobile Banking Apps
Digital Wallets
Investment Apps
Mobile Computing Applications…
Retail and E-Commerce: Mobile computing enhances the shopping
experience by making it easier to browse and purchase products.
Mobile Shopping Apps
Augmented Reality (AR) in Retail
Mobile Coupons and Loyalty Programs
Smart Homes and IoT: Mobile computing integrates with smart home
technology, allowing users to control and monitor their home
environment.
Home Automation Apps
Smart Device Integration
Security and Surveillance Systems
Mobile Computing Applications…
Travel and Tourism: Mobile computing enhances travel experiences
by providing tools for planning and navigating trips.
Travel Booking Apps
Local Discovery and Recommendations
Travel Safety and Assistance Apps
Challenges and Future Trends: Despite its many benefits, mobile
computing faces challenges and is rapidly evolving.
Security and Privacy Concerns
Technological Advancements
Emerging Trends