White paper. Getting the Most Out of Your Intermec Pocket PC Application



Similar documents
White paper. Is Intermec s Bluetooth Device Utility Right for Me?

Considerations for Mobile Application Development

Power Tools. On the device, access Power Tools by tapping Start > Power Tools. Page

Enabling Supply Chain Visibility Through Mobile Computing

Make the Smart Choice

Virtual Serial Port over USB For PD & PC Series Printers

FAQ CE 5.0 and WM 5.0 Application Development

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Skynax. Mobility Management System. System Manual

BarTender s.net SDKs

System Requirements for Microsoft Dynamics NAV 2013 R2

DiskPulse DISK CHANGE MONITOR

Solving Healthcare Challenges. Increasing patient safety, reducing errors and improving efficiencies with Intermec Healthcare Solutions.

System Planning, Deployment, and Best Practices Guide

Important Bluetooth. and Software Considerations for Wireless Barcode Scanner Deployments

Dolphin Power Tools 8.x

VRC 7900/8900 Avalanche Enabler User s Manual

InfoPrint 4247 Serial Matrix Printers. Remote Printer Management Utility For InfoPrint Serial Matrix Printers

Topaz Installation Sheet

EMC RepliStor for Microsoft Windows ERROR MESSAGE AND CODE GUIDE P/N REV A02

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

Using MS-SQL Server with Visual DataFlex March, 2009

Managing Enterprise-wide Printing: The IT Challenge

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

QUICK START GUIDE Bluetooth Cordless Hand Scanner (CHS)

DOS to Windows CE Migration: How and Why to Develop Enterprise Mobility Applications for the Windows CE Environment

Your Ticket to Automation. Increase productivity and revenue, cut costs and improve officer safety with Intermec e-citation Solutions.

POS software: Microsoft Dynamics - Point of Sale FAQ

Expedite for Windows Software Development Kit Programming Guide

Windows Operating Systems. Basic Security

Rapid Assessment Key User Manual

Table of Contents. Pocket Label Gallery White Paper

InventoryControl for use with QuoteWerks Quick Start Guide

Whitepaper Document Solutions

SQLBase. Starter Guide

WinCon Programmable Automation. Controller

Quick Installation. A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding. Quick Installation

Version 2.10 Installation and Configuration Guide

SysPatrol - Server Security Monitor

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 3 Installing Windows

User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream

System Requirements for Microsoft Dynamics NAV 2015

KofaxExpress. Installation Guide

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

Take Your Retail Operation to New Heights

FortKnox Personal Firewall

Registry Tuner. Software Manual

Avalanche Enabler 5.3 User Guide

Contents. Hardware Configuration Uninstalling Shortcuts Black...29

Only Athena provides complete command over these common enterprise mobility needs.

Xerox Multifunction Devices. Verify Device Settings via the Configuration Report

3. Where can I obtain the Service Pack 5 software?

Pocket Verifier Smartphone Edition Release Version 1 User Guide and Tutorial for Windows Mobile 5 Smartphone Motorola Q Samsung i320

1 File Processing Systems

Computer and Set of Robots

Administering Windows-based HP Thin Clients with System Center 2012 R2 Configuration Manager SP1

FileMaker Server 15. Getting Started Guide

System Requirements for Microsoft Dynamics NAV 2016

Instruction manual. testo easyheat Configuration and Analysis software

FileMaker 11. ODBC and JDBC Guide

ebus Player Quick Start Guide

Metalogix SharePoint Backup. Advanced Installation Guide. Publication Date: August 24, 2015

System Management. What are my options for deploying System Management on remote computers?

Microsoft SQL Server Installation Guide

INFORMIX - Data Director for Visual Basic. Version 3.5

VX Search File Search Solution. VX Search FILE SEARCH SOLUTION. User Manual. Version 8.2. Jan Flexense Ltd.

Windows Embedded Security and Surveillance Solutions

VERITAS Backup Exec TM 10.0 for Windows Servers

System Requirements for Microsoft Dynamics NAV 2016

Getting Started. rp5800, rp5700 and rp3000 Models

Table of Contents. Rebit 5 Help

Compuprint 4247 Serial Matrix Printers

What's New with Servicing in Windows Embedded Standard 7

