download slide

29
Report On Palm OS Report On Palm OS Ancita J.Vaz Ancita J.Vaz ID#999291975 ID#999291975 EMAIL:[email protected] EMAIL:[email protected]

Upload: sammy17

Post on 06-May-2015

522 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Download Slide

Report On Palm OSReport On Palm OS  

Ancita J.VazAncita J.Vaz

ID#999291975ID#999291975

EMAIL:[email protected]:[email protected]

  

  

Page 2: Download Slide

1. INTRODUCTION

The Palm OS is the standard for handheld computing, a The Palm OS is the standard for handheld computing, a new form of computing focused on helping you manage new form of computing focused on helping you manage and access all the information in your life, at any time, in and access all the information in your life, at any time, in any location.any location.

Palm Powered handhelds are the way that everyone can Palm Powered handhelds are the way that everyone can manage personal information, work with corporate manage personal information, work with corporate applications and data, and mine the richness of the web. applications and data, and mine the richness of the web.

They have by far the most users, the most software They have by far the most users, the most software programs, the most hardware options, and the most programs, the most hardware options, and the most manufacturers; and yet are still the simplest handhelds to manufacturers; and yet are still the simplest handhelds to learn and use. learn and use.

Page 3: Download Slide

The reasons for the popularity of the Palm OS are:

The most software

One of the best features of this is the huge range of software programs you can run on them.

The most hardware optionsThey are designed to be wearable , small and lightweight and can be easily expandable

The most manufacturers The Palm OS is an open standard, licensed to many

manufacturers like Handspring, Motorola, IBM, Kyocera, Nokia, Samsung, Sony, Symbol, Franklin Covey, and TRG.

Page 4: Download Slide

2.THE PALM OS PLATFORM

Page 5: Download Slide

The Palm OS platform consists of five primary

components:

1.Palm OS® software 1.Palm OS® software

2.Reference hardware design 2.Reference hardware design

3.HotSync® conduit data synchronization technology for one-button 3.HotSync® conduit data synchronization technology for one-button synchronization synchronization

4.Platform component tools including an API that enables developers 4.Platform component tools including an API that enables developers to write applications to write applications

5.Software interface capabilities to support hardware add-ons5.Software interface capabilities to support hardware add-ons

Page 6: Download Slide

In Depth: Device applications such as HTML-based web clipping applications allow Device applications such as HTML-based web clipping applications allow

websites to deliver compressed information to users in under 10 seconds, on websites to deliver compressed information to users in under 10 seconds, on average. average.

Graffiti® power writing software allows users to quickly and accurately enter Graffiti® power writing software allows users to quickly and accurately enter information into their handheld devices. information into their handheld devices.

System libraries let developers easily extend the functionality of the Palm OS. System libraries let developers easily extend the functionality of the Palm OS. An internal software map of how the hardware works, the hardware abstraction An internal software map of how the hardware works, the hardware abstraction

layer gives developers the flexibility to modify the Palm OS without having to layer gives developers the flexibility to modify the Palm OS without having to rewrite code each time a change is made. rewrite code each time a change is made.

Localization architecture makes it easy to localize an application by putting all Localization architecture makes it easy to localize an application by putting all localizable data into an overlay file. localizable data into an overlay file.

The application interface makes it easy to access a function or launch an The application interface makes it easy to access a function or launch an application by pushing a clearly labeled onscreen button instead of navigating application by pushing a clearly labeled onscreen button instead of navigating through a menu. through a menu.

Intelligent compression formats the most important information for display on a Intelligent compression formats the most important information for display on a single screen, visible without scrolling single screen, visible without scrolling

Page 7: Download Slide

2.OVERVIEW OF OS

PalmOS actually includes a preemptive multitasking microkernel . PalmOS actually includes a preemptive multitasking microkernel . Each PalmOS application has one PilotMain which receives all events Each PalmOS application has one PilotMain which receives all events for the application, and decides how to route them. One task runs the for the application, and decides how to route them. One task runs the user interface. Other tasks handle things like monitoring input from user interface. Other tasks handle things like monitoring input from the tablet. The user interface permits only one application to be open the tablet. The user interface permits only one application to be open at a time.In the following sections we discuss the OS in detail.at a time.In the following sections we discuss the OS in detail.

