CC211 Lesson 3
CC211 Lesson 3
CC211 Lesson 3
Introduction
Mobile computing is a generic term that refers to a variety of devices that allows
people to access data and information from whatever they are. Mobile computing
embraces host of portable technologies that makes Internet Access on the go not only
possible, but integral to everyday life.
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. Mobile
computing can be distinguished through the tasks that they are designed to perform, the
way they are designed, and the way in which they are operated.
MOBILE COMMUNICATION
The mobile communication in this case, refers to the infrastructure put in place to
ensure that seamless and reliable communication goes on.
These would include devices such as protocols, services, bandwidth, and portals
necessary to facilitate and support the stated services.
The data format is also defined at this stage. This ensures that there is no collision
with other existing systems which offer the same service.
MOBILE HARDWARE
Mobile hardware includes mobile devices or device components that receive or
access the service of mobility.
They would range from portable laptops, smartphones, tablet PC’s, Personal
Digital Assistants.
These devices will have a receptor medium that is capable of sending and
receiving signals.
These devices are configured to operate in full-duplex, whereby they are capable
of sending and receiving signals at the same time.
They do not have to wait until one device has finished communicating for the other
device to initiate communications.
MOBILE SOFTWARE
Mobile Software is the actual program that runs on the mobile hardware. It deals
with the characteristics and requirements of mobile applications.
This is the engine of the mobile device. In other terms, it is the operating system
of the appliance (device). It is the essential component that operates the mobile
device.
MOBILE WIRELESS
In wireless connectivity, mobile computing devices found a great way to connect
with other devices on the network.
Wireless communication systems are a type of communication system.
Wireless communication systems do not use a waveguide to guide along the
electromagnetic signal from the sender to receiver. They rely on the mere fact that
electromagnetic waves can travel through space if there are no obstacles that
block them.
Wireless communication systems are often used in mobile computing systems to
facilitate network connectivity, but they are not mobile computing systems.
Also, though it is important to understand that stationary and mobile computing
systems are inherently different, this does not mean that they do not have any
commonalities.
There are four pieces to the mobile problem:
o the mobile user
o the mobile device
o the mobile application, and
o the mobile network.
2. Tablets – are also designed to offer portability. However, they provide you with a
computing experience different from laptops with the biggest difference being that
tablets do not have a touchpad or keyboard. Basic features of tablet computers
include:
Mobile OS: Tablets run on mobile operating systems different from their
desktop counterparts. Examples include Windows, iOS and Android.
Solid-state drives: Tablets use solid-state drives, which are faster and more
durable than hard disk drives.
Wi-Fi: Because tablets are optimized for Internet use, they have built-in Wi-Fi.
Location. A mobile device is not always at the same place: Its location is constantly
changing. The changing location of the mobile device and the mobile application presents
the designers of the device and software applications with great difficulties. However, it
also presents us with an opportunity of using the location and the change in location to
enhance the application. These challenges and opportunities can be divided into two
general categories: localization and location sensitivity.
Localization is the mere 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.
Localization is not exclusive to mobile applications but takes a much more
prominent role in mobile applications.
Localization is often required in stationary applications where users at
different geographical locations access a centralized system.
For example, some point-ofsale (POS) systems and e-commerce Web sites
are able to take into account the different taxation rules depending on the locale of
the sale and the location of the purchase.
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.
There are a variety of methods for collecting and using the location of the
user and the device. The user may simply be prompted for his or her location, but
this would not make a very user-friendly application.
Imagine a system that can only give you directions to where you want to go
if you know where you are: It will be useful often, but occasionally, you would not
know where you are or it would be too difficult to figure out your location. The
device may be reset for a relative location if it has the ability to sense motion and
can keep track of the change of location for some period of time after this reset.
Most location-sensing technologies use one or more of three categories of
techniques:
o Triangulation - relies on age-old geometric methods that allow calculation
of the location of a point that lies in the middle of three other points whose
exact locations are known.
Quality of Service. In the case of wireless network connectivity, physical conditions can
significantly affect the quality of service (QOS). For example, bad weather, solar flares,
and a variety of other climate-related conditions can negatively affect the (QOS). This
unreliability in network connectivity has given rise to the QOS field and has led to a slew
of accompanying products. QOS tools and products are typically used to quantify and
qualify the reliability, or unreliability, of the connectivity to the network and are mostly used
by network operators. Network operators control the physical layer of the network and
provide the facilities, such as Internet Protocol (IP), for software application connectivity.
Usually, the QOS tools, run by the network operators, provide information such as
available bandwidth, risk of connectivity loss, and statistical measurements that allow
software applications to make smart computing decisions.
The key to designing and implementing mobile applications is that network
connectivity and QOS need to be taken into account with an expanded scope. Most
software applications, mobile or not, take advantage of networking in some way and,
therefore, do have network connectivity features.
Limited Device Storage and CPU. No one wants to carry around a large device, so most
useful mobile devices are small. This physical size limitation imposes boundaries on
volatile storage, nonvolatile storage, and CPU on mobile devices.
Smaller devices are easier to carry and, consequently, may become more
pervasive. This pervasiveness also largely depends on the price of the devices. Making
electronic devices very small normally increases the cost, as the research and
development that go into making devices smaller are very expensive.
Storage and processing issues are largely addressed by the various operating
systems and platforms on the mobile devices. Therefore, a large part of engineering
mobile applications requires first a theoretical understanding of the various types of
platforms and operating systems available on mobile devices, then an understanding of
the available commercial implementations of the varieties of types of operating systems
and platforms and the type of applications best suited for each platform—device
combination.
Limited Power Supply. Batteries are improving every day and it is tough to find
environments where suitable AC power is not available. Yet, often the user is constantly
moving and devices are consuming more and more power with processors that have
more and more transistors packed into them.
The desirability of using batteries instead of an AC power source combined with
the size constraints creates yet another constraint, namely a limited power supply.
Some platforms allow monitoring of the remaining power and other related power
information. Some platforms allow multiprocessing and multithreading, which have an
effect on the control over the variation of the CPU activity, which in turn has an effect on
the control over the power consumed by the device. Overall, the design and
implementation of the application itself is affected less by this dimension of mobility than
by any of the others. This is merely because operating systems handling the power
consumption issues.
Varying User Interfaces. Stationary users use non-mobile applications while working on
a PC or a similar device. The keyboard, mouse, and monitor have proved to be fairly
efficient user interfaces for such applications. This is not at all true for mobile applications.
Examples of some alternative interfaces are:
Voice user interfaces
smaller displays
stylus and other pointing devices
touch-screen displays, and
miniature keyboards
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, and 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.
Active Transactions. Most of today's stationary applications have a restriction that can
reduce the benefits of a mobile application system enormously: The user of the system
must initiate all interactions with the system. We call such systems passive systems
because they are in a passive state, waiting for some external signal from the user to tell
them to start doing some particular thing. With stationary applications, this typically works
well. Most people sit down to use a computer because they intend to perform some task.
Whatever actions they may perform could signal one or more other passive systems to
perform some computing task such as retrieving information or calculating some
numbers.
At the same time, during the past two decades, messaging-based systems have
been born and have evolved. With messaging systems, any one participant of the system
can send a message to the other participant(s), and, if desired, under a specific topic in
an asynchronous manner.
Push systems, by definition, are active systems. For example, a particular user
could be browsing the Web and, while purchasing some goods online, be notified
of the change in the price of a particular stock. In this example, the system has
taken an active role in starting communication with the user on a particular topic.
Push—pull systems (a more complete name for push systems as the receiver of
the "pushing" is said to be "pulling" on a particular topic) can be implemented in a
number of ways, including using event-driven systems, messaging middleware,
and poll-based systems. Implementation aside, unfortunately, push systems have
mostly been a disappointing failure. One of the reasons for this failure has been
that most push pull systems have targeted users who are largely focused on the
task at hand.
Synchronous active transactions can be summarized by a set of 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. This may be replicated for many users, but at the most elemental level, there
is only one user in each active transaction.
References:
3G E-Learning LLC, USA (2018). Mobile Applications Development Technologies