Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
17 views

1 Introduction To Mobile Computing (MC)

Uploaded by

lishyfraz
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

1 Introduction To Mobile Computing (MC)

Uploaded by

lishyfraz
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Introduction to Mobile

Computing
Course Information

• Books
- Programming Mobile Devices: An Introduction for Practitioners
by TommiMikkonen, Wiley; 1st Edition (March 19, 2007). ISBN-
10: 0470057386.
- Professional Mobile Application Development by Jeff
McWherter& Scott Gowell, Wrox; 1st Edition (September 4,
2012). ISBN-10: 1118203909
Introduction

• “Mobile computing systems are computing systems that


may be easily moved physically and whose computing
capabilities may be used while they are being moved”.
• Examples are
• laptops, personal digital assistants (PDAs), and mobile phones
Aspects Of Mobile Computing

• Systems are
• small size
• mobile nature of their use
• wireless network connectivity
• power sources
• functionalities that are particularly suited
A Brief History of Mobile
Computing
Wireless Mobile or Mobile
Wireless?
• wireless communications and mobile computing
• Mobile computing devices need not be wireless.

• Wireless communication systems are type of


communication system
• four pieces to the mobile problem:
• mobile user, mobile device, mobile application, and mobile
network

• Dimensions of mobility:
• The set of properties that distinguishes the mobile
computing system from stationary computing system
Dimensions of Mobile
Computing
• Location awareness
• Network connectivity quality of service (QOS)
• Limited device capabilities
• Limited power supply
• Support for a wide variety of user interfaces
• Platform proliferation
• Active transactions
Dimensions of Mobile
Computing
Adaptability of mobile computing

• Adaptability of mobile computing refers to the ability of mobile


systems and applications to adjust and respond dynamically to
changing environments, user needs, and resource availability. Mobile
computing environments are highly variable due to factors such as
device mobility, intermittent network connections, varying hardware
capabilities, and user contexts. Therefore, adaptability is crucial to
maintaining usability, performance, and reliability. It encompasses
several key aspects:
• Context-awareness: Mobile systems can adapt based on the user's
location, activities, or preferences. For example, a navigation app
might switch to night mode when it detects lower ambient light or
change routes based on traffic data.
Adaptability of mobile
computing
• Resource management: Mobile devices have limited
resources (like battery, processing power, and memory).
Adaptability ensures that mobile applications adjust their
operations based on available resources, such as switching to
low-power modes or reducing processing intensity when the
battery is low.
• Network adaptability: Mobile computing environments often
involve fluctuating network conditions, such as varying
bandwidth, packet loss, or connectivity issues. Adaptive
mobile systems can optimize data transfers by compressing
data, caching, or adjusting quality based on available network
bandwidth.
• Device heterogeneity: Mobile computing spans a wide range
of devices, from smartphones and tablets to wearables and IoT
devices. Applications and services must adapt to the varying
hardware and software configurations of these devices.
Adaptability of mobile
computing
• User experience customization: Mobile systems can
adapt to individual users’ needs, such as changing the
user interface to be more accessible based on user
preferences, history, or behavioral patterns.
• Security adaptability: As mobile devices move
between different networks or locations, they face
varying security threats. Adaptable systems can adjust
security measures based on the level of risk, such as
requiring multi-factor authentication in certain
environments.
Overall, adaptability in mobile computing helps to
optimize performance, enhance user experience,
improve energy efficiency, and maintain robustness
across diverse and unpredictable environments.
Transparency

Transparency is the ability of a system to hide some


characteristics of its underlying implementation from
users. Much of the research effort in distributed
computing has been devoted to developing mechanisms
for providing various forms of transparency.
Examples of these include the following:
• Access transparency is the ability of a system to hide
the differences in data representation on various
machines and the mode of access of a particular
resource.
Transparency

• Location transparency is the ability of a system to


conceal the location of a resource. Related to location
transparency are name transparency (which ensures
that the name of a resource does not reveal any hints
as to the physical location of the resource) and user
mobility (which ensures that no matter which machine
a user is logged onto, she should be able to access
resources with the same name).
Failure transparency is the ability of the system to hide
failure and recovery of a system component.
Location

• A mobile device is not always at the same place: Its