Page 8: Download Slide

The Memory Architecture

Hardware OverviewHardware Overview

The Memory ManagerThe Memory Manager

The Dynamic Heap The Dynamic Heap

The Data Manager The Data Manager

The Storage Heap(S)The Storage Heap(S)

PreferencesPreferences

File Streams File Streams

Features Features

Memory ResetMemory Reset

Storing DataStoring Data

Page 9: Download Slide

  

Hardware Overview

   All Palm OS memory is considered All Palm OS memory is considered

part of a card.part of a card. RAM and ROM RAM and ROM coexist on the same card.The OS coexist on the same card.The OS can support multiple cards in a can support multiple cards in a device, theoretically up to 256 cardsdevice, theoretically up to 256 cards

ROM -- Contains the ROM -- Contains the operating system, built in operating system, built in applications, and default databases. applications, and default databases. ROM sizes to date vary from 512K ROM sizes to date vary from 512K to 2M.to 2M.

RAM -- Contains add-on RAM -- Contains add-on applications, system preferences, applications, system preferences, user data, and run time storage. user data, and run time storage. RAM sizes to date vary from 128K RAM sizes to date vary from 128K to 2M. Palm OS can currently to 2M. Palm OS can currently support up to 12M of RAM on a support up to 12M of RAM on a single memory card single memory card

Page 10: Download Slide

Memory Cards

Each card that includes ROM has a header with the manufacturer, Each card that includes ROM has a header with the manufacturer, name, a 4 byte signature, a version, and a list of the size and offset of name, a 4 byte signature, a version, and a list of the size and offset of each block of RAM or ROM on the card. each block of RAM or ROM on the card.

All RAM is considered one store, and ROM is considered another All RAM is considered one store, and ROM is considered another store, and the OS assumes a maximum of 2 stores per card. A store is a store, and the OS assumes a maximum of 2 stores per card. A store is a largely invisible abstraction that is simply a container for an identifier, largely invisible abstraction that is simply a container for an identifier, a list of heaps, and a database directory. The store header helps a list of heaps, and a database directory. The store header helps determines the validity of RAM on a given card. determines the validity of RAM on a given card.

Macintosh Simulator has a second card which contains the application Macintosh Simulator has a second card which contains the application code and resources. This second card aids in simulating the separation code and resources. This second card aids in simulating the separation of RAM and ROM of an actual device. of RAM and ROM of an actual device.

Page 11: Download Slide

Memory Partitioning

The RAM and ROM are further The RAM and ROM are further divided into heaps, with a small divided into heaps, with a small amount of RAM that is not in amount of RAM that is not in any heap reserved for low any heap reserved for low memory globals, store headers, memory globals, store headers, and the like. The memory is and the like. The memory is used for various OS subsystems used for various OS subsystems and also contains the trap and also contains the trap dispatch table. Applications dispatch table. Applications should not read or write this should not read or write this memory directly. Palm OS memory directly. Palm OS instead provides documented instead provides documented APIs to access many of these APIs to access many of these values. values.

  

Page 12: Download Slide

The Memory Manager

 

The subsystem that is responsible for managing allocations from a heap The subsystem that is responsible for managing allocations from a heap is called the Memory Manager. All three heaps: dynamic, storage, and is called the Memory Manager. All three heaps: dynamic, storage, and ROM, are controlled by the same memory manager. Memory manager ROM, are controlled by the same memory manager. Memory manager structures are described in structures are described in MemoryPrvNew.hMemoryPrvNew.h. The applications . The applications typically only use the Memory Manager APIs directly to access the typically only use the Memory Manager APIs directly to access the dynamic heap. The Data Manager APIs provide high level access to dynamic heap. The Data Manager APIs provide high level access to the storage heap data, and the ROM heaps are not normally used the storage heap data, and the ROM heaps are not normally used directly by an application. directly by an application.

