The Microsoft Pocket PC operating system is in phones, refrigerators, vacuum cleaners, and even picture frames and car stereos, but getting Macromedia Flash to work on any of these devices requires some technical know-how. I'm going to explain how to get Flash up and running on your Pocket PC and how to set up a Pocket PC-tuned IDE.
For this article, the Pocket PC (PPC) device I use is the Dell Axim X5 Advanced. It just happens to be the one I own. I'd own a few more if I could afford them, but for now, I just have the Axim. Any PPC will do, and there are plenty of choices out there. The operating system is the same, so you can't go wrong.
Pocket PC devices are available in many varieties from numerous manufacturers. The important parts are universal. They all display information in portrait view. They use a stylus for input, so mouse button capturing is different. Their screen resolution is limited to 240 x 320, which includes the input panel, so it is more like 230 x 230. Clearly space is at a premium.
The thing we care about here is the screen and whether the Flash Player is even installed. To take care of the latter, all you need to do is follow this link and download the Flash Player for Pocket PC. While you're there, download the Macromedia Flash Player 6 for Pocket PC 2002 Developer Kit. You'll need it.
The Flash Player
The Flash 6 Player for Pocket PC is similar to what 97 percent of us install on our desktops, except that it does not include the projector that the desktop version does. There is no way to play Flash movies outside of the Web browser on the Pocket PC—well, no free way, that is.
To solve this problem, there are two options. The first is to purchase the Standalone Flash Player 6 for Pocket PC from Macromedia (or save some money by purchasing FlashAssist 1.25 from Ant Mobile Software). The main benefit of both players is that you gain access to full-screen mode, which is helpful when you need every available pixel of real estate. The other option is to use fewer resources by not loading Pocket Internet Explorer, which consumes its fair share of resources and pixels. On a machine with limited resources, conservation is a key.
Another nice feature of the two standalone applications is that you can create actual applications that do not require any type of player. Just like building a projector EXE on the desktop gives you a Flash movie executable, you can accomplish the same thing for the Pocket PC. This is useful once you have a great little application written but you can't distribute it unless the end user has one of the standalone players or if you simply distribute the SWF movie file (a less-than-ideal solution). One thing to note: The Pro version of FlashAssist enables you to create applications.
Luckily, a separate IDE is not required to build Flash applications for the Pocket PC. If you have Flash MX (or Flash 5), you're already halfway finished setting up your development environment. Inside the Developer Kit zip, you'll find a set of components for use in the Flash IDE. The ppc_device component set is offered to provide common form elements specially built for the Pocket PC platform to use, which helps reduce the file size of the finished Flash movie a little bit. These components work like their standard-size brothers and sisters; they've just been optimized for the PPC. To install these new components, you need to copy the ppc_Device Component Set.fla file to the Components folder in the Flash MX application directory. On my computer, it is located at: C:\Program Files\Macromedia\Flash MX\First Run\Components. We won't be covering the particulars of these components here, but they go a long way toward building your Flash application.
Talking directly to the system
Unlike your home computer or office workstation, Pocket PC devices move in and out of networks and have changing storage configurations. One minute you have a 256-MB Compact Flash card, the next it's replaced by a wireless network card with no storage space. So any application written for the Pocket PC has to be completely aware of its environment.
Maybe your application will stop storing data until more storage space is available. Let users know storage space is low and then let them choose an alternate storage location. Maybe your application will save all work to a file or shared object when the battery hits 5 percent to guard against data loss if the system is forced to shut down. Maybe you store files locally until a network connection is available and upload to the Internet as soon as the connection is detected. If your application is using audio or video, knowing the display adapters' capabilities is helpful. This information and more is available to ActionScript.
Flash is by no means the only option for developing Pocket PC applications. Microsoft offers two products for developing them: eMbedded Visual Tools and the .NET Framework.
eMbedded Visual Tools is a little older. It's been available since Pocket PC 2000, though it works just fine with Pocket PC 2002 and even the newer 2003 version. Applications are built in eMbedded Visual Basic, a slightly stripped-down version of VB, or Visual C++. eMbedded Visual Tools comes with C++ Version 3; Version 4 is available as a separate download.
.NET is not just for desktop programming. It also allows you to build Pocket PC applications using C# or VB.NET. To take advantage of .NET, you need to download the .NET Compact Framework.