Professional Documents
Culture Documents
Introduction To MobileProgramming
Introduction To MobileProgramming
Introduction To MobileProgramming
Markus A. Wolf 1
the UNIVERSITY of GREENWICH
Network connectivity
Intermittent
Interruptions
More options
WiFi bluetooth
Markus A. Wolf 2
the UNIVERSITY of GREENWICH
Intermittent Network Connectivity
Being connected continuously may cost money
and battery power
With PDAs, users are often only connected to
the network via their PC and a cradle or when
within range of a home or work LAN
Developing applications one needs to take into
consideration that a network connection is not
always available
Will the user be able to do work offline and
transmit/synchronise when online?
Markus A. Wolf 3
the UNIVERSITY of GREENWICH
Network Interruptions
What happens when a user moves from an area
with coverage to one without (e.g. a tunnel)?
How does the application handle this?
How does the application recover when the
network is available again?
It is important to always confirm transmissions
with a success message, so the user knows that
data was sent/received
Markus A. Wolf 4
the UNIVERSITY of GREENWICH
Network Latency
In a wireless network, the delay between
sending a message and receiving a reply is
generally greater than in a wired network
Bandwidth is often lower
Signal quality may be poor
Good idea to keep communications over a
network as low as possible
Do calculations/processing on device where possible
Validate data before sending
Provide the user with progress feedback
Markus A. Wolf 5
the UNIVERSITY of GREENWICH
Network Options
There are many network options available for
mobile devices
Wired (e.g. USB connection)
Wireless LAN
Bluetooth
Infrared
The developer may not know what device the end-
user is using and what this supports
The developer may not know what network
options are available
Markus A. Wolf 6
the UNIVERSITY of GREENWICH
System Resources
Memory
For use by running programs
Persistent storage
Processor power
Makes computationally intensive tasks slow
Power consumption
Markus A. Wolf 7
the UNIVERSITY of GREENWICH
System Resource - Memory
Mobile devices generally have far less memory
than desktop computers
It is often possible to extend storage memory
with additional storage media such as SD cards
The developer cannot assume that the end-user will
have additional storage
Developers need to consider the limited amount
of RAM available to run applications and store
data
Markus A. Wolf 9
the UNIVERSITY of GREENWICH
Quick Quiz
There is a trade-off between the advantage of offloading
processing from a mobile device to a more powerful
server and increasing the use of the network.
Where should the processing take place for the following?
Server
Mobile
device
Markus A. Wolf 10
the UNIVERSITY of GREENWICH
Input and Output Devices
Display
Size
Resolution People don't
like scrolling
Number of colours
Orientation
Input
Desktop PCs - keyboard + mouse
Mobile devices - touch screen, voice input,
keypad, mini-qwerty keyboard, external keyboard
Markus A. Wolf 11
the UNIVERSITY of GREENWICH
Security
Physical device
Easily lost or stolen
Backups to avoid losing all data
Network
Wireless are more vulnerable to intrusion than wired
networks
Use encryption and authentication
Markus A. Wolf 12
the UNIVERSITY of GREENWICH
Nature of users and environment
Environment
Lighting
Noise
Interruptions
Markus A. Wolf 13
the UNIVERSITY of GREENWICH
Architectures for mobile applications
Different options
Client/Server thin
Standalone client
Peer-to-
Client/Server Peer
fat client
Markus A. Wolf 14
the UNIVERSITY of GREENWICH
Standalone application
Never needs to connect via a network
e.g. games, simple diary, dictionary
Advantages
No problems of network connectivity
Disadvantages
No synchronising of data, no communication with
other people, no sharing of data
Markus A. Wolf 15
the UNIVERSITY of GREENWICH
Client/Server - thin client
• No application code installed on the client
• All application logic and processing at the server
• A typical architecture:
Mobile device Web Server
Markus A. Wolf 16
the UNIVERSITY of GREENWICH
Client/Server - fat client
• Application code installed on the client
• Some application logic at the client end and some
at the server
• A typical architecture:
Mobile device Server
Markus A. Wolf
Unsophisticated user 18
the UNIVERSITY of GREENWICH
Quick Quiz 2 - Fat or Thin?
GoCit are a ticket agency that sells tickets for a
range of UK theatres directly to the public. They
wish to develop a system that allows people to
check ticket availability via their mobile phones.
Should this be a fat client or a thin client
application? Why?
Markus A. Wolf 19
the UNIVERSITY of GREENWICH
Quick Quiz 3 - Fat or Thin?
Markus A. Wolf 20
the UNIVERSITY of GREENWICH
Operating systems for PDAs and
Smartphones
Linux
Markus A. Wolf 21
the UNIVERSITY of GREENWICH
Technologies for thin client applications
WML family HTML family Others
• HTML or XHTML or • e.g. Flash Lite
• WML
XHTML-MP from Adobe
• WMLScript
• JavaScript
• WMBMP • WAP-CSS
• GIF/JPEG/PNG
Device Hardware
Markus A. Wolf 22
the UNIVERSITY of GREENWICH
Technologies for fat client applications
Native Java
Java applications .NET applications BREW
compiled
compiled applications (C# or VB) application (C,
applications
applications C++ or Java)
(e.g. written in
(e.g. written in Java ME
Java ME .NET Compact BREW platform
C
C or C++)
C++)
Framework (only e.g. supplied by
on Windows) Qualcomm
Device Hardware
Markus A. Wolf 23