Palm OS emulator Palm OS Development Overview Architecture



































- Slides: 35
Palm OS emulator
Palm OS Development • • • Overview Architecture Palm OS Application Development Conduit Development Web Clipping
Overview • Numbers • Devices
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
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 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 – 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 – Graffiti
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 • Demonstration
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 – Gremlins – Code. Warrior integration
POSE • Demonstration
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. Start – Message loop – App. Stop • Resources
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 - 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 – Demo
Conduits • Development Tools • Functionality • Conduit Wizard Demo
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 – Upload from the organizer – Download to the organizer – Custom
Conduit Wizard • Demonstration
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. Revision" CONTENT="X"> • • <smallscreenignore> %deviceid %zipcode Frames aren’t supported
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
QAB - Demo • Demonstration
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!