Just had a first go of SOTI PocketController, and for the money you pay it is a handy tool. The macro recording is all low level and extremely simplistic, here is an example of the code produced;

MouseEvent 0x0 0x6222 0xab33
SleepEx 0xc8
MouseEvent 0x1 0x6222 0xab33
SleepEx 0xaf0
PostKey 0x73
SleepEx 0x190
PostKey 0x6f
SleepEx 0xc8

This type of low level recording is a nightmare to work with and maintain, although it is possible if you are stubborn. The problems are as follows;

- No named subroutine creation or calling, you test must run from begin to end in one monolithic lump.

- No high level control access. Everything is based on timed mouse and keyboard actions. Thus is you have a tick box set in a macro by a mouse click, the next time you run that macro the tick box will be cleared if it was already set. This means that the start conditions prior to running a test must be set precisely.

- No control access makes a complex script almost impossible to read / edit / maintain for a changing program.

- No direct control synchronisation, e.g. Press mouse button, wait for dialog, press key. Synchronisation is time based using SleepEx, changes in speed on the PDA may cause the script to fail.

If I had to use this tool, I would probably use it in conjunction with another automation tool, such as TestComplete, to provide modularisation, logging, etc... To be honest, given that you can readily automate the CE emulator using desktop packages such as TestComplete, there is a lot to be said to restricting automated regression testing to functionality available with the emulator, and staying with manual testing for the rest.

PocketController does provide some great features, such as a remote DOS box for copying files backwards and forwards from the device, and video capture. Whatever about automated testing, this tool appears to be a great asset for manual CE testing. Like the Microsoft Remote Display Control, i'd say this tool would work well with EggPlant.

Best regards,