Page 13: Download Slide

Heap Allocations

The Memory Manager allows clients to allocate two types of The Memory Manager allows clients to allocate two types of memory, movable chunks and fixed chunks, more commonly memory, movable chunks and fixed chunks, more commonly called handles and pointers. called handles and pointers.

The terms "pointer" and "handle" normally refer to the 4-byte variable The terms "pointer" and "handle" normally refer to the 4-byte variable that references memory, rather than to memory itself. One main that references memory, rather than to memory itself. One main distinction between pointers and handles is that pointers stay at a fixed distinction between pointers and handles is that pointers stay at a fixed address as long as they exist.address as long as they exist.

Handles can be moved in the heap at virtually any time, and so must Handles can be moved in the heap at virtually any time, and so must be locked down before they can be used. The memory manager is free be locked down before they can be used. The memory manager is free to move unlocked handles around in memory, which is may do to to move unlocked handles around in memory, which is may do to reduce fragmentation and service other allocation requests. reduce fragmentation and service other allocation requests.

By convention, movable chunks are kept near the beginning of the By convention, movable chunks are kept near the beginning of the heap, at lower addresses. Fixed chunks are kept at the end of the heap, heap, at lower addresses. Fixed chunks are kept at the end of the heap, at higher addresses. This is done to facilitate heap compaction. at higher addresses. This is done to facilitate heap compaction.

Page 14: Download Slide

Heap Structure

Header. Each heap has a header Header. Each heap has a header with a heap ID, status flags, the with a heap ID, status flags, the heap size, and the master pointer heap size, and the master pointer table.. table..

Master Pointer Table. The Master Pointer Table. The master pointer table is a master pointer table is a dynamically-built table of dynamically-built table of persistent handles which map to persistent handles which map to the location for each chunk. the location for each chunk.

Chunks. The remainder of the Chunks. The remainder of the heap consists of the three kinds heap consists of the three kinds of chunks (free, movable, and of chunks (free, movable, and fixed.) fixed.)

Terminator. Essentially a zero-Terminator. Essentially a zero-length chunk, only 4 bytes wide, length chunk, only 4 bytes wide, used to detect the end of the used to detect the end of the heap when iterating through heap when iterating through chunk by chunk. chunk by chunk. 

Page 15: Download Slide

The chunk header always contains the The chunk header always contains the size of the chunk, in bytes, and a flag size of the chunk, in bytes, and a flag that identify a chunk as free or that identify a chunk as free or allocated, and an owner ID. For allocated, and an owner ID. For allocated chunks, a size adjust may be allocated chunks, a size adjust may be stored which defines "pad" bytes at stored which defines "pad" bytes at the end of the chunk which are not the end of the chunk which are not considered part of the allocation. This considered part of the allocation. This allows the memory manager to keep allows the memory manager to keep track of very small runs of bytes track of very small runs of bytes which could not otherwise be used. which could not otherwise be used. Chunks are always immediately next Chunks are always immediately next to each other, so every chunk in the to each other, so every chunk in the heap can be found by starting at the heap can be found by starting at the first chunk and offsetting by the first chunk and offsetting by the chunks size to find the next chunk. chunks size to find the next chunk. Chunks can be split and combinedChunks can be split and combined as as necessary to accommodate memory necessary to accommodate memory manager operations. manager operations.

Page 16: Download Slide

Allocating and Managing The Free ListWhen an allocation is made, a large enough free chunk is located by walking the

heap from the beginning. If the chunk is large enough to accommodate the request and still have free space left over, it is split and a new smaller free chunk is created. If it is not large enouh for this extra chunk, the whole free chunk is used. When a chunk is released, it is simply marked as free.

Heap CompactionThe goal of compaction is to coalesce all the free memory into a single

contiguous chunk so that a large allocation can be made. The memory manager compacts the heap by moving unlocked movable chunks down (to lower addresses) to fill in the free spaces. When a fixed or locked chunk is encountered, the memory manager searches the rest of the heap for the largest unlocked movable chunk that can fit into the space remaining below the fixed or locked chunk.

