Palm OS emulator Palm OS Development Overview Architecture

  • Slides: 35
Download presentation
Palm OS emulator

Palm OS emulator

Palm OS Development • • • Overview Architecture Palm OS Application Development Conduit Development

Palm OS Development • • • Overview Architecture Palm OS Application Development Conduit Development Web Clipping

Overview • Numbers • Devices

Overview • Numbers • Devices

Overview - Numbers • Palm has shipped over 12 million devices • Handspring has

Overview - Numbers • Palm has shipped over 12 million devices • Handspring has shipped over a million devices • Palm OS accounts for over 86% of PDA sales

Overview - Numbers

Overview - Numbers

Shipping Palm OS Devices Device OS Memory Features Palm Palm Vx IIIc VIIx m

Shipping Palm OS Devices Device OS Memory Features Palm Palm Vx IIIc VIIx m 100 m 105 3. 5 3. 5 8 MB 8 MB 2 MB 8 MB Symbol SPT 1500 Symbol SPT 17 XX Kyocera 6035 Handspring Visor Handspring Prism 3. 0 3. 2 3. 5 3. 1 3. 5 2/4 MB 2/8 MB 8 MB Handspring Platinum Handspring Edge Sony CLIE TRG Pro 3. 5 3. 3 8 MB 8 MB Slim, rechargeable Color, rechargeable Web Clipping Low end with more memory (IIIxe replacement) Barcode scanner, wireless Cell phone, Web clipping, rechargeable Springboard slot, USB Springboard slot, Color, rechargeable, USB VZ processor (faster), USB, springboard Slim, rechargeable, USB, springboard Memory stick, USB Compact Flash slot

Announced Palm OS Devices Device OS Memory Features Palm m 500 4. 0 8

Announced Palm OS Devices Device OS Memory Features Palm m 500 4. 0 8 MB Slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm Palm m 505 4. 0 8 MB Color, slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm Samsung SPH-I 300 3. 5 8 MB Cellular phone, color, slim, rechargeable, 160 x 240 resolution Garmin ? ? Embedded GPS

Architecture • • Motorola 68 k Processor User Interface Graffiti handwriting recognition Wireless

Architecture • • Motorola 68 k Processor User Interface Graffiti handwriting recognition Wireless

Architecture – Processor • Motorola 68 x 328 Dragon Ball • 16 -33 MHz

Architecture – Processor • Motorola 68 x 328 Dragon Ball • 16 -33 MHz • Similar processing power of an early Macintosh • 8 MB RAM addressable • Single UART for serial and Ir. DA

Architecture – User Interface

Architecture – User Interface

Architecture – Graffiti

Architecture – Graffiti

Architecture - Wireless • Palm VII – Integrated transceiver – Mobitext network – Lacks

Architecture - Wireless • Palm VII – Integrated transceiver – Mobitext network – Lacks full TCP/IP support – Supports Inet. Lib which provides an HTTP oriented interface – No cookie support (OS 4. 0 will have cookie support)

The back-end • Palm Desktop • Hot. Sync • Conduits

The back-end • Palm Desktop • Hot. Sync • Conduits

The back-end • Demonstration

The back-end • Demonstration

Palm OS App Development • • C++ - Code. Warrior, GNU Satellite Forms CASL

Palm OS App Development • • C++ - Code. Warrior, GNU Satellite Forms CASL Forms Pendragon Forms Visual Basic (Appforge) Java 2 Micro Edition Misc – n. Basic, Tiny. C, Forth, etc.

POSE • • Palm OS Emulator Windows, Mac & Linux Uses ROM images Useful

POSE • • Palm OS Emulator Windows, Mac & Linux Uses ROM images Useful for debugging – Gremlins – Code. Warrior integration

POSE • Demonstration

POSE • Demonstration

Databases • Implemented as a collection of relocatable chunks of memory accessed via handles

Databases • Implemented as a collection of relocatable chunks of memory accessed via handles using Dm functions • They have nothing to do with modern relational databases • Saved by generic conduit as a. PDB file • The developer determines record layout • Less than 64 k limit to record length • Records may be Deleted or Archived

A simple C app • Functions – Palm Main – Application Event Handler –

A simple C app • Functions – Palm Main – Application Event Handler – Form Event Handler – App. Start – Message loop – App. Stop • Resources

C app – Palm. Main • • • Check ROM version Check launch code

C app – Palm. Main • • • Check ROM version Check launch code Call App. Start Open first form Run the App Event Loop Call App. Stop

C app - App. Start • Open and/or Create database(s) • Load preferences

C app - App. Start • Open and/or Create database(s) • Load preferences

C app - Message Loop static void App. Event. Loop(void) { UInt 16 error;

C app - Message Loop static void App. Event. Loop(void) { UInt 16 error; Event. Type event; do { } Evt. Get. Event( &event, evt. Wait. Forever ); if ( ! Sys. Handle. Event( &event ) ) if ( ! Menu. Handle. Event( 0, &event, &error ) ) if ( ! App. Handle. Event( &event ) ) Frm. Dispatch. Event( &event ); } while ( event. e. Type != app. Stop. Event );

C app - App. Stop • • Save preferences Close Databases Close all open

C app - App. Stop • • Save preferences Close Databases Close all open forms Clean-up

C app – Demo

C app – Demo

Conduits • Development Tools • Functionality • Conduit Wizard Demo

Conduits • Development Tools • Functionality • Conduit Wizard Demo

Conduits – Development Tools • Tools: – Microsoft VC++ – Delphi – 4. 0

Conduits – Development Tools • Tools: – Microsoft VC++ – Delphi – 4. 0 desktop supports COM

Conduits – Functionality • Decide what functionality your conduit will implement – Two-way mirror

Conduits – Functionality • Decide what functionality your conduit will implement – Two-way mirror image synchronization – Upload from the organizer – Download to the organizer – Custom

Conduit Wizard • Demonstration

Conduit Wizard • Demonstration

Web Clipping • • • Index vs. Local vs. Remote pages Elaine Tags Tables

Web Clipping • • • Index vs. Local vs. Remote pages Elaine Tags Tables QAB

Web Clipping – Tags • <META NAME="Palm. Computing. Platform" CONTENT="TRUE"> • <META NAME="Palm. Launcher.

Web Clipping – Tags • <META NAME="Palm. Computing. Platform" CONTENT="TRUE"> • <META NAME="Palm. Launcher. Revision" CONTENT="X"> • • <smallscreenignore> %deviceid %zipcode Frames aren’t supported

Web Clipping – Tables • Tables are supported • Palm OS devices have 160

Web Clipping – Tables • Tables are supported • Palm OS devices have 160 pixel wide screens, fixed width tables could end up with horizontal scrolling

Web Clipping – QAB • Query Application Builder • Takes simple HTML and provides

Web Clipping – QAB • Query Application Builder • Takes simple HTML and provides framework

QAB - Demo • Demonstration

QAB - Demo • Demonstration

Resources • • www. Target. Your. Hand. com (soon) www. Palm. OS. com Get

Resources • • www. Target. Your. Hand. com (soon) www. Palm. OS. com Get on the Palm. Dev mailing list Mailing list archive at www. Escribe. com

Fin • Questions? • Thanks!

Fin • Questions? • Thanks!