350 likes | 394 Views
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
E N D
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
Shipping Palm OS Devices Device OS Memory Features Palm Vx 3.5 8MB Slim, rechargeable Palm IIIc 3.5 8MB Color, rechargeable Palm VIIx 3.5 8MB Web Clipping Palm m100 3.5 2MB Low end Palm m105 3.5 8MB Low end with more memory (IIIxe replacement) Symbol SPT 1500 3.0 2/4MB Barcode scanner Symbol SPT 17XX 3.2 2/8MB Barcode scanner, wireless Kyocera 6035 3.5 8MB Cell phone, Web clipping, rechargeable Handspring Visor 3.1 2/8MB Springboard slot, USB Handspring Prism 3.5 8MB Springboard slot, Color, rechargeable, USB Handspring Platinum 3.5 8MB VZ processor (faster), USB, springboard Handspring Edge 3.5 8MB Slim, rechargeable, USB, springboard Sony CLIE 3.5 8MB Memory stick, USB TRG Pro 3.3 8MB Compact Flash slot
Announced Palm OS Devices Device OS Memory Features Palm m500 4.0 8MB Slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm Palm m505 4.0 8MB Color, slim, rechargeable, expansion slot, USB cradle, universal connector, vibrating and silent alarm Samsung SPH-I300 3.5 8MB Cellular phone, color, slim, rechargeable, 160x240 resolution Garmin ? ? Embedded GPS
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 - 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
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="PalmComputingPlatform" CONTENT="TRUE"> • <META NAME="PalmLauncherRevision" 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.TargetYourHand.com (soon) • www.PalmOS.com • Get on the PalmDev mailing list • Mailing list archive at www.Escribe.com
Fin • Questions? • Thanks!