palm os emulator

35
Palm OS emulator

Upload: urania

Post on 09-Feb-2016

77 views

Category:

Documents


3 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Palm OS emulator

Palm OS emulator

Page 2: Palm OS emulator

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

Page 3: Palm OS emulator

Overview• Numbers• Devices

Page 4: Palm OS emulator

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

Page 5: Palm OS emulator

Overview - Numbers

Page 6: Palm OS emulator

Shipping Palm OS DevicesDevice 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

Page 7: Palm OS emulator

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

Page 8: Palm OS emulator

Architecture• Motorola 68k Processor• User Interface• Graffiti handwriting recognition• Wireless

Page 9: Palm OS emulator

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

Page 10: Palm OS emulator

Architecture – User Interface

Page 11: Palm OS emulator

Architecture – Graffiti

Page 12: Palm OS emulator

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)

Page 13: Palm OS emulator

The back-end• Palm Desktop• HotSync• Conduits

Page 14: Palm OS emulator

The back-end

• Demonstration

Page 15: Palm OS emulator

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.

Page 16: Palm OS emulator

POSE• Palm OS Emulator• Windows, Mac & Linux• Uses ROM images• Useful for debugging– Gremlins– CodeWarrior integration

Page 17: Palm OS emulator

POSE

• Demonstration

Page 18: Palm OS emulator

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

Page 19: Palm OS emulator

A simple C app• Functions– Palm Main– Application Event Handler– Form Event Handler– AppStart–Message loop– AppStop

• Resources

Page 20: Palm OS emulator

C app – PalmMain• Check ROM version• Check launch code• Call AppStart• Open first form• Run the App Event Loop• Call AppStop

Page 21: Palm OS emulator

C app - AppStart• Open and/or Create database(s)• Load preferences

Page 22: Palm OS emulator

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 );}

Page 23: Palm OS emulator

C app - AppStop• Save preferences• Close Databases• Close all open forms• Clean-up

Page 24: Palm OS emulator

C app – Demo

Page 25: Palm OS emulator

Conduits• Development Tools• Functionality• Conduit Wizard Demo

Page 26: Palm OS emulator

Conduits – Development Tools

• Tools:–Microsoft VC++– Delphi– 4.0 desktop supports COM

Page 27: Palm OS emulator

Conduits – Functionality• Decide what functionality your

conduit will implement– Two-way mirror image synchronization– Upload from the organizer– Download to the organizer– Custom

Page 28: Palm OS emulator

Conduit Wizard

• Demonstration

Page 29: Palm OS emulator

Web Clipping• Index vs. Local vs. Remote pages• Elaine• Tags• Tables• QAB

Page 30: Palm OS emulator

Web Clipping – Tags• <META NAME="PalmComputingPlatform"

CONTENT="TRUE"> • <META NAME="PalmLauncherRevision"

CONTENT="X">

• <smallscreenignore>• %deviceid• %zipcode• Frames aren’t supported

Page 31: Palm OS emulator

Web Clipping – Tables• Tables are supported• Palm OS devices have 160 pixel wide

screens, fixed width tables could end up with horizontal scrolling

Page 32: Palm OS emulator

Web Clipping – QAB• Query Application Builder• Takes simple HTML and provides

framework

Page 33: Palm OS emulator

QAB - Demo

• Demonstration

Page 34: Palm OS emulator

Resources• www.TargetYourHand.com (soon)• www.PalmOS.com• Get on the PalmDev mailing list• Mailing list archive at

www.Escribe.com

Page 35: Palm OS emulator

Fin• Questions?• Thanks!