I first saw Pocket Controller during the last Wellington Windows Mobile User Group meeting. I was initially very impressed. The next day, I noticed a new release of Pocket Controller Professional had been released and so I decided to have an in depth look at its capabilities.
The software allows you to operate your Windows Mobile Pocket PC or Smartphone from the desktop computer, record video, capture/print screens, view skins, explore, view battery/memory usage and processes running on the device.
Installation is all done from a single executable. This installer is run on the desktop and installs the client software on the device using ActiveSync. The install on a Pocket PC takes 360kb of memory and can be installed anywhere.
PocketController showing the Pocket PC, without a skin
PocketController showing the Smartphone, without a skin
As you can see from the buttons on the screenshots above, this application has some really cool features. The obvious ones are:
Record and playback Macro's
Command prompt (yes on your PPC or SmartPhone!)
We will look at some of these in more detail in a moment. Pocket Controller also supports landscape modes (clockwise and counter clockwise) and VGA devices (although I was not able to test this).
One of the most common applications for this type of application is the ability to take screenshots. I've generally gone for a free solution called GetPDAScreen in the past, but the drawback with this is that it only records screenshots in windows bitmap format. To use these on a website, you must convert each image to JPG or GIF - a process that is slow and tedious and results is a congested file system with duplicate images in varying formats. Pocket Controller has a nice screen capture utility that will allow you to capture directly to BMP, JPG or GIF file formats. It would be nice if it also captured to PNG as PNG has good compression, is supported by every major browser, supports high colour and avoids the compression. But having said that, you can tune the compression on a JPG capture and alter the colour depth of the BMP file capture to reduce the size of the images.
Recording video is possibly an application for which you say "whats the point?". Well, if you do presentations on mobile devices, develop applications for Pocket PC or provide training courses and material, having video recordings of various applications can be very useful. Pocket Controller is great in this respect. It can only record a maximum of 4 frames per second, however, the frames tend to be the ones that are important. The end result is a rather hefty file, at around one megabyte per second at 4fps. Still its easy to compress the video for use on the internet and in presentations.
If you've ever needed to do testing, you'll know the value of macros for automating test routines. The macros are very easy to record. To record a macro, tap the record macro button, enter the file name you wish to save it as and start clicking! It works on both Smartphone and Pocket PC, the only difference is that the Smartphone macro records keystrokes, while the Pocket PC macros record mouse clicks. The file created by the macro is a plain text file that records keystrokes and mouse movements in hexadecimal, so you can edit the files if necessary. Any time you spend paused between keystrokes/taps is also recorded as sleep commands. This is good because you can be sure that the screen is ready for your tap when you make the tap. To play back a macro, you need to be sure you are on the starting screen you were on when you started recording. If you have a password enabled on your device and your macro does not include the unlock key combination, make sure you unlock the device before you start running the macro or the macro will try working but may give unpredictable results. Having Media player suddenly start belting out your favourite song at full volume in your quiet office is not a good way to earn the respect of your peers .
If you are a command line junkie, you can use Pocket Controller to bring up a command prompt on your computer that is actually running on your Pocket PC. Think of this feature as telnet for your Pocket PC - that is your Pocket PC becomes a telnet server essentially. You can use the normal file system DOS commands to create files and folders, and move files around on your device. The documentation also says that you can open files in their associated application on the device by typing in the name of the file (e.g. notes.doc), but I was unable to get this to work on either my Smartphone or Pocket PC.
When I saw this I thought this may be a way of transferring files between the Pocket PC and Desktop computer remotely. However, this feature is a way of copying text on your desktop and pasting it into a word doc or note on the Pocket PC. This is good for transferring large chunks of text rather than rekeying it all, and it would be useful remotely. However, if you are using this over active sync, you can simply create a word document, put the data in there and then throw it into the sync folder. Still over a WAN or similar this would be really useful. The clipboard is automatically synchronized. You can simply copy some text on the desktop computer and then in the remote controlled session, you can paste the text directly into whatever application you happen to have open (as long as it is a text based application of course). This feature is off by default.
This is the primary function of this tool and I tried to give it a reasonable work out with good but mixed results. I was able to remote control Pocket PC's and smartphones using a variety of connection methods. I used ActiveSync as the conduit for remote control via both USB and Bluetooth. The performance was good on USB, screen response was snappy and suffered very little degradation. The performance on Bluetooth was not as good, and I found that clicking a menu sometimes took a few seconds to show up on the desktop, even though the Pocket PC screen changed instantly. This can be excused if you consider the performance difference between the technologies - USB 1.1 is 12Mb per second where Bluetooth is less than 1Mb.
With some tweaking (of the Pocket PC) I managed to get the remote control working over a WAN. I connected an i-mate Pocket PC Phone Edition over GPRS, then using the Pocket Controller utility on the device, I extracted the IP Address from the i-mate and entered it into Pocket Controller as a new connection, modified the settings for the disconnect sensitivity and voila, I could connect over GPRS to the device! Total time to set up - about two minutes (if that).
I found that connected over GPRS a screen tap would become tap and hold due to the latency, which made windows difficult to close using Pocket Plus - the menu would appear rather than the click closing the window. However, apart from this the performance of the controller over GPRS was acceptable if a little slow. If you are using a 1xRTT solution, you may find the performance more acceptable. Certainly over WiFi, the connection is fast enough - in fact WiFi was the best user experience of all the options I tried - including USB!
When you are in remote control mode, and you define the device type (in the connection settings) you will have a corresponding bunch of buttons in the button bar that allow you to emulate pressing the hardware buttons on the device. There are two ways of getting the hardware buttons, the first is by clicking the application buttons in the tool bar, but by far the better way is to use the skin for the device and then click on the button you want to use. Thankfully SOTI had the sense to ensure the buttons actually execute the application associated with the button, not the default application - nice one!
As you can see the skins are very, very cool. If you’ve ever wished you had an e800, Pocket Controller will give you one! Well... not really, but you can see what it looks like and check it out in size relative to the device you have. The skins are very close in size to the actual device. This is because the screen size is actually mapped directly to the pixel size on your computer. There are some differences, for instance, the Smartphone skin appear somewhat bigger due to the way the screen is laid out inside the skin (i.e. there is more blank space around the screen in the skin than in real life), but, it is nice to be able to see a real device on the screen. There are a wide variety of skins available, and all the skins are available through the skin manager screen. If you’d like to try out a different skin, just go into the skin manager and select the skin you’d like to try. There is even a skin for the IKE!
PocketController showing the Pocket PC, with an iPAQ skin
PocketController showing the Smartphone, with a QTEK skin
There is not much to dislike about Pocket Controller. However, I have two things that I found a little frustrating and I have to say these are minor things for the quantity and quality of the features delivered. Firstly the application buttons are simply numbered on many of the Pocket PCs. I found the application buttons on the Smartphone and the i-mate Pocket PC Phone Edition was really good: there was a home button, the back button, soft key 1 and 2 and volume buttons all nicely labeled. On the 4150 the buttons were simply numbered. I don’t know about you, but I have not memorized the manufacturer diagrams (if I’ve even looked at them) that show which button is where. Like I said, this is a small thing as you’d soon learn which keys are which, but getting started this is frustrating.
The other thing that was annoying was if Pocket Controller is already open and not connected, and you set it to connect upon ActiveSync, a new instance will start rather than using the existing (disconnected) instance. In the end I simply turned off the ActiveSync auto connect feature and from then I was far happier. Editor's noteSOTI is aware of this issue and is working to have this fixed on a next version.
For developers PocketController gives plenty of information about the device connected, includingbasic system information and a good task manager, which includes options to kill a process running on the Pocket PC or Smartphone.
If you’ve ever wondered why you’d ever want Pocket Controller, here are the immediate scenarios where Pocket Controller is a great tool:
Development of applications - use your Pocket PC for debugging and use the Pocket Controller to work the device rather than having to pick up the stylus constantly
Testing - record and playback macros to automate Pocket PC Testing
Creating training or other Pocket PC related documentation or presentations
Demonstrations of Pocket PC... anything....!
With regards to corporate use (this is my day job), Pocket Controller is an ideal product to use to remote control devices that are out in the field. The connection speed must be considered, but if your bandwidth supports it, you will get more functionality out of Pocket Controller than any other product on the market. Think of this as the SMS of the Pocket PC world! Using the GPRS connection, I could remote control the device, use Command prompt to surf through the file system, take screen shots and copy files to and from the device. Once a file is on the device (e.g. a cab file) you can use the remote control to execute the cab file instead of getting the user to do it. For even more functionality, there's a 45122 Pocket Controller Enterprise Edition available.
Upgrades and pricing
SOTI currently offers 6 months of free upgrades and 1 year of free technical support, including phone and e-mail. I found that upgrading between 4.11 and 4.12 was a snap and did not even requiring re-entering of the product code. Pocket Controller Professional costs US$26.99 and can be purchased from Handango. Value for money? I’d give this about a four out of five.
Pocket Controller is a must if you are a technical type working with Pocket PC’s. It provides all the features you will need to manage devices in the field, create more informative documentation, presentations and a whole lot more!