Wednesday, January 10, 2007

How to run Pocket PC applications on your WM smartphone

...or, how to make your Windows Mobile Smartphone device do just about ANYTHING!

Yes, your Smartphone is just as good as a Pocket PC if you know what you're doing!
A lot of Pocket PC fans out there are afraid that they may be giving up some functions when switching over to Smartphone Edition. Well, I can honestly say that after some initial skeptism and a lot of tinkering, I've been able to do everything my older PPC's did and then some!

As I wrote about earlier (see What is smartphone Edition Anyway?), Windows Mobile Pocket PC and Smartphone Edition are almost identical internally. The primary difference is in the input method that each device uses, to be more specific a touch screen interface on a PPC versus a joystick/keypad on the Smartphone.
  • Does this mean that they will run the same software?
Yes and no. All Windows Mobile devices (Smartphone, PPC, PPC phone edition, etc) can run the same actual executable code (.exe files) as long as it has been written for a Windows Mobile device. However if you actually try to install PPC software on a Smartphone (or vice versa) using Activesync, you might get an error message stating the device is incorrect and it will refuse to do anything.

  • So how can you run the software if it won't install?
Well, this is the tricky part. There are a few ways to do this, some are easier than others depending upon your situation. Your options are:
a. Attempt to install on your computer using Activesync. Sometimes this will just work beleive it or not. Certain .net programs can even be designed for BOTH devices- it has code built in for both types of input methods and offers the correct interface for your device. An example of this is the VNC dot net viewer (To the right and left you should see images of the same code running on a PPC and Smartphone, respectively). Other times, when Activesync complains that you have the "wrong" device, it will stop the installation. However, the files will already exist in a directory on your PC, sometimes just waiting to be copied over to the right device. A quick search of C:\Program Files\Microsoft Activesync\ may provide some .cab files that can be copied over and installed on your device. This may work for some apps, but others may still stop you when you install the .cab file.
b. Extract the files from the .cab installation file manually on your PC first. Most unzip/decompression utilities (as well as Windows Explorer's own built in Zip) will be able to open a .cab file to view its contents. You can try right-clicking on one and selecting open with -> Explorer and see if that works. The problem with this is that the files have the wrong extension names. If you are able to determine which file is the .exe and any other necessary files (on simple programs, the .exe should be the largest, and sometimes the only, file in there), then you can extract them, rename it to the proper extension, and you're golden with this method.
c. Copy from a real finished Pocket PC installation. What I've done for some programs is used an old pocket pc to install to, then copied the files I needed off of it. Don't have a Pocket PC handy? Well then you can run a virtual PPC (I beleive Microsoft itself even has some PPC emulators for developers) on your own computer, then copy the files off of it. I'm not going to go into great detail on how to do this now, but you may ask if you'd like more info. There's also the option of finding someone else who has a Pocket PC and wouldn't mind helping you out. I've found people on message boards over at modaco.com and howardforums.com who had even posted extracted files for the Smartphone community. That's nice of them.

  • Why do they make this so darned complicated?
Well, I'd like to think that MS had the best intentions when all this started. Its basically to prevent you from installing an application that might not work right because it was designed for a different device. You see, even though the .exe file will run, it doesn't mean it will run CORRECTLY. Pocket PCs all have touchscreens and at least a QVGA (240x320 pixel) display, while Smartphones inheirently lack the touchscreen and until recently didn't have QVGA*(see below) resolutions either. The end result is that you may try to run a Pocket PC app on a Smartphone and find that you can only see a portion of the display and not be able to "click" the OK button or navigate the program at all without a touchscreeen! Vice versa, if you installed a smartphone application, it might take up an akward little corner of your display, and wait for a numeric keypress that you don't have on the average PPC.
Sounds like a legitimate concern, right? That brings us to the next question:

  • If Pocket PC apps won't run properly without touchscreen input, what's the point in all this?
Well, the truth is most of them will work just fine without a touchscreen. Some programs like the .net one mentioned above actually were designed for people like us to use, however not all programmers are so considerate. Luckily most PPC applications have mediocre navigation using the PPC directional pad for one handed use. Its clearly not the best way to use certain programs, but with enough keypresses you might be able to navigate around. Sometimes, as in the case with Skype for Pocket PC, you NEED to click an area of the screen in order to do anything. This can be very frustrating.

  • So what about programs that require a touchscreen (such as Skype)?
Luckily, there is help available. There is an ingenius little app called SPHelper, which as the name suggests, was designed to help us Smartphone users out. What this does is it places a mouse cursor on the screen which can be moved around using the joystick. You can then press the joystick in to "click" on something. This little app is amazing, it even has a built in task switcher so you can quickly jump from program to program, and a simple press-and-hold of the zero button will bring the cursor up for you. The program is Shareware which means that it will work fine for free, or you can purchase the program for about $10 and get rid of the annoying message asking you to register that pops up when you hide or close the program.

  • So is there anything missing that a full Pocket PC can do?
You mean aside from the bulk, fragile screens and lack of casual one-handed use that comes with a PPC?
All joking aside, yes, there are still some things to address. One is that bizzare fact that for some odd reason Microsoft left out copy and paste functions. Why, mighty Bill, WHY??
Well luckily you can add those features back with another simple little free application called Vito Copy Paste. Its pretty simple and does what its supposed to fairly well when you need it.
I'd like to add that there are other options such as Xbar and even SPHelper above also includes some sort of copy and paste function (but I haven't gotten it to work properly). Vita Copy Paste is simple and free, so I recommend it if you need those functions (I'm surprised how rarely I need it honestly).

Then there's the all important suite of Office Apps that's missing from the Smartphone. Yes, most devices come with at least a document reader (such as ClearVue), but come on- we all want to be able to EDIT them as well as view, right? Once again I have no logical explanation for why they left it out, but I'm excited that Windows Mobile Crossbow is finally going to include Mobile Office. In the mean time there are several office apps that can help you along. Here's some of my favorites:
Vieka WordPad - Simple word processing. Similar to notepad in Windows, with some nice features like html tags. FREE!
Ptab - This a Spreadsheet program that also has PC and PPC versions, fully compatible with MS Excel. Some say this one is actually better than Excel, but as far as I'm concerned whatever works is good enough. This is commercial software, but I use it regularly and I can
Documents to Go - This is not officially released yet. This should be the perfect document suite when it comes out because it includes EVERYTHING (Word, Excel, PowerPoint & PDF). In fact I heard from some Pocket PC users that they are hoping this gets released for PPC as well since it comes with more than MS Office Mobile does, and has something called InTact which lets you edit a document while leaving the format as it is on the PC (Word and Excel mobile sometimes lose some of the formatting when converting to mobile and back to PC). But, as of now DataViz is only making it for us Smartphone users. Sorry PPC fans!

Well, that's it for now. Good luck and let me know if you have any comments or if I left anything out!

Note for Landscape devices:
Users of the Dash, Moto Q, Blackjack, etc... Some Pocket PC software does not display properly in landscape orientation. So, even though you have a QVGA display, some programs may run off the borders of your display.