Lecture 1 Introduction Programming Handheld and Mobile devices
1
Programming of Handheld and Mobile Devices
Lecture 1 Course structure and introduction
Rob Pooley [email protected]
Lecture 1 Introduction Programming Handheld and Mobile devices
2
Lecture and lab schedule - provisional• Lectures
– Week 11 Introduction and course outline
What is a MID
2 Notion of event driven programming. Palm OS concepts and example
– Week 23 Palm OS programming.
Palm OS resources and the SDK
4 OXO example for Palm OS. Palm OS comms. Palm OS summary.
• Labs
– Week 1 No lab
• Week 2
Introduction to Palm OS
• Week 3
Further Palm OS example
Lecture 1 Introduction Programming Handheld and Mobile devices
3
Assessment
• There is an examination at the end of the module• There are two practical assignments for all students• There is a further practical assignment for MSc students• The practical assignments will be handed out in week one and
must be completed as follows:1. Completed by 5.00pm of Friday of week 4
– Demonstrated in Week 5 lab session2. Completed by 5.00pm of Friday of week 8
– Demonstrated in Week 9 lab session3. Completed by 5.00pm of Friday of week 10
– Demonstrated in Week 11 lab session
– You must hand in and demonstrate the coursework assignments to be allowed to sit the exam
Lecture 1 Introduction Programming Handheld and Mobile devices
4
Resources
• This is a practically based course; it is expected that you will experiment with the techniques that you are shown
• There is a lab in which you will have priority access to PCs and supported sessions will operate for these
• These machines will have the software required for the various stages of the course installed
• The software will include emulators for you to test your code
• There are also a number of PDAs which you can use, having deposited your matriculation card with Adrian first
Lecture 1 Introduction Programming Handheld and Mobile devices
5
Notes and other information
• There is a Web page with links to all– Notes, posted after the lecture– Assignments– Documentation
• Handouts will be provided with the slides and notes at the lecture which they cover.
• Help will be available in labs 1.53 and 1.54 at the following times for you to ask questions about how to use the development environments provided and to have your coursework ticked off– Mondays at 10.15 and 12.15
Lecture 1 Introduction Programming Handheld and Mobile devices
6
Mobile information devices
• The emergence of genuinely portable devices which contain sufficient computing power to support a range of applications, many of which were originally developed for conventional personal computers, is one of the major changes in the world of technology in recent years.
• It has accompanied the emergence of very widespread adoption of mobile phones and these technologies are now merging, creating mobile information devices (MIDs) with the ability to connect with each other and with conventional computer networks
Lecture 1 Introduction Programming Handheld and Mobile devices
7
What’s special about MIDs? SWOT
1. Strengths
1. They are small
2. They are popular
3. They are connectable
2. Weaknesses
1. They have limited memory – a challenge
2. They often have limited battery life
3. They have limited processing power
3. Opportunities
1. They are flexible
2. They are becoming more connectable
3. They integrate with mobile phones
4. Threats
1. There is lots of competition
2. They are expensive
3. There is no standard operating system
4. They are not flexible enough
Lecture 1 Introduction Programming Handheld and Mobile devices
8
What is a MID?
Lecture 1 Introduction Programming Handheld and Mobile devices
9
Mobile information devices
• most people probably think of portable devices as intelligent phones or personal digital assistants (PDAs), the distinction is arbitrary.
• For the purposes of this course we will use the term MID to include any handheld device which has some form of micro-processor in it and which can have new applications loaded onto it.
Lecture 1 Introduction Programming Handheld and Mobile devices
10
Connecting to MIDs• MIDs are equipped with a range of communication
devices. • Mobile phone technology provides access to the
telephone network, • most will alsohave one or more of the following:
• USB MID to computer, • infra red line of sight device to device, • Bluetooth wireless device to device • WiFi wireless device to network.
Lecture 1 Introduction Programming Handheld and Mobile devices
11
Connecting to a MID
Infra red
US
B
WiFi
Bluetooth
Lecture 1 Introduction Programming Handheld and Mobile devices
12
Operating environments
• Palm OS• J2ME• Other Java environments• .Net Compact• Symbian• Linux
Lecture 1 Introduction Programming Handheld and Mobile devices
13
Languages
• C/C++– Palm OS– Symbian– .NET– Linux
• Java– J2ME– Other Java environments
• C#– .NET
• Visual Basic– .NET
• Python scripting– Some mobile phones
• Mobile scripting languages– Many mobile phones
Lecture 1 Introduction Programming Handheld and Mobile devices
14
Issues to bear in mind
• Screen Size– Most Palm Powered handheld screens are only
160x160 pixels, so the amount of information you can display at one time is limited.
• Quick Turnaround Expected– On a PC, users don’t mind waiting a few seconds
while an application loads because they plan to use the application for an extended amount of time. By contrast, the average handheld user uses a handheld application 15 to 20 times per day for much briefer periods of time, usually just a few seconds.
Lecture 1 Introduction Programming Handheld and Mobile devices
15
More issues to bear in mind
• PC Connectivity– PC connectivity is an integral component of the Palm Powered
handheld. The handheld comes with a cradle that connects to a desktop PC and with software for the PC that provides “one button” backup and synchronization of all data on the handheld with the user’s PC.
• Input Methods– Most users of Palm Powered handhelds don’t have a keyboard
or mouse. Users enter data into the handheld using a pen. They can either write characters in the input area or use the keyboard dialog provided on the handheld.
Lecture 1 Introduction Programming Handheld and Mobile devices
16
More issues to bear in mind
• Power– Handhelds run on batteries and thus do not have the same
processing power as a desktop PC. The handheld is intended as a satellite viewer for corresponding desktop applications. If your application needs to perform a computationally intensive task, you should implement that task in the desktop application instead of the handheld application.
• Memory– Palm Powered handhelds have limited heap space and storage
space. Different versions of the handheld have between 512K and 8MB total of dynamic memory and storage available. The handheld does not have a disk drive or PCMCIA support.
Lecture 1 Introduction Programming Handheld and Mobile devices
17
More issues to bear in mind
• File System– Because of the limited storage space, and to make
synchronization with the desktop computer more efficient, Palm OS does not use a traditional file system. You store data in memory chunks called records, which are grouped into databases.
• Backward Compatibility– Different versions of Palm Powered handhelds are
available, and each runs a different version of Palm OS. Users are not expected to upgrade their versions of Palm OS as rapidly as they would an operating system on a desktop computer.
Lecture 1 Introduction Programming Handheld and Mobile devices
18
Some references• The full documentation for Palm tools is available online at:
– www.palmos.com/dev/support/docs/• A tutorial can be found in
Palm OS Programming 2nd Edition, Rhodes and McKeehan, O’Reilly Books
• Similar for J2MEJ2ME in a Nutshell (O'Reilly Java) (Paperback) by Kim Topley
• For Bluetooth etc, maybeWireless Java Programming with J2ME (Paperback) by Yu Feng, Jun Zhu, Sams Publishing, 2001
More references will be added to the course Web site as we go along. See www.macs.hw.ac.uk/~rjp or the VLE.