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 FeaturesPalm Vx 3.5 8MB Slim, rechargeablePalm IIIc 3.5 8MB Color, rechargeablePalm VIIx 3.5 8MB Web ClippingPalm m100 3.5 2MB Low endPalm 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,
wirelessKyocera 6035 3.5 8MB Cell phone, Web
clipping, rechargeableHandspring Visor 3.1 2/8MB Springboard slot, USBHandspring Prism 3.5 8MB Springboard slot, Color,
rechargeable, USBHandspring Platinum 3.5 8MB VZ processor (faster),
USB, springboardHandspring Edge 3.5 8MB Slim, rechargeable,
USB, springboardSony CLIE 3.5 8MB Memory stick, USBTRG Pro 3.3 8MB Compact Flash slot
Announced Palm OS Devices
Device OS Memory FeaturesPalm 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 – 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 Loopstatic 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
• <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!