Memory Manager Protection Write protection is in effect on the storage heap(s) and is enforced by setting the

hardware chip selects to mark that memory as read only. In order to write to a protected heap, the memory manager first acquires the semaphore to ensure that no other task is modifying memory manager structures. It then disables task switching and enables hardware write permission to the protected area.

Page 17: Download Slide

The Dynamic Heap

On a card with RAM, the first RAM heap, (typically heap 0,) is used as On a card with RAM, the first RAM heap, (typically heap 0,) is used as the dynamic heap. The size of the dynamic heap varies from device to the dynamic heap. The size of the dynamic heap varies from device to device, and in general has gotten larger as newer devices are device, and in general has gotten larger as newer devices are introduced. Dynamic heap space is possibly the most valuable introduced. Dynamic heap space is possibly the most valuable resource for Palm OS developers, and should be used sparingly. The resource for Palm OS developers, and should be used sparingly. The devices that run the 1.0 release have only 32K of dynamic heap. devices that run the 1.0 release have only 32K of dynamic heap. Devices that run 2.0 have either 32K or 64K of dynamic heap, Devices that run 2.0 have either 32K or 64K of dynamic heap, however on the 64K devices 32K is reserved for TCP/IP use, so the however on the 64K devices 32K is reserved for TCP/IP use, so the space available for other purposes is still only 32K. 3.0 devices to date space available for other purposes is still only 32K. 3.0 devices to date have 96K of dynamic heap, still with 32K reserved for TCP/IP. The have 96K of dynamic heap, still with 32K reserved for TCP/IP. The dynamic heap is intended to be used as temporary storage for all run dynamic heap is intended to be used as temporary storage for all run time operations on a given device. Data in the dynamic heap is not time operations on a given device. Data in the dynamic heap is not preserved across reset. preserved across reset.

Page 18: Download Slide

Dynamic Heap Contents Global data for the operating system: This includes things like font tables, Global data for the operating system: This includes things like font tables,

kernel data, event queues, kernel and interrupt stacks, kernel structures, kernel data, event queues, kernel and interrupt stacks, kernel structures, and everything necessary to maintain operating system services. and everything necessary to maintain operating system services.

TCP/IP stack: When TCP/IP was added, an additional 32K of dynamic TCP/IP stack: When TCP/IP was added, an additional 32K of dynamic heap was made available to accommodate the TCP/IP stack. heap was made available to accommodate the TCP/IP stack.

Library data: Like the TCP/PI stack, the serial, IR, and other libraries use Library data: Like the TCP/PI stack, the serial, IR, and other libraries use some dynamic heap memory for their buffers and state when they are in some dynamic heap memory for their buffers and state when they are in use. use.   

Application UI data structures: Things like windows, forms, fields, tables, Application UI data structures: Things like windows, forms, fields, tables, bitmaps behind windows, etc. created by the various Palm OS services at bitmaps behind windows, etc. created by the various Palm OS services at the request of a running application. the request of a running application.

Buffers: Space for pen strokes, key presses, system events, serial manager Buffers: Space for pen strokes, key presses, system events, serial manager data, video memory, etc. data, video memory, etc.

Application global variables: These are loaded when application is loaded. Application global variables: These are loaded when application is loaded. By convention they are based on the By convention they are based on the A5A5 register and can not move or register and can not move or change size while the application is running.  change size while the application is running. 

Application constant data: Most compilers by default generate code to Application constant data: Most compilers by default generate code to store things like strings and array initializers with the globals. store things like strings and array initializers with the globals.

Application stack: Used for parameters and return addresses for both Application stack: Used for parameters and return addresses for both application functions and called system functions. application functions and called system functions.

Page 19: Download Slide

Memory Ownership