Getting Started with POS. Omni POS Getting Started Manual. switched on accounting

Zebra Link-OS Environment Version 2.0

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

A Zebra Technologies White Paper. Bar Code Printing from Oracle WMS and MSCA

Server. Version 3.7 Users Guide. Revised 5/28/03

Overview. Timeline Cloud Features and Technology

Assignment # 1 (Cloud Computing Security)

Getting Started. Symantec Client Security. About Symantec Client Security. How to get started

User Manual for Operation Staff Page 1 of 37. Table of Content

E-Series. Human Machine Interfaces. Evolution By Design MITSUBISHI ELECTRIC AUTOMATION, INC.

Table of Contents. Safety Warnings..3. Introduction.. 4. Host-side Remote Desktop Connection.. 5. Setting Date and Time... 7

Release Notes: PowerChute plus for Windows 95 and Windows 98

System Requirements for Microsoft Dynamics NAV 2016

SQL-BackTrack the Smart DBA s Power Tool for Backup and Recovery

White paper. Lowering Total Cost of Ownership Through Mobile Device Management

EZblue BusinessServer The All - In - One Server For Your Home And Business

Embarcadero ToolCloud for XE Quick Start Guide. ToolCloud for Embarcadero XE Products Last Published May 5, 2010

Point of Sale 2015 Enterprise. Installation Guide

UBDR and Microsoft Cluster Server

This user guide describes features that are common to most models. Some features may not be available on your computer.

High Availability Using Raima Database Manager Server

JAVA WEB START OVERVIEW

SageCRM 6.1. What s New Guide

Transcription:

White paper Getting the Most Out of Your Intermec Pocket PC Application

I. Overview Rather than focusing upon general application development techniques, this whitepaper focuses upon specific features of the Intermec Pocket PC mobile computers that are unique or uniquely implemented. In most cases an overview of the feature is provided along with links to the wealth of detailed information. All Intermec Pocket PC devices run the Microsoft Windows CE operating system. Although many concepts, programming interfaces and behaviors are similar to the desktop versions of Windows, remember that all descriptions in this document apply only to Windows CE. This document assumes some familiarity with Windows CE development concepts. Most of the concepts referenced in this document are explained in the Microsoft developer FAQ. For more information see the Developing Applications for Windows Mobile: FAQ. II. Unique Hardware Features A. Keyboard Remapping In certain applications, it may be desirable to change the value that specific physical keys generate. Intermec provides a keyboard remapping library that allows the application to change the values assigned to each of the physical keys 700 Series Color Device. You can read or set values for one key at a time, import or export key maps via an XML file, or reset all keys to the default values. There is also a Key Remapper Control Panel applet that allows the end-user to assign the key values. This is a free and downloadable utility from the Developer s Support Website. You can find this utility here for download. B. Flash File Store (FFS) In addition to removable storage options (Secure Digital and Compact Flash cards), the Intermec 700 Color Series also provides non-removable on-board Flash memory for use as a file system. It is best suited for storing application executables and other read-only components. It is important to check the size of this component, as the size of ROM and Operating system features determine its size. Below you will find FFS sizes for the latest PPC releases. PPC 2002 Professional 17mb Footprint 10-12 mb FFS PPC 2002 Premium 23mb Footprint 3-2 mb FFS PPC 2003 Premium (32 ROM) 30mb Footprint 1-2 mb FFS PPC 2003 Premium (64 ROM) 56mb Footprint 30+ mb FFS C. AutoRun & Registry Save Support Pocket PC lacks a general scripting facility, so Intermec has developed the AutoRun facility that allows for very flexible management of application and utility installation on the Pocket PC device kind of an AUTOEXEC.BAT facility for Pocket PC. You can use the AutoRun system to automatically launch programs and install CAB files whenever you warm or cold boot the 700 Color device. The cabfiles will remain in your cabfiles Directory as long as they are set to read only. Cabinet (CAB) files are used to package application components and installation scripts. The scripts specify installation locations, manage registry entries, register controls and specify application execution parameters. The Intermec user s guide provides information on building cabfiles. You can also find additional information on Microsoft s website, as well as search for other third party providers that offer cabfile building programs. Another tool to go along with the autorun and autoload features is RegFlush. Regflush calls a Microsoft API to save all of the settings you have currently saved in the registry (including pen align screens). Once the registry is saved it will create a registry.sys and save it to your chosen location. With the 700 Mono all that is needed is to load the cabfile. With the 700 Color series you need to load the cabfile as well as choose your location under Utilities. This facility is needed since all application installation information is kept in the Pocket PC registry and is reset upon a cold boot. It allows the CAB files to be kept on persistent storage, and to be automatically re-installed upon cold boot. Therefore, the complete execution environment for the device can be automatically restored without user or help desk intervention. See here for details & needed files for the autorun & registry save support. III. Peripheral Support A. Printing Pocket PC has very limited support for printing and the API is rather complicated and not very well documented. In addition, printing is only supported in graphics mode, which is infeasible on impact dot-matrix printers (several minutes are required to print each page). This support also requires a print driver be written for each supported printer. Intermec has developed an ActiveX control for textmode printing to any printer, using a simple line-oriented interface. This greatly simplifies the programming model, enables much faster printing, and does not require printer drivers to be written. A simple configuration file specifying the escape sequences used to control the printer is all that is needed. There are no application changes required to support multiple printers. The control manages all report headers, footers and pagebreaks automatically, which greatly simplifies report programming. The control uses callback functions to notify

