[General Topics] Menneisyys:
Macromedia (now Adobe) Flash is very commonly used on the Web. There’re a lot of, for example, games utilizing this format. Actually, you can't even use a lot of sites without built-in Flash support. In addition, as Flash content can be very nice to play with (for example, there’re a lot of cool Flash games also running on the Pocket PC - you will definitely want to check out the Games section over at, for example, KillSomeTime.com, Arcade Pod and Flash Magazine (the latter is more of a news portal) to see what Flash is capable of, leisure-wise), I’ve decided to write a fully-fledged review and tutorial of everything Flash-related.

Please note that I not only scrutinize the existing solutions, but also publish never-before-published tweaks for greatly enhancing the usability of one of the players, Bryht, particularly on WM5 devices.

1. Flash-capable players

1.1 The Macromedia (Adobe) Flash Plug-in

The free Macromedia (Adobe) Flash Plug-in, apart from a one-week period of becoming commercial, has always been the best choice for playing Flash contents on Pocket PC’s. It’s by far the most compatible and fastest player on our PDA’s and, with third-party add-on tools (which will later be introduced), it’s also the most versatile and usable one. It’s definitely better than either the built-in Flash support in NetFront or early Flash players like PocketSpark (see later).

1.1.1 Getting it

There have been several Macromedia Flash plug-in versions for the Pocket PC, of which version 7, released early April 2006, is the most up-to-date and, therefore, recommended. You will want to download this version unless you have a pre-WM2003 device. Also note that, much as some (very few) Pocket PC’s (their list can be found here) have been shipped with the plug-in in the ROM, they’re all version 6 at most and, therefore, may be needed to be upgraded to version 7 (make sure you only try to do the upgrade if the device has at least WM2003 - the Toshiba Genio series is Pocket PC 2002 only and, therefore, can’t run version 7 of the plug-in).

There aren’t many differences between version 7 and version 6 - it’s with very few of the available Flash animations (for example, Heli Attack 3) that don’t work under version 6. Version 7 will be a must for WM5 users, however - it has much better WM5 compliance/stability than version 6, which worked quite unreliably under WM5.

This application, contrary to the popular belief, can and will be installed to non-built-in storage; that is, for example, a storage card - as with all the previous versions.

Note that if you have a Pocket PC 2002 device, download version 6 instead (version 7 is no longer PPC2k2-compliant). Alternate download here; the CAB file itself can be found here.

If you have a Pocket PC 2000 MIPS/SH3 device, download version 4/5 linked from this or this page (I’ve also made them available here in one RAR file. The MIPS CAB file can be found here). I really recommend the user comments in the latter page. It is in French; therefore, if you don’t speak the language, make Babelfish translate it.

I’d like to thank torgamm at PocketPCFreeware, akheron at AximSite and dlangton at PPCT for helping me to find the PPC2k-compliant plug-in versions.

1.1.2	Macromedia Flash plug-in and PPC Web browser compliance

Note that, regardless of the version, the Macromedia plug-in can only be used with the built-in Pocket Internet Explorer / Internet Explorer Mobile to access online Flash content. Other Pocket PC web browsers, except for NetFront and its (compared to the Macromedia Flash plug-in, pretty inferior) built-in Flash support, do not support Flash and all. This means you won’t be able to play any Flash animations in Opera 8.5 beta 2, Opera Mini, Minimo (also see this explanation of the lack of Flash support in Minimo from the author of Minimo himself) and Thunderhawk.

1.2 Flash player applications not depending on the MacroMedia plug-in

In addition to the MacroMedia plug-in, there are three completely independent applications to render Flash contents.

1.2.1 PocketSpark beta2 by Conduits

This free player is, unfortunately, almost useless - it’s really old (year 2000) and isn’t compatible with almost anything. Not recommended at all.

(Also see this (for info on other players too) and this threads.)

1.2.2 NetFront 3.2