Each chunk in the dynamic heap has an Each chunk in the dynamic heap has an owner. When a chunk is allocated, the owner. When a chunk is allocated, the memory manager assigns that chunk memory manager assigns that chunk the ownerID of the running the ownerID of the running application. The ownerID does not application. The ownerID does not uniquely identify any application, uniquely identify any application, rather it is assigned from a small pool rather it is assigned from a small pool (currently 16) when an app starts, and (currently 16) when an app starts, and the ID is reclaimed and reused when the ID is reclaimed and reused when the app exits. This owner ID is the app exits. This owner ID is primarily used to clean up any left primarily used to clean up any left over chunks when an application over chunks when an application exits. On app exit, the system frees all exits. On app exit, the system frees all chunks with the owner ID of the (no chunks with the owner ID of the (no longer) running application. longer) running application.

Page 20: Download Slide

The Data Manager

  Palm OS DatabasesPalm OS Databases

Palm OS divides databases into two major categories: record Palm OS divides databases into two major categories: record and resource databases.. Record databases access records by an index or a and resource databases.. Record databases access records by an index or a unique ID, can sort records by a key field, and data can be retrieved either unique ID, can sort records by a key field, and data can be retrieved either directly using the index or via a search on the unique ID or key. Resource directly using the index or via a search on the unique ID or key. Resource databases index resources by a 4-byte resource type and a 2-byte resource ID, databases index resources by a 4-byte resource type and a 2-byte resource ID, and resources are retrieved using the type/id combination. and resources are retrieved using the type/id combination.

Records and Record DatabasesRecords and Record Databases

Record databases are most common for data storage, as they are Record databases are most common for data storage, as they are more structured than resource databases. The system provides more more structured than resource databases. The system provides more management functionality for record databases than for resource databases.The management functionality for record databases than for resource databases.The system can spread records among all storage heaps on the same store system can spread records among all storage heaps on the same store

Resources and Resource DatabasesResources and Resource Databases

Resource databases can be used for free-form storage. The system Resource databases can be used for free-form storage. The system provides management of resource ID's and of resource types but nothing provides management of resource ID's and of resource types but nothing beyond that, so resource databases have lower overhead than record databases. beyond that, so resource databases have lower overhead than record databases. They provide a natural way for storing static heterogeneous data They provide a natural way for storing static heterogeneous data

Page 21: Download Slide

The Storage Heap(s) The storage heap is used for persistent storage. Unlike the dynamic heap, storage

heap memory is not cleared when the device is reset, and has additional protections against inadvertent overwriting. All persistent user applications and data is kept in the storage heap, in one form or another.

Preferences The OS provides two databases that can be used to store small amounts of data for

an application that is not associated with a particular application database. These provide good places to store things like user display choices, high score..

File Streams New in the 3.0 release is an API to access data using streaming operations such as

open, close, read, write, and seek. This API allows access to data streams larger than 64K in size. The data streams can be temporary or permanent.

Features The OS provides an API for storing and retrieving small (4 byte) amounts of data The OS provides an API for storing and retrieving small (4 byte) amounts of data

that do not persist across resets, called features. Each feature is identified by a 4 that do not persist across resets, called features. Each feature is identified by a 4 byte creatorID and a 2 byte index. Features were intended to allow the OS, byte creatorID and a 2 byte index. Features were intended to allow the OS, libraries, and extensions to "publish" information about what they support and libraries, and extensions to "publish" information about what they support and their version their version

Page 22: Download Slide

Memory ResetA reset is normally performed by sticking a bent-open paper clip or equivalent

poking device into a small hole in the back of the device and pressing a button known as the "reset switch." A soft reset clears all of the low memory globals and dynamic heap. A hard reset is performed by pressing the reset switch while holding down the power key. A confirmation message is displayed, asking the user to confirm the deletion of all data.

Storing Data The data can be stored in:• Global Variables• Stack • Dynamic Heap • Application Resources • Record Databases • AppInfo Data in a Database• Unsaved Preferences Database • Saved Preferences Database • File Streams • Features and Feature Pointers

Page 23: Download Slide

EVENTS A Palm OS application is event-driven. Events arrive, like pen

down or key down, and your application responds to them. Some events are handled by your application; others are handled by the operating system. Once your application begins, it enters an event loop, repeatedly getting, then handling an event.

