Developing Handhelds - Slides 6pp

download Developing Handhelds - Slides 6pp

of 9

Transcript of Developing Handhelds - Slides 6pp

  • 8/14/2019 Developing Handhelds - Slides 6pp

    1/9

    Developing Handhelds

    Targeting Personal Digital Assistant Platforms

    Sasmito Adibowo

    Arcle Technologies

    http://www.arcle.com

    June 6, 2002

    Agenda

    Looking Ahead...

    PGeneral Issues

    PPlatform OverviewsPDevelopment Tools

    PBusiness Summary

    General Issues

    ... a handheld is not a PC. Bigger is notnecessarily better. Speed is notmeasured in megahertz or MIPS, oreven FLOPS for that matter. Developerswill need to shift paradigms whentargeting handhelds...

    General Issues

    Opposite Usage Patterns

    People generally usehandhelds in frequent, shortbursts; while people work onPCs for several hours at atime.

    Accesses per day

    Average sessiontime (minutes)Source: Palm, Inc user surveys

    Waiting a few minutes for a PC to bootand a wordprocessor to load is acceptableif ones going to write a paper for twohours.If the sole purpose of turning on the

    handheld is just to look up somebodysphone number to call, waits can befrustrating.

    General Issues

    User Interface

    PSmall screen, most are 6cm * 7cm, some aresmaller.

    PLimited resolution and color.

    PSmall or no keyboard.

    PStylus, not mouse programming will beslightly different.

    PLess taps is better.

    General Issues

    Memory Considerations

    PMost handhelds do not carry secondarystorage all data are stored in the mainmemory.

    POut-of-memory situations will occur moreoften applications must degrade gracefullyinstead of simply terminating.

    PMemory grew from 2MB, 8MB, to 64MB. Butas handhelds grew smaller, dont expect thattrend to continue.

  • 8/14/2019 Developing Handhelds - Slides 6pp

    2/9

  • 8/14/2019 Developing Handhelds - Slides 6pp

    3/9

    PGeneral memoryallocation/de-allocation.

    PTwo types of memory:< Moveable chunks (handles).< Fixed chunks (pointers).

    Palm OS

    Memory Manager

    PHeap compaction

  • 8/14/2019 Developing Handhelds - Slides 6pp

    4/9

    Windows CE

    Platform Overview

    PVersion 3.0 renamed to Pocket PC.

    PAvailable in three form factors:

  • 8/14/2019 Developing Handhelds - Slides 6pp

    5/9

    Lineo Embedix

    Platform Overview

    PMostly standard Linux system with kernelversion 2.4.

    PBusybox provides a subset of POSIXcommand-line utilities.

    PQt/Embedded GUI, virtual framebuffer.

    PPersonalJava 1.2 environment included.

    PBase applications provided by Qt Palmtop.

    PRoot filesystem mounted asRAM disk.

    PAll data are managed asregular files.

    PThe Java VM is handled likea regular process.

    Lineo Embedix

    Memory Information

    Source: SL-Series Memory Information forJavaTM & Qt/Embedded Applications

    Development Tools

    Discussion Scope

    PNative-code compilers.

    PBytecode or source interpreters.

    PJava environments (VM, libraries,and tools).

    Native Code Compilers

    CodeWarrior for Palm OS

    PThe official development tool for the PalmOS.

    PUses C, C++, or Motorola 68K assemblylanguage, program directly to the Palm OSAPI.

    PHost platform: Windows or Mac.

    PC++ Support:

  • 8/14/2019 Developing Handhelds - Slides 6pp

    6/9

    Native Code Compilers

    Microsoft eMbedded Visual Tools

    PMicrosofts CE development toolset.

    PComponents:< eMbedded Visual C++.< eMbedded Visual Basic.

  • 8/14/2019 Developing Handhelds - Slides 6pp

    7/9

  • 8/14/2019 Developing Handhelds - Slides 6pp

    8/9

    Java Environments

    KVM Reference Implementation

    PFocus on connected devices.

    PMultithreading support.PVM size: 50K 80K, working memory: 128K.

    PCurrent target: Palm OS. Desktop: Windowsand Solaris.

    PNo native support.

    PContact:http://java.sun.com/products/cldc/ds/

    Java Environments

    Jeode PDA Edition

    PPersonalJava 1.2 compliant VM certified bySun.

    PComplete JNI support.

    PTargets: Windows CE, Linux (X11,Qt/Embedded, QPE).

    PDynamic Adaptive Compilation (DAC).

    PContact: http://www.insignia.com

    Java Environments

    Waba

    PStrict subset of Java: language, class file,bytecode format.

    PCross-platform VM: Palm OS, Windows CE,Newton, TI, even DOS.

    PSmall footprint

  • 8/14/2019 Developing Handhelds - Slides 6pp

    9/9

    Business Summary

    Targeting Linux

    PPros