A cheap way to test devices in your corporate environment
You know who you are. You're an IT guru who'd like to experiment with mobile and wireless devices, but you don't have any devices to work with. Do I have a deal for you! I'm going to show you how you can test wireless devices without buying them. The technique I'm about to describe will cost you only the necessary download time. (At most, you might need to lay out $30 for a book.) And although this technique is virtually free, it can give you a solid idea of the capabilities and limitations of a wireless device. Indeed, software developers use this technique to build application software for these devices.
The technique I'm referring to is software emulation. Originally intended to support developers, software emulators can place a virtual devicefor example, a Personal Digital Assistant (PDA) or even a cell phonedirectly on your PC desktop. By redirecting IP traffic, software emulators can simulate the operation of a wireless device over your existing corporate LAN.
In this column, I introduce you to two excellent mobile-device emulatorsthe Palm OS Emulator and the Microsoft Mobile Explorer (MME) Emulator. Both emulators are impressive tools. Best of all, both are available as free downloads.
Palm OS Emulator
You can download the Palm OS Emulator from Palm's development Web site (http://www.palmos.com/dev/tech/tools/emulator). You'll need both the emulator application and a set of skinsbitmaps that make the emulator look like particular Palm models. Copy both the application and skins files to a directory on your hard disk, then unzip them.
One catch is that you also need a ROM image from a physical Palm device. You can use the emulator to easily capture a ROM image from a borrowed device. Alternatively, you can purchase David Pogue's helpful PalmPilot: The Ultimate Guide (O'Reilly & Associates). The CD-ROM that accompanies the book includes emulator code and ROM images from several Palm devices.
Start emulator.exe, which resides in the directory in which you unzipped the application and skins files. The first time you run emulator.exe, a dialog box asks whether you want to add an item to the Start menu for the emulator. (I recommend this addition.) If you click Yes, the software prompts you to specify a location on the Start menu and a name for the item.
Next, the emulator presents a dialog box that contains four buttons. Select New to start a new emulator session, Open to launch an existing session, Download to capture a ROM image from a Palm OS device, and Exit to close the emulator. If you don't already have a ROM image, choose Download. The software then presents you with a dialog box that gives step-by-step instructions to perform the download. After you download a ROM image (or copy an image from Pogue's book and place it in the same directory in which emulator.exe resides), select New to start an emulator session, which Figure 1, page 110, shows.
You now have a virtual Palm device on your desktop. To emulate screen taps, you simply click the mouse pointer on the virtual Palm's display surface and Graffiti area. The onscreen power switch suspends and resumes the emulator. The other buttons on the emulator perform the same functions as an actual Palm device's physical buttons.
You can load applications onto the virtual device. Right-clicking your mouse pointer over the emulator displays a pop-up menu. To load any Palm application files (i.e., .prc, .pdb, or .pqa files), select Install Application/Database from the menu. Your system will install the application, and you can launch the application from an appropriate screen tap, just as on the actual device.
Another pop-up menu item gives you access to the emulator's settings, and one of the options is of special interest. Right-click the emulator, and select Settings/Properties. The first item in the resulting Properties dialog box lets you specify a serial port to use for communications. Notice that the Properties dialog box also contains a Redirect NetLib calls to Host TCP/IP check box. If you have the necessary ROM image for a Palm VII or Palm VIIx (or if you have the Palm III or Palm V ROM image and a copy of the Palm Mobile Internet Kit), selecting this check box lets your emulator run Palm Query Applications (PQAs), aka wireless Web-clipping applications. PQAs preload a miniature version of a Web page that's optimized for the Palm devices' small display and use the limited wireless bandwidth to query the parent Web site and fill in fields on the miniature page. You can use PQAs to check out the various features available on wireless Palm devices, to evaluate add-on software, and to perform Help desk and troubleshooting work.
Some differences exist between the way the emulator operates and the way an actual Palm device operates. Wireless operations that you perform after selecting the Redirect NetLib calls to Host TCP/IP check box don't provide the geographic-location data that's available to Palm VII applications. Programs that depend on that data might generate error messages. Also, the Palm OS Emulator accepts keyboard input for text fieldscertainly a convenience, but this feature doesn't accurately represent how a Palm device works.
Overall, the Palm OS Emulator is a wonderful tool not only for Palm developers but also for systems administrators who plan to use or support such devices. I began using the emulator as a way to generate screen shots of Palm applications but have since found that it's extremely convenient for evaluating both conventional Palm OS applications and PQAs. A corporate Help desk in an organization that uses Palm OSbased devices can also benefit from the ability to call up a virtual PDA when users need help.