the application when headers and footers need to be printed so the programmer can write simple loops that write the detail information out to the control without having to count lines. Several utility functions exist such as printing of bitmap images (for signature and logo printing) and powerful orphan control- the ability to specify that the next X lines need to be printed together on the same page (the control will automatically move to the next page if X lines are not left on the current page). The control insulates the developer from the underlying printer hardware interfaces- serial ports, IrDA, Bluetooth, etc. It also hides any printer protocols such as Intermec s NPCP Secure Printing protocol. See here 1. Side note on Bluetooth Printing Currently, the Bluetooth connection to the printer is associated with a serial port and the printing control uses standard serial port commands to print. For this association to happen there must be some user or programmatic interaction. The Bluetooth printer(s)must be discovered and the desired one associated with the serial port. Intermec provides both an applet and an API to control the association between the Bluetooth device and a serial port. Applications that need to have fine-grained control over the display and selection of printers (or perhaps even perform automatic printer selection) will need to use the API. The applet is convenient (especially if the application cannot be modified), but it has a fixed user interface and may require extra end-user training. For a description of the utilities and APIs refer to the Wireless Printing SDK that is part of the Intermec Developer s Library (product DEVLIBRY). 2. Side note on NPCP Printing Some Intermec printers support a two-way printer control protocol that provides extensive monitoring of the printer state during the printing process. This allows applications to be notified of printer errors and receive confirmation that the entire print job has been committed to paper. See here for details. B. Scanning Offering a broad choice of scanning options, the 700 Color is available with imaging or laser scanning technologies. The 2D-imager option reads two-dimensional matrix codes as well as omni-directional 1D bar codes. The 1D code can be read in any orientation, eliminating the need to line up the scan beam perpendicular to the bars. The 2D imager also provides the capability of taking grayscale photographs for applications such as proof of delivery, market surveys and field inspections. Linear 1D and PDF417 laser scanners complete the scanning lineup. You will find a full range of demos, examples, source code, and documentation in your handhelds Developer Kit. 1. 1D Scanning Intermec provides the Automated Data Collection (ADC) engine that simplifies the application interface. The model is that of a central engine which manages all of the data collection peripherals. Multiple applications can register with the engine to receive data input notifications. The engine also provides sophisticated data filtering, editing and routing that greatly simplifies application design. The simplest interface is the virtual wedge mode whereby the characters represented by the barcode are pushed into the device keyboard buffer. The application then receives them as keystrokes and is not required to have any scanner specific logic. This method (although very popular) has drawbacks mainly associated with the requirement that the user is responsible for placing the input focus on the correct field before scanning. For more complicated interactions, the ADC library provides both polling and notification modes. With these modes, the application can poll the engine for any available scans, or it can request to receive asynchronous notifications of scanned items. Data Filtering allows applications to specify (via sophisticated pattern expressions) the symbology and data formats it wants to receive- only data matching the pattern is presented to the application. Data Filtering also serves as a routing mechanism since several applications (or a single application) can register with the ADC engine with different patterns. This allows, for example, all Code 39 scans that start with an A to be sent to one application, all Interleaved 2 of 5 scans that start with N and three digits sent to another, and so on. Data Editing is a powerful feature that allows the ADC engine to re-format input data (according to editing patterns provided by the application) before it is sent to the application. This allows greater design flexibility since several disparate input formats can be coerced into a single format for the application to consume. 2. 2D Imaging The 2D Imager is essentially an LCD camera with sophisticated software that can recognize and decode 1D and 2D codes in any orientation. Using the same ADC engine interfaces as above, the Imager can be then be used as a very flexible scanner. Intermec also provides interfaces specifically to capture images (both snapshots and real-time stream capture) in several popular formats.