FORMS AND CONTROLS The Palm OS has built-in support for various controls and for

managing forms. Forms are similar to windows on a desktop operating system. Because of the simpler user interface on the Palm OS, only one form is active even though several forms may be displayed. The Palm OS provides a rich API for forms that includes many user-interface elements.

COMMUNICATIONS  The Palm OS supports a variety of communication methods.

Current communication protocols are:• Serial communication. • TCP/IP with a socket interface. • Infrared. Low-level infrared support is via IrDA (Infrared Data (Infrared Data

Assocation). Assocation).

Page 24: Download Slide

4.THE HANDHELD DEVICE 

The handheld device is one part of the Palm application.Some of its prominent The handheld device is one part of the Palm application.Some of its prominent parts are:parts are:

Screen : The touch sensitive screen is 160 by 160 pixels. Screen : The touch sensitive screen is 160 by 160 pixels. Writing Area : Here ís where you will enter text using either GraffitiÆ, a Writing Area : Here ís where you will enter text using either GraffitiÆ, a

simplified script, or an on-screen keyboard. simplified script, or an on-screen keyboard. Hardware Buttons : These buttons launch the four main applications. Hardware Buttons : These buttons launch the four main applications.

  Scroll Buttons : These buttons page up or down. Scroll Buttons : These buttons page up or down. Power : This button turns your Palm device on or off. Holding it down for at Power : This button turns your Palm device on or off. Holding it down for at

least two seconds toggles the backlighting. least two seconds toggles the backlighting. Silkscreen Buttons: Tap these buttons to use them. Silkscreen Buttons: Tap these buttons to use them.

Page 25: Download Slide

5. OVERVIEW OF CONDUITS

The second part of the Palm application is The second part of the Palm application is the desktop connection. Because Palm the desktop connection. Because Palm devices act as an extension of the devices act as an extension of the desktop, it is crucial that information desktop, it is crucial that information be easily exchanged. Conduits are the be easily exchanged. Conduits are the mechanism for doing this.A conduit is mechanism for doing this.A conduit is code on the desktop that is called code on the desktop that is called during a HotSync synchronization to during a HotSync synchronization to manage the flow of information to and manage the flow of information to and from databases on the handheld. from databases on the handheld. Conduits register the database or Conduits register the database or databases for which they are databases for which they are responsibleresponsible . . Each database should Each database should have only one conduit responsible for have only one conduit responsible for it.Conduits) are created using Conduit it.Conduits) are created using Conduit Development Kits for Windows (C/C+Development Kits for Windows (C/C++), Mac OS (C/C++), or Java. +), Mac OS (C/C++), or Java.

Page 26: Download Slide

6.HANDHELD DEVELOPMENT

For the development of the handheld For the development of the handheld portion of your Palm application, portion of your Palm application, you can write code on Windows you can write code on Windows 95/98/NT, Unix, or Macintosh 95/98/NT, Unix, or Macintosh platforms. Palm's official platforms. Palm's official development environment, development environment, CodeWarrior, is available for both CodeWarrior, is available for both Windows and Macintosh. POSE is Windows and Macintosh. POSE is the application which is a further the application which is a further development of Copilot. It serves as development of Copilot. It serves as a replacement for an actual Palm OS a replacement for an actual Palm OS device while you do development. device while you do development. Because it can load a ROM image Because it can load a ROM image from disk, it usefully emulates from disk, it usefully emulates different versions of the Palm OS different versions of the Palm OS

Page 27: Download Slide

7.The features of Palm OS version 4.0

The newest Palm OS® operating system, version 4.0, supports the growing The newest Palm OS® operating system, version 4.0, supports the growing expansion opportunities and includes convenient new features such as: expansion opportunities and includes convenient new features such as:

Enhanced Security – You can put an automatic lock on your handheld, assign Enhanced Security – You can put an automatic lock on your handheld, assign a password and encrypt sensitive data to keep information safea password and encrypt sensitive data to keep information safe