NetFront is a well-known alternate browser. Unfortunately, version 3.2 - the most up-to-date version to have Flash support - is pretty inferior to the currently available version 3.3 previews. The latter don’t have Flash support as yet; so, you’ll need to stick to NetFront 3.2. This may be pretty problematic, particularly on WM5 devices because NetFront 3.2 isn’t WM5-compliant. What is more, its WM2003SE VGA support is pretty bad too.

Its built-in Flash player isn’t as good as that of the Macromedia plug-in. Much as it has some strengths over it (it’s able to play local contents without additional tools or HTML hacking), it’s definitely slower, less compatible and supports external/on-screen keyboards far worse.

1.2.3 Beta Macromedia Flash

This is also a free player and is pretty good. It supports the operating system Landscape mode flawlessly (unlike, say, FlashAssist), which is very good news for WM2003SE+ users. Also, it is compatible with the native VGA mode. While it's only using low resolution in the standard SE VGA mode, with forcing, it can be made use the high resolution even there. Also, it centers the animation in the middle of the screen. Also, it's very easy to install - you just copy the main executable EXE file to anywhere on your Pocket PC, reassociate the .swf file extension to it and, after that, clicking a .swf file will automatically invoke the player. Also, it has the standard Flash context menu-based 100% zoom-in capabilities and you can scroll (drag) the Flash window in this mode like, say, Bryht and PflashP.

It also has problems: there are no button assignment capabilities; you can't change the built-in Macromedia 6 plug-in to anything else (to version 7 - again, as very few Flash animations require Flash 7, this isn't that big a problem; the probable incompatibility with WM5 may be a bigger one).

If these aren't a problem, however, you will really want to give it a try, especially if you have a WM2003SE device (where the Macromedia 6 incompatibilities aren't a problem and there's Landscape support built into the operating system, making Bryht less necessary).

A mini-tutorial on making it work: download the installer from the above page; execute it (you can safely cancel the setup when the execution is transferred to the well-known ActiveSync dialog to avoid anything useless - the installer has a lot of useless demos and similar stuff in addition to the executable file of the player itself - to be installed on your Pocket PC; you can also do the installation while no PDA is connected to your desktop computer. Then, next time you cradle your PDA, you will only need to cancel the auto-installation.

Now, go to C:\Program Files\Microsoft ActiveSync\App\ and step into Tutorials.CAB. (If you have Total Commander on your desktop Windows computer, just press Enter while the cursor is on the CAB file.) Extract TUTORI~2.001 from the CAB file (with Total Commander, just Copy (F5) to a directory) and rename it to have an .exe extension. The name can be anything - it's the extension that counts. Now, transfer it to anywhere on your PDA and make sure you associate the .swf file extension to the application.

A big thanks goes to dlangton in the PPCT forums for pointing me towards this hidden gem!

2. Saving and Playing Local (offline) Flash Files

Flash is pretty similar to, say, Java applets and, most importantly, Java midlets (the mainstream form of distributing mostly games for "dumb" mobile phones and, in cases, even Symbian smartphones) in that they can be executed both remotely (in a Web page) and locally (without having to have an active Internet connection), after you’ve downloaded them onto your PDA (of course, midlets are downloaded only once - so, no re-download will occur. Applets will be fetched again and again if they can’t be found in the local browser cache). This means that you can save Flash applications onto your PDA and, then, just use/play them when you want to even if you don’t have any kind of Internet connection. It’s much easier than initiating an Internet connection, revisiting the given Web page and playing the game from there.

By itself, the Macromedia plug-in is unable to run local Flash files (while the independent NetFront and PocketSpark can). There’re several solutions to this problem: either creating a local HTML stub referring to the downloaded Flash (.SWF) file, which you can just click on to be invoked by Pocket Internet Explorer / Internet Explorer Mobile or use third-party tools to run them. The latter can have additional advantages (for example, the really useful keymapping and full-screen modes without using full-screen PIE plug-ins under pre-WM5 operating system), while the former is free.

First, however, let’s take a look at how you can save Flash content to be reused later without having to connect to the Net. By default, saving Flash content is not supported by most browsers.

2.1 Finding and Saving Flash Animations for Offline Use

To save Flash animations onto your desktop computer (and, then, transferring them to your PDA) without installing third-party applications, do the following. If you’re using Internet Explorer on your Windows XP desktop, you can just go to c:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\ and do a generic search for *.swf files. Use for example Total Commander for this; in it, while staying in the c:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\ directory, press Alt-F7 and enter *.swf in the Search for: text input field as can be seen in this screenshot.

Also, you can refine your search (if there’re a lot of hits) by clicking the Advanced tab, and, after enabling it, filling for example "2 minutes" in the "Not older than" text input field as can be seen in here.

The situation is the same with all browsers that use some kind of cache in the file system: you’ll surely find *.swf files in the cache. As far as alternate (non-Internet Explorer) desktop browsers are concerned, there is some information on saving Flash animations from Firefox here. Note that as long as the given browser has a cache with readable contents (and does support Flash - that is, it’ll download Flash animations), you’ll be able to find SWF files in there. That is, you can save Flash stuff under even the rarest, but Flash-capable browsers too. This also stands for looking around in the cache of, say, Pocket Internet Explorer on the Pocket PC itself. You may want to see for example the article Downloading binary files off the Web on the Pocket PC - tips and tricks (alternatives: PPCT, AximSite, PPC Magazine, FirstLoox, BrightHand) for more information on doing this on the PDA.

If you still find all this far too awkward, you can give a try to third-party applications; for example, the now-free Flash Catcher 2.6 by justDo Software, which integrates quite seamlessly into the desktop Internet Explorer and offers a simple way of saving your favorite Flash animations with a mere mouse click (see this and this screenshots on how saving can be activated). Note that it won’t be able to save some Flash animations (with them, just looking into the browser cache and searching for new SWF files manually will suffice) and may leave its old icons on the screen. You will only be able to get rid of them by shutting down and, then, restarting all Internet Explorer instances.

There’re several other solutions as well, but, in general, I’ve found Flash Catcher the best (and, after all, it’s free), not taking into account the problems outlined above. For example, I’ve never managed to make Save Flash 3.0 by Pilot Group (15-day trial) work. I haven't even been able to set it up properly because it has a homepage in really- really bad English I could not understand with the images all missing.

2.2 Creating HTML stubs

Generally, you don’t need to have any commercial third-party tools to execute local, offline Flash files on your PDA with your Macromedia plug-in. The following HTML file, put in the same directory as the SWF to be played, will suffice:

Please note that, due to the restrictions of the forum engine, I had to put the code snippet on an external server. It can be found here .

where change "Gold-Miner.swf" to the SWF file you want to invoke and the width/ height properties to the preferred size of the file (it’ll, however, be overridden by the system, so, there’s no need to be precise. In most cases, you can leave it at that).

Note that this HTML file will work in the desktop Internet Explorer too. You, then, can even remove the width/ height properties and the html/body opening/closing tags. Remember, however, that these should never be removed from the Pocket PC version.

Note that the HTML stubs other sources recommend (see for example this and this threads) are far more complicated than mine. This is not needed - if you use my stubs to link in SWF files, everything will work OK and you’ll end up having to edit much smaller, easier-to-adminster stub files.

After you’ve finished creating a HTML stub for all your Flash animations (one HTML stub for each SWF file), you can play them in your Macromedia plug-in by just clicking them in your Pocket PC File Explorer - assuming the file associations point to your Pocket Internet Explorer / Internet Explorer Mobile and not to, say, Opera beta or NetFront. If the latter is the case, read this article on restoring these associations.

If you, however, would like to prefer using third-party apps which, in cases, greatly enhance the Macromedia plug-in, check out the following section.

2.3 Stand-alone apps based on the Macromedia plug-in

These applications all require the Macromedia plug-in to be installed. This means you must install not only these applications, but also the Macromedia plug-in (any version will do). You’ll need to download and install the latter separately.

2.3.1 Bryht Flash Player 2.0 by Bryht

This player is, in my opinion, the best, most capable, most game-friendly Flash player for the Pocket PC. It has a lot of unrivalled capabilities like button mapping (which is painfully missing from all the alternatives) and even desktop-based Powerpoint slide conversion. See for example this PocketNow review on the capabilities of the application. In here, I only elaborate on the hardware button mapping feature, particularly because of the additional, never-before-published information on quickly changing user-defined button mapping schemes and my hacks to make the button mapping WM5-compliant. Also, as there’re several builds of version 2.0, I also elaborate on the differences between them and the way of recognizing the actual build.

Note that you must configure the player if you have a VGA device; then, choose the GrayVGA skin in File/Skin Options. Note that it’s been created for native VGA mode; it’s only there that the GUI will be OK; in SE VGA, most parts of the buttons and the volume control won’t be visible. This is an unfortunate step back from the earlier 2.0 builds (see section 2.3.1.2 below).

2.3.1.1 Hardware button mapping

As has already been pointed out, the Bryht player has an option of freely redefining hardware keys - assigning any key on a full keyboard to any Pocket PC hardware button / D-pad direction (see File/Button Options). None of the other players support this essential feature - essential because about half of the available Flash games depend on other keys than the traditional D-pad arrows: for example, in the platform game Heli Attack 3, it’s with some alphanumeric keys that the player must control the game; in Bomberman In the land of the Pumpkin V3, you need to drop a bomb with the Delete key on the keyboard etc. (Don’t forget Flash games have been created with desktop players in mind - this is why most Flash authors assume players all have a full keyboard.)

Unfortunately, D-pad directions (none of the four) can’t be redefined on WM5 devices (it works just O.K. on pre-WM5 devices) because of the fundamental difference between WM5 and previous OS’es, as far as touchscreen-less operation is concerned: instead of just registering the new D-pad direction, the system will just traverse the focus to the following GUI item if you press the D-Pad into any direction. Until this is fixed by the Bryht folks, you can still redefine your D-pad directions by directly editing the Registry. If you thoroughly read the hardware button-related information in my below-linked GBA article and are willing to play with the Registry for some time, this will become really easy after some time, however.

Also note that there is no way of saving/restoring user-created button mappings to quickly change button layouts between game starts. There’re some predefined layouts, however; for example, if you choose Restore Default for Game in File/Button Options, the button layout will map the desktop keyboard cursor keys to the D-pad directions (the default is just moving the active area around the screen estate, which is preferable when just viewing Flash movies), which will work with most games.

Fortunately, this can be really easily helped if you aren’t afraid of modifying the Registry or, at least, importing pre-created registry files. Bryht stores the button mapping information at [HKEY_CURRENT_USER\Software\Bryhtflash\keyMapping]. An example of its content:

[HKEY_CURRENT_USER\Software\Bryhtflash]

"keyMapping"="195=131073;194=131078;193=131077;40=65;38=68;37=87;39=83;"

If you’ve already read my article on Gameboy Advance emulators for the Pocket PC, you already know that the values 37...40 in here stand for the D-pad directions, while the values starting with 193 stand for the non-D-pad hardware buttons. If you’re into any kind of programming, you’ll also easily see (by recognizing the keycodes of some control keys and the ASCII codes of the characters A/D/S/W) that the above configuration stands for D-pad directions assigned to the A/D/S/W keys (the keys the above-mentioned Heli Attack 3 uses to control the main character).

2.3.1.2 Downloads/versions

As far as the available versions are concerned, note that the standard and the Pocket PC 2003 versions are exactly the same - I don’t know why they’re listed as separate downloads.

It should also be pointed out that there were older (2004) builds of version 2.0. The current version of 2.0 has internal filedates of 2005; earlier builds are from year 2004 and have no VGA support. For example, this is the new version on a VGA device, in standard SE mode and this is the old. In this test, I only discuss/review/refer to the latest, currently available version. Make sure you upgrade to it if you still have the old one. The main difference between the two is that the old version has a BryhtFlash.exe of under 500 kbytes and an early-2004 filedate, while the newer version has a 518-kbyte file dated at 03/03/2005.

2.3.2 Pocket Flash Player (PFlashP) v2.0.0

While not sporting advanced setting capabilities like the really useful button mapping of Bryht (the player of my choice), this stand-alone Flash player may still be useful if you don’t want to spend that much money on your player - it’s definitely cheaper than Bryht.

One of its other advantages is that it automatically shifts the Flash animation upwards if you enable the SIP (because you need to enter something on it), unlike Bryht. This means in some cases you won’t be able to use the latter (unless you run it in a non-full screen mode), while PFlashP will remain perfectly usable.

As it is able to display the Flash context menu, it can also use full zooming in, which makes big flash animations that require zooming (for example, the Caliva or the Tanks Flash applications - see URL's and explanations in Chapter 4) in order for the text to be fully readable.

Unfortunately, it also has definite drawbacks, compared to Bryht. One of them is the inability of the player to provide real full screen mode in either Portrait or Landscape - the taskbar will always be visible and it’s only the command bar that will be hidden (along with the SIP icons). The other is that it’s unable to center the animation in the available screen estate - it’ll always be on the left if the animation isn’t able to fill in the entire screen area as can be seen in this screenshot. This can be really distracting. (The author has promised to look into the problem in the meantime.)

Also, if you only have a WM2003 device, PFlashP, unlike Bryht, won’t offer you Landscape capabilities as it entirely relies on the operating system’s orientation change capabilities. This is why the "Landscape" checkbox is inactive in this WM2003 screenshot. This is, of course, a non-issue on WM2003SE+ devices.

It is the only one player that requires Microsoft's free Compact Framework 2 (CF2). CF2, while it, by default, is installed into main memory (no matter what installation target you give it), taking up some 5 Mbytes of precious built-in storage. This, however, can be helped by relocating almost the entire CF2 to a memory card. Please read this article (alternatives AximSite, BrightHand, FirstLoox, MobilitySite, PPCT) for more information on this. Note that if you choose to use the just-released beta of CF2 SP1, you won't need to do any relocation if you instruct the installer to install into an alternative medium.

Note that the author of this app is the well-known author of Tweaks2k2, ctitanic. A big thanks to him for providing me with the full version for testing purposes.

2.3.3 FlashAssist 1.3 by AntMobile

The main advantage of this application is that it’s PPC2k/PPC2k2 compatible (unlike PFlashP and, as far as PPC2k is concerned, Bryth). For WM2003+ users this isn’t an advantage, naturally.

Its main disadvantages are the lack of built-in full-screen Landscape support, which would be highly useful under all pre-WM2003SE operating systems, unlike with the two previously reviewed players. What is more, it doesn’t support the native, built-in operating system-level Landscape mode of WM2003SE+ either - that is, you won’t be able to make use of the available screen estate with a lot of (Landscape) Flash animations.

All in all, I wouldn’t recommend this application - the lack of any kind of (let alone full-screen) Landscape support is too big a problem in most cases.

2.3.4 Macromedia Flash Player for Cassiopeia by myCasio

(Note that the CAB file itself can be downloaded here)

This player is only meant for MIPS-based Cassiopeia devices. There isn’t much in the player: for example, no Landscape support and no keymapping. However, it’s free.

(Thanks goes to akheron at AximSite and torgamm at PocketPCFreeware for pointing me to this player!)

3. Main Feature and Test Results Comparison Chart

This comparison chart contains most comparison and feature information. As a well-written feature/test chart makes it possible to greatly reduce the sheer size of this article (but not its content of information!), most of the information present in here hasn’t been elaborated on / mentioned in the previous sections. This means this chart should be scrutinized thoroughly. Also make sure you follow the screenshot links if you’d like to see actual screenshots demonstrating the (lack of the) given feature.

Please note that, due to the restrictions of the forum engine, I had to put the comparison chart on an external server. It can be found here .

4. Real-world Compatibility and Speed Tests with Several Games, a Movie and a fully-fledged Student App

I’ve tested the reviewed applications with several Flash games, a Flash video and a Flash student application. The latter is available here (main homepage here); to log in, enter the ccdemo/ccisthebest demo login/password pair. (Some demo screenshots of this are here, here and here).

Note that I’ve made these SWF files available here so that you don’t need to fetch them one-by-one in order to be tested if you want to re-run my tests. I’ve, of course, provided URL’s to the original source too.

Please note that, due to the restrictions of the forum engine, I had to put the comparison chart on an external server. It can be found here .

5. Verdict

5.1 If you have a WM2003+ device...

it’s the best to stick to the Macromedia 7 plug-in and a third-party Macromedia-based player on top of it.

If you are seriously into playing Flash animations on your Pocket PC and need real (!) full screen support even in Landscape mode and a centered Flash area (and not one on the left), Bryht 2.0 is the only way to go.

Much as PFlashP 2.0 is considerably cheaper, the lack of the ability of centering the Flash animation on the screen may be distracting. File association support is also lacking. Otherwise, you may want to have a look at it if you, for some reason, don’t like the Bryht player. The lack of built-in Landscape mode won't be a problem in operating systems starting with WM2003SE either; if you have a PDA with a previous OS, you'll want to stick with Bryht and its built-in Landscape mode.

You can also give a try to the free Microsoft player, particularly if Macromedia 6-compliance is sufficient. As it doesn't have built-in Landscape support (but it does support the operating system's Landscape orientation), it's mostly recommended for WM2003SE users. WM5 users may run into compatibility problems because of the Macromedia 6-based engine, though.

FlashAssist 1.3 is definitely not recommended - it’s just useless in system-level Landscape mode. Much as it has real full screen mode in Portrait, WM2003SE+ users wanting to use the Landscape to use the full screen area should avoid it. Again, it’s Bryht 2.0 that only excels in this respect.

The Flash support in NetFront 3.2 is really disappointing: it's only in very few cases that it's better than Macromedia-based solutions. I don't recommend it, particularly if you have a WM5 device - NetFront 3.2 is not compatible with WM5. Hope Version 3.3 will have a better Flash engine.

Finally, Pocket Spark is useless and is incompatible with almost everything (after all, it's based on over six-year-old code).

5.2 If you have a Pocket PC 2002 device...

get the Macromedia 6 plug-in and the Bryht player.

5.3 If you have a slow Pocket PC 2000 MIPS/SH3 device...

it’s the best to forget Flash animations - very-very few animations (for example, the great, highly recommended game Johnny Rocketfingers) will run OK because of the lack of pure computing speed. If you still need to run Flash stuff, get the Macromedia 4/5 plug-in and, if you have a MIPS Cassiopeia device, Macromedia Flash Player for Cassiopeia.

6. Note that...

1. Strictly with WM2003SE (previous / later operating system versions don’t have this problem), you will inevitably run into the Press OK to continue loading the content of this page" message like in this screenshot.

You can’t really help this without using third-party, commercial apps. Please see this article for more info on all this.

2. You can't play Shockwave content with the Flash player. This means the excellent titles at ShockWave.com and generic gamer sites like the above-linked arcadepod.com (which, for example, hosts the Shockwave Player 10.1-based great 3D RPG game, Sherwood MMORPG). Remember this if you can't run a given application/game.