In addition, the image processing software has the capability to re-orient and normalize images containing certain barcodes. This is useful in signature capture applications (where the user signs a document (such as a delivery receipt) near a barcode). An image is then taken, and the Imager will re-orient (rotate) and correct any off-axis errors. Thus, if the bar code is decoded with the code itself upside down to the imager, the retrieved image will still be right side up and the image will have been normalized as if the picture were taken at right angles to the image and at the same distance. Developer documentation and imager sdk can be found here. C. Magnetic Card Reader (MCR) Intermec provides an interface to facilitate communication between the 700 Color and an O Neil magnetic card reader. The reader is available as an accessory for the 782T printer. The interface allows reading both the raw (unformatted) data and formatted card information. IV. Overview of Development Tools/Environments The major development tool provider for Windows CE is Microsoft. Microsoft provides tools for C/C++ native code development as well as tools for their new C# and VB.NET languages under the Compact Framework execution environment. The Java language and execution environment is also available under Windows CE, and there is a wealth of tool providers. In addition, there are several 4GL and scripting development environments available with wide-ranging capabilities and licensing costs. Other native code compilers are available, but they are generally targeted to the embedded environment as opposed to the more general business application development addressed in this document. A. Native Code (C/C++) Microsoft has provided several development environments that parallel the evolution of Windows CE and Pocket PC. Microsoft Embedded Tools V3.0 targets Pocket PC 2000 and Pocket PC 2002 environments. Microsoft Embedded Tools V4.0 targets Windows CE.NET and Windows Mobile 2003 environments. Click here for an overview of these tools. Microsoft has announced plans to meld all development tools into their Visual Studio product. Click here for more information. B. Java There are a plethora of Java development environments available that can be used to develop for the Intermec 700 Series Color device. Since Java is a machine independent language, it is simply a matter of targeting the correct Java platform. The capabilities available to you will be determined by the Java execution environment you choose to deploy. Generally, PersonalJava and J2ME are the Java platforms supported on Pocket PC devices. Intermec also offers a special Java toolkit for download from the web. You can download this free toolkit here. C..NET (C# and VB.Net) Microsoft s latest development languages (C# and VB.NET) run under the.net execution environment. The execution environment for Windows CE is called the.net Compact Framework and is a subset of the full desktop/enterprise.net Framework. Microsoft provides the Visual Studio development environment which allows development for all.net targets (devices, phones, desktops, servers). Click here for an overview of Visual Studio. Along with the main developer kit for you handheld, there is also a special.net SDK that can be installed on top of it. You can find that toolkit here. V. Data Considerations A. Accessibility The requirement for physical removal of the stored data needs to be considered. The Intermec 700 Series devices have removable storage cards that facilitate physical transfer of the cards to another device. The RAM-based Object Store file system is not a removable media, so its contents cannot be physically moved to another device. B. Persistence Although the RAM-based Object Store will survive normal rebooting of the device ( warm boot or soft boot ), it will not survive battery failure or a complete device reset ( cold boot or hard boot ). The Flash-based storage cards will maintain data across all of these events. C. Performance There is a classic trade-off between data persistence and performance as persistent data storage is consistently slower than temporal storage. Under Windows CE, the RAMbased Object Store file system provides better performance than the Flash-based storage cards.