View and Clear Multiple Alarms - Go to one place to view all the Alarms you View and Clear Multiple Alarms - Go to one place to view all the Alarms you have set. Clear multiple alarms with a single tap.have set. Clear multiple alarms with a single tap.

Set Silent Alarms - If you're in meetings you can set vibrating or Set Silent Alarms - If you're in meetings you can set vibrating or LED/flashing light alarms on your m500 or m505 handheld. You can still LED/flashing light alarms on your m500 or m505 handheld. You can still choose to play a tune if that's your preference.choose to play a tune if that's your preference.

65,000 Color Support - View email, spreadsheets, eBooks, video clips and 65,000 Color Support - View email, spreadsheets, eBooks, video clips and photos in brilliant color photos in brilliant color   

Easier Data Entry - You can now use the on-screen keyboard and Graffiti® Easier Data Entry - You can now use the on-screen keyboard and Graffiti® writing at the same time.Switch back and forth without changing screens.writing at the same time.Switch back and forth without changing screens.

Wireless Internet and eMail access – You can install the included Mobile Wireless Internet and eMail access – You can install the included Mobile Connectivity Software on your Palm m500 or m505 handheld and use it toConnectivity Software on your Palm m500 or m505 handheld and use it to

• get information from your favorite websites get information from your favorite websites • send and receive email send and receive email • send short messages to other Palm handheld users or GSM phones worldwide. send short messages to other Palm handheld users or GSM phones worldwide.

Page 28: Download Slide

8.USES OF PALM OS  Early applications included an address book, a date book, to-do list and memo pad. Early applications included an address book, a date book, to-do list and memo pad.

This information can be transferred directly from/to your desktop databases by This information can be transferred directly from/to your desktop databases by synchronizing.   synchronizing.  

Further advances included development environments for creating your own Further advances included development environments for creating your own applications.  applications. 

Then came the development of enterprise database applications, spreadsheets, text Then came the development of enterprise database applications, spreadsheets, text and word processors.   and word processors.  

Recent hard and software additions allow reliable, secure, and cost effective Recent hard and software additions allow reliable, secure, and cost effective enterprise wireless & wired communications using a Palm. enterprise wireless & wired communications using a Palm. communication using radio frequency (Palm VII and web clipping). communication using radio frequency (Palm VII and web clipping).

Data entry on the Palm is not simply entering character by character in a field Data entry on the Palm is not simply entering character by character in a field (although it can be), but tends to be pick from a menu list, click on an icon, enter the (although it can be), but tends to be pick from a menu list, click on an icon, enter the first few characters and the rest fills itself in etc. first few characters and the rest fills itself in etc.

A lot of the power of the Web with its point and click methodology applies here. A lot of the power of the Web with its point and click methodology applies here. The business case must be analyzed carefully or you may end up with another The business case must be analyzed carefully or you may end up with another

novelty application (or worse, an application slower and more complex than the novelty application (or worse, an application slower and more complex than the desktop version). desktop version).

Page 29: Download Slide

9.What Palm OS Devices Don't Have and

Why? Almost more important than what Palm OS devices have is what they Almost more important than what Palm OS devices have is what they

lack. No Palm OS device has:lack. No Palm OS device has: A keyboard A keyboard Full text recognition Full text recognition An industry-standard PC card slot An industry-standard PC card slot A powerful processorA powerful processor Adding any of these features requires changing the magic combination of Adding any of these features requires changing the magic combination of

speed, size, and price that has made the Palm devices so popular. By speed, size, and price that has made the Palm devices so popular. By removing both the keyboard and any real way of handling text input in removing both the keyboard and any real way of handling text input in quantity, Palm Computing kept its focus on what kind of device it was quantity, Palm Computing kept its focus on what kind of device it was providing. Palm devices don't have a card slot, because they couldn't providing. Palm devices don't have a card slot, because they couldn't do it and keep the device small and cheap. Palm did install a do it and keep the device small and cheap. Palm did install a nonstandard memory card to give users the ability to upgrade the nonstandard memory card to give users the ability to upgrade the functionality. functionality.