Palm OS Development Target Your Hand Palm OS

  • Slides: 35
Download presentation
Palm OS Development Target Your Hand

Palm OS Development Target Your Hand

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

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 shipped over

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 Palm Palm OS Vx IIIc VIIx m 100 m

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

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 full TCP/IP support ©Supports

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 Forms ©Pendragon

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 for debugging

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 ©Form Event Handler ©App.

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 ©Call App. Start

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 forms ©Clean-up

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 desktop supports COM

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

Conduits – Functionality ©Decide what functionality your conduit will implement ©Two-way mirror image synchronization

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 ©QAB

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 pixel wide

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 framework

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 on the

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!