18
Lecture 1 Introduc tion Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction Rob Pooley [email protected]

Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

Embed Size (px)

Citation preview

Page 1: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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]

Page 2: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 3: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 4: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 5: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 6: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 7: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 8: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

Lecture 1 Introduction Programming Handheld and Mobile devices

8

What is a MID?

Page 9: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 10: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 11: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

Lecture 1 Introduction Programming Handheld and Mobile devices

11

Connecting to a MID

Infra red

US

B

WiFi

Bluetooth

Page 12: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

Lecture 1 Introduction Programming Handheld and Mobile devices

12

Operating environments

• Palm OS• J2ME• Other Java environments• .Net Compact• Symbian• Linux

Page 13: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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

Page 14: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 15: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 16: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 17: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.

Page 18: Lecture 1 IntroductionProgramming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 1 Course structure and introduction

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.