Browsing the Web on MS Smartphone (Windows Mobile Standard) devices PART II

This is Part II of the MS Smartphone Web Browsing Bible – had to post it in to parts because of the huge size and the 64 kbyte restriction of the database engine.

1.5 Additional technologies

In this section, I elaborate on the Toonel, Java applet and Flash support on Smartphones. Again and again, CHECK out the original Windows Mobile Web Browsing Bible for more info on them. In here, I only give you strictly Smartphone-related information, not generic one you might want to also know.

1.5.1 Flash

Unfortunately, unlike on the desktop, where there is a more or less solid and compatible (albeit pretty slow) official Flash implementation from Adobe (ex-Macromedia; from now on, I only refer to it as “Adobe”) itself (and the alternative, albeit a bit worse and much more CPU-hungry player integrated into NetFront), Smartphone users have always been left in the cold. Much as Adobe has been addressed several petitions (see for example THIS one at MoDaCo), the Smartphone still haven’t received a real Flash player.

There is some light on the horizon, though. Adobe is working on Flash Lite (current version: 2.1), which is already accessible HERE. (If you don’t have an account, make sure you check in “No, I will create one now” as the bottom so that you can register. Registering can be done quickly; only after that will you be able to access the downloads. Note that, should you not want unwanted Adobe mails, you don’t need to check in any of the “I’m a developer / content creator” radio buttons – you can safely set all of them to “No” instead of the default “Yes” – you’ll still be provided access for the download).

Both IEM and Opera Mobile supports this plug-in (see screenshots below). Note that it doesn’t run MOST currently available Flash animations. For example, most games out there won’t run (unlike under the Pocket PC version). Some examples of them are Bomberman and Play with fire (this is what you’ll be shown: 1 2; IEM screenshot).

1.5.1.1 Hacking REAL Flash on Smartphones

I’ve tried to "hack" Flash Lite (overwriting \Program Files\Adobe\ flashlite.dll with the original, “full” \Windows\ Macromedia\ flash.dll). However, the checking for being a genuine Flash Lite animation is done in another DLL (daxplayer.dll); therefore, this hack doesn’t work.

Fortunately, other hackers had better luck. XDA-Developers forum member jockyw2001 has managed to hack the REAL Flash player onto the SP.


(IEM playing back a YouTube video in One Column mode on the HTC Vox)

(other screenshots: Opera Mobile on the Vox doing the same in Desktop mode with 50% zoom, with the SPHelper cursor for controlling the on-screen controls; the same on my 176*220 Oxygen, with 25% zoom)

His thread is HERE (you will NOT need to read it to complete the steps below!) Note that you MUST apply the hacks on an application unlocked phone - it won't work on locked phones. Fortunately, it's pretty easy to unlock your phone (see for example THIS article for some links). Also note that the hack worked just great on both my WM6 QVGA HTC Vox (s710) and WM5 AKU3 176*220 HTC Oxygen (s310). Some people, however, reported problems with other models (see the above-linked thread). I'm pretty sure it's because they have messed up something that the plug-in doesn't work on their devices.