location is constantly changing.
• Location aware app and systems have Challenges .

• localization and location sensitivity


• Localization is 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.,
P.O.S or e-commerce web application
• different taxation rules
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.
• location-sensing technologies (triangulation, proximity,
and scene analysis)
• Triangulation is calculation of the location of a point that lies in
the middle of three other points whose exact locations are
known.
Location: Triangulation
Location

• Proximity-based methods measure the relative position


of the unknown point to some known point.
• Scene analysis relies on image processing and
topographical techniques to calculate the location of the
unknown point based on a view of the unknown point
from a known point.
• The most well known location sensing system today is
GPS. GPS-enabled devices can obtain latitude and
longitude with accuracy of about 1–5 m.
Quality of Service

• Mobility means loss of network connectivity reliability.


• Physical conditions can significantly affect the quality of
service (QOS)
• E.g. bad weather, solar flares, and a variety of other climate-
related conditions

• Mobile applications have to know how to continue to


operate even after they are disconnected from the network
or while they connect and disconnect from the network
• E.g. User traveling in train downloading affect

• Mobile applications should know how to stop working


when the application suddenly disconnects from the
network and then resume working when it connects again.
Limited Device Storage and CPU

• physical size limits; volatile storage, nonvolatile


storage, and CPU
• smaller is nearly always better
• physical boundaries on the size of transistors
• heat produced by the transistors
• number of transistors on a microchip

• So, the constraint on how we develop mobile


applications
• Mobile applications must be designed to optimize the
use of data storage and processing power
Limited Power Supply

• limited power supply


• must be balanced with the processing power, storage, and size
constraints
• power supply has a direct or an indirect effect on
everything
• For example, the brighter the display
• power management functionality is built into the
operating system
• making the right choice of platform and configure it
properly
Varying User Interfaces

• Stationary computers efficiently operate interfaces with


keyboard, mouse, and monitor
• Alternative interfaces for mobile devices are voice user
interfaces, smaller displays, stylus and other pointing
devices, touch-screen displays, and miniature
keyboards.
• Cumbersome to interact while driving or on the move.
• designers and implementers need to understand
necessity of finding the best user interface(s)
• Next computing revolution in interfaces
Varying User Interfaces

• User interfaces are difficult to design and implement for


the following reasons
• Designers have difficulties learning the user’s tasks.
• The tasks and domains are complex.
• A balance must be achieved among the many different design
aspects, such as standards, graphic design, technical writing,
internationalization, performance, multiple levels of detail, social
factors, and implementation time.
• The existing theories and guidelines are not sufficient.
• Iterative design is difficult.
• There are real-time requirements for handling input events.
• It is difficult to test user interface software.
• Today’s languages do not provide support for user interfaces.
• Programmers report an added difficulty of modularization of
user interface software.
Platform Proliferation

• Low cost, small size mobile devices rage manufacturing


• Gives rise to proliferation of devices and platforms in
market
• Platform proliferation has very significant implications
on the architecture, design, and development of mobile
applications.
• For example, it is not wise to write a voice-driven phone
book application that runs only on one type of platform.
• The software architects and developers should be
focused on user’s requirements such as, support of
multiple platforms.
Active Transactions

• active transactions as those transactions initiated


by the system.
• Active transactions may be synchronous or
asynchronous.
• All active transactions are initiated by the system.
• Synchronous transactions are time dependent
Active Transactions

• Synchronous active transactions properties:


• The transaction is initiated by the system, and during
the same transaction, the user is given an opportunity,
for a finite period of time, to respond to the action
initiated by the system.
• Synchronous active transactions require a timely
response from the user.
• The interactions between the system and the user work
in a sequential and serial manner during a synchronous
transaction.
• Synchronous active transactions are established
between the system and a single user.
Architecture Of Mobile Software
Applications
• After gathering requirements require such a high-level
plan.
• basic prevalent application architectures are, N-Tier,
client–server, mobile agent, and peer-to-peer
• software architecture to be a particular high-level
abstraction of the system and how its components
collaborate.
• architectural patterns; these are patterns that are
recognizable
once they are used prevalently in some architectures.
• Not fully established design patterns, architectural
patterns, or even architectures

You might also like