Palm OS Development
Target Your Hand
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
Palm Palm Palm Palm Palm Vx IIIc VIIx m100 m105
OS Memory
3.5 3.5 3.5 3.5 3.5
3.0 3.2 3.5 3.1 3.5 3.5 3.5 3.5 3.3
Features
Slim, rechargeable Color, rechargeable Web Clipping Low end Low end with more memory (IIIxe replacement) Barcode scanner 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
8MB 8MB 8MB 2MB 8MB
2/4MB 2/8MB 8MB 2/8MB 8MB 8MB 8MB 8MB 8MB
Symbol SPT 1500 Symbol SPT 17XX Kyocera 6035 Handspring Visor Handspring Prism Handspring Platinum Handspring Edge Sony CLIE TRG Pro
Announced Palm OS Devices
Device
Palm m500
OS Memory
4.0 8MB
Features
Slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm
Color, slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm Cellular phone, color, slim, rechargeable, 160x240 resolution Embedded GPS
Palm m505
4.0
8MB
Samsung SPH-I300
3.5
8MB
Garmin
?
?
Architecture
Motorola 68k Processor User Interface Graffiti handwriting recognition Wireless
Architecture – Processor
Motorola 68x328 Dragon Ball 16-33 MHz Similar processing power of an early
Macintosh 8MB RAM addressable Single UART for serial and IrDA
Architecture – User Interface
Architecture – Graffiti
Architecture - Wireless
Palm VII
Integrated transceiver Mobitext network Lacks full TCP/IP support Supports InetLib which provides an
HTTP oriented interface No cookie support (OS 4.0 will have cookie support)
The back-end
Palm Desktop HotSync Conduits
The back-end
Demonstration
Palm OS App Development
C++ - CodeWarrior, GNU Satellite Forms CASL Forms Pendragon Forms Visual Basic (Appforge) Java 2 Micro Edition Misc – nBasic, TinyC, Forth, etc.
POSE
Palm OS Emulator Windows, Mac & Linux Uses ROM images Useful for debugging
Gremlins CodeWarrior 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 64k limit to record length Records may be Deleted or Archived
A simple C app
Functions
Palm Main Application Event Handler Form Event Handler AppStart Message loop AppStop
Resources
C app – PalmMain
Check ROM version Check launch code Call AppStart Open first form Run the App Event Loop Call AppStop
C app - AppStart
Open and/or Create database(s) Load preferences
C app - Message Loop
static void AppEventLoop(void) { UInt16 error; EventType event; do { EvtGetEvent( &event, evtWaitForever ); if ( ! SysHandleEvent( &event ) ) if ( ! MenuHandleEvent( 0, &event, &error ) ) if ( ! AppHandleEvent( &event ) ) FrmDispatchEvent( &event ); } while ( event.eType != appStopEvent ); }
C app - AppStop
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
%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.TargetYourHand.com (soon) www.PalmOS.com Get on the PalmDev mailing list Mailing list archive at
www.Escribe.com
Fin
Questions? Thanks!