Pocket PC Magazine, November '03
Page 14
Inventory management
One of our customers is a government office that maintains a large inventory of computers, servers, racks, routers, monitors, and much more. Prior to the advent of KIMS, this office maintained the inventory on paper lists generated from an Excel spreadsheet. When inventory was being done, the individual checking the equipment would actually take a printout to each location and manually read the numbers printed on standard barcodes that were attached to each piece of equipment. Then he would check these numbers against the printed spreadsheet and make changes in ink, if necessary. When completed, the changed data was keyed back into the Excel spreadsheet. They never used a barcode reader!
Another of our customers, also a government office, managed its inventory in a similar manner, except it did so throughout the world. The inventory management job is tremendous, as it includes notebook computers and network infrastructure on aircraft carriers, the equipment on server farms in a number of locations, and computers and other equipment located in a number of different offices throughout the United States. Until recently, all this was done manually.
UUsing KIMS, the operation of both of these inventories was streamlined and the accuracy was improved. First, we put all of the data from the original barcodes into a database, and new 2D tags were placed on all the items. Then, in the next inventory, the inventory takers used an HP iPAQ 5455 Bluetooth-enabled Pocket PC and a Bluetooth-enabled scanner from CodeCorp (see Fig. 2) to scan the 2D tags. The record for that item would then appear on the screen of the Pocket PC, and any blanks would be filled in and the record saved. This provided a vital cross-reference to the original barcode-based inventory. For records with or without barcodes, the field for the 2D tag became the key field.
Fig. 2 (above): Pocket PC screenshot and Bluetooth scanner
Asset management
We are currently designing a product that utilizes 2D tags, Pocket PCs, and Bluetooth for the Army Black Hawk Production and Fielding team. This team is responsible for the actual delivery, or fielding, of new Black Hawk helicopters to Army and National Guard units on a regular schedule. The assets management this team is concerned with managing are not the actual helicopters, but the equipment—winches, tool sets, brackets, and so on—assigned to the receiving unit in support of the aircraft. The printed hand receipts can be two inches thick and are currently printed in multiple copies. Upon delivery the team takes the printed hand receipts to the unit and they compare them against the actual delivered assets—one item and one page at a time.
Our proposed solution is to create software for them to print the hand receipt books, with 2D tags to be generated automatically for each asset item. This set of assets can and does change from unit to unit based on the configuration of the aircraft. Matching 2D tags will be placed on the actual physical asset items to be delivered.
Prior to actual physical inventory the 2D tags will be scanned from the hand receipt book and will be captured by the Pocket PC. Then each asset 2D tag will be scanned at the unit. The Pocket PC will have an electronic version of the printed hand receipt with embedded 2D tag data. Missing items and items not on the inventory will be flagged for review; the balance will be flagged as delivered. The Production and Fielding team estimates that the time saved as well as the reduction in travel will produce an immediate positive return on the investment.
Companion software
KIMS, as stated earlier, is a two-tiered package. The desktop component is capable of managing a number of inventories (Fig. 3). It too will capture data from a scanner and query the currently selected inventory for a matching record. The desktop software handles all the printing of reports, including Army-approved hand receipts.
Fig. 3 (above): KIMS desktop interface.
This software will also import data from existing databases into its internal inventory database. It will upload selected inventories to the Pocket PC and will download and merge updated records from the Pocket PC.
Speed and accuracy are greatly improved by use of the scanner and the Pocket PC. Parent/child relationships are easily managed on either platform.. Parent records are stored in a special table. Children are then linked to records stored in this parent table. Children can also be parents. Assume, for example, that a shipping case is a parent. All of its contents are children, but some of those children may be master assemblies containing sub-assemblies. The sub-assemblies are children of the master assemblies, just as their parents are children of the packing case. Scanning a parent tag will result in a list of all associated children and "grandchildren."
2D tags can contain a significant amount of data or as little as a six-character identification code. They are unobtrusive yet easily scanned. Using a Pocket PC equipped with Bluetooth and a Bluetooth scanner, a user can track assets and inventoried items easily and accurately on any level from a small office to a large enterprise. Future applications will support the inclusion of GPS coordinates in a record to pinpoint the actual physical location associated with each individual 2D tag. There is tremendous possibility for growth in the use of two-dimensional barcodes.
* * *
What do you do when the old barcodes won't work?
Tracking small parts and tooling has always been a challenge. The InfoDot (www.idplate.com) is a new label designed to meet this challenge, small enough to fit on the end of your smallest screwdriver.
The InfoDot utilizes a DataMatrix ECC200 barcode to encode as much data as a traditional barcode while taking up only one-tenth the space. The size of the label lends itself to other applications for which a smaller label is preferred, such as evidence tracking or fixed asset tracking on items where a larger label may be considered obtrusive.
Made of a flexible yet durable acrylate material, the InfoDot resists solvents, caustics, acids, and temperatures of nearly 500°F. It also discourages theft or tampering and is non-transferable due to the destructible nature of the acrylate material. For more demanding applications such as tool, parts, and equipment tracking, a new aluminum InfoDot provides for extended durability and a high temperature resistance approaching 700°F. Plus, due to the high redundancy within the DataMatrix ECC200 barcode symbology, the barcode is still readable when as much as 60% of the image is damaged!
Healthcare has embraced the new InfoDot as a solution for tracking beyond the tray level. A typical surgical procedure often requires specialized equipment and instruments to be assembled and serviceable. Time is critical and accuracy is of most importance. The InfoDot will play a critical role in identifying, tracking, and providing ongoing information about the maintenance history of instruments and equipment. New applications in the lab and clinical environments are being addressed, such as tracking blood samples and specimens, which require custodial tracking and may have to be certifiable in the case of evidence tracking.
* * *
Ken Mattern has been a software developer and senior computer scientist as a contractor to the Department of Defense for a number of years. His primary job function is Pocket PC R&D for the DoD. He can be reached at ken@esspc-ebooks.com.
Macromedia Releases Flash Player 6 for the Pocket PC
by Jeff Adams
Macromedia has finally released the much anticipated Flash Player 6 for the Pocket PC. This release trails the release of the PC version of Flash 6 by almost a full year, and many users and developers have been eagerly awaiting it. For those of you who may not be familiar with Flash, it is Macromedia's player for delivering rich streaming content over low-bandwidth connections. The fact that Flash is designed to deliver a rich media environment while minimizing file size makes it a very useful development tool for the Pocket PC, and one that in my opinion is often underrated.
The move to the Flash 6 player offers developers the options that are available in the Flash MX authoring environment. While Flash MX has been around for some time, Pocket PC developers were forced to save their Pocket PC files in Flash 5 or earlier formats in order to have their files operate properly. Coveri
ng all the new features in Flash MX is well beyond the scope of this article, but I will touch on some of the ones that I believe to be extremely useful in application development for the Pocket PC.
Flash MX capabilities
The first feature I will mention is the inclusion of pre-built design templates that correspond to the Pocket PC screen resolution. This allows developers to spend their time working on content, instead of trying to figure out what size their applications should be running at. In addition, Macromedia has included special components that are specifically designed for the Pocket PC. User-interface elements such as scroll bars, radio buttons, check boxes, combo boxes, and list boxes simplify the handling of common tasks within Flash. They have all been optimized specifically for Pocket PC 2002, which allows them to operate properly given both the screen size and processor speed limitations of today's Pocket PCs.
Also, for the first time Macromedia has made available a stand-alone player for displaying Flash content on the Pocket PC. In my opinion, this was the most glaring omission of previous Flash releases. Prior to Flash 6, any and all Flash content for the Pocket PC had to be viewed as an HTML page within Pocket Internet Explorer. This spawned some third-party applications that do a great job of compensating for this limitation. The most popular one is a program called FlashAssist by Ant Mobile Software (www.antmobile.com). Another more recent one is called FlashPack by HandSmart software (www.handsmart.com) (Fig. 1). Both of these programs allow the development of Flash content as stand-alone applications which can be viewed at full screen. The Macromedia stand-alone Flash Player is available as part of the Flash 6 release, but it carries a hefty price tag of $499. This in itself will keep the third-party applications extremely popular as an option for viewing or creating Flash content specific to the Pocket PC.
Fig. 1 (above). A Flash game called "Missiles." It is running at full screen using FlashAssist Pro by Ant Mobile Software (www.antmobile.com).
While the changes mentioned above will simplify the development experience of Flash within the Pocket PC environment, one of the most important usability enhancements in moving to MX and Flash Player 6 is the ability to import, edit, and play video. It has never been very hard to get video onto the Pocket PC, but when it is brought into Flash you are able to combine it with a level of interactivity that was previously much more difficult to get. For example, let's say you wanted an application that would allow users to download a map of a trade show floor onto their handheld devices. The map could be setup so that when a user taps a booth he is interested in, a 15-second video preview of that booth is played (Fig.2). In addition, all this is done without ever leaving the native application. The task of resizing and compressing the video can be performed within Flash. While the current capabilities of Pocket PCs do somewhat limit the size and length of video in these applications, bigger files will become more and more feasible with future processing speed and memory capacity improvements.
Fig. 2. A video running ont he Pocket PC, built within Flash. Some basic playback buttons have been added to control the movie. This particular file is 704 KB for 30 seconds of video.
Now, a scenario that incorporates interactive video on the Pocket PC would not necessarily require Flash Player to develop it. But with Flash Player, it can be accomplished with simplicity, and one does not have to be an expert computer programmer in order to write such a program in Flash. All it takes is some knowledge of the basic elements of working with Flash, one of which is the Flash programming language known as ActionScript. ActionScript can be taken to levels that make it extremely complicated, but it is extremely easy to perform some of its more basic functions (Fig. 3). I was once faced with the challenge of building a virtual reality type of viewer that could be used for the Pocket PC. Using Flash, I took a photo that had been stitched together, created a window with which to view a portion of the photo, and assigned some basic ActionScript functions to buttons that allowed the user to play, pause, look left or right. The entire application took no more than a couple of hours to complete.
Fig. 3. This is an example of a virtual reality viewer application built for the Pocket PC using Flash. You will notice from the top bar it was built using FlashPack by HandSmart Software (www.handsmart.com). The top bar and Close button can be removed to view full screen if so desired.
What does all this mean to the average Pocket PC user? In short, it means we should start to see a lot more media content developed using Flash for the Pocket PC. If you look at the amount of Flash content for the regular PC that is available today, you'll see it everywhere. From Web sites to e-greeting cards to games and beyond, Flash has become one of the most popular means for distributing content on the World Wide Web. This has not been the case with the content for the Pocket PC, as Flash version releases have been delayed and have fallen significantly behind what was being offered on the regular PC. The release of Flash 6 for the Pocket PC has now aligned Flash Player for both the PC and Pocket PC at version 6. Here's hoping that going forward, Macromedia can show enough of a commitment to the Pocket PC that the release dates for the PC and Pocket PC versions of Flash Player are identical, or at least a lot closer together.
There are many great sites on the web that cover Flash and the Pocket PC. If you would like more information, try www.flashenabled.com, www.flashthefuture.com, and www.pocketpcflash.net.
To download Flash Player 6 for the Pocket PC, visit www.macromedia.com/software/flashplayer/pocketpc/2002.html
* * *
Jeff Adams is the General Merchandise Manager of the Electronics department for a major Canadian retail chain. In his spare time he enjoys playing hockey and golf, as well as working on his Web site at www.pocketpccanada.com. He can be reached via email at jeff@pocketpccanada.com.
Soccer Manager with .NET
Developing a simple application using the .NET Compact Framework and SQL Server CE 2.0
by Mick Badran
Soccer Manager is a simple application that demonstrates how to connect and manipulate SQL CE 2.0 databases using the Microsoft .NET Compact Framework. Using Soccer Manager, you can manage players and their teams as well as organize matches. It also allows the recording of match results, all in a small amount of code! It was developed on Microsoft Visual Studio .NET 2003 out of the box.
What are .NET Compact Framework and SQLCE?
Microsoft, as with its full blown .NET Framework, has provided a common Framework for resource-constrained devices. Obviously the Pocket PC doesn't have as much memory or processing power as its desktop counterpart; therefore we should expect to see a reduced framework for the Pocket PC, or a Compact(ed) Framework.
A good idea of classes that are available in this Compact Framework and those that aren't can be seen in Figure 1.
Fig. 1. The NET.CF API documentation shows us the classes that are available for use with the Compact Framework.
The NET.CF API documentation can be downloaded from the Microsoft Dev Community site (http://smartdevices.microsoftdev.com/Downloads/Links_LinkRedirector.aspx?id=584).
SQL Server CE (SQLCE) provides our database functionality down on the Pocket PC. In the constrained environment of the Pocket PC it provides only a subset of what its big brother SQL Server provides. Nonetheless, I think that SQLCE packs a punch by supporting databases up to 1 GB in size (now, a Pocket PC with 1 GB of memory would be nice...). SQLCE even comes with its own ISQL Explorer (Fig. 2).
Fig. 2. Pocket PC SQL Explorer allows you to maintain your databases.
Starting out
To start developing data-aware .NET Compact Framework (NET.CF) applications you need:
Visual Studio.NET 2003 (VS.NET) installed with Smart Device extensions.
Some way to store the data. We use SQLCE, a version of which comes with VS.NET (%install dir% Microsoft Visual Studio.NET2003 CompactFrameworkSDKv1.0.5000WindowsCEsqlce20sql2ksp2.exe). The latest version can also be downloaded from Microsoft (www.microsoft.com/sql/ ce/downloads/ce20.asp).
(Note: F
or data storage we could also use XML-based files, or Pocket Access and NET.CF's LocalDataStoreSlot for storage to memory slots.)
What we need
The key ingredients of our Soccer Manager application are:
Our application
SQLCE system libraries installed on our Pocket PC
A SQLCE database (cf. Microsoft's SQL Server where a database is made up of a *.MDF and an *.LDF file)
Question: How do we deploy these? Visual Studio.NET will deploy all, or we can use the WinCE Application Manager, which deploys and installs .cab files on Pocket PC devices from the desktop. At the end of the day we would like a CAB file that we can install on a Pocket PC.
You can also find all the relevant CABs for your Pocket PC platform in