As has been announced some weeks ago, I had a W3C speech a week ago devoted to Web browsing on mobile devices. You can find the (English) slides HERE
. (Sorry, some of the example screenshots are in Finnish. This, however, doesnít have a detrimental effect on the overall understandability of the material.) In order to understand the slides, Iíve also decided to comment on all of them so that the entire Windows Mobile, Symbian and BlackBerry mobile community can benefit from my speech Ė in written form. Finally, note that, albeit this article is over 80kchars long, it in no way can provide a FULL, absolutely thorough overview of the Web browsing scene on these platforms. That is, if you donít understand something, donít despair: in my referenced, previous articles, you can, in most cases, find a very thorough dissemination of the subject. Just an example: in this article, I only devote some 2kchars to the subject of downloading files while my original, devoted article, along with its (recent) updates, amount to over 100 kchars.
I also provide in-line screenshots in this article so that you know what I'm speaking about without constantly switching to PowerPoint; however, to see the original document at its full (and copy/pasteable) glory and resolution, you'll need the PPT file.
(Sorry for the comparatively bad quality Ė captured from the 1024*768 M-JPEG video(!) recording of my Canon 960IS
(no comments needed)
(just some self-promotion
(Promoting my employer and me. Incidentally, should you want to support my employer - and, through that, me - with a, say, contract for some kind of development or any kind of IT consultation [if you work for a company that would like to outsource some kind of consultation or quality (!!!!), in-depth research], feel free to contact me and Iíll make sure my employer contacts you back. Even a, say, US$ 50,000 project would be welcome. Iíve been a generic Ė not just mobility! Ė IT consultant and lecturer [for example, for Sun
ís Java training courses], but am also well versed in traditional Electric Engineering stuff like telecommunications and signal processing; see for example my forthcoming Digital TV / Telecommunications Bible
for more info on the latter. That is, Iím in no way a mobility-only type of professional. In e-mail [werner AT pocketpcmag PISTE com
, where change AT
to @ and PISTE
to . (dot)], Iím also ready to provide you with a more thorough list of past IT consultation, education etc. projects. Itís me that would be working on these contacts; together with an English editor to get the English right. I only expect serious inquiries. Please, if you like my articles and would like to see similar articles come out in the future too [itís mostly because I have a lot of free time and a really cool environment at work that I am allowed to work on articles even during work hours], look around at your company to see whether thereís some way of outsourcing your, say, consultation, education or research needs. International contracts [on which I/weíve worked several times] are welcome.)
OK, letís get to business. Given that in a 45-minute speech itís entirely impossible to give the listeners a complete
, detailed picture of the problems, the compatibility issues of each and every browser for all the three operating systems, Iíve added references to all slides (whenever applicable). To quickly look up the referenced article / Bible, just change ď1327
Ē in http://www.pocketpcmag.com/blogs/index.php?p=1327
to the number given after ĄRef:ď
Also, youíll need to be aware of three articles not (always) linked as references. The two Windows Mobile Web Browsing Bibles have the reference number 1828
for Pocket PCís and MS Smartphones, respectively. They, therefore, translate to real URLís http://www.pocketpcmag.com/blogs/index.php?p=1828
. My Opera Mini 4.1 (Ref: 2571
) review, which is currently not discussed in either of the Web Browsing Bibles, is worth checking out for the latest information on this excellent browser. Also, you can find all my Web browsing articles in the Web Browsers category on my blog at http://www.pocketpcmag.com/blogs/ind...?blog=3&cat=61
There are several established mobile operating systems (platforms). In this slide, I quickly list them. Of course, this is just a very high-level overview of the operating systems; itís later that I elaborate on them more thoroughly; one by one.
Web browsing-wise, probably the most advanced platform is Windows Mobile
for short), which itself has basically two, starting with WM5, converging subplatforms: touchscreen-enabled Pocket PC
ís (PPC for short) and touchscreen-less MS Smartphones
. In WM6 parlance, theyíve been renamed to Windows Mobile 6 Professional / Classic
and Windows Mobile 6 Standard
, respectively. Iíve also listed Handheld PCís for completeness (and as an introduction to the slide explaining the evolution of the built-in Web browser pre-installed on WindowsCE devices in the past 11.5 years), which are a dying breed.
is another, very important, consumer-focussed mobile operating system. The most featureful browser for its most popular breed, Nokia
ís Series 60 (S60)
, is the Nokia S60 Web
. They are, in addition, also able to run Opera Mini
and other MIDlet-based browsers. It also used to have an Opera Mobile
port, as was the case with some Linux-based models like the Sharp Zaurus
is a very important business (and, with the advent of more consumer-friendly models like the Curve and Pearl and the, particularly multimedia-wise, really enhanced 4.5/4.6) operating system. Its Web browser has traditionally pretty bad. With operating system version 4.5/4.6, however, it has undergone a major facelift and received a lot of new features. For example, now, searching for text in pages works. This highly useful feature is only supported by very few other browsers Ė for example, itís only been introduced to the two Opera browsers this year.
The hugely popular Apple iPhone
. Itís really a decent browser. The only real disadvantage is the complete lack of, for example, Flash (Lite)
support. As YouTube (one of the major usage areas of Flash as of today) has a dedicated YouTube client, this isnít that big a problem. Note that, unlike with the first three operating systems (and like all the following ones), I donít elaborate on this operating system in the rest of my speech. Currently, iPhone doesnít have Java MIDlet support; therefore, you wonít be able to run Opera Mini on it. Java, however, will be - hopefully - soon added.
, after the, unfortunately, discontinued, but, technically, really-really excellent Sharp Zaurus
series, seems to have been reborn: Nokia's Web Tablets
and the non-Nokia phones based on the LiMo
foundationís operating systems are gaining popularity. Note that, as far as the old Zaurii are concerned, it had both Opera Mobile
for short) preinstalled.
Finally, the once market-leading Palm OS
is pretty much dead now; this is why I donít elaborate on its (compared to what is available on Windows Mobile, iPhone and Symbian, not very advanced) browsers like the, with newer versions being NetFront
at all. Unfortunately, the only MIDlet manager (an environment to run Java-based applications like the Opera Mini browser) for the operating system is IBMís now-discontinued J9
, is really buggy and crashes frequently; this means you canít even use Opera Mini on the platform.
First, letís take a closer look at Windows Mobile and the core operating system, WindowsCE
, paying special attention to how the built-in browser was enhanced during the 11.5 years of maturation.
With WindowsCE 1.0
(Handheld PC), which was released in early 1997 and used on several models like the HP 300/320LX
, the Philips Velo
etc, has only a really basic (no frames) but already online (non-offline) browser. (Weíll soon see why I emphasize it being online.)
The next two major releases of the operating system, WindowsCE 2.0
(released early 1998 and 1999, respectively) has gone in two directions to cater for people wanting a really palm-sized and, to keep the size down, keyboard-less version of the, compared to the, then, like-hot-cakes-selling Palm handhelds, not really popular WindowsCE models. The new form factor was named Palm-size PC (PsPC)
. Several WindowsCE hardware manufacturers released PsPCís; for example, Casio
released the Cassiopeia
two-digit series (E10
released the Nino
the Jornada 430
which was even featured in a James Bond movie etc. These devices only offered offline browsing
; that is, if you had any kind of Internet connection on them (via, say, an infrared connection to a mobile phone), you still couldnít directly access any Web pages. Instead, you needed to use the desktop based ActiveSync
tool (earlier called as WindowsCE Services
) to fetch the pages for you and synchronize it to your handheld for offline viewing.
It was only in the ďtraditionalĒ Handheld PC handhelds, for example, the HP 360LX/620/680
(with the OS version 2.11, called Handheld PC Pro
s) that still had online access capabilities with a hugely enhanced and updated Web browser much better than the one in WinCE version 1.0.
The marketís answer to the 2.x-series handhelds was pretty much lukewarm. This also resulted in several manufacturers like Philips leaving the scene for ever. It was not before mid-2000, with the release of WindowsCE 3.0 and its hugely popular Pocket PC platform (a heavily enhanced version of the PsPC platform, fixing a lot of issues like the lack of online browsing support) that anyone would say WindowsCE-based handhelds would seriously endanger the market penetration of Palm handhelds and BlackBerry messengers.
, which was released in May 2000, was the first really successful MS mobile op. system. As with the 2.x series, two operating system subversions were based on it: the, technically, much more advanced (for example, its built-in browser was already capable of finding text in pages, which the Pocket PC version isnít even now capable of) Handheld PC 2000
etc.) using the traditional clamshell form and the descendants of Palm-size PCís, now, renamed to Pocket PC
ís. The latter received an online Web client again; at the time, it was clearly less capable than that of the Handheld PC 2000 OS. Ironically, the latter operating system has practically died out pretty soon and now (its descendants) is used in niche models only.
Letís go on with the Pocket PC operating system and its built-in browser, Pocket Internet Explorer (PIE)
. This was, incidentally, renamed to Internet Explorer Mobile (IEM)
in 2005 with WM5.
In late 2001, the first version of the PPC OS (also called Pocket PC 2000
) was updated to PPC2k2
). While it did have certain advantages over the old operating system, Web browsing-wise it was more of a step back in speed / memory handling because it was incapable of rendering larger (about 150+ kbytes) pages Ė unlike its predecessors and successors.
In Spring 2003, Windows Mobile 2003
for short; notice the operating system name change!) followed with a much-much better built-in browser with, among other things, CSS support added. (Previous browsers didnít at all support CS sheets.) Then, in Summer 2004, WM2003 Second Edition
) followed suit, with the native One Column
mode being the most important enhancement (on which Iíll elaborate later), Web browsing-wise.
In Autumn 2005, WM5
arrived, also renaming PIE to IEM. It contained a heavily bugfixed IEM engine Ė some CSS contructs no longer result in the prompt termination of the PIE session, unlike in WM2003(SE). It was also the first PIE (IEM) version to support file uploading Ė a painful omission from previous PIE versions.
WM5 (and subsequent operating system releases) was also unique in that internal updates during the lifespan of the operating system were well-documented and referred to, easily checkable by an end user, via ďAKU
Ē versions. Just some major enhancements: while the initial WM5 IEM browser was pretty very slow to load Web pages, AKU 2 has fixed this almost completely. AKU3.5 introduced a High-Resolution switch for high-resolution VGA devices Ė another long-demanded feature.
In Spring 2007, WM6
followed suit, with no real improvements except the support for IFrames. Finally, this (2008) Spring, WM6.1
was announced with no real improvements either; a fully revised and enhanced version (a full port of the desktop IE6 engine) is promised
later this (2008) year.
Speaking of the built-in browser, it still is pretty much incapable when compared to alternative browsers like Opera Mobile
or even Mini
. This is why there exist several so-called ďplug-insĒ or, with some less popular solutions, ďshellsĒ to enhance its functionality by adding, for example, multi-document (multitab) support. The most important plug-ins are as of today: Spb Pocket Plus, PIEPlus and MultiIE.
In the rest of my presentation, Iíll return to the compatibility issues of IEM several times; for the time being, letís check out the other, alternative browsers.
In addition to PIE / IEM, there are several third-party browsers on Windows Mobile. Letís start with standalone, native
Windows Mobile ones (native means you donít need to run them in a specific environment like a MIDlet manager). The first group is non-streaming too, meaning no excess data fees over a non-flatrate connection / inability to use over non-3+G connections.
* Opera Mobile
: probably the most important Web browser. Itís, more or less, based on a direct kernel port of the desktop engine, meaning excellent compliance with core Web standards. Note that the currently, officially available version, 8.65, is still based on the 8.x core; itís only the latest, 9.x-series Opera Mobile that have, finally, switched to the 9.x core and delivers full compliance with all current standards. While itís a fairly new browser (the first beta was released in early 2006), itís taken the Windows Mobile Web browsing scene by storm and is the preferred Web browser of many.
is a long-established browser. Unfortunately, while it does have its merits, the development seem to have slowed down and several major bugs havenít been fixed for years. (For example, you still need to rely on the definitely inferior built-in Flash interpreter instead of having the ability to use external, official and much better-quality Flash plug-ins.) I really hope Access, the developer of NetFront, finally starts to make some serious enhancements to this browser.
: this is another long-established browser. The classic (native Windows Mobile) client has received no real improvements in the last about two or three years (except for adding Java applet
support back in 2006) and it seems itís completely abandoned as the company is switching to a MIDlet-based and, therefore, truly multiplatform (not only WinMo) solution.
, which is an unofficial and, now, abandoned Mozilla Firefox-port. Unfortunately, I canít really recommend this browser Ė its speed, performance and memory consumption is pretty bad when compared to most of the alternatives. Note that it has nothing to do with the real, official Windows Mobile Firefox port announced some months ago.
ís browser is an OEM-only one and, therefore, canít be acquired (legally) if it isnít included in your factory ROM. Itís pretty slow and is incompatible with even basic Web standards. Nevertheless, some people still like it.
: itís a really poor and in no way recommended browser.
but still native browsers follow. The most important of them is SkyFire
which, currently, only works in the 3G networks of the U.S. As Iím in Europe, I canít really give it a thorough ride at the moment. Another, similar (but, based on the raving user reports on SkyFire, speed- and usability-wise, really inferior) solution was Microsoftís DeepFish
, which has been discontinued in the meantime. Also note that there are other, streaming-based, dedicated mobile solutions like DataWindís PocketSurfer 2
Finally, letís elaborate a bit on MIDlet-based browsers. Their biggest advantage is the compatibility with all other mobile platforms, including even ďdumbĒ feature phones (but excluding BREW-only dumbphones used in some American networks). This will even include the iPhone as soon as Sun (and Apple) gets their MIDlet manager, the environment you can run MIDlets in, ready. Their biggest disadvantages are
the somewhat reduced speed. In practice, however, you wonít really notice this; the only real difference is the download speed when you use the in-process download manager, as opposed to using the system-level Web browser to download files. As you will want to prefer the latter, this isnít an issue.
the lesser integration with the operating system. For example, you canít copy arbitrary text from Web pages. This can be done in a very awkward way with Opera Mini 4.1: save the page to a file and inspect the saved file (containing the Web page in a textual, albeit non-HTML form) with a copy-capable file viewer.
Another major issue is the inability to make the browser the default one for the entire system Ė at least for non-Windows Mobile operating systems. On the latter, thanks to me and two other developers, this is already possible, making your life much easier: you can now just click links in a, say, e-mail and Opera Mini (or, alternatively, any other Java MIDlet-based Web browser) opens the given page.
Of the MIDlet-based (non-native) browsers, itís Opera Mini
that is the most important. Now, as of version 4.1 and all its new goodies (like file upload and page saving), along with our direct invocation tools, itís a serious alternative to fully-fledged, non-Java-based browsers.
Some other MIDlet-based browsers include TeaShark
. The brand new version of Thunderhawk
for short) is also Java-based but is strictly OEM only and isnít available for the general public.
, as has already been pointed out, is mostly a business ďpush mailĒ platform, only recently opening its gates for the consumer wanting more multimedia and camera. Officially, itís still at OS version 4.2 / 4.3; the new version, 4.5 / 4.6, is slated to be released in a few months. In the meantime, you will really want to check out the (largely unofficial) betas as they offer a lot of goodies seriously enhancing the usability, user- and, through the new fontsets, eye-friendliness of the platform.
In the two screenshots at the bottom of the slide, you can see how the old, 4.2 OS (on the left) rendered the first few entries in my Opera Mini favorites list and how the same is done under 4.5 (on the right). As can clearly be seen, under 4.5, much more contents can be displayed on the screen and the fonts are much better-looking and readable.
As far as Symbian is concerned, there used to be several subversions of Nokiaís Symbian. (Here, I donít elaborate on Sony-Ericsson
ís handsets.) Of them, S60
is the surviving one and the once-common S80
versions are both dead. A major breakthorugh, touchscreen, will be added this or next year and Nokia is promising an iPhone killer, Nokia Cube
S60ís later versions (namely, ones that represent the 3rd generation of S60, S60 3rd
, and come with Feature Pack 1 (FP1)
or [in the future] higher), have an excellent built-in Web browser, Nokia S60 Web
. Itís based on WebKit
, an excellent core to build Web browsers on. It also supports Flash Lite
2 and 3
; the latter has been delivered in firmware updates (v21 for the N95) and not as standalone downloads. Flash Lite 3
is much better to play back YouTube / other videos than the full Flash 7
on Windows Mobile.
On the screenshot on the right, you can see one of its major features, the minimap, in action. It helps in positioning on a page quite fast and is, now, widely copied by other browsers like NetFront
Now that we have had a birdís view overview of whatís available on the three platforms (and, as far as Java/MIDlet-capable phones are concerned, - including, sooner or later, the iPhone - all of the other), letís take a closer look at the issues a mobile Web browser can be confronted when browsing pages originally targeted at desktop (and not resource-restricted, dumbed-down mobile) browser users.
First, you need to consider architectural restrictions, the (comparatively) small amount of RAM (dynamic) memory (10...90 Mbytes on higher-end handsets; (much) lower on feature phones) being one of the biggest problem.
While you can, generally, build up the in-memory representation of even several kilobyte-long Web pages using less than 10 Mbytes, having restricted RAM severely restricts the handsetís ability to store multiple Web pages in-memory for quick access without having to re-fetch (re-download) them. Note that dynamic memory consumption-wise, I really recommend my thorough RAM usage tests in the Web Browsing Bible.
Different Web browsers certainly have vastly different memory needs; this is why, for example, Opera Mini 4.1 is able to keep up to 30 pages in memory even on devices with little RAM. Opera Mobile consumes about an order of magnitude more memory, but is still about two two three times better than IEM, NetFront or Minimo.
The CPU efficiency (a 624 MHz Intel / Marvell XScale is equivalent of a max. 200-300 MHz Pentium) can also be an issue, particularly if you provide dynamic content. While Java Script and Ajax (if itís compatible at all) run pretty OK, the case isnít necessarily the same with embedded Flash content, particularly on Windows Mobile platform, where the current, official Flash 7 plug-in is pretty slow. (NetFront
ís own Flash interpreter being even worse.) As a rule of thumb, you should use Flash Lite 2 or 3 instead if you want flawless, fast execution. (Currently, Flash Lite 3 is supported by Symbian only and Windows Mobile is slated to introduce support only later.)
On mobile devices, cache reading / writing can also be about an order (or even more) of magnitude slower than on a desktop / notebook hard disk (1-2 as opposed to 20-40 Mbyte/s being typical). This means far higher page loading times if the particular browser employs a bad caching algorithm. (Iíve also very thoroughly elaborated on all these issues in the Bible; the reader is referred to it for more info.)
Multitab browsers may also be affected by the process number restrictions under pre-Windows Mobile 7 (that is, all current) operating systems. This will mostly result in issues with multitab browsers spawning an entirely new process for each and every tab (all IEM plug-ins work this way); that is, not with, say, Opera Mini.
Finally, "from stratch" browsers (that is, browsers that arenĎt direct ports of any established desktop Web browsers; some examples are NetFront, Thunderhawk, UCWeb etc.) generally suffer from severe bugs / errors on even the HTTP protocol level, let alone higher-level HTML / CSS bugs.
Let us still elaborate on the question of what a mobile browser can be used for. As has already been pointed out, their biggest advantage on all mobile platforms is the fact that you arenít restricted to specially formatted PDA/handset-only pages like WAP pages and you can access full pages initially meant for desktop users. This makes it possible for you to access orders of magnitude more pages than some 5-6 years ago with feature (dumb) phonesí only able to access WAP pages.
However, as has already been explained in the previous slide, you need to be avare of several possible problem areas when accessing an initially desktop-optimized page.
First, >500k HTMLs (for example pages generated by Snitz Forums 2000
or even YouTube
) may result in a severe slowdown or even crashes on the client; under Windows Mobile, particularly under the PPC2k2 operating system, which, as has already been explained, only allows for rendering max. 100-120k HTML pages without crashing
As has already been explained, under IEM, the memory usage is about an order of magnitude more than the original size of HTML. With alternate browsers (particularly with Opera Mini and, to a lesser degree, Opera Mobile) this isnít an issue.
(Desktop) ActiveX controls are not supported, not even on Windows Mobile because itís not an x86
architecture and, therefore, canít run native x86 code.
Some browsers (IEM
and, particularly, Thunderhawk
Unfortunately, Java applets (login, authentication) are only supported by custom third-party JVMs only. What is more, itís only available on Windows Mobile Ė that is, thereís no applet support at all on Symbian / BB. On Windows Mobile, applet support is pretty restricted and is only compatible with up to JDK1.4 (unless you use Thunderhawk). There's no official support from Sun on these three platforms either, unlike on iPhone.
Iíve already mentioned the Flash incompatibility and problems and the less important HTTP/HTML problems, bugs and restrictions.
On slide 8, Iíve already elaborated on the different networking models used by Web browsers, as far as client-middle tier server streaming-based vs. standard, middle-tier-less browsers are concerned. A nonstandard setup can be vastly different from the pretty much bandwidth-hungry streaming-based solution, however. On this slide, I further elaborate on this distinction.
line (as opposed to off
line; see for example AvantGo, Mobipocket Reader
offline web downloading and ActiveSync
-based syncing to the handset) browsers use direct connections.There are, however, clients that do have a (sometimes simplified) client-side textual (!) renderer component Ė as opposed to traditional streaming clients (SkyFire, DeepFish
and specialized hardware like PocketSurfer 2
) Ė donít consume much data. On the contrary: one of the design goals of these clients was to vastly reduce data usage, which is of paramount importance with non-flat rate connections - like those of Canadian mobile operators - and make them usable even over super-expensive, typically, 3...5 Mbyte/month BlackBerry data plans. That is, they work in exactly the opposite way as data-hungry apps like SkyFire
and deliver considerable data saving even when compared to accessing the same Web pages with a standalone client.
The most important of these client/server browsers, making use of (pretty much) transparent proxies, are Opera Mini
(and most of? all? the other MIDlet-based browsers) and Thunderhawk
These solutions have some drawbacks:
possible eavesdropping (definitely not the case with Opera; as far as some new, ďnonameĒ Chinese browser companies are concerned, however, many believe that the opposite is true; as a rule of thumb, never ever enter any credit card info in any of these new and pretty much unknown browsers)
they are not flexible enough Ė thereís no way to use other proxies like the highly useful header rewriter proxies to allow for, say, asking for nationalized versions of pages (more on this later)
sometimes introduce a definite delay because the (sometimes overburdened) middle-tier server has to process the source pages themselves. With Opera Mini, the delay, typically, ranges from 2 to 30 seconds Ė that is, sometimes itís on the verge of acceptability.
Some incompatibility issues with some sites; for example, the current Opera Mini 4.1 is not compatible with the ďQuote
Ē button in vBulletin
version 3.6.8 currently used at, say, forum.xda-developers.com
Some of the pros (much less data overhead) have already been mentioned; on top of that, what you gain is also anonymity. That is, your real IP is hidden Ė the Web page you access sees Operaís middle-tier server as the client, not your own IP. Note that your IP is told to the Web server but in an extended HTTP request header, which few of these servers log.
support. Its CSS support is equally bad. It doesnít support the multidocument model (which was introduced in IE7 on the desktop) support without 3rd party so-called ďplug-ins
Ē. Itís also pretty much limited in that it has no link target / current page saving capabilities (which are pretty much essential). The same used to apply to image saving in operating system versions prior to WM5. Also, it has severe restrictions like absolutely no IFrame support in pre-WM6 versions and only supports displaying 12 (in WM6) and 10 (in pre-WM6) frames. In this regard (too) alternative, commercial browsers fare far better.
Its stability used to be pretty bad in pre-WM5 times too: it frequently crashed because of certain CSS constructs. Iíve found and published several such CSS constructs back then. This is, fortunately, no longer the case in WM5+.
The two screenshots show how the mobile version of the PPCMag blog and the desktop version of YLEís (Finnish Broadcasting Company) main page is displayed on a high-resolution VGA device.
Historically, on high-res Windows Mobile models, IEM had the ďpixel doubling
Ē problem, meaning images were still rendered as low-res, with double their size. This was fixed in WM5 AKU 3.5 (in early 2007), which lets the users switch between ďHigh-resolutionĒ and the default standard mode. This, however, didnít really help external applications making use of the IEM rendering engine to display HTML-formatted contents like CHM readers Ė they still render images with pixel doubling (and, unfortunately, charts too) on high-resolution devices.
Incidentally, when used as a plug-in, there is another source of problem. If you donít close HTML tags right after the (last) word like in foo
bar (as opposed to foo
bar), then, the two (formatted and the next) words will be rendered without a space in between them. In the two screenshots presented in the article (a low-res QVGA and a high-res VGA one), I show the results of this ďbad-formattedĒ construct. Note that in the expression ďfox jumps over a lazy dog
Ē, Ďfox jumps
í is rendered as one word only because its HTML source was like this: ďfox
jumps over a lazy dogĒ and not the recommended ďfox
jumps over a lazy dogĒ.
Letís turn our attention to NetFront, a well-known commercial browser for Windows Mobile. While itís a bit expensive ($30), it offers an excellent browsing experience Ė except for some (rather major) problems and bugs. For example, it has built-in Flash support, which is, unfortunately, weaker than that of Adobe / Macromedia used by both IEM and Opera Mobile (it has compatibility issues and severe CPU usage problems). It supports SVG (which is very commonly used in Japanís 3G content networks) and also has a Java VM to run applets. The latter, unfortunately, is definitely weaker than that of CrEme
, the best JVM available for Windows Mobile and, in cases (where there isnít much animation / graphics involved), even the Java support of the traditional, non-MIDlet-based Thunderhawk
. It supports multitabs but their number is, unfortunately, maximized (to five) Ė as opposed to IEM plug-ins, Minimo or the Operas. I just canít understand the rationale for this restriction; after all, on a modern 128 Mbyte RAM device, dozens of Web pages can be stored in RAM for quick access / swith. It also has minimap support and, which is very important for many iPhone fans, iPhone-like acceleration when dragging the screen contents by a finger / the stylus.
The recent releases are as follows: 3.3 (Summer 2006; inferior); 3.4 (Fall 2007): OEM only; currently: 3.5
Technical Previews. This, unfortunately, means you can only get the outdated and (compared to later 3.4 and current 3.5 versions) pretty much incapable 3.3 if you plan to go for this browser. Unfortunately, the currently available 3.5 Technical Previews versions are pretty much limited: no more favorites than 10; no Java / Flash support; no more tabs than 2. In this regard, Opera Mobile and most IEM plug-ins with their 30-day unlimited trial is much better. I hope the NetFront developers consider this and unlock all the features of future Technical Previews, only leaving a timebomb in rendering the browser useless after a certain date. (Noone will set their clocks back Ė and suffer from the consequences Ė just to be able to run NetFront to save $30.)
Now, letís take a deeper look at Minimo
, the free and, unfortunately, discontinued (cancelled), unofficial Firefox port. Note that the already-announced official Firefox will be later released for Windows Mobile; currently, no release date is known.
It comes in two versions: 0.16 (for pre-WM5 devices) and 0.20 (for WM5+ only). Itís plain useless on some models because of speed problems and other bugs. On the ones that it doesnít have model-specific problems, however, is a semi-decent alternative if you really want a free browser other than Opera Mini.
Being based on the Firefox engine, it has excellent scripting (including Ajax) and CSS support. Not as good as Opera Mobile 9.xx, though.
Now comes without doubt (as of version 9.xx) the best, fastest and most powerful standalone Web browser, Opera Mobile
. It has excellent JS / Ajax support, almost 100% compatibility with all Web standards, particularly with version 9.33; itís very fast at everything (loading pages, downloading files etc.), supports the standard Adobe / Macromedia Flash plug-in (unlike NetFront, which forces the user to rely on the built-in and definitely inferior Flash engine) and lets for opening any number of tabs, as opposed to NetFront or IEM without a plug-in. It (as of version 9.xx Ė but, unfortunately, not the currently commercially available 8.65) also has some other goodies like finding text in pages, which is not available in any IEM-based solutions, not even commercial ones.
Currently, itís available in two versions: the official (8.65) and the preview (9.33 / 9.5), for both PPCís and Smartphones. The latter, 9.xx-series has without doubt the best standards compliance of all browsers for Windows Mobile.
Opera Mini, as of version 4.1, has become a really-really decent alternative to other Web browsers, particularly if you need a free solution. As itís a MIDlet, itís compatible with almost every phone out there Ė even feature phones. This means you get exactly the same menus, the same shortcuts on, say, your wifeís low-end feature phone and your smartphone.
It requires a separate environment, a MIDlet manager, to run. Iíve elaborated on the different MIDlet managers available for Windows Mobile in the MIDlet Bible
, which you definitely should read if you want to get introduced to the wonderful world of MIDlets. (Note that you wonít necessarily need to read it if your only aim is to be able to install and use Opera Mini 4.1; then, all youíll need to do is reading my 4.1 deployment and usage tutorial.)
As of the current (4.1beta) version, it offers even file upload, address autocompletion and page saving capabilities. Full page view is also supported (which has been added in version 4.0), retaining the full layout of the original page - as opposed to the one-column view. Incidentally, itís this that you can see in the above screenshot too.
Its only problem is the lack of arbitrary text copying from Web pages. This could easily be fixed as is done in Russian Opera Mod
(an unofficial and, unfortunately, illegal modification of the original Opera Mini) Ė feeding the textual page contents to a text input area, where it can already be copied to the clipboard if the particular MIDlet manager allows for this (all of them do on all the three reviewed mobile platforms; the only exception is the discontinued and outdated TAO Intent
MIDlet manager on Windows Mobile).
As itís a proxy-based solution, it has far less data usage; however, it canít access local files (files in the file system) and the additional processing can take some time (typically, between 5 and 30 secs).
Thanks to extensive hacking, direct invocation has also been implemented (originally by me), which greatly enhances its usability on Windows Mobile because it lets for being directly invoked when you click a link in an e-mail or Office document. This isnít as important on Symbian and BlackBerry because itís far easier to copy / paste e-mail links in these operating systems (when you step over a link, itíll be highlighted at once; then, you can copy it to the clipboard at once [as opposed to the, in this regard, much slower and more awkward Windows Mobile]; pasting to Opera Miniís address input field is equally easy and quick), should you want to avoid using their built-in, respective browsers (for example in order to keep data usage down.)
Finally, still on the subject of Symbian and BlackBerry: while all public builds of version 4.0 frequently (about once a day) crashed on these platforms, I havenít ever encountered any crashes with 4.1. That is, you wonít ever need to remove and reinsert the battery in order to reset your handsets.
has a long history on Pocket PCís. (It also had a MS Smartphone-compliant version, but only for low-res, 176*220 screens, and a QVGA version has never been released for this platform.) Unfortunately, it also seems itís no longer worked upon as the developer has entirely switched to a MIDlet-based solution to directly compete with Opera Mini. (Which is more than hard as Opera Mini is really-really good.)
Thuderhawkís biggest advantage has always been it being based on its own fontset (BitStream is also a font designer company), which makes original-layout, full page rendering possible even on 320-wide (QVGA) screens by using special, narrow, but perfectly readable fonts not otherwise available under Windows Mobile. Note that IEM can use similar fonts to look pretty much the same condensed as is explained HERE
; the lower right screenshot shows exactly this, while the upper one shows a typical forum page rendered on a 320-wide screen without any need to do any horizontal scrolling.
Unfortunately, being based on a custom fontset means Thunderhawk only supports Western characters; meaning no support for most Eastern European or oriental languages. With Eastern-European, non-cyrillic languages like Polish, Romanian, Hungarian, Czech, Slovakian, Slovenian etc. that use alphabets pretty close to Western languages, this can be somewhat fixed by converting their special, Unicode-only characters to 8859-1 on the server side; with fully Unicode languages, on the other hand, this canít be done.
Thunderhawk has no support for hi-res ((W)VGA) screens (it displays contents at QVGA effective resolution); doesnít let for any kind of page / link target saving at all and doesnít even support copying to the clipboard from Web pages. It doesnĎt use client-side web page / image caching at all (meaning, at times, it may result in far bigger data usage than most of the alternatives); it is only able to download files to built-in storage (not to storage cards or other, alternative media); it has absolutely no support for file upload etc.
should also be mentioned, which was more of a pilot project slightly more than a year ago to see how server-side content rendering with plain image-based client-server communication works. It wasnít anything to write home about
: because of the clientís being based on the (comparatively) slow Compact Framework
and the middle tier serverís being overloaded, it was pretty slow in real use. Itís been discontinued in the meantime. Itís still not known whether itíll be reused in future Microsoft browsers Ė for example, in the IE6 port
slated for later this year.
Now, letís take a look at the IEM plug-ins, which greatly extend the functionality (but, alas, not the Web standard compliance / conformance) of IEM.
These plug-ins greatly extend IEMís capabilities: they add multitab (multiple document) support, resource (page / link target / image) saving, User-Agent GUI-based setting; they let for using hardware buttons for much easier navigation / function access, address bar macros, altering the way the document is scrolled by D-pad etc.; some of them even have GPS-based, location-dependent services.)
is probably the best and most featureful (resource saving, support for hardware button reassignment etc.). For pre-WM2003SE users (ďOne Column
Ē was only introduced in WM2003SE), it has a unique feature not offered by other PIE plug-ins: the Pocket View
is also a decent IEM plug-in; albeit, itís in no way better than PIEPlus any more (unlike in the past). Basically, it has a similar feature set as PIEPlus.
: this PIE plug-in (or, more precisely, a shell), in pre-WM5 times, used to be highly recommended. As itís mostly incompatible with WM5+, itís not recommended any more.
, another shell (not a real plug-in), is .NET Compact Framework-based and is, therefore, a bit on the slow side. However, itís become better and better over time and offers for example extensions like Mozilla for for example ad filtering. It doesnít let for accessing some of the features of the underlying IEM; for example, it has no One Column
The brand-new Touch Browser
, which tries to mimic Safari on iPhone, is pretty similar to Webby in that itís another CF-based shell. The initial versions were pretty bad; hopefully, future versions will, hopefully, improve on the situation.
Finally, Spb Pocket Plus 4
should be mentioned (see screenshot on the same slide, showing its tabs). While before version 4 it was definitely worse (it didnít even offer on-screen, easily clickable tabs) than PIEPlus or MultiIE (the two major alternatives), this is no longer the case: version 4.0 has fixed this, along with other goodies like accelerated screen dragging just like on the iPhone.
Now that weíve seen the major browsers (and plug-ins) for the three operating systems, letís quickly elaborate on what problems running them under Windows Mobile may result in.
The most important of them, particularly under pre-WM5 operating systems (particularly under WM2003SE), is the driver memory usage, which rendered NetFront and Opera Mobile unable to start under certain circumstances Ė unless you reset the entire handheld.
Letís go on with discussing the different client-side techniques helping in reformatting (ďreflowingĒ) a page to (horizontally) fit in a low-resolution screen. If we donít do this, the low (horizontal) screen resolution (240 by default - 320 when used in Landscape -; some low-end MS Smartphones and pre-v3 Symbian S60 Smartphones had even worse-resolution (176*208 / 220) screens) results in having to scroll horizontally. This is why there are several ďOne column
Ē client-side implementations. (Thereíre also middle-tier implementations like Skweezer
; more on them later). On Windows Mobile, these special modes are supported by all browsers except Thunderhawk. On Symbian S60ís Nokia Web, in most cases, they are unnecessary as the browser is smart enough to be able to correctly re-flow text Ė as is the case in Opera Mini in non-one column mode. These two browsers are truly excellent in intelligently reflowing text.
, thereíre (with WM2003SE+ devices) three rendering modes: the truly one-column ďOne column
Ē, the ďFit to screen
Ē (later renamed to ďDefault
Ē), in addition to ďDesktop view
Ē. The three screenshots on this slide show an example BrightHand
forum page in the Desktop / Fit to Screen (Default) / One Column order (from left to right).
Note that One column
isnít necessarily better than Fit to screen
. There are cases when the latter delivers better results than the One column mode; for example, when you render simple charts (tables) not wider than 3-4 columns (or 6-8 columns in High-Resolution mode, if your handheld is a high-resolution one). Then, One column will display all the cells vertically, making the original layout completely messed up, while the Fit to screen mode will try to render them horizontally. However, in general, Fit to screen delivers results not needing horizontal scrolling in much fewer cases than Nokia Web or Opera Mini 4+ in non-mobile view mode, particularly on low-resolution (for example, QVGA) screens.
As, as has already been pointed out, pre-WM2003SE PIEís, where thereís no One Column and the only ďFit to ScreenĒ (Default) mode canít correctly render the contents of the page without horizontal scrolling, youíll need to use one of the following alternatives:
- PIEPlus because of the explicit Pocket View mode, which fixes this problem
- Use an alternate browser like Opera Mobile (WM2003) or Thunderhawk (compatible with even PPC2k / 2k2), which handle these cases much better
- Wait for Touch Browserís (which does have a built-in One Column mode) becoming much better
With Opera Mobile
, the three rendering modes are almost the same as under IEM. It should, however, be pointed out that the One Column mode is buggy: the horizontal size is 240 pixels; that is, itís only really usable on QVGA devices used in Portrait Ė preferably not in Landscape and definitely not on a (W)VGA hi-res model.
It, as has already been stated, generally fares much better in rendering blocks of texts without any need for horizontal scrolling. Just compare the first (leftmost) screenshot to the Desktop rendering screenshot of IEM: as can clearly be seen, this particular page was correctly (no need for horizontal scrolling) rendered by Opera Mobile in Desktop mode, unlike with IEM. (Of course, most of the time, you wonít want to use the Desktop mode, unless you need to see images in their original size, without being resized to fit the screen.)
The three screenshots, from left to right, show exactly the same three modes, in the same order, as with IEM: Desktop, Fit to screen and, finally, One Column. As the screenshots have been taken on a VGA device, the latter is buggy and only uses the left half of the screen.
Note that the One Column mode is clearly better implemented in Opera Mobile than in IEM (apart from the 240-pixel bug): it renders charts much better than IEM in One Column mode. See the example screenshots and discussion at the end of section 1.2 Opera Mobile
of the MS Smartphone Web Browsing Bible
has three similar modes: Normal, Just-Fit
(about the same as ďFit to ScreenĒ / ďDefaultĒ in IEM and Opera Mobile) and, finally, Smart-Fit
. The latter mode is without doubt the best: itís like One Column, but still tries to render contents horizontally where applicable, unlike IEM and like Opera Mobile.
The three example screenshots (from left to right), as with IEM and Opera Mobile, have been taken using Normal, Just-Fit and Smart-Fit.
only has two modes: the default (desktop) mode and SSR (Small Screen Rendering)
, which is almost the same as One Column mode in the other browsers. The two screenshots show this (left: default, right: SSR).
Finally, in the Thunderhawk
screenshot, you can see how well it manages to display even the most delicate screen contents without the need for horizontal scrolling. Note that it forces the user to use the horizontal orientation, which may be overly problematic on models with screen polarization issues
in this orientation (as opposed to Portrait mode). However, users of devices with pre-WM2003SE operating systems (and a device without polarization problems) will surely welcome Thunderhawkís using Landscape mode Ė none of the alternate browsers do so, not even the ones that, otherwise, could (as with some e-book readers like Mobipocket), not being based on IEM. (It was in WM2003SE that user-switchable Portrait / Landscape rotation has been added.)