The Object Store automatically compresses its data on the fly. This can greatly increase the volume of data storage, but it imposes overhead (especially on files that are accessed in a random fashion). However, Windows CE allows the developer to disable compression on a file-by-file basis at file creation time. Click here for that information (see the FILE_FLAG_RANDOM_ACCESS remarks). D. Atomic Updates One of the most important features of a data storage system is that it be immune to corruption due to being interrupted during an update. In addition, the system needs to ensure that the entire set of updates is either completely applied or not applied at all- there must be no partial updates. This is referred to as atomic update and is implemented in database systems by using a two-phase commit protocol. The application notifies the database that it is about to start a series of related updates that need to be atomically applied. As the updates are made, the database saves them to a separate log file in a persistent storage area. After the application notifies the database that the updates are complete, the database then transfers the updates from the log file to the actual database. If this transfer is interrupted for any reason, the database will simply restart the transfer until it is completed. A more comprehensive description of the process can be found by performing a WWW search on two phase commit. E. Mirroring In addition to Atomic Update, Mirroring adds yet another level of data integrity. Mirroring basically keeps a second copy of the database on a separate file system so that the data can be recovered in the case of a file system failure. On desktop systems this is mainly a defense against disk crashes, but it can be useful on a Windows CE device. Mirroring allows the main database to be kept on the Object Store file system for fast performance, but still be mirrored to a persistent file system (Flash storage card). Depending upon the size of the database and the ratio of reads to updates, this may result in a better performing application. Be aware that very few database systems support mirroring under Windows CE. VI. Database Tools Here is a survey of some of the most popular database solutions available for Windows CE. They range from indexed flat file systems up to full fledged SQL databases. A full description of each product is beyond the scope of this document. BirdStep RDM Microsoft SQL Server CE IBM DB2e Oracle Lite Sybase ASA Sybase UltraLite SQL Limited Limited Limited Limited Full Limited Stored Procedures No No No No Yes No Atomic Updates Yes Yes Yes Yes Yes Yes Mirroring Yes No No No Yes No License Fee Yes Maybe Yes Yes Yes Yes

VII. Application Behavior A. Power Management The definitive overview of Windows CE power management is here. Most of the power management decisions are made by the operating system, but there are several caveats to which applications must adhere in order to maximize battery life. The most important application behavior is to avoid busy waits polling loops used solely to wait for time to elapse or for resources to become available. These interfere with the CE s ability to automatically power manage the system. Windows CE provides a wealth of mechanisms that allow a process or thread to block while waiting for a resource. application startup, only power-up the scanner at the point where it is needed, and immediately power it down when it is no longer needed. It may be convenient to leave devices powered-up at all times, but this will severely decrease battery life. B. Static Libraries vs. DLLs Understanding the differences between memory management on desktop versions of Windows and Windows CE is important. This is especially important when dealing with DLLs, as Windows CE manages them quite differently than desktop Windows. Here is an overview of Windows CE memory and DLL management. Intelligent use of peripherals is also important. Whenever possible, only power-up a peripheral when it is needed. For example, instead of initializing a scanner device at

North America Corporate Headquarters 6001 36th Avenue West Everett, Washington 98203 Phone: (425) 348-2600 Fax: (425) 355-9551 South America & Mexico Headquarters Office Newport Beach, California Phone: (949) 955-0785 Fax: (949) 756-8782 Europe/Middle East & Africa Headquarters Office Reading, United Kingdom Phone: +44 118 923 0800 Fax: +44 118 923 0801 Asia Pacific Headquarters Office Singapore Phone: +65 6303 2100 Fax: +65 6303 2199 Internet www.intermec.com Worldwide Locations: www.intermec.com/locations Sales Toll Free NA: (800) 934-3163 Toll in NA : (425) 348-2726 Freephone ROW: 00 800 4488 8844 Toll ROW : +44 134 435 0296 OEM Sales Phone: (425) 348-2762 Media Sales Phone: (513) 874-5882 Customer Service and Support Toll Free NA: (800) 755-5505 Toll in NA : (425) 356-1799 Copyright 2007 Intermec Technologies Corporation. All rights reserved. Intermec is a registered trademark of Intermec Technologies Corporation. All other trademarks are the property of their respective owners. Printed in the U.S.A. 611503-01B 02/07 In a continuing effort to improve our products, Intermec Technologies Corporation reserves the right to change specifications and features without prior notice.