Introduction To MobileProgramming

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 22

the UNIVERSITY of GREENWICH

How does developing software for mobile…

... differ from developing software for desktop


PCs?

Markus A. Wolf 1
the UNIVERSITY of GREENWICH
Network connectivity

Intermittent

Interruptions

Greater latency GPRS, 3G

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

1. Search a database of vehicle records to find those that


match a description including colour, make, year
2. Decompress an MP3 file so that it can be played

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

Very wide range of users


Different levels of expertise

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

web browser Web


application
Database
WML or XHTML e.g. JSP,
MP web pages ASP, PHP

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

client application server


e.g. C#, C, Java application
Database
maybe web-
based
Markus A. Wolf 17
the UNIVERSITY of GREENWICH
Pros and Cons of Thin clients
Advantages of thin Disadvantages of thin
Ease of Can only work in online
development mode
Cost
Ease of deployment
Coverage
and maintenance
Network latency
Little dependency on Battery life
the client platform
Can't take advantage of
special features of client
platform

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?

Denton Construction are a large UK building firm. They


wish to develop a system for use by their inspectors when
visiting a building under construction to log any faults that
need to be corrected by subcontractors. The system
should show the inspector the plans for the building and
allow him or her to indicate the location and nature of the
fault.

Should this be a fat client or a thin client application?


Why?

Markus A. Wolf 20
the UNIVERSITY of GREENWICH
Operating systems for PDAs and
Smartphones

Windows Mobile Palm OS

Symbian Vendor / device


specific

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

Web Browser e.g. Opera Mobile, OpenWave, Pocket IE or Reader


e.g. Flash Lite

Operating System (e.g. Symbian, Windows, PalmOS)

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

Operating System (e.g. Symbian, Windows, PalmOS)

Device Hardware

Markus A. Wolf 23

You might also like