First, get THIS file (it's a slightly rearranged version of jockyw2001's original. For example, I've collected the registry import files into one file and separated the files into directories named after the steps you need to do). UnRAR it with, say, WinRAR. Now, do the following:

  1. If you've already installed Resco File Explorer (along with its registry plug-in) and at least once started the latter, copy All.reg from Step 1 - Registry import to anywhere on your SP and click it from File Explorer. It will be imported into the Registry.
  2. Go to the root directory of your SP and to the Step 2 - Windows directory copy directory on your desktop computer. Copy the Windows directory on your SP.
  3. Go to the Step 3 - flash6 directory on your desktop and the \Windows\Macromedia directory on your SP. Overwrite flash.dll on your SP with the one on your desktop.
  4. Go to Step 4 - regserv and copy regsvrce.exe anywhere on your SP. From inside File Explorer (on your SP), execute it to register Flash. To do this, enter \Windows\Macromedia\flash.dll in the Full pathname... text input field (176*220 screenshot). (To make this easier (to avoid entering the path on the phonepad / keyboard of your phone), I recommend for example Pocket Controller on the desktop. If you can’t use Ctrl-V to paste to there (the case with the version 5.06 + HTC Vox combo, but NOT with the Oxygen), use ViTO’s excellent CopyPaste on the Smartphone to copy the contents of the clipboard to the input field.)

    Then, just press OK and “Yesin the confirmation dialog. After some 2-3 seconds, you’ll hear another bell. Now, start regsvrc.exe again; you’ll immediately see a confirmation (success) dialog (176*220 screenshot).

  5. On the desktop, go to Step 5 - Flash7 and copy flash.dll to \Windows\Macromedia on your SP in order to overwrite the in step 3 copied Flash 6 version with the new, Flash 7 one.
  6. Now you can start enjoying REAL Flash content!

Note that the above tutorial explains how you can install Flash in the main storage. Should you want to install Flash on your storage card (to save 1.5 Mbytes of main storage, which is a real must on Smartphones with less than 128M built-in Flash ROM), do the following (it's pretty much the same as with the previous case, except for the registry file you'll need to import and the paths you need to use; I used the bold typeface to emphasize the differences):

  1. import THIS registry file (it's NOT the same as Step 1 - Registry import\All.reg! Do NOT import the latter!)
  2. Go to the \Windows directory of your SP and to the Step 2 - Windows directory copy\Windows directory on your desktop computer. Copy everything BUT the Macromedia subdirectory to your SP (that is, do NOT copy the latter, only the AppMgr subdirectory and the two files, Macromedia Flash Player ActiveX.unload and nmsrapix.dll, in \Windows.)
  3. On your SP, change the current directory to your storage card - that is, it should be \Storage Card. Create a subdirectory named Windows there and copy the Macromedia subdirectory in there (so that, finally, flash.dll will be under \Storage Card\Windows\Macromedia)
  4. Go to the Step 3 - flash6 directory on your desktop and the \Storage Card\Windows\Macromedia directory on your SP. Overwrite flash.dll on your SP with the one on your desktop.
  5. Go to Step 4 - regserv and copy regsvrce.exe anywhere on your SP. From inside File Explorer (on your SP), execute it to register Flash. To do this, enter \Storage Card\Windows\Macromedia\flash.dll in the Full pathname... text input field and go on as explained in the main storage-centric tutorial.
  6. On the desktop, go to Step 5 - Flash7 and copy flash.dll to \Storage Card\Windows\Macromedia on your SP in order to overwrite the in step 3 copied Flash 6 version with the new, Flash 7 one.

The plug-in works great (additional screenshot); you’ll need a cursor emulator like SPHelper to click labels / buttons like in THIS screenshot.

Note that both IEM and Opera Mobile are able to make use of the plug-in. The two programs have somewhat different strengths and weaknesses.

First, IEM can't make use the up/down arrow keys; that is, if you would like to, say, play a game depending on these two directions, they will be unplayable. In these cases, you MUST use Opera Mobile. Second, as far as playing back YouTube videos is concerned, while IEM (unlike on the Pocket PC – it’s pretty strange the SP version of IEM is better in this respect) you will want to prefer Opera Mobile because it’s slightly faster at playback. You will still want to overclock your phone - if it’s a TI OMAP-based one, with OMAPClock.

Under Opera Mobile (as opposed to IEM), in the default mode, the flash plug-in size will be really tiny as can be seen in HERE. (Therefore, you’ll want to switch to Desktop mode and use a Zoom level of, on QVGA machines, in general, 50%, and, on 176*220 models, 25%) Unfortunately, you will still have problems with scrolling down / right – in the default, link scrolling mode, you will only see the top left part of the page and won’t be able to scroll anywhere (not even clicking the scrollbars with SPHelper). To fix this (and to scroll down to the Flash animation), you MUST switch to Image (scrolling) mode. With Opera Mobile, the up/down arrows do work, unlike with IEM, as can also be seen in THIS screenshot (otherwise, I couldn’t have been able to go down).

1.5.2 Toonel

Toonel, the transparent compressor proxy, is a GREAT way to save data usage costs. If you don’t have an unlimited data plan, you really should check it out by, first, reading my related article & tutorial HERE. I’ve published several articles and tips on Toonel; the just-linked one is the one to start with.

While, it seems, it’s not possible to make the native Windows Mobile version work, the Java versions does work on Smartphones.

As far as the native Windows Mobile version is concerned, according to the folks HERE (thanks for the link to the Toonel folks; it's Russian - Babel "translation" HERE), some people managed to make the native (.NET CF) version of Toonel run. I haven’t succeeded in this on either of my Oxygen or Vox.

Fortunately, the Java version works. In general, you’ll only need the (brand new) CrEme 4.12 (download the TI OMAP version of the 4.1 series if you have a TI OMAP-based Smartphone) and THIS JAR file (version 0.45 - do NOT use version 0.50!). Install CrEme (you can do this on the storage card too – then, however, you’ll need to modify the link file I give you), copy the JAR file to the root directory of your handheld (you can, actually, copy it anywhere – but, then, you’ll need to modify the link file I will give you soon) and, then, copy THIS link file to \Windows\Start Menu. Then, just click the latter to start Toonel in the background. Upon start, you should see THIS screen. If you see THIS (note the bind() failed message!), it shows Toonel is already running.

Note that the CrEme process takes quite a lot of memory (but, fortunately, little CPU time – about 1-2% - when inactive) as can be seen in HERE. Beware of this fact – the operating system may kill the CrEme (Toonel) process in the background, particularly if you start other, memory-intensive programs. Then, you will just need to restart the proxy by clicking the startup script.

As, currently, the SP version of Opera Mobile (as with old 8.60 Pocket PC builds) doesn’t have internal support for entering proxy servers, you must enter the proxy information in the config file by hand. However, as with the old PPC betas, you can easily configure the proxy server by just editing \Application Data\ Opera\ opera.ini and adding the following section:

[Proxy]
Use HTTP=1
HTTP server=127.0.0.1:8080
Enable HTTP 1.1 for proxy=1

A screenshot of the Web admin interface of the locally running Toonel on my Vox:

As can clearly be seen, there was about 80% (fourfold!) bandwidth usage saving during the active session. This alone makes Toonel really worthy if yours is not an unlimited data plan.

A quick visit to WhatIsMyIP also shows it’s through the Toonel server that you’re connected (85.25.148.242 is one of the IP’s of the Toonel servers).

It’s VERY important to remember that, currently (as of 07/10/2007), the SP version of Opera Mobile does NOT reliably support proxy servers. Therefore, if you absolutely must use Toonel (or ANY external proxy server), you MUST use IEM and forget Opera Mobile.

As IEM, as with the PPC version, also depends on the operating-system level proxy settings (unlike other browsers), you must also configure the system to access the Net differently than before. That is, do the following:

  1. in IEM, go to Menu / 9 Tools / 3 Options / Connections, untick “Automatically detect settings” and select “Work” in the list as can be seen in HERE
  2. in the system-level Settings, go to 6 Connections / 6 Proxy, press Action on New and create a new record as can be seen in THIS screenshot (as can be seen in HERE, just leave “Type” on “HTTP”). You can name the proxy setting anything; in here, I’ve called it ‘t’. That is, all you need to do is setting “The Internet” to “Connects from”, “Work” to “Connects to” and entering “127.0.0.1:8080” in “Proxy (name:port)”.

Note that, after this, you will need to configure your other programs also using the system-level settings to use Toonel instead of a direct connection. Unfortunately, I haven’t managed to configure the built-in Messaging to use the built-in POP3 proxy support of Toonel (as opposed to the Pocket PC Messaging). Also, remember that, should you have the built-in Live (or MSN) Messenger, defining the proxy will also render them useless.

Unfortunately, it seems it’s not possible to make these programs work with a proxy defined in the above way. That is, you will need to delete the proxy every time you want to access your mail. It seems there are no other ways of disabling it - for example, setting the source / target networks to something else doesn’t work.

Again, keep in mind that you can have Toonel activated for IEM (that is, using a system-level proxy setting) AND still access your mail (both compressed, via Toonel, and uncompressed) via other, Smartphone-compliant mailer clients; for example, FlexMail. With the latter, you can safely use the compression offered by Toonel too and the mails downloaded just OK.

1.5.3 Java applets

While the IEM plug-in of the just-released CrEme 4.12 (the only Java Virtual Machine to be compatible with the Smartphone AND have an applet plug-in) can be registered, it doesn’t seem to be working, unlike on the Pocket PC.

Neither the applet-based Radar Weather test nor the local demo applet (Cube) shipped with the system work: the JVM plug-in just keeps showing "loading applet". Example screenshots: 1 2 (Vox); 3 (Oxygen).

1.6 Keyboard shortcuts

I’ve compiled a chart of the three SP Web browsers showing how a given functionality can be accessed. As can be seen, in general, Opera Mini requires the least button presses to do something (assuming IEM and Opera Mobile run in full-screen mode, which also means double initial softkey presses instead of just a single one to access something in menus only – that is, not having a direct dialpad shortcut).

Keep in mind that, if you extensively use the dialpad (for example, to directly enter the number of the menu item you’d like to activate – these numbers are shown in all menus and I also reproduce them here), you can navigate MUCH faster than using the D-pad to scroll up/down a menu.

You can find the chart here - make sure you check it out, you’ll find it REALLY useful!

2. Non-working or not recommended browsers

2.1 Thunderhawk 2.0

Unfortunately, this browser wasn’t updated for WM5. This means neither the SP2003 (1 2) nor the SP2002 version (these are the two versions available for download) can be installed on WM5/WM6 SP models. All in all, forget about it for the time being.

2.2 NetFront 3.4 Technical Preview 008

NetFront is a well-known browser, which, as of the Technical Preview (TP) versions of the forthcoming, 3.4 version, also received (still a bit flaky) Smartphone support. (No, don’t expect version 3.3, the currently avaailable non-preview, commercial version to run on the Smartphone – it can’t be installed).


(a 176*220 screenshot; the same device scrolling through a stock exchange list in Normal (desktop) display (rendering) mode)

(Note that most of these are all non-full screen screenshots. I used them to prove the screenshots have indeed been taken on a Smartphone. In reality, especially on 176*220 devices, you will want to stick to full screen mode to maximize the screen estate available for browsing).

Note that, currently, the last TP version is 008. You will, however, want to prefer the earlier, 007 version (see review HERE) accessible for example HERE because version 008 is far more restrictive and the two versions have the same expiration date.

The main difference between the PPC and the SP version is that you can’t navigate to the address bar of the latter using any keys (or any menu). This means you must use a cursor emulator like SPHelper to click the address bar; that is, to transfer the focus there.

It’s very important that, after you load the program, it’s only the command bar (the two softkeys) that will change, nothing else, as can be seen in HERE. To bring up the standard Netfront GUI (with the address bar), you will need to navigate to Menu / View / Full Screen. It’s then that you will be presented the standard NF GUI and start working / browsing via, say, going to Menu / File / Bookmark (or Operation / 6 Bookmark) or, with SPHelper (or any other cursor emulator), activating the address bar.

Note that while you can’t navigate to the tabs (if you do open more than one tabs) using the D-pad, you can easily access them via Menu / 1 Window for both switching to and closing.

Unfortunately, the restrictions of the PPC version also apply here; most importantly, the inability to redefine keys / buttons to quickly access any kind of functionality. This is especially annoying with the Smartphone version, where you have tons of easily accessible buttons, which are heavily used by all major, highly-recommended Web browsers (Opera Mobile, IEM (particularly after hacking the Registry) and Opera Mini but not jB5 as yet). In here, you can’t even use page scroll using the touchpad. In addition, not even the Smartphone “back” button works (which does work in both Opera Mobile and IEM) to quickly return to the previous page.

Interestingly, while there certainly is Flash support on the Smartphone (example screenshot HERE), YouTube, as opposed to the PPC version, doesn’t work. Remember that you need to activate Flash manually and also remember that it will chew through your battery if you navigate to any Flash-enabled web page – yes, it’s still very weak, battery usage-wise. The Access folks should immediately look into this problem.

All in all, while it’s certainly usable, it’s, on the Smartphone platform, not as convenient (and battery-friendly, for example, Flash-wise) as Opera Mobile or IEM. Only use it if you REALLY want to stick to NetFront and you can put up with the restrictions (not directly accessible address bar, sub-par Flash support etc).

2.3 Webby

Unfortunately, it doesn’t run either. While it can be installed, it refuses to run (1 2 3).

2.4 Minimo 0.2



(the latter is a 176*220 screenshot; as can be seen, only the last, Menu (…) icon is invisible; however, transferring the focus to it will also work. Too bad it turned out to be pretty unreliable on my WM5 AKU3 s310 (Oxygen)– even more so than on my QVGA Vox. For example, it didn’t even finish loading the SPT homepage as can be seen in the above screenshot.)

While it can be installed on SP’s, on this platform it’s far from perfect and, in general, useless, for the following reasons:

  1. it has HUGE memory usage (the biggest problem with the 0.2 version on the Pocket PC platform too). After loading, it consumes about 12Mbytes and, when you load additional pages, this decreases even more, leaving little (if any) RAM memory
  2. accessing the icons (to, for example, bring up the address bar) at the bottom can only be done using the right softkey. This, on the other hand, first, iterates through ALL the links in the page (yes, ALL of them), and only after this moves down to the bottom icons. A mouse emulator like SPHelper doesn’t help (to directly click the icons at the bottom) – Minimo just doesn’t sense the mouse clicks (that is, left softkey presses)
  3. the browser often crashes (mostly if you run out of memory) and is generally slowish

All in all, I don’t recommend it. Also see for example THIS and THIS for more info / user opinions.

Note that the other available version, Minimo 0.16, isn’t installable on Smartphones at all.

UPDATE (later the same day):

  1. in THIS thread, MoDaCo forum member holg posted something definitely worth reading - it, for example, explains how you can directly start Opera Mini from the alternative, by me, often-discussed midlet runner environment, the IBM J9. It also shows how external proxies can be used with this environment.
  2. SPT frontpage

UPDATE (07/11/2007): Article heavily updated: added the two IEM Registry hack sections; added the jB5 section.

UPDATE (07/11/2007): Another heavy update: added the Flash hacking section.

UPDATE (07/13/2007): Yet another heavy update: added the Opera Mobile WM6 registry fix section.

UPDATE (07/14/2007): Changes to the NetFront section. Thanks to AximSite / HowardForums forum member player911 for his remarks!

UPDATE (07/18/2007): Upon popular demand, I've added a section on installing the Flash hack on a storage card.

Cross-posted to: PPCT, SPT, MoDaCo, AximSite, XDA-Developers, BrightHand, FirstLoox, HowardForums.

Werner Ruotsalainen's picture

Yes, you can put the DLL file on a storage card too, as with the standard, non-hacked Pocket PC install - after editing the registry paths.

Werner Ruotsalainen's picture

AdamBomb, do NOT install Flash Lite (or, if you've already installed, uninstall it), "only" the "real" Flash hack. Then, you won't have any probes and all Flash stuff will work OK.

Werner Ruotsalainen's picture

AdamBomb, great it works!

To make YouTube work, consider switching to Opera Mobile from IEM.

Werner Ruotsalainen's picture

Did you also test for example Bomberman (link in the article)?

Werner Ruotsalainen's picture

Nope, you can't use a desktop (binary) DLL under Windows Mobile.

Werner Ruotsalainen's picture

Ben, yes, it's WM6 only. (Checked on my WM5 HTC s310).

Werner Ruotsalainen's picture

Is softbank x10ht Flash? Does it work on any Windows Mobile Pocket PC devices, with the same Flash 7 plug-in?

Werner Ruotsalainen's picture

mikeeey, you'll need to relocate the IEM cache. It's done in exactly the same way as on the Pocket PC. I think SKTools Standard is also capable of it if you don't want to edit the Registry by hand.

Werner Ruotsalainen's picture

Mo, you mean relocating the IEM cache to a storage card? Sure it does. I, however, wouldn't really recommend it as it may result in some speed decrease. I've published some results on this (the factor of speed decrease when using a stanbdard (not very fast) memory card) in the PPC Web Browsing Bible.

Werner Ruotsalainen's picture

Mo, you don't need to hack - the PPC has a directly installable Flash plug-in, unlike the SP. Not any kind of hacking is necessary.

Werner Ruotsalainen's picture

Mo, on the license screen, press Down ONCE and, then, Action.

Werner Ruotsalainen's picture

Rick, it's not possible unless you use a User-Agent rewriter HTTP proxy. I've written one; I'll post it tomorrow (now, I neeed to leave and don't have time).

Werner Ruotsalainen's picture

Rick, sure I have - see the Java source HERE and the compiled (under JDK 1.1 so that it will be compatible with any JVM out there, even old Pocket PC ones) class HERE.

Just run it on either your local PPC in a separate Java task (using CrEme, Jeodek or MySaifu) or on a desktop computer directly accessible (with either a direct IP or with port forwarding). Configure your Opera Mobile to use it as the proxy server.

Werner Ruotsalainen's picture

Wolfey, not even mailers or Opera Mini? Also tried via ActiveSync?

Do you have a backup? If you don't, I can, on the Registry / system level, have a closer look at how the problem may be fixed. You could also take a look at the linked Flash hacking thread. IIRC, there have been no similar problem reports there; that is, you seem to be the first with this problem.

Werner Ruotsalainen's picture

Wolfy, the original input.ini is HERE (right-click for download; don't forget to rename it to input.ini!)

Werner Ruotsalainen's picture

You can relocate the mail attachments on the card with, say, SKTools.

Werner Ruotsalainen's picture

Wolfy, do you mean the camera is very choppy when taking videos, or at normal live view (w/o taking videos)? You might want to look around HERE to see whether there's a solution to it - you might even want to post a thread there.

Syndicate content