EDIT (01/05/2007): Updated version posted; for the time being (because of the hurdles involved with cutting the article into 10k slices), to http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1571&more=1&c=1&tb=1&pb=1 only. I'll only update the article below when I have some time for slicing the article.
I’ve long been promising a generic roundup on the ways of accessing desktop PC computers from Pocket PC’s, mostly because there aren’t really usable and/or up-to-date all-in-one articles on the subject, let alone comparative ones.
Getting this roundup ready took me a lot of time (over six weeks): much more than I’ve originally expected. The reason for this was that I’ve made some really serious bandwidth usage and networking model tests so that I can provide you as much objective, comparative information as possible. I also very thoroughly tested the protocols used by these applications to find out internal weaknesses or lack of optimization. I’ve also been in really busy correspondence (asking about every single problem / question I’ve run into in their applications) with most of the authors of these titles; I’d like to thank Carsten Alsted Christiansen and Csaba Tutsek from Danware, Ditta Khan from NetSupport Ltd, Jan Frydendal from MochaSoft and Julie Geer & Heidi Wieland from Citrix Systems for their answering my questions. (The Symantec folks don’t have a working E-mail address and their online chat support (yes, it's outsourced to India), to put it mildly, leaves a lot to be desired. As far as Laplink is concerned, I haven’t received any answer to my mail sent to [email protected] on 12/11/2006.) Also, special thanks goes to Minakshi Pai of 01 Communique and “Dave” from Parys Technografx for not only answering my questions, but also listening to my recommendations and ideas, some of them having already been incorporated into the most recent versions of these applications.
I’d also like to send special thanks to AximSite god akheron (he was of tremendous help in, for example, hunting for the trial version of pcAnywhere), H/PC Factor moderator (and also well-known contributor on many Handheld PC-related boards / forums) cmonex and forum member TFGBD for their help in their forums.
One of my main objectives with the thorough measurements was to provide an up-to-date bandwidth consumption report. Up to now, to my knowledge, it's only Jason Nieh that has published really usable bandwidth usage reports (I really recommend the articles on his just-linked homepage if you're into the subject). His, so far, most important PDA-related article, "Improving web browsing performance on wireless PDA’s using thin-client computing" (direct link to the article), which was published in 2004, contains pretty outdated and no-longer-topical information. With my measurements, I think I could produce a decent and, what is more, up-to-date overview of the bandwidth usage of current, real Pocket PC applications. By the way, still as far as Jason Nieh's PDA-related work is concerned, I especially recommend his article "pTHINC: A Thin-Client Architecture for Mobile Wireless Web" on a promising initiative. I really hope it will be released some day as a freeware or even commercial product.
First, let me point out that I’ve “only” reviewed and compared “full” remote control solutions in here. This means I have not included multimedia- or scripting-only controllers. They will be reviewed in my forthcoming roundup. That is, if you “only” want to remote control, say, your desktop Windows Media Player or run your scripts when initiated from your Pocket PC, you may want to wait for the next article. (It’s, generally, much easier and much less resource-, including bandwidth, intensive to remote control a multimedia app or server-side scripts with a dedicated application than via a generic remote access application. That is, you won’t really want to remote control for example your WMP via, say, VNC.)
Also note that it’s not here that I have elaborated on the opposite direction; that is, controlling the Pocket PC from a desktop PC (or another Pocket PC). Please read this article for more information on this subject, making sure you also follow the links to my older articles.
Last but not least: most of the tangible information is in the 120 kbyte-long comparison and benchmark chart. In the non-chart-based part of this review, I only give a terse, broad, but in no way thorough overview of what the reviewed applications are all about and how they compare to each other. It’s also in here that I elaborate on the underlying protocols (RFB (in VNC), RDP (in Terminal Server/ Services aka (Microsoft) Remote Desktop)), the way you can decrease bandwidth usage (which is of paramount importance when you use, say, a non-unlimited mobile phone-based connection) etc. Most of the comparative, real, quantitive information and hundreds of screenshots (many of them functioning as a mini-tutorial showing how the mentioned/ discussed functionality can be enabled in a given application), however, are in the chart. Therefore, make sure you, for example, open the chart in a maximized browser window. If you have an UXGA (1600*1200) or an even wider screen (WUXGA, for example), then, you’ll be able to see all the 18 columns at once while still being able to read the text. With lower-resolution screens, you’ll end up having to scroll horizontally to be able to read all the information (and many state (W)UXGA screens are useless and should be avoided... ). Sorry for that: comparison / feature charts like this are still the best, the most compact and reliable way to compare products and list all their capabilities, unlike plain text-approaches many other reviews use. Note that I also thoroughly explain below how the chart should be read in a later section.
1. Introduction
The aim of remote access applications is the same: to provide you access to your desktop computer(s) (in here, I'll refer to them as "remote desktops") when you’re away from them. You can control them from your client PC (or, in this case, Pocket PC) directly. That is, you can see the remote desktop on your (local) client PC (Pocket PC) as if it were running locally, right on your client and not somewhere else on the Internet far away. With some really advanced clients, you can also do direct file transfers, clipboard synchronization (for example, if you have a loooooong e-mail address in a local file / database on your local client (Pocket) PC, you only copy it to the local clipboard and, then, just synchronize the clipboard so that it also becomes available on the remote clipboard; this way, you can avoid having to re-enter it on the remote desktop by hand), remote administration and Personal Information Management (PIM) data (calendar, contacts and even mails) access in addition to “plain” remote controlling.
There are, basically, two kinds of remote access / control applications: 1. Web-based ones and 2. non-Web based ones.
In general, the former
are much easier to set up on both the server and the client (except for, maybe, RDP-based, already built-in solutions like the RDP-based "Remote Desktop" in Windows XP Pro and Terminal Services Client (TSC) in most client-side Pocket PC’s). In most cases, when you plan to install the server on your desktop computer you want to access remotely, you just navigate to the homepage of the developer and let it download a server to your desktop PC, which, then, you just install (the latter is, in most cases, just clicking the “next” button and entering the username and/or password you’ll want to use). Furthermore, as far as client installs are concerned on any desktop PC or Pocket PC you come by, you just navigate to the above page and try to log into your remote PC. This will trigger a fully automated client download and install.
give complete freedom to the subscribers in that they connect to their remote desktops really easily, independent of the networking model of their desktop (that is, these services even work over firewalled and/or severely restricted connections). All you need to do is making sure your computer you want to remotely access has Internet access. No need to configure any firewalls or to even know the actual Internet address of your computer, the central Web server takes care of all this. All you need to do is logging into your central account in the central Web server: it will connect you to your remote desktop.
That is, for a non-IT-professional, these kinds of remote access solutions are preferable to the other group, which, in general, requires manual server download, installation, configuration and, in cases, tuning. This is why, first, I discuss the first group.
1.1 Web-based end-user applications
1.1.1 LogMeIn
Probably the most important and most recommended Web-based application, unless you need advanced PIM / mail access functionality, is LogMeIn. It, basically, has two versions: the free LogMeIn Free, which only offers remote control (with all the advantages of web-based access: firewall support, on-the-fly, easy client install requiring almost no user intervention or setup etc.) and LogMeIn Pro, which, in addition to remote controlling your desktop, also supports file transfer (with desktop clients, bidirectional, with Pocket PC clients, download only) and, for non-Pocket PC clients,
Remote Printing to print remote files locally, on the printer attached to client
File Sharing to easily share large files, without uploads (similar to, say, MegaUpload)
Guest Invite to share the desktop for remote collaboration
File Synchronization to synchronize files & folders of the client and the remote desktop
Security (256-bit SSL encryption)
As can be seen, the Pocket PC version, unfortunately, is decidedly worse than the desktop PC one – as is the case with, unfortunately, most of the reviewed applications.
If you opt for going for the Pro version, you can bring down the price by just declining the LogMeIn Pro update after the Pro trial period is over (note that if you go right for the Free version, you get a Pro trial too). Then, you’ll be sent a mail that offers another 30% rebate, bringing down the annual price to $44.95. It’s a pretty friendly and highly recommended price if you take the price of the other solutions into account (and don’t need their unique features; for example, the PIM access features of the two times more expensive I’m InTouch or the excellent bandwidth usage of the four times more expensive GoToMyPC).
Note that earlier versions had problems with WM5 AKU2 devices. This has been fixed in later versions and isn’t an issue any more.
More info: The free version of the LogMeIn service has also been mentioned in the “What Is The Best Free Service?” thread at PPCT.
Some screenshots (note that you'll find a LOT more in the comparison / feature chart!): Local client install to add computers; after it’s installed, it’ll prompt you. The server-side settings dialog is browser-based as can be seen in here.
Verdict
A well-behaving, stable, useful application. The free version is probably the most recommended, really-easy-to-set-up-and-access application, working in any networking environment, for casual, not necessarily power users not wanting to have external PIM access.
1.1.2 GotoMyPC by Citrix
This Web-based remote access solution has by far the best bandwidth usage of all the solutions. This means about third or even fourth the bandwidth usage of comparable solutions. This is, unfortunately, a bit worsened by the idle bandwidth usage (see the chart for numeric results), of which I'll speak later more. The other, major disadvantage of this solution is the price (the monthly rate is $19.95, the annual plan $14.95 a month) – it’s way more expensive than other Web-based solutions. For example, it’s about four times more expensive than LogMeIn Pro and two times more expensive than I’m InTouch and RemotelyAnywhere. With the Pocket PC client, it doesn’t offer file transfer or other advanced functionalities either, unlike most of the alternatives.
A quick tip: Upon registering for a trial version, by default, you need to supply your card number for the trial. If you don’t want to use the card (because, for example, you are worried about forgetting to decline the subscription before the trial period is over), you’ll be offered a 30day/180 minutes, cardless plan. Alternatively, you may also want to go here for a version that doesn’t require inputting a card number. Finally, if you just stop the registration process on the credit card setup screen, after about three weeks you’ll receive a mail offering you the card-less registration page URL.
After letting the app install the client, a GoToMyPC icon will be put in the Start Menu / Programs. By just clicking it, PIE will be fired up and you’ll be taken to the online GoToMyPC login screen.
As far as the astonishingly good bandwidth usage is concerned, I’ve directly asked the Citrix folks whether they use the infamous ICA protocol (also see this and this discussion). It is NOT using ICA, despite what I would have thought.
Note that the client no longer needs Java support to run, as opposed to older versions (see for example this for more info on the past versions).
More info: Reviews of the service are here and here; an ad is here.
Verdict
Go for this title if you want to have absolutely the best bandwidth usage and responsiveness and the high subscription price isn’t a problem. If you, on the other hand, don’t need to use a really bandwidth-saving method and/or would prefer a cheaper solution, look elsewhere – alternative solutions are not only much cheaper (if not free as is the case with LogMeIn Free), but also offer far more (file transfer with all alternative Web-based solutions – except for LogMeIn Free -, PIM / e-mail access with I’m InTouch etc).
1.1.3 RemotelyAnywhere 7.10.552
This Web-based service uses exactly the same Pocket PC GUI as LogMeIn and, therefore, is pretty similar to that of GoToMyPC. For example, the file transfer screen and waiting dialogs are the same as with LogMeIn. As with LogMeIn, it has chatting and it has very similar menus and can, for example, dynamically change the remote desktop resolution. The control interface is exactly the same as with LogMeIn; so is the file manager. Unfortunately, there’s no file upload here either.
The most unique feature of RemotelyAnywhere is the remote administration interface, which is accessible even on a Pocket PC. No other Pocket PC-based remote controller offers the same functionality. This means you will want to consider using RemotelyAnywhere if you want to access your desktop(s) through a local admin interface to, for example, remotely access the registry, the service list and other properties of a given desktop computer.
Connection model-wise, unlike on the GUI level, it’s really different than any of the other applications in the Web-based section. While it must be installed from the Web (the $99 – note that there’s a 25% rebate if you sign up for two years at once - Workstation Edition is available here and the Pocket PC client (as with all the other Web-based services, it uses auto-installation) here), you don’t need to visit the Web site of the developer to log into your remote desktop. Instead, you will need to connect to your remote desktop directly, by entering its (current) Internet address into your Web browser running on your client. This means, for example, you don’t need to have an active Internet connection to access your remote desktop and that your connections will be always direct, meaning no additional slow-downs caused by routing your traffic (or parts of it) through third-party centralized servers. This, on the other hand, also means you won’t be able to access your remote desktop unless you know its address (which may be problematic if it’s using dynamic IP’s) and it isn’t behind a non-port forwarding firewall.
All in all, the main differences between RemotelyAnywhere and LogMeIn / GoToMyPC / I’m InTouch are as follows:
RemotelyAnywhere can be directly connected – no need to log in to the online LogInMe / GoToMyPC / I’m InTouch service. This means it can be used over strictly non-internet-connected LAN’s (for example, Wi-Fi P2P or BT PAN connections) too
as can be seen in the left frame of the browser on desktop PC screenshots, it allows for using a lot of other technologies for accessing; for example, Java or even HTML (the latter is pretty useless though as it’s only static images that this returns, not dynamic, editable windows). On the Pocket PC, these won’t work; however, the (there, by default HTML + JavaScript-based) remote monitoring features do and are wonderful.
This means there are definite cases when you will want to prefer RemotelyAnywhere to LogMeIn and the other alternates: if you need LAN-based login and/or better access to direct system monitoring. This, of course, comes with a price, which is about twice of that of LogMeIn Pro and the complete lack of HTTP(S) tunneling.
Screenshots: Login on desktop; the main desktop interface with a lot of additional info. On the Pocket PC, the login screen and the main menu (second page). As can be seen, it has a LOT of goodies, for example, a registry editor (second screenshot showing it can even create new entries, values (second screenshot) and, of course, modify existing ones). An example of the Services dialog. The system info window on the PDA (second page).
Note that it’s, protocol-wise, is compatible with LogMeIn Reach (also see the pricing info here).
1.1.4 I’m InTouch by 01 Communique
This, compared to other Web-based solutions, moderately expensive (annually, $99.95) solution is, as far as strictly the remote controlling functionality is concerned, doesn’t really have much to write home about. Not so with remotely accessing and searching (!) PIM data (Outlook and Outlook Express contacts, calendar, mails). This means you should pay special attention to this product particularly if you need remote access to your PIM stuff and e-mails.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(The remote viewer running on Pocket PC)
Note that they have two products: the $99.95 “Deluxe” version with remote control, file transfer, Web camera & PIM access capabilities. They also have a “Standard” version for half the price, which “only” offers mail/PIM access and wireless notification capabilities. (See this for the pricing information.)
Example screenshots: Remote mail; SMTP server setup; it uses its own login / password; the client loading on the Pocket PC. The Viewer also must be supplied a password; this may be different from the server password. It also supports stealth mode and contains an update module.
More info: A review of an earlier version is here. Note that the (moderately) high memory consumption (about 35 Mbytes) also mentioned in the linked review is, unfortunately, still true.
Verdict
Go give it a try if you want to have as easy remote PIM access as possible. Otherwise, for example LogMeIn Free may prove to be a bit faster, more responsive (and free).
1.1.5 Laplink Everywhere (LLE)
This is also a Web-based access service. I don't recommend it, not even for desktop PC client users, let alone Pocket PC users: its only advantage over the other reviewed remote controller solutions is the ability to access the remote desktop via Google Desktop Search directly on your Pocket PC, without your having to log into your desktop and without using third-party Google desktop proxy solutions like Project Computing’s Google Desktop Proxy or DNKA.
I haven’t included this title in the main chart because it entirely lacks remote control capabilities on the Pocket PC – it’s only on the desktop PC that it has remote control-capable clients. Furthermore, the Laplink Companion Client (the native Palm and Pocket PC client to remotely access E-mails on your remote desktop), as of version 1.1.412.812, doesn’t even start under WM5 and, under previous operating systems, while it does start, it can’t connect to desktops – it always displays the “Security negotiation failed” error message. (Also note that the Pocket PC client stores the username under [HKEY_CURRENT_USER\ Software\ Sproqit Technologies\ Client\ Settings\ {EE585C94-E44D- 4537-A003-B1B9E747A875}] and, it seems, it’s not possible to manually add new entries / modify existing ones. It’s set by ActiveSync; this means you must install the PPC client directly from the desktop you’ll later want to access.) Unfortunately, the Laplink folks still haven’t answered my mail so I don’t know whether this problem will be fixed or not.
1.1.5.1 The LLE Web client
The only functionality that works on the Pocket PC are as follows: the above-mentioned Google Desktop-based Desktop search, Internet Favorites and Files links; all accessible via a Pocket Internet Explorer-compliant Web interface (Web Login screen; main menu). Of these, I elaborate on the first and the third; the second only lists the Internet Explorer favorites stored on the remote desktop.
Desktop searching: it’s one of the best things as it utilizes Google Desktop Search. If you haven’t already installed it, the client will display an error message (2 3). If you have installed it, you will also have access to this functionality – without your having to use the remote desktop to enter the expression to search for and see the results as can be seen in here and here (the search results on my remote desktop for “iPaq”). After clicking an e-mail link, the results are presented locally as can be seen in here and here. Of course, the “View in Outlook” link won’t work on the Pocket PC version (see the error message here)
Files: file transfer. As it’s based on HTML (again, this is the only way for a Pocket PC user to access remote files on a desktop), the engine isn’t so flexible as native apps. It doesn’t have file upload capabilities – not even on WM5 devices (WM5 PIE already has file upload capabilities), as is, unfortunately, the case with all the other Web-based remote controller solutions too (except for I'm InTouch, which is promised to receive upload capabilities in the future). When you click a file link, the “Send File” button after the refresh will only let for e-mailing the given file, not uploading. Other screenshots of the file transfer module: WM5 download 1 2; WM2003SE filelist
1.1.5.2 Problems with LLE
As far as the remote control modules of the desktop client are concerned, they aren’t very fast. They’re constantly using a HTTPS gateway connection, don’t even try to utilize direct connections to speed up the transfer and is definitely slower than any of the four other, strictly Web-based applications. (In this netstat screen, you can also see there’s no direct connection at the client – everything has go through the LapLink server. This may be great for corporate users but not for users that have no or configurable / flexible firewalls but not very good when you could also utilize much faster and more capable direct connections too.) The user remarks here also backup this.
Unfortunately, LLE is the worst remote access software product in server CPU usage too (as with all HTTPS tunnel-based/enabled solutions, it’s in constant connection with the LapLink server): it’s been constantly between 2 and 11% on all the test Windows desktop PC’s I’ve tested it on. No other HTTPS tunnel-based/enabled solutions (or, for that matter, ANY server-side app listening to incoming requests) behaved this bad in my tests - ALL of them remained under 1% CPU usage.
In addition, it’s a REAL memory hog! The cumulative memory usage of all EXE files in \Program Files\Laplink Everywhere\ and another, in cases, as large as 95M (!) memory hog in the Desktop Agent subdirectory take about 120Mbytes in all – it’s an order of magnitude more than most of the alternatives!
Also, unlike ANY of the always-connected, HTTPS-capable alternatives, it’s the only app to generate a LOT of idle bandwidth; about 39kbytes uplink / 50kbytes downlink in five minutes; that is, about 18 kbytes combined traffic a minute. This is plain unacceptable if your remote desktop has an expensive connection (for example, a non-unlimited GPRS / mobile phone-based Internet access).
Furthermore, it doesn’t let for fine-tuning server-side settings either; this means you can’t, for example, fine-tune the color depth it uses.
Finally, a very important warning: the Web login screen is at https://www.ll2go.com. There’s a Web page at http://www.l2go.com/ (with one ‘l’), which displays a HTTP authorization dialog upon connection. DO NOT EVER enter your Laplink password into this box! This may be a username / password phishing service, which takes use of many users’ forgetting to enter two ‘l’’s.
1.1.5.3 Additional information on LLE
Pricing:
One computer, one hour/month access, annual license fee $44.95
Unlimited access vs one hour / month: +$50
License for +2 PC: +$30
Monthly fee (as opposed to annual): 1.38 times more
Example screens of the setup: 1, 2, 3, 4; the desktop client: 1, 2, 3, 4, 5; the (VNC) login screen (it’s rendered improperly if you use bigger system fonts as can be seen in here – attention users with for example UXGA(+) screens!)
It, internally, uses three protocols: its proprietary Laplink protocol, the standard RDP and, finally, VNC.
There are differences between the RDP and the Laplink mode (all in, of course, only available in the desktop client version); for example, Remote Control 4 doesn't support clipboard synchronization, while RDP does; the latter doesn't support sound redirection and file copying (not even drive mapping is possible, unlike in real RDP). Remote Control 4 only supports the default 256-color mode; the RDP-based module supports 16 and 24 bits too (high / true color).
1.2 Non-Web-based applications
There are several applications that, unlike the previously reviewed ones, don’t use a central Web server for keeping track of a computer and client log-ins.
Some of them are based on the RDP (Remote Desktop) protocol (used by Terminal Server / Services in the Terminal Services / Server line of Microsoft Windows and Remote Desktop by Windows XP Pro / Vista); some of them (VNC clients) on Remote FrameBuffer (RFB) and some use a proprietary one. In the following, I devote three subsections to these three cases. There are major differences between these three cases, which is worth elaborating on because they have a direct, at times, unwanted effect (for example, RDP-based remote controlling locks the current user out of the desktop and sets the desktop size to, as far as Pocket PC clients are concerned, either VGA (640*480) or SVGA (800*600) resolution) on the behavior of all the applications based on these protocols.
First, how these protocols compare? I’ve constantly been asked on these; therefore, I elaborate on this question a bit more.
First, the RDP protocol differs a LOT from all the other protocols and has a lot of restrictions. While it’s already installed and available on Windows XP Pro (and enabling it is just some clicks as is explained here), it has some restrictions none of the other solutions have:
When a remote session is active, the remote terminal can’t be used by anyone – they will be locked out
As far as Pocket PC clients are concerned, the desktops will be resized to either VGA (640*480) or SVGA (800*600) size. This (particularly the former) may be just too small for some kind of applications you’d like to run. Furthermore, you can’t extend your desktop to your external monitors (which is supported by many other remote controller solutions) either. This may also be a problem in some cases.
With Pocket PC clients, it doesn’t even let for starting applications that require any kind of sound output. This, in cases, may also result in problems (for example, when you want to start a remote playback of a sound clip or recording some kind of sound input.)
They don’t let for remote desktop shutdown / restart, which may be a pain in the back too.
While RDP has its drawbacks, it has advantages too; in addition to the above-mentioned availability in many Windows operating systems (without your having to install any server component – you only need to enable them with a single checkbox tick), the really good bandwidth usage (the current, version 5 of RDP is very well though-out, which is not necessarily the case with alternative protocols). Therefore, you may really want to compare its disadvantages and advantages to those of the alternates - in a lot of cases, RDP may be the best solution.
Second, the second most important protocol is RFB, which forms the foundation for VNC (Virtual Network Computing) clients. When properly configured, with the proper clients, VNC (from now on, I use “VNC” to refer to remote controller products using the RFB protocol) can be even more bandwidth-friendly than the above-introduced Microsoft RDP protocol. VNC clients don’t suffer from the above-listed problems of RDP either and, therefore, may be a much better choice than the built-in RDP under some circumstances (for example, when you don't want to lock out the current user while you remote control the desktop). They, on the other hand, require a separate one-time server install and also require some knowledge of the available encoding methods and server-side scaling (so that you know which menu item to select) to minimize bandwidth usage.
1.2.1 RDP-based applications
Unfortunately, on the Pocket PC, all RDP clients are pretty restricted, compared to the desktop Windows (or, for that matter, Linux) counterparts – or, even those on the WindowsCE.NET 4.1+-based Handheld PC version discussed here. The latter is far superior to that of any current Windows Mobile-based implementation. Unfortunately, so far, the excellent folks at the just-linked HPC:Factor haven’t managed to “hack” the Handheld PC version onto the Pocket PC. You, however, may want to subscribe to the thread to see whether there is new information.
Note that SmartCell’s RemotePlus still (?) hasn’t been ported to the Pocket PC. Hope SmartCell does it some day: Pocket PC-based Terminal Server / Services clients are all pretty bad and a decent alternative would be more than welcome.
1.2.1.1 Terminal Services Client (TSC)
TSC is built-in in most Pocket PC’s starting with the Pocket PC 2002 operating system. (If you still can’t find it, just download it here and just install it on your Pocket PC). It’s a really-really bare-bone application, really inferior to the above-mentioned WinCE .NET version linked above and not even capable of full screen; if you do need full screen capabilities, read the following subsection.
1.2.1.1.1 vijay555's full screen TSC hack
Well-known Pocket PC developer & XDA-Developers moderator Vijay555 has fixed the above-mentioned problem of TSC’s not supporting full screen mode (also see this XDA-Dev thread and for example some cache size hacks at post number #14 there.)
Get version 0.46b. It’s, fortunately, much easier to use than most would at first think. You need to do the following:
copy vjfullscreentsc.exe to your \Windows\Start Menu\Programs on your Pocket PC and start it
execute it again (or, just click the very small, newly displayed two gray circles in the screen, just under the Start menu; in this screenshot, the mouse cursor is just over them), a menu will come up; in there, select Fullscreen TSC
it will load the TSC client (click OK)
from inside, just log in to the machine you’d like to
from the menu, you can hide the SIP (in the previous screenshot, it’s visible in the bottom right corner and can be pretty annoying if you don’t need to enter anything; then, now that the scrollbars aren’t visible either, you’ll make use of the full screen estate as can be seen for example here); if you get rid of the scrollbars then, you can scroll from here, from a submenu.
Note that, on QVGA devices,
the horizontal scrollbar is invisible (because of VJFullscreenTSC’s assuming to be running on a VGA device)
you can’t scroll down entirely with the vertical one either (the bottom 320 pixels aren’t displayed because of the above-mentioned functionality). You can, however, do the latter from the menu (and, then, of course, you can disable the scrollbars entirely).
Otherwise, I haven't encountered problems on QVGA devices either.
1.2.1.1.2 The Handheld PC version of TSC
Back in 2001, before Microsoft has released the official Pocket PC client, many used the Handheld PC version of TSC on their Pocket PC’s. The way it was used is explained here and here. Note that it (H/PC Pro version) should be downloaded from here and not at the no-longer-existing URL listed in the article.
Logging into the client is pretty much the same as with any RDP-based solutions.
Its only advantage (unless you use the Vijay555 hack explained above) over the “official” TSC client for the Pocket PC is that it hides the upper task bar. Also, it has a “Low Speed Connection” checkbox (missing from the PPC version), which can toggle between 16- and 256-color modes. (No high-color modes are present.) Some of its problems (there are a LOT more!) are as follows:
It can’t be installed on WM5. It only works on operating systems prior to WM5 (I’ve done the tests on my VGA WM2003SE Pocket Loox 720)
The lower Windows taskbar won’t be visible. Note that this isn’t a hacked VGA issue (Program Files\Terminal Server Client\mstsc40.exe must be manually hacked to VGA); not even real VGA mode will help in this case as can be seen in here
You can’t issue right-clicks, unlike with other clients.
1.2.1.2 Mocha Remote Client 1.2 by MochaSoft
This is a commercial RDC client. While, GUI-wise, it’s certainly better than TSC, I can’t really recommend it because it’s based on the FAR worse version 4 of the RDP protocol, unlike the built-in TSC, which is RDP 5-based. Unfortunately, the older RDP version was far inferior to RDP 5, particularly communication bandwidth-wise.
If you, however, really need to stick to RDP and really need the advantages (compared to TSC) of this client (for example, excellent scaling and scrolling capabilities) and can guarantee you manually disable any kind of animations on the remote desktop, you may want to give it a try.
1.2.2 RFB-based (VNC) applications
Note that, after quickly listing the four different solutions, I also explain what needs to be known about different servers, encodings and server-side scaling. This knowledge will be essential in sometimes drastically decreasing the bandwidth needs of the applications. At first, I introduce the applications themselves.
1.2.2.1 VNC clients by Parys Technografx Ltd
Without doubt, Parys Technografx (PT) Ltd produces by far the best VNC clients for the Pocket PC. There are several of them; WM5 users will want to go straight for their latest product, Pocket Office (PO) – it offers the most for the money: it supports Tight (JPG), the most bandwidth-saving encoding protocol; it supports bidirectional (!) file transfers etc.
As far as strictly VNC clients are concerned, as has already been pointed out, PT PO has the best support for bandwidth saving (it supports the Tight encoding, along with JPG), has file transfer and is very snappy. Its usage can be a bit complicated for a newbie, but don’t be afraid: you’ll soon learn it. Just keep playing with the menus.
Note that the author of PT PO has told me may eliminate the need for manually setting whether the VNC server supports server-side scaling – automatic discovery already works in the free .NET VNC Viewer. He may also introduce automatic encoding handshake (as is the case with, say, the Mocha VNC client). He’s also working on making PT PO RealVNC-compliant (currently, it isn’t, unlike with the other Pocket PC-based VNC clients) and, finally, may also introduce clipboard synchronization (which is also supported by the RFB protocol itself).
Some example screenshots: Enter the IP; Password input; Download.
Verdict: if you want to go the VNC way (and aren’t forced to use the RealVNC server – remember, the current version of PT PO isn’t compatible with RealVNC), get this application – you’ll love it.
1.2.2.2 .NET VNC Viewer by Rocky Lo; 1.0.1.16
The free .NET VNC Viewer is better in some respects than PT PO. First, it has a more traditional interface, which is much easier for a newbie to comprehend. Second, it has automatic server-side scaling support (more on this later), unlike with (the current pre-release version of) PT PO. Third, it’s free.
However, it’s VERY-VERY SLOW as it’s based on Compact Framework. Therefore, I only recommend it if you only want VNC (not, say, a Web- or RDP-based client) and only want a free solution (where, for example, LogMeIn Free can’t be used because you prefer VNC as the remote protocol).
Also see this and this PPCT threads.
1.2.2.3 Mocha VNC 1.1 by MochaSoft
This title is definitely superior to the heavily outdated (RDP 4 only) RDP client of the same developer and, therefore, may be worth considering if, for some reason, you don’t want to go the PT PO route, but want to stick strictly with VNC clients. While it doesn’t support the most bandwidth-saving encoding methods (Tight (JPG)), the most compact compression method it’s capable of (ZRLE / Zlib) is still definitely better than that (Hextile) of the free, very slow .NET Viewer.
It’s very similar to the RDP client; in addition to the capabilities of that client, it has an encoding log, which is very useful when you would like to track down protocol-level errors.
It’s compatible with all major VNC servers; it’s only with PTeSVNC (the VNC server that’s bundled with the PT VNC client downloads – see SetUpPTeSVNC.exe) that it’s incompatible with.
1.2.2.4 VNC 3.3-only, not recommended VNC clients (Allware /Mark Midgley (alternate source) / Conduits )
The (unfortunately, still) most widely known and referred-to, very old and outdated, free VNC clients (that of Mark Midgley, Allware and Conduits) should all be avoided. They have really bad (non-existing) error handling, are only compatible with VNC servers in explicit 3.3 mode (and just silently die when they encounter a server that tries to communicate with something more up-to-date), are very slow and only know the not very bandwidth-friendly Hextile encoding. In a word: avoid them all.
Also see this BrightHand thread.
1.2.2.5 VNC servers
Now that I've quickly elaborated on the different VNC clients, let's take a look at the server side. Unlike with the Web- and RDP-based solutions, you must install a server on your desktop PC to be accessed.
There are several VNC servers out there with slightly different capabilities. As a rule of thumb, I'd go for UltraVNC - it is probably the most important, capable and recommended server, unless you use PT PO, when you should choose the included PTeSVNC instead (if you need seamless file transfers). Nevertheless, if you don't need for example support for server-side scaling, file transfer with PT PO, extended desktops or international characters, you may also want to go for RealVNC or TightVNC too. Finally, the fourth, really nice alternative is PTeSVNC, which is also free and is bundled with all PT VNC clients (also trial ones). It's really capable (except for the lack of extended desktops).
Fortunately, these four servers don't differ much as far as server-side configuration is concerned. That is, if you learn to use and configure one of them, you'll be able to do the same with the others too (except for some additional or missing options / tabs / checkboxes).
Note that if you plan to use PT PO, you may encounter screen refresh problems with Ultra (unlike with PTeSVNC) in all modes; for example, the upper rows in this screenshot. In this respect, PTeSVNC is a better choice. The developers are aware of the problem and may fix it in future versions.
In general, installing VNC servers are pretty straightforward. You install the product and just start the server in Start Menu / Programs on the Windows desktop PC. When it's running, it'll display an icon in the system tray (systray), through which you'll have access to the configuration dialog, user list and can even shut down the service.
1.2.2.6 VNC Bandwidth usage fine tuning
With a capable VNC client / server combo, you can fine-tune the bandwidth usage and force it to be really small – almost as small as with GoToMyPC in high/true color modes. This, however, requires you to know what options there are.
First, there are so-called "encodings" used with VNC. Some of them really love wasting bandwidth; for example, RAW, which, as you may already have guessed, just sends over uncompressed raw screen data and, consequently, takes orders of magnitude more bandwidth than protocols utilizing compression methods. Well-known, high-bandwidth and, therefore, to-be-avoided encodings also include RRE and CoRRE.
The widely used Hextile (the best available with the above-introduced, not recommended three free, "legacy" clients) is already a bit better but still consumes a lot of bandwidth and should, therefore, be avoided. With some additional compression (Zlib hextile, for example) it becomes pretty usable, bandwidth-wise: it will "only" consume about three times more bandwidth than RDP or more advanced (for example, JPEG-based) VNC encodings. Of the Pocket PC clients, only Mocha (and, of course, PT PO) supports Zlib / ZRLE compression.
Finally, Tight with or without JPG (the best, most space/bandwidth-efficient way to encode images) is by far the most effective VNC encoding. Of the Pocket PC-based clients, only PT PO supports Tight / JPG.
While CopyRect isn't strictly an encoding form but a way to tell the client "just scroll some of the old screen contents instead of downloading it again", it should be pointed out that it must always be enabled to (in cases - see for example the smooth scrolling examples below -, greatly) reduce bandwidth usage.
Other tips for PT PO: you may freely decrease the, by default, 1.0s update delay to say, 0.3 s - it will have almost no adverse effect on the bandwidth usage.
1.2.2.6.1 Server-side scaling issues
In addition to choosing the right encoding (at least Zlib / ZRLE and, preferably, Tight (JPG)), you should also know what server-side scaling is and how you can fine-tune it to further reduce bandwidth usage.
First, remote desktops are, generally, bigger than the resolution of your Pocket PC screen. For example, my notebook has an UXGA (1600*1200) screen, which is far larger than even the VGA screens of some of my Pocket PC's. If (and only if!) you don't zoom into this image fully and scroll around the page so that a pixel on the remote desktop equals to a pixel on the Pocket PC, you can make use of clever desktop-side (!) rescaling of screen images before (!) returning them to the client. Just imagine: if you would like to just navigate on a 1600*1200 desktop with your VGA screen, by instructing the server to resize the screen images returned to the client itself, you can save a LOT of bandwidth. For example, if the server uses the rescaling factor 2, then, it'll send over 1600/2 * 1200/2, that is, 800*600 images, which are still bigger than the VGA screen and, therefore, onlly result in very small image quality degradation - while delivering considerable bandwidth usage decrease. Using the scaling factor 3 with the above-mentioned UXGA desktops, the full screen images sent over will become 1600/3 * 1200/3; that is, 533*400 in size. Of course, this will introduce some kind of blurriness - but the bandwidth advantage will be considerable.
Note that, currently, VNC servers are only capable of using integer scaling factors - that is, you can't. This is why you can't just tell them "with a UXGA remote desktop and a VGA client, use the rescaling factor 1600/640, that is, 2.5 so that you get the most optimal result with the best possible image quality".
Some real-world benchmark results to show all this (PTeSVNC server, 1600*1200 desktop, VGA portrait client, Tight NO JPG, server scale 1:2; all data are in Mbytes; the smaller, the better):
CLICK HERE for the VNC chart!
In Landscape, using the above configuration (UXGA desktop, VGA client), using UltraVNC, some other benchmark results:
Server scale 1:4, no smooth: 310k
Tight JPG max speed, server scale 1:2: 550k
Tight JPG HQ, server scale 1:2: 570k
Tight No JPG, server scale 1:2: 560k
Tight No JPG, server scale 1:1: 780k
Finally, SVGA (800*600) desktop, VGA landscape client, with smooth scrolling on:
1:2 Server Scale on: 1.33
Scale off: 1.95
As can be seen, server-side scaling, while it does introduce some kind of blurriness (example screenshots of this later), really reduce the used bandwidth: with a two-factor server-side resizing, about 35..45%. Also, as can be seen, fine-tuning the JPEG quality parameters (or, for that matter, completely disabling it) in Tight mode of PT PO doesn't really result in considerable bandwidth savings.
Finally, some examples of the quality degradation:
1:1
1:2
1:3
1:4
As can clearly be seen, the quality slightly degrades even at the rescale factor of two. That is, there is a clear tradeoff between quality and speed. You will want to use / configure the server-side scaling feature in VNC clients (.NET Viewer and PT PO) that directly allow for configuring this wisely.
1.2.3 Other applications
1.2.3.1 z2 Remote2PC 1.2 build 1205 by z2 Software
z2 Remote2PC is a very famous Pocket PC remote controlling solution. It is generally really solid and its only problem is the definitely higher bandwidth consumption compared to most other alternatives. It doesn't support HTTPS either; in a fully firewalled environment, it may prove less useful than Web-based solutions like LogMeIn, I'm InTouch and GoToMyPC. It does support callbacks to combat this, but the latter requires some manual configuration and, in this mode, can't be used with also-firewalled clients. If these aren't an issue (you won't be, for example, accessing your desktop via slow and/or expensive lines and won't trey to access your firewalled servers from an also firewalled/NAT'ed client), I highly recommend this application.
Reviews, threads: Thread on 1.0 (note that some users call it even faster than TSC – this is certainly not the case); PocketNow. Also see this and this
1.2.3.2 pcAnywhere 12.0 by Symantec
The PPC version is 2.0.0 build 121; note that the 2.0.1 update refuses to run. The trial 12 beta download (direct link here and here. Megathanks to akheron for the latter link!). The Mobile client CAB is also available here; I haven’t tested this myself.
This is another all-in-one remote controlling solution. While it does have its strengths (for example, clipboard synchronization, which is only supported by very few other solutions, and connections even through serial links - that is, not necessarily TCP/IP-based ones), in general, I can't really recommend this solution. Remote controlling / access-wise, there are much more sound, powerful solutions with a much better price/performance ratio and bandwidth utilization (another area pcAnywhere doesn't really excel at).
Example screenshots: After, on the desktop, starting Start / Programs / Symantec pcAnywhere, you’re presented this dialog. Here, you can connect to other computers, start file transfer (as can be seen, file transfer, as with all the other Pocket PC and unlike some desktop solutions, must be initiated from here and not from a remote desktop session) and start hosting.
Starting the server on one’s computer: 1 2 3 (as can be seen, you can use your Windows login credentials) 4 5 6.
An example (desktop) screenshot of remote controlling a session
More info here and here.
1.2.3.3 RemoteControl by CrossTec Corporation; 10.0
This cross-platform solution isn't just a remote controlling applications, but also offers a lot more functionality, mostly geared towards the enterprise. This, on the other hand, also means there isn't even a price quoted. This may mean you won't want to prefer this title over the other ones if you "only" want to have a remote controller only for your desktop, unlike with the case of deploying it to your entire enterprise. That is, you should only check out this solution if your entire enterprise wants to switch to it; then, however, you will also want to take a look at alternative and, when deployed to the entire enterprise, really decent solutions like NetOp Remote Control.
As with NetOp Remote Control, the desktop PC client supports for example direct client/server voice chat (like Microsoft Netmeeting!) for, say, remote Customer Service purposes; the Pocket PC version is much dumber. To see the differences between the desktop and the Pocket PC clients, check out and compare the docs (just start the EXE file and pass it a dot (.) as the decompression directory target); it’ll extract some (2 with the Windows and 4 with the non-Windows case) PDF files to the current directory): desktop Windows; Pocket PC, Mac and Linux.
Some screenshots: installing (2); server-side configuration: TCP/IP HTTP (for gateways!); mobile client install (2); desktop client; file transfer.
It has two transfer modes: GDI (which can only be used in high-color mode; otherwise, it'll mess up bitmap resources as can be seen for example in here; the CrossTec folks are avare of the problem and will, hopefully, fix it) and the traditional, simple screen scraping. Unfortunately, there really isn't much bandwidth usage difference between the two modes (one would expect the GDI version to be much more bandwidth-friendly).
1.2.3.3.1 Vector PC-Duo Remote Control 9.60 by NetSupport Ltd
You'll find numerous references to the Vector PC-Duo Remote Control product line on Pocket PC boards. This product line has been discontinued and replaced by the above-introduced CrossTec product and, therefore, should be entirely ignored. Don't even try to install, say, the PPC client trial (version 9.0): it will complain about an old license. The nsm.lic file in the home directory of the application states the trial should expire in September 2005; still, not even setting the date back not to cause problems helps, the app will always complain of the license file being missing or invalid. Interestingly, the readme.txt of Vector PC-Duo Remote Control states the Pocket PC version supported even File Transfer and Registry Editing. The later CrossTec RC 10.0, interestingly, doesn’t support this.
Some screenshots: On installation, you can choose between the different deploying options; for example, it’s here that you can opt for installing a gateway. (Note that it refers to hosts as “Client” and clients as controls, as with the Crosstec product.) GUI-wise, it is pretty similar to CrossTec 10; see for example the icons, the setting capabilities etc here and here. The menus are also the same.
1.2.3.4 NetOp Remote Control 9.0 by Danware
(mobile); (PPC guest version 8.00)
This product, as with the above-introduced CrossTec RemoteControl, is also a typical enterprise-only remote controller application, offering far more functionalities a non-enterprise user would ever need (and not offered for individual users: the minimum number of deploy hosts you can order it for is 100). Check out the description of the desktop and mobile versions for what it's capable of. In here, therefore, as with the CrossTec product, I only scrutinize it to see whether it's worth sticking to as a remote controller product - an enterprise system administrator in charge of deciding for a complete remote management / help / controller application deployed for the entire enterprise should use a much more broader approach in comparing not strictly Pocket PC-based controlling facilities.
First and foremost, let's get some facts straight: there are two related product lines in the NetOp line. The former, NetOp Remote Control (NRC) for WindowsCE (including Pocket PC / Windows Mobile clients), has been discontinued and is the only to contain a Pocket PC remote client; the latter, NetOp Mobile & Embedded (NME), only has a Pocket PC-side server component (like that of Pocket Controller, dotPocket, MS PowerToys etc. - see this already-linked article for more information). While the two products do work with each other (that is, you can use the old Pocket PC client with the new remote desktop-side component), the NRC 8 (the latest Windows Mobile client available) Pocket PC client is entirely incompatible with WM5.
Danware promises a WM5-compliant, real Pocket PC NME client in Q2 of this year. Up until then, it's only with Pocket PC's using previous operating systems will be able to access remote NetOp desktops.
As far as the general behaviour of the strictly Pocket PC-based remote controlling is concerned, it doesn't have much to write home about; for example, the bandwidth usage results are pretty bad. However, as has been pointed out, this product suite (as with that of CrossTec) should not only be evaluated as a mere remote controller tool: it's capable of much more when deployed in an enterprise. It's just that an individual user with a Pocket PC (and not a, say, notebook or UMPC running desktop Windows and, therefore, using the fully-fledged, great and capable NetOp NME client) won't necessarily want to prefer NetOp to the alternative, on the Pocket PC, much more capable and much less bandwidth-wasting solutions.
Some screenshots: Connect to host (2); desktop client setup 1 2 3 and configuration 1 2 (notice the plethora of usable protocols and the excellent server-side capabilities!); desktop guest in action. The WinCE host looks like this. It, however, also has a desktop configuration component. The setup of the latter (it’s only this that you can, for example, set your password) is as follows: 1 2.
1.2.3.5 Soft Agency Remote Desktop 2.0
The official homepage of this very old and outdated, commercial proprietary remote controller application isn’t accessible any more. Not that it'd be a problem: I don’t recommend this controller at all.
It has very few advantages and the list of its disadvantages is very long. Some screenshots: entering IP; add a user manually into the server (this must be done before the first connection)
1.2.3.6 BitWeen S.R.L. Remote Control 1.1
(alternate source)
This is another highly outdated and in no way recommended remote control application. It's highly overpriced ($49.95) for what it's capable of.
1.3 Haven’t tested
1.3.1 ICA client ny Citrix
(also see this page)
Unfortunately, it’s really a MetaFrame Presentation Server client and isn’t able to speak RDP, “just” ICA, the native protocol of MetaFrame. Therefore, a casual Pocket PC user not having access to the enterprise-level MetaFrame Presentation Servers will not be able to use it to access his own desktop computer - only server farms.
2. Feature / benchmark chart
It's available here. Due to sheer size, I couldn't include it in here - sorry. You'll need to click the link.
2.1 Explanation for the chart
Generic compatibility issues group: everything about operating system: which Pocket PC and desktop operating systems it's compatible with; does it support high-resolution VGA screens. Note that all products support Landscape orientation screens; this is why I haven't listed it in here.
As far as Pocket PC operating system compliance (see the OS compatibility: PPC row) is concerned, I've tested all these products on at least one (MIPS) Pocket PC 2000 (when the given application did have a MIPS version), PPC 2002 (I've tested for PPC2k2 compliance even with applications that are, officially, not PPC2k2-compliant and found out that some, only as WM2003+-advertised application is also PPC2k2-compliant), Windows Mobile 2003, 2003 SE and Windows Mobile 5 devices - that is, all the major Pocket PC operating systems. Note that, in the chart, PPC2k2+ means all operating systems starting with PPC 2002 and WM2003+ means all operating systems starting with Windows Mobile 2003.
Other OS’es : you will want to consult this row if you plan to access your desktop from non-Windows / non-Pocket PC clients too. Several applications / protocols have clients for non-Windows desktops too; the two most important examples being VNC (with clients for all flavors of Unix operating systems) and RDP (there are RDP clients for all alternative operating systems, not only Windows - for example, rdesktop under Linux). Some of the other products also have Linux / Solaris / Mac OS clients; for example, pcAnywhere, CrossTec Corporation's RemoteControl and Danware's NetOp Remote Control. This is really worth knowing if you plan to access your desktop computer from a wide variety of platforms. As can be seen, as far s strictly Web-based technologies are concerned, a RemotelyAnywhere is hands down the best and most compatible.
VGA support?: as can be seen, there are no products that wouldn't support high-resolution VGA screens. Some of them, however, must be "hacked" into this.
Bandwidth usage group: I've made some really extensive tests to find out how each and every remote control solution uses bandwidth. These tests are, therefore, of paramount importance if you
Have a very expensive (for example, mobile phone-based) connection, where every byte counts
Have a slow connection and would, therefore, welcome the fastest possible solution
To reliably and comparably (!) benchmark the different remote controller solutions, I've done the following:
I've created a Wi-Fi connection (through an external access point to avoid not being able to connect to the freshly booted-in desktop / being disconnected because of locked-out users, as is the case with RDP) between my freshly hard reset (no background tasks requesting information off the Internet) WM5-based Dell Axim x51v and my notebook (an IBM ThinkPad a31p with a 1600*1200 UXGA screen). I've used the x51v for this task because its Wi-Fi applet also lists the sent/received bytes as can be seen in this (received bytes) and this (transmitted bytes) screenshots. For some other measurements (most importantly, ones that did require a pre-WM5 device; for example, the NetOp tests), I've used a direct Bluetooth Personal Area Network connection between my Pocket Loox 720 and my notebook. The Widcomm Bluetooth stack also reliably displays the number of bytes sent (that is, the so-called uplink bytes) / received (downlink bytes). Finally, with one application (PT PO), after finding out the multiplication factor (1.33) between the internal data counter it displays and the real bandwidth usage (the latter is higher because of the additional protocol / communication overhead), I've used the built-in counter available in the main menu, under Connection Statistics (screenshot here).
I've switched the desktop resolution to 800*600 (SVGA) on the notebook (note that a, I've also made tests in UXGA (1600*1200) and, with I'm InTouch to find out the speed issues, all possible, settable resolutions between; b, remote controllers that did override this setting - for example, TSC - have overriden this to VGA (640*480) or, when I've chosen no scroll-mode, even less.
I've automatically scrolled through a looooooong test HTML document (my well-known Pocket PC Gaming Bible Part I without the PPCMag header/footer), with disabled smooth scrolling and ClearType by default (in two another tests, I've enabled them both to see how he protocol handles smooth scrolling events and whether it disables ClearType to increase the data transfer efficiency). To automatize scrolling (and also to reiably find out the rendering time of each and every page), I've used My Macros V2.0 by GoldSolution Software. With this application, it's very easy to simulate user input (in this case, pressing the Page Down key) and waiting for a pre-determined time - please also see this screenshot. The latter also helped me to find out the minimal delay between subsequent page down events for the current page to be completely rendered by the client; in the chart, I've sometimes also noted these results as, for example, "600ms delay" or "scrolling delay". By default, I've used a 2-second delay in SVGA mode; in general, all clients were able to keep it with this (except for the very slow .NET Viewer, where I had to increase this to some 8 seconds).
by substracting the bandwidth usage figures after and before starting the full scroll-through, I got the full bandwidth usage of page scrolling.
Note that, during the scrolling, I've paid special attention to not letting the notebook do any additional animation (for example, animated icons in the system tray or MSN contacts / Outlook mail notifications - I've disabled all these applications) and also made sure the mouse cursor was also hovering over the title bar of Internet Explorer, not displaying any additional tip bubbles and not moving at all.
Also note that these results are, generally, an average of several tests. I've often re-run the tests in order to be absolutely sure I'm right, particularly when discussing the results with the developer.
In subsequent tests, I've repeated the test above, in a slightly modified environment; for example, I've switched on ClearType, smooth scrolling, changed the desktop resolution and/or modified the color depth (in the client); all this to see how modifying these parameters affects the bandwidth usage of a given remote control solution. These additional tests delivered a lot of important results, which I've also elaborated on in the tests.
Generally: 8 bit (with Tight VNC, 16 bit), 640*480 (with RDP) / 800*600 (with everything else), no smooth scroll: the bandwidth usage of fully scrolling down the test page in a highly controlled environment, using the a desktop resolution of SVGA (800*600) (with TSC, VGA (640*480)) and the color depth of 8 bits.
It's really worth checking out the results. In addition to the numeric results (the bandwidth usage in kilo / Megabytes), I've also compared these results to the bandwidth usage of the alternative solutions.
File transfer benchmark: with remote control solutions also supporting file transferring, I've also run benchmarks to see whether it uses binary transfer or, similar to, say, how binary content is transcoded to ASCII text to be transferred via E-mails, does it introduce any kind of overhead. I've also benchmarked the file transfer speed to see whether there are major problems with a given application. Note that, with HTTPS tunneling-capable applications, I've made these tests in HTTPS tunneled mode - that is, without direct connections - to see whether the online service is able to transfer even big files without severe slowdowns or crashes.
For this test, I've used a 24.6 Mbyte file. As can be seen, none of the file transfer-capable applications added considerable overhead to the file transfer - even the biggest overhead (that of z2) is much smaller than the overhead of, say, E-mails. I haven't encountered slow file transfers either. This means you can safely go for any of the file transfer-capable solutions, all work great, file transfer-wise.
Based on which protocol?: in here, I've elaborated on what underlying protocol the given remote control application uses. As can clearly be seen, there are three groups: RDP-based ones (with the Mocha client using, unfortunately, the outdated RDP4), RFB (VNC)-based ones and proprietary ones.
Sensitive to smooth scrolling and other animations? (Doesn’t support CopyRect and the like?): in these tests, I've enabled smooth scrolling (in IE7, Tools / Internet Options / Advanced / Browsing / Use smooth scrolling) to see whether the server component of the remote controller is able to catch "simple" scrolling events (that is, where you only communicate to the client the rectangle that was scrolled and the amount it was scrolled by, in addition to the newly-introduced content). In VNC / RFB terminology, the support for this is referred to as CopyRect.
Note that this test not only applies to Internet Explorer's smoothly scrolling Web page contents, but also any kind of similar animations. Testing the behavior of the remote controller application is of paramount importance - if you don't disable all kind of scrolling like this (and the application doesn't do this for you - several do, as will be seen later), you may end up having seriously degraded remote controlling performance.
As can be clearly seen, remote controller applications behave wildly differently in cases like this. RDP 5-based applications (for example, the Terminal Services client built into the Pocket PC 2002, WM2003, WM2003SE and WM5 operating systems) and LogMeIn don't have any problems with such contents. However, the situation isn't this good with other protocols and even the older (4) version of the RDP protocol: with the latter, the bandwidth usage dramatically (with orders of magnitude!) increases and the responsiveness of the remote control equally dramatically degrades. While, for example, GotoMyPC suffers from a 20-30% and the RFB protocol (used by VNC) exhibits a 50% bandwidth increase, other applications have decidedly worse results. I’m InTouch and CrossTec's RemoteControl exhibit a 100% bandwidth increase and, finally, NetOp Remote Control 9.0's bandwidth usage increases by about an order of magnitude.
… that is, does it send over all the changed screen contents or combines them? (The latter approach is much better): it's an easy-to-understand fact that remote control applications can't keep up with the remote desktop when the latter changes really frequently (for example, while playing a video or quickly scrolling through a document), content rendering-wise. In there cases, there can be two approaches. One approach tries to send over all the changed screen contents, using a very big frame buffer; the other approach, when seeing that the client can't keep up with the content changes, simply drops the interim frames and, in cases, only sends the frames to the client that it can safely render.
Naturally, the latter approach is much better. We've already seen the problems (at least an order of magnitude more bandwidth used and greatly slowed-down client-side rendering) caused by the former approach with both RDP 4 (see Mocha Remote Client 1.2) and NetOp Remote Control 9.0. However, the contents of this row shouldn't be a showstopper if you, in general, don't generally watch animations like this (for example, a splash screen gradually fading in/out or the above-mentioned smooth scrolling in a Web browser) over remote controlling sessions.
Bandwidth increase along with true/high color modes?: while the first test in this group used 8-bit color depth (the default color depth for most remote controller applications, except for the JPEG-based Tight VNC modes, which are 16-bit by default), I've also examined how enabling high (16-bit) and, in cases (with desktop clients - the Pocket PC, having "only" a 16-bit color subsystem, can't operate in 24-bit true color mode) true color modes effect the bandwidth usage. As can be seen, the bandwidth usage only increases by between 20% and 66% in high color (and slightly more in true color), the better protocols, in this respect, being RDP 5, GotoMyPC and LogMeIn.
Under-8 bit modes, if any?: I've also benchmarked under-8-bit color depth modes to see whether you can gain significant advantage (and reduced bandwidth usage) by employing modes with fewer and more coarse colors. As can be seen, the results are pretty mixed: with remote controller applications that do support for example 2, 4- or 16-color modes (1 / 2 / 4 bit color depth, respectively), in general, (really) reducing color depth won't help much. Using LogMeIn in 4-bit mode will not help the overall bandwidth consumption (and also resizes the remote desktop to VGA size (640*480), which you may not want); z2 Remote only marginally (7%) benefits from a 16-color mode. That is, you shouldn't suffer with low-color modes with these two remote controllers because it won't deliver lower bandwidth usage. It's only CrossTec's RemoteControl that does benefit from switching to a low (in this case, 2-color) mode; then, its bandwidth needs will then be greatly reduced.
Bandwidth usage when nothing happens (absolutely no changes on the desktop and no client-side input)?: so far, I've tested the bandwidth usage when scrolling through a document. However, this is only test case of the many possible test cases modeling a remote user's behavior.
Another test case, particularly to test whether a given protocol is well-constructed and not (unnecessarily) bandwidth-wasting is an "idle" test: to test how much traffic is generated by just rendering a non-changing desktop. Ideally, a remote controller application shouldn't generate any traffic in this case. Unfortunately, while most applications behave OK in this respect, there are some that do generate some traffic even in these cases; most importantly, the, otherwise, excellent GotoMyPC. The not-that-recommended pcAnywhere 12 has produced some very bad results.
Finally, note that it's here that I've also elaborated on the exceptionally bad bandwidth usage of I’m InTouch with the cursor blinking in the Internet Explorer address bar. In general, bandwidth usage of other protocols with similar "a cursor is blinking" case was pretty low (at least, that of RDP 5, in which case it was close to negligible); with I’m InTouch, I've measured some 340 kbyte / minute additional traffic in this case. This is much higher than just transferring plain screen contents; hope the excellent and really responsive folks at 01 Communique will fix this problem.
Support for server-side scaling (as opposed to client-side scaling down of full-resolution images)?: in the VNC / RFB chapter above, I've already elaborated on the advantages (and disadvantages) of server-side scaling (that is, server-side resizing of the image returned to the client) to save bandwidth. In here, I've elaborated on whether the tested applications use server-side scaling or not. Note that, as most of them use proprietary, closed protocols, I needed to base this row on my measurements (UXGA vs SVGA scrolling results) and, with the I’m InTouch entry, the developer's statement.
Image fetch model in panned (scrollable) mode: full image download, including currently not visible regions? : if you don't use the full-screen mode to see everything on your remote desktop, which is pretty likely on particularly QVGA clients (as opposed to VGA ones), you can save up bandwidth with clients using a protocol that only communicate the currently visible part of the desktop (the viewport). As can clearly be seen, very few applications / protocols support this advanced functionality. Note that, however, if you usually use full screen modes (on a VGA Pocket PC with not much larger remote desktops, this is pretty usual), the lack of non-progressive download won't have any consequences as you will always download the entire screen, no matter what kind of application you use.
Also note that, if you decide for VNC as the backend of your remote control infrastructure, you can configure all the VNC servers to return only, say, the current window, not the entire desktop (the latter is the default setting). You can also make use of this advanced feature of VNC to further reduce bandwidth usage.
Caching of overlapping windows?: advanced remote controller apps / protocols also integrate in the server desktop in a way that they allow for caching not only content to communicate, say, scrolling events in a bandwidth-friendly way, but also overlapping windows.
RDP 5 is a perfect example of such a well-designed protocol. When you expose a window, the client will render its contents from a local cache if its content hasn't changed in the meantime. This dramatically reduces bandwidth usage if you often switch between different tasks.
RFB (the protocol of VNC), unfortunately, doesn't support this functionality; neither do any of the enterprise-oriented trio (pcAnywhere, CrossTec RemoteControl and Danware NetOp Remote Control). The Web-based applications (except for I'm InTouch) do support this, GotoMyPC being the best and the RemotelyAnywhere - LogMeIn duo considerably worse (but still much better than any non-caching solution). Finally, RDP-based solutions (even the RDP 4-based Mocha client!) really excel in this area.
Bandwidth usage of maintaining the persistent connection with HTTPS-capable services: in the section on LapLink Everywhere (LLE), I've already pointed out LLE has severe problems with the idle server-side bandwidth usage - that is, when no clients are connected and the LLE processes "only" maintain an active connection with the central LLE server located on the Internet. LLE consumes, for mobile phone-based users, considerably bandwidth (about 18 kbytes a minute) even in this case. This is why I've made some very extensive tests to find out how the HTTPS-capable (that is, in this case, Web-based, except for RemotelyAnywhere, which doesn't have a central server) alternatives behave in this respect. Fortunately, none of the three HTTPS-enabled services exhibits so bad a behavior.
Note that, in here, I've not only listed the idle server bandwidth, but also the bandwidth usage of the initial log-in (after you start the service). Fortunately, this is pretty low too.
Other bandwidth benchmarks of interest?: in here, I've listed for example my UXGA benchmark (document scrolling) results.
Initial bandwidth usage: Loading all non-visible windows upon connection?: while RDP, in general, is very bandwidth-friendly and only GoToMyPC / Tight JPG VNC beat it in this respect (the latter not using smooth scrolling and not taking into account caching of hidden windows), it has an, in cases, very annoying feature: upon connecting to a remote desktop, it will load the contents of all the visible windows (and the desktop too), even hidden ones (ones in the background). This can lead to a lot of unnecessary bandwidth usage and slowdowns upon connection.
In these tests, I've scrutinized whether the given remote access solution does the same. Fortunately, none of them does.
This means if you always have a lot of non-minimized windows in the background and you do want to reduce bandwidth, either make sure you minimize them (instead of just letting other windows hide them) and only let the current window to be displayed or use a remote control solution that doesn't load all hidden windows upon logging in.
Auto-overriding System / Advanced / Performance / Settings / Visual Effects settings for speed: this group scrutinizes whether the given remote controller disables advanced visual effects like font smoothing etc. You can, for all applications, en/disable these effects; a decent remote application should disable them all (it's possible; see for example what happens when the, in this respect, best pcAnywhere 12 client logs into a desktop that has all the effects enabled) upon logging in to, in cases, greatly reduce bandwidth usage.
Disables wallpaper?: one of the most important activities a remote controller should do to conserve bandwidth is disabling the desktop wallpaper to, in cases, reduce bandwidth usage with tens or even hundreds of kilobytes.
Disables font smoothing (see an example here) / Cleartype (IE7: Tools / Internet Options / Advanced/ Multimedia / Always use Cleartype for HTML)?: font smoothing, which is a system-level setting, and ClearType, which is "only" used by applications using the HTML renderer component of Internet Explorer (Outlook Express, Outlook etc., in addition to Internet Explorer itself) . Unfortunately, the latter is disabled by only RDP; the former is disabled by more remote applications.
Disables "Show window contents while dragging"?: should you often drag remote application windows from one place to another with the "Show window contents while dragging" checkbox enabled in System / Advanced / Performance / Settings / Visual Effects, your bandwidth usage can dramatically increase with protocols / remote apps that don't automatically disable this. Unfortunately, even the RDP protocol is sensitive to this - and it doesn't automatically disable window dragging, which can cause a lot of problems because of the increased bandwidth usage.
Disables smooth IE scrolling?: if you enable Internet Explorer smooth scrolling in IE7, Tools / Internet Options / Advanced / Browsing / Use smooth scrolling, does the application disable it. Unfortunately, the none of them does this, with the consequences visible in the "Sensitive to smooth scrolling and other animations?" test.
Connection model? group: in here, I've elaborated on the connection model the tested remote applications use.
In general, there are two main types, which has already been explained in the first section of this application: apps using direct connection where you must pass the remote client the direct Internet address of your remote desktop and apps that rely on a central dispatcher server hosted by the developer.
In the first test case, I give an overview of the model; with direct connections, I've also listed the port numbers to be forwarded, should you need to access these systems behind a firewall, where you can still ask the firewall to route given ports to your PC.
LAN (internet-less)?: can you access these systems without your local area network (LAN) being connected to the Internet (for example, via BT PAN, Wi-Fi p2p or, with some special applications, even non-TCP/IP-based, that is, infrared / serial / parallel port connections) ? As can clearly be seen, it's only the three "true" Web-based applications (apps where you must use the main dispatcher to log in) that you must have a working Internet connection for, at least, the initial login.
Usable through ActiveSync'ed PDA's to access the same desktop the PDA is connected to? (With direct connections using local IP’s (192.168.55.100 with pre-WM5 and 169.254.2.2 with WM5 - see this for more info on the latter) : many Pocket PC users would like to remote control their desktop computers via USB, via ActiveSync. Fortunately, all remote control solutions support this - after all, an ActiveSync USB connection is a full TCP/IP connection; if you enter the above IP's as the server address, you'll be able to connect to the desktop. Also, if you have Internet access, you'll be able to use Web-based applications to access your desktop too from a USB-connected Pocket PC.
Note that there are specialized Pocket PC applications with, unlike with the real usability (which isn't much more than just a W?BIC! (Why? Because I Can!) geek toy) of the "remote control via USB" solution, that do add a lot of functionality to desktop computers; Innobec SideWindow, PPC Tablet Remote Control Suite by A&A Computer Services etc, and the multimedia and scripting controller applications (for example, Pebbles Remote Commander, Salling Clicker, PuppetMaster) I'll elaborate on these tools in a later roundup.
Able to log in when the user is not / no user is logged in (can you register the server as a Windows service?)?: a decent remote controller application should also (automatically or configurably) register itself as a system service so that it's started even without any Windows user's logging in. This is of tremendous importance with all password/login-protected desktop PC's. You shouldn't rely on not rebooting your desktop either to avoid the need for this: there will inevitably be for example critical XP updates that do reboot the PC. That is, if your desktop Windows you'd like to remotely access doesn't log in automatically, make double sure you configure your remote controller server to be started as a service. Fortunately, all of them can be configured this way - most of them even defaults to being started as a service.
Dynamic IP announcement support?: Should your remote desktop be connected to the Internet via a, say, DSL line, your IP address will most probably change, in general, once a day. With built-in dynamic IP announcement support (in which, z2 is excellent), you can very easily announce your IP every, say, 15 minutes. You will, then, be able to access this IP stored on a central server and accordingly set the address to connect to in the remote client.
Note that you will still be able to use your remote desktop on a dynamic IP with remote control software not supporting dynamic IP announcement because there are a lot of third-party software (not related to remote controlling) that do the trick. However, the easiest is to have support built-in.
Callback support through firewalls (HTTP(S) gateway)? If there is a central one, speed?: Battling the problem of dynamic IP's is a piece of cake with third-party dynamic IP accouncer applications and even more so with built-in support for this.
Firewalls and NAT'ed (Network Address Translate) networks, on the other hand, are much more complicated.
If you're still allowed to define port forwarding (please see the list of ports to be forwarded in the first row of this group), you can still connect to firewalled machines even when you only run a remote controller application not having a central login server on the Internet (and maintaining a constant HTTP(S) connection).
If, on the other hand, you can't use port forwarding (which is very common with, say, public Wi-Fi or mobile phone based networks), the only way to access an, in this way, NAT'ed desktop remotely is using a constant HTTP(S) connection. The Web-based three "true" applications support this; so does, with a callback trick, z2. With apps that lack this functionality, you will want to use third-party applications like Barracuda HTTPS tunnel or the gateway solutions officially offered for some enterprise-targeted applications like NetOp Remote Control 9.0 and pcAnywhere 12.0.
In HTTP(S) gateway mode, if it uses the provider’s central server, does it try to use direct connections when there can be also direct, non-HTTPS connections between the client and the server for speed and to make users confident the server can’t eavesdrop into the conversation?: if you do need to communicate via a central HTTP server (which is the case with the three true Web-based services), do you have the chance of speeding up your connection if your remotely controller desktop PC isn't NAT'ed.
As can clearly be seen, with the highly recommended LogMeIn, direct connections are automatically used when they're possible. They also greatly speed up the connection. If you need to access / search PIM stuff and emails remotely, the highly recommended I'm InTouch also supports this - but you will need to manually enable it (see the included screenshots). Finally, GoToMyPC doesn't allow for direct connections at all - not that it'd cause any problem (the central server of GoToMyPC is blazingly fast).
I've tested the support for this with two tests. First, I've run my remotely accessed desktop in a totally NAT'ed environment - that is, in an environment that makes it impossible to make direct connections to the desktop PC. In this setup, I've checked with 'netstat' whether I have any kind of direct (one that isn't routed through the software developer's central server) callback connections to my (non-NAT'ed) client PC. (I haven't had any with the three true Web-based apps.)
Then, I've reconfigured my local network to completely expose the remotely controlled PC; that is, I've relocated it from a NAT'ed network to have a direct Internet connection. I've re-run netstat to see whether now I have a direct connection.
Service group: in here, I've elaborated on the memory usage (see my remarks on the LLE memory usage!) and the easiness of stopping / restarting / enabling / disabling these services. Note that, while LLE not only occupies a LOT of precious RAM memory but also has some 2…10% constant CPU usage, no other remote server applications behave this bad. This is why there is no "CPU usage" row - they were all under 1% (that is, impossible to measure).
Memory usage: as can be seen, none of the server applications are memory hogs. Most of them consume 12 or less Megabytes; VNC servers being the best in this respect (they only consume 3.5 Mbytes at most). The only exception is the otherwise, PIM / e-mail accessing-wise, excellent I'm InTouch, which has a memory usage of about 36 Mbyte. You may want to keep this in mind if you, for example, only have 256 Mbytes of RAM in your XP box - there, every Megabyte counts.
Easy to stop/ restart?: seeing how hard is it to stop the CrossTec app (and start GoToMyPC once you kill it) I've also included this test in the chart. In here, I explain how the server-side listening services can be en/disabled and/or started / stopped.
Misc group: everything not categorizable under the other categories.
Built-in landscape switching support? (They’re all compatible with OS-level Landscape modes; here, I only list explicit ability to switch to there under pre-WM2003SE OS’es): as has already been pointed out, all the remote controller applications are landscape-ready. Some of them, in addition, also support in-program switching to Landscape mode, which will surely be welcome by pre-WM2003SE users.
Note that while the two Mochasoft applications are capable of doing this, you won't want to use this feature with them because doing this will really slow down the rendering. That is, if you have a device with WM2003SE or a later operating system, use its built-in Landscape support, not that of the Mochasoft apps.
Dedicated chat support, using a simple textual protocol to communicate to greatly simplify chatting between the remote user and the local terminal user?: some applications support the use of dedicated chat windows, which aren't (necessarily) part of the desktop. With these chat windows, you the remote user can communicate with the user sitting in front of the remote desktop using dedicated chat windows. Supporting these is advantageous in two respects:
they are far more responsive than simply, say, using a, say, file edit window / Word document to communicate because the characters you enter, as you do it in a local (non-remote) text input component, are echoed right back to you.
When two users try to chat via, say, an open Word document, surely "race for controlling the cursor" events happen.
Server / Client install method: in here, I've elaborated on how the server-side (on the remote desktop) and the client-side (on the Pocket PC) component need to be installed, which will be very important for particularly newbie Pocket PC users not wanting to manually install / configure anything.
With web-based applications (including RemotelyAnywhere in this case), everything is easy: both the server and the client are auto-installed. With RDP-based applications, the server component is already installed on desktop Windows XP Pro PC's and you only need to install the client (if it's not already available - with the built-in TS client, it's already there if you prefer using it). With everything else, you must install both the server and the client by hand.
Where to navigate to to log in?: in here, I've elaborated on where the client must be pointed to or, if it's a Web-based remote controlling solution, where the Pocket Internet Explorer browser on the client must be pointed to.
Overall rendering speed: here, I've elaborated on the overall rendering speed. Note that the results assume you don't use any kind of smooth scrolling or other techniques; otherwise, for example, the RDP4-based Mocha client wouldn't have received a "Good".
Double monitors (extended desktops)?: many desktop Windows users extend their desktops to multiple monitors in Display / Settings / Extend my desktop onto this monitor. In here, I've elaborated on how the remote controllers support extended desktops like this.
Full screen support?: as you probably have noticed, the taskbar (the bar at the top) and the command bar (the one at the bottom) take up a lot of precious screen estate on the Pocket PC, particularly in Landscape mode. In here, I've elaborated on whether the applications support hiding these bars. In a nutshell, weaker applications don't do this; better do. Even better ones (for example, z2, the four Web-based applications, .NET Viewer and PT PO) let for (almost) completely hiding all GUI components. Please consult the mini-tutorials in this row to find out how you can do this.
Copy-paste between client and remote desktop (clipboard synchronization): Clipboard synchronization is a really important feature all remote desktop controllers should support. Unfortunately, few do.
Shutdown?: RDP-based remote controllers all have a very annoying problem: they don’t allow for shutting down / restarting the desktop, as is also shown in the TSC screenshot. All the other remote applications, fortunately, do. This also means if you need to remotely shut down / restart your desktop, don't use RDP-based solutions but anything else.
In-program disconnect (except for manual disconnect from inside Start menu – that is, the session)?: some remote controller apps are very dumb and don't even let for in-application disconnecting / exiting. In cases (when, to reduce bandwidth consumption, it's essential to disconnect as quickly as possible and shutting down the application with, for example, an external task manager application takes a lot of precious time), this may be problem. This is why I've also included this test in the chart.
Server-side configuration capabilities: as a final test in the Misc group, I've elaborated on what you can configure on the server, showing example screenshots of everything. If you do browse them, you'll get a picture of the server's capabilities I haven't otherwise elaborated on in this roundup.
Accessing other resources on the remote desktop group: in here, I've elaborated on accessing files (for file transfer between the remote desktop and the local Pocket PC), e-mails and Personal Information Management (PIM) stuff like calendar / contacts and, finally, monitoring the remote desktop without logging in and starting, for example, the task manager in there. These functionalities are all very important.
Accessing other resources on the remote desktop: File transfer between client and remote desktop: File transfer is of extreme importance between the client and the remote desktop. Unfortunately, few applications support it and those that do and are Web-based (I'm InTouch and LogMeIn; unfortunately, GoToMyPC doesn't support file transfer on the Pocket PC) currently only support downloading from the desktop to the client. The I'm InTouch folks announced they will also implement uploading, though.
Of the non-Web-based applications, only PT PO and z2 support file transfer. With all the other solutions, you'll need to choose third-party solutions:
Installing an FTP server on your desktop computer and accessing it via an FTP client (including most Web browsers, if you only plan to fetch files from your desktop but not upload anything in there) on your Pocket PC. Please read this article for more information on the currently available FTP clients and this article on the downloading capabilities and speed of current Pocket PC Web browsers.
If the above way isn't the one to go on (because you either don't want to struggle with another server application on your desktop PC, find it unsafe or it's so badly firewalled / NAT'ed that you couldn’t directly connect to it), mail the file from your remote desktop (after logging in there) to yourself if you also have direct (for example POP3 / IMAP / Exchange) mail access on your Pocket PC. Then, just fetch the file from your mailbox. This is, of course, much more complicated a task than using a built-in file transfer utility in a remote controller application - or, for that matter, a local FTP client on the Pocket PC. Also, it'll result in a really increased bandwidth usage, not only because of the need to manually log in to the server and mail the file to yourself, but also because of the ASCII conversion, effectively adding some 30-40% to the original size of the attached file. This means in these cases look for a solution with built-in file transfer right from the beginning.
Client-side remote / monitoring tools?: ever wanted to avoid having to, say, use the Task Manager in a full remote session? Ever wanted to avoid remote registry editing in a remote session because of the amount of, say, registry tree navigation involved, which results in greatly slowed down operation when done remotely? With RemotelyAnywhere, it's possible. The local HTML interface offered this application, which is compatible with even the dumbest Pocket Internet Explorer, offers you the chance of doing all this stuff locally, without having to log in to a real remote session and accessing these monitoring / registry editing tools in there.
Access to other PIM resources?: should you want to access and, what is more, search your mail or other personal calendar / contacts / tasks data stored in your Outlook or Outlook Express, you'll want to take a look at I'm InTouch. It has really excellent PIM accessing capabilities.
Note that you can do the same with actually logging in to your remote desktop and doing the same PIM stuff in there via Outlook (Express), but it's, of course, a much more awkward solution with orders of magnitude more bandwidth usage - remotely accessing / using for example Outlook will always be much harder than through a Pocket PC-optimized, locally running interface.
User interaction group: in here, I've elaborated on how more than one user can elaborate on the same remote desktop. In the first case, I've listed whether the user sitting in front of the desktop computer can interact with the remotely connecting one and, in the second case, I've elaborated on whether more than one remote user can use the same desktop using the same remote control application. (With different servers, it's possible to do this, even if the given server wouldn't allow multiple logins. Then, however, you're faced with the need of setting up more than one server, which isn't necessarily what you want to do.)
Anyone knowing RDP-based solutions knows both these painfully lack this functionality. Therefore, you'll need to go for an alternative solution if you do need these. All non-RDP-based solutions support co-accessing the same desktop with the physically in front of it sitting user; more than one remote user, on the other hand, is a bit more complicated question.
Login group: in this group, I've elaborated on whether the particular remote controller solution remembers login names and even passwords. When you remote control more than one desktop with the same program, I also scrutinized whether the given application supports storing the IP and, preferably, the login / password of more than one controlled desktop computer.
I highly recommend the mini-tutorials in here on creating favorites for Web-based applications (they are of really GREAT help if you don't want to enter your login / password all the time) and saving the remote desktop address / password pair in PT PO.
Windows accounts? That is, can you log in using any existing Windows user login / password pair (you don't need to come up with a new username and/or password but can use your familiar Windows one)?: this shows whether you need to come up with a password (and, probably, a new username) for logging in, or, you can use your Windows username / password.
Multimedia: in here, I've listed specially multimedia-related issues.
Sound redirection from the desktop to the client (and, possibly, vice versa): you may also want to listen to what the remote desktop is playing. This has happened at least to me several times while (not directly - that is, not via applications like WMRecorder) recording some MP3 streams or the input from the line input (a local FM radio) into a local file. In special cases, you may want to listen to the remote desktop user himself, speaking into the microphone of the desktop computer (and making sure microphone input is enabled even in playback mode).
Unfortunately, while, for example, the desktop (including Linux with all its mobile incarnations running on, for example, the Sharp Zaurus series) and the WindowsCE.NET Handheld PC RDP clients, both support sound redirection, the one included in PPC2k2…WM5 doesn't. Unfortunately, while using this client, you can't even start applications using the sound output. That is, for example in one of the above-mentioned cases (recording a stream with transcoding) can in no way be done via TSC. You must use some other remote control application if you still want to do this.
Note that two enterprise-targeted applications (CrossTec and Danware) support bidirectional voice chat (especially for remote maintenance & help) in the desktop version. Their Pocket PC version, unfortunately, doesn't support this.
Possible to start sound apps on desktop?: see the explanation of the previous test.
Video playback?: some users have reported inability to play back videos (to at least see some frames - of course, using 8-bit color depth and possibly slow lines, videos can easily become ugly slideshows) with some remote controllers. This is why I've also introduced this test. Fortunately, I've encountered no problems in any of my tests - all clients are capable of transferring videos to the client. This is in strong contrast with, say, Pocket PC remote controllers unable to show for example the HTC Camera screen (see this for more info on the latter).
Special client-side input group: in this group, I've examined how the tested applications handle more elaborate input scenarios: double and right clicks, tap-and-hold events, what special keys (not available on the local, default, Pocket PC Software Input Panels (SIP's)) they are able to send over to the desktop etc.
Right clicks: most applications are capable of communicating right clicks. The only notable exception is the H/PC client running on the Pocket PC.
Double left clicks: they have no problems with quickly clicking the screen in rapid succession to emulate double left clicks (to, for example, quickly highlight words, sentences and/or paragraphs of text). Some of them even support sending them from a menu.
Tap-and-hold (like text moving in Word): With several of the remote controller apps (most importantly, RDP-based clients), a simple, quick tap on the screen equals with a left click and tap-and-holding a right click; with some others (most importantly, the Web-based applications belong to this category) you click a left/right state toggler icon to quickly switch between issuing left and right clicks when you tap the screen.
When you use an application (for example, the built-in TSC) belonging to the first category, you can't use tap-and-hold events, unlike with a real mouse. In this test, I've tested (with the help of Microsoft Word - I've checked whether the Move text - where to? message appears in the left bottom corner) whether this is possible with the given client.
Special keys: as has been already mentioned in the group introduction, SIP's lack many special keys available on real desktop PC keyboards: Alt, function keys, Windows; Insert; Escape and some special, well-known combinations of these; for example Alt-F4, Alt-Tab and Ctrl-Alt-Del. In here, I've listed what such special keys can be sent to the remote desktop. As can be seen, the built-in TSC in Windows Mobile doesn't support sending any special keys; it's only the otherwise, because of RDP4, not recommended Mocha RDP client that is considerably better in this respect. Web-based applications weren't particularly good in this respect either; some of them only supports Ctrl-Alt-Del but not, say, function keys. The absolute killer is PT PO. Note that with PT PO, it's a bit complicated to bring up these special keys - see the mini-tutorial in the next, national character test row on how this must be accomplished.
National characters entered on SIP: if you only enter English characters on your keyboard, you will hardly notice the lack of national character support. If you do need to enter these characters, you should base your choice also on the given product's being able to send over accented / national chars. Unfortunately, not all of them do - for example, one of the most recommended apps, LogMeIn, doesn't.
Is it possible to “hover” the cursor from the client without USB / external mouse / hx4700 touchpad? (The latter works with everything): you may also want to position the mouse cursor without actually sending a click. Unfortunately, none of the controllers support this - except for PT PO when you use hardware buttons for the two mouse buttons.
A quick remark about the alternative technologies: if you happen to have an HP iPAQ hx4700 (the only one Pocket PC with a touchpad) and you enable the touchpad mode in the Nav Point Mode applet, you will be able to position the cursor anywhere (to, for example, see the cursor position-based tooltips, animations etc), in most remote controller apps. Note that, with LogMeIn (this may also mean RemotelyAnywhere because of the same GUI engine), any kind of viewport scrolling (which is especially easy and fast with the hx4700 in cursor mode) will stop this functionality of the cursor to work (because of the changed coordinates). The best way to make it work again is sending a mouse click anywhere (that is, you don't need to log in again).
I've also made some tests with an external USB mouse on the Pocket Loox 720. As opposed to the hx4700 touchpad, I've had severe problems with this setup: the local cursor coordinates didn't match the remote ones and, therefore, the mouse was useless. This, however, doesn't necessarily mean no USB or external (for example Bluetooth) mouse will ever work as intended: I may just have been unlucky with my PL720.
Server-side tooltips displayed? : you may well know tooltip windows - they are widely used in desktop Windows. In this case, I've explicitly tested whether the given remote controller application is able to display these on the client side. As can be seen, not all of them do. Also note my extensive remarks on z2 RemotePC.
Hardware button shortcuts: in here, I've elaborated on what you can use the hardware buttons of the Pocket PC for. Unfortunately, as can be seen, it's only with PT PO and z2 RemotePC that you can make use of them; with the other clients, their functionality remains the same as in the operating system itself.
Cursor tracking?: finally, I've tested whether remote controllers are dynamically able to follow the cursor and the text input caret. Doing this is highly useful particularly with QVGA clients. Unfortunately, only pcAnywhere and z2 is capable of this; the former tracks the mouse (useful when the remote user wants to see what the desktop user does) and the second finds the text caret (useful when you enter text and it scrolls out of the window but you don't want to waste too much time on finding it manually with the scrollbars).
Resolution, zoom, color group: in this group, I've elaborated on issues like whether the remote desktop is switched to a given resolution upon connection, whether the client is able to do any zooming and the like.
Related
Finnish invention Internet Relay Chat (IRC) has always been a great way to meet each other. This was particularly the case in the pre-Web, pre-* Messenger, pre-VoIP times, when the only really widely used form of conversation was IRC. Yours Truly has even spent 6-7 hours a day some 14-15 years ago talking to his friends, was always called A Serious, Hopeless IRC Addict that would probably never get back to life
After publishing my two roundups of IRC clients (Part I; Part II) two brand new IRC apps, PontiSoftware's mIRCy and Gargaj's zsIRC have been released; also, a brand new, 1.2 version of PocketIRC has been released. Therefore, I considered it to be essential to compare these three new releases to both each other and the already-released titles; most importantly, wmIRC (which hasn’t been updated for half a year), which, regardless the (sometimes fatal) bugs, I’ve always considered one of the two best IRC clients (the other being, up until now, PocketIRC).
All the three apps are landscape- and true VGA-friendly and run flawlessly on WM2003, WM2003SE and WM5 devices.
Code North PocketIRC 1.2
(Price: $14.95; free upgrade for previous 1.0 / 1.1 owners; OS compatibility: WM2003+ (1.1 supported all pre-WM2003 OS’es))
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The new version indeed delivers seamless VGA support (it doesn’t do pixel doubling any more, which was one of the biggest problems with version 1.1), which is the most important news. Also, it sports several bugfixes and is more compliant with WM5 (interestingly, I haven’t encountered any WM5-related problem with the previous 1.1 version either). Also, support for inverse color codes has been added (see Part I of my IRC roundup series on what this means).
Unfortunately, no new functionality seems to have been implemented. For example, one of the most important omission in version 1.1, the lack of logging, hasn’t been fixed in this version either.
Following are the Options dialogs so that you can have a clear picture what you can set and what you can’t: Server Display Format Ident DCC. As can clearly be seen, if you compare these dialogs to the previous version, there are absolutely no changes. The same stands for the menus.
Pros
VGA-friendly (no pixel doubling)
DCC support (as was already in the old, 1.1 version), in which it's really unique
said to have bugfixes and improved WM5 compatibility
Cons
ClearType can’t be switched off – it can be VERY annoying, especially on QVGA devices. Note that version 1.1 didn’t have ClearType.
No new functionality over version 1.1 except for the inverse color codes
The history is as useless as before – that is, pressing the “Up” arrow retrieves the first message, not the last one
mIRCy 1.0 by PontiSoftware
This brand new, commercial (it costs $11.95) IRC client is definitely worth paying attention to – it has great potential. By just eliminating its bugs, making it VGA-friendly (now, it does pixel doubling) including font size setting support, it can easily become the best IRC client for the Pocket PC (it, however, lacks any kind of DCC, in which PocketIRC is still the best Pocket PC IRC client).
It has a lot of goodies: logging support and for example Ignore, Highlight and Notify lists - in this respect, it’s really unique. Also, it’s highly fine-tunable (except for the character size, which I’ll elaborate on later). Following is a quick list of the dialog screens so that you can have a picture of what can be set: Connection, Options, Colors, Sounds (for example the channel joining sound is very funny!), Info, Files.
It’s of the very few apps that has a local server list. It can be found in the Connections settings dialog where there is a separate network and, inside networks, server list. It’s, however, is in no way as extensive as the desktop mIRC’s list available for download and conversion here. The two lists aren’t compatible but can definitely be converted with some regular expression knowledge (with which, fortunately, I can brag with). I’ve, therefore, quickly written the regexps to convert mIRC’s format to that of mIRCy (from: n\d+=(.+):.+SERVER\S+)\S+)GROUP:.+ to: $1\t$2\t$3\t ; with Editpad Pro (my favorite, fully regexp-compliant editor under Windows), this should be used as depicted in this and this screenshots). Note that the list MUST have a trailing Enter character; otherwise, the client will crash upon trying to load the list. Also note that you should only keep the [servers] section; delete everything BEFORE it. Also make sure you remove (or, manually convert) the “n127=EpicIRC Random serverSERVER:irc.epicirc.net:6667GROUP:EpicIRC” row from the resulting conversion (and make sure there are no other records with : in them; they don’t adhere to the reg exp syntax of the other records. You can, naturally, eliminate them yourself.) With my list AVAILABLE HERE (just overwrite the default list, \Program Files\ PontiSoft\ mIRCy\ servers.txt, with it), as you can see here, there are much more selectable networks and considerably more servers (416 as opposed to 306). Hope you enjoy my list.
Pros
Manually editable server list at \Program Files\ PontiSoft\ mIRCy\ servers.txt (to which, again, I’ve created an up-to-date list and a converter script for you so that you can do the conversion yourself, along with making available a converted, up-to-date, much-better-than-the-original mIRC list)
Logging
Copying to the clipboard (just select the text)
Pretty good context menu
The only Pocket PC IRC application to support multiple ports, of which it automatically chooses in a random way – starting from a port in the lower range, when it finds it doesn’t answer, it retries with a port with a higher port number). Much as, up to now, I haven’t really found a real use for this (if you use the default port number, 6667, and can’t join a server because it’s full, in most cases retrying with a different port number on the same server doesn’t help), this may be handy. For example, the most widely known, internationally (even from Europe!) usable US-based IRCNet server, irc.stealth.net, allows for connections in the 6660-6669 range (of which, at the time of writing, 6000, 6001 and 6002 were unreachable though as can also be seen in here (screenshot of PocketIRC 1.1 (also note there’s no ClearType); manually changed port numbers between connection attempts).
Note that the lack of multiple port support isn’t a showstopper with other clients. If you really want to try to retry with another port (as has already pointed out, in general, you won’t need to) different from the default 6667, you can always (manually) reconfigure your IRC client before reconnecting. (Yeah, I know it means you end up having to shut down zsIRC and editing the config file with an editor. In other clients, it’s much easier.)
Cons
No DCC
after disconnecting (File/Disconnect) from a server (or after an unsuccessful attempt to do it), it’s impossible to reconnect (retry) at once for at least 30 seconds: you’ll get the as can be seen in this screenshot too – or, in cases, the GUI becomes totally unresponsive. This can be a real pain in the back with servers that require many attempts to connect to (for example irc.stealth.net). The tested, other clients (the two PocketIRC versions, wmIRC 2.2, zsIRC) don’t do the same.
Sometimes selecting Connect results in the same without even having connected to servers before. Then, in addition, the GUI just seems to be frozen. Fortunately, after 10-15 seconds, you will regain control over it.
Generic rendering errors for example at inserting text into already-existing text and at displaying non-active queries / channels
Pixel doubling in SE (standard) VGA mode; forcing \Program Files\PontiSoft\mIRCy\mircy.exe doesn’t really help this because of the really tiny characters, totally messed-up main screen and whisper context menus (in native VGA, it's OK but uses very small characters)
Character size can’t be set (unlike in almost any other IRC client). Unfortunately, it doesn’t take into account the system-level character size setting either (see the “old” “Everything about VGA” article linked from here for more information on this)
There is history (accessible also with the up/down keys) but it always returns the first (globally) entered string, not the latest one – not what you may be looking for
Verdict
For VGA users: if it’d be more VGA-friendly (no pixel doubling) and the character size were settable, I’d certainly recommend it. For now: if you get upset by the non-settable character sizes and the pixel doubling, go for another client, for example zsIRC.
For QVGA users: recommended. Give it a try (particularly with my server list), you’ll like it.
zsIRC 2006. 07. 23. by Gargaj
This free (!) IRC client was a BIG surprise for me. It’s a bit hard for a newbie to operate (everything must be configured by manually editing the zsIRC.ini file; there isn’t even a CAB-based or a desktop installer etc) but is much-much better than any other free client out there – and, in many respects, even commercial ones! For example, it supports logging (again, the above-reviewed PocketIRC, which is in many respects the best IRC client, still doesn’t support this essential feature) and, as opposed to the above-reviewed mIRCy, it supports VGA and lets the user configure the fonts. This application is certainly worth a try.
Pros
LOGGING!
Free and MUCH better than any other free client
Pretty easy to switch between channels and queries (no drop-down menu to switch, unlike in PocketCHAT)
No anomalies on VGA devices
History works as expected (and unlike the other two apps, which always bring up the first item): pressing the Up key retrieves the last message sent, not the first one
(Via the zsIRC.ini file) many parameters can be configured (for example, a lot of appearance-related ones)
Cons
Everything must be configured via the zsIRC.ini file – no dedicated settings menus / dialogs
No installer
Requires you to know the exact syntax of, for example, /topic or /kick – no menu/dialog-based support
Very weak context menus (compare this to the context menus of the other two apps)
No copy to the clipboard – you can’t select any text, unlike with the other two reviewed apps. You need to look up the log files if you need to copy anything to the clipboard.
No DCC
No colors
Verdict
zsIRC has indeed proved to be a very good surprise: it’s so much better than all the other free clients out there. It’s not only free but also supports logging, has the best-working history (if you have an external / thumb keyboard and are used to the way how desktop / Unix IRC clients work, you’ll certainly welcome it) and has no visible anomalies, unlike both mIRCy (pixel doubling and non-settable character sizes) and PocketIRC (ClearType).
Sure, it has a lot of shortcomings, but as far as you don’t need menu support for IRC commands (after all, in the old IRC days, I had to memorize the correct syntax of all op and other commands because there were no menus under Unix or, even better, VM/CMS and I can tell you it’s not impossible), give it a go – you’ll like it.
Unfortunately, the new version of PocketIRC was a disappointment for me. I certainly hoped for more. The always-on ClearType is a real pain in the back (I just HATE it, particularly on QVGA devices). If you, on the other hand, don't dislike ClearType, you may want to give a title a try.
mIRCy clearly shows it’s just a 1.0 product – while, in some areas, it excels (for example, ignore lists and logging), the lack of VGA support and the inability to set the font size is unforgivable (if you are a VGA user, that is). Hope its problems will be soon fixed; for now, I can’t really recommend it if you have a VGA device. Then, I recommend the free zsIRC the best if you aren’t afraid of editing the settings file and memorizing the syntax of some often-used IRC commands like /invite, /kick or /ban. You’ll like it.
If you have a QVGA Pocket PC, on the other hand, you may definitely want to give mIRCy a try.
APPENDIX: The timeout problem
I’ve emphasized in Part I of this series that Pocket PC IRC clients are particularly sensitive to timeout issues.
‘Timeout’ means you don’t get direct feedback about the IRC server you (are supposed to) connect to not receiving your messages any more because, for example, the direct connection between you and the server has been broken, timed out. This can be caused by both IRC-specific problems and generic problems like the entire Pocket PC’s losing its Internet connection.
Not receiving any feedback, sadly, also means that, in cases, you may end up sending messages to your listeners even minutes after you’ve been disconnected. All these messages will be lost and will never be seen by the people you were speaking to (the "synchronous" IRC has no “memory”, unlike some much more modern also-asynchronous peer-to-peer (P2P) architectures like that of Skype – or, for that matter, the E-mail itself) unless you copy them to the clipboard (if your client is able to do this at all) and, then, paste them again into the channel / query windows as soon as you reconnect to the server.
Just to have a picture of what can happen to you in normal-day situations, here are the results of some of my real-world tests with current IRC applications, using two different servers: a well-known and usable-from-anywhere IRCNet (irc.stealth.net) and an EFNet (efnet.cs.hut.fi) one; using exactly the same circumstances on the client. All test have been done the same way: resetting my test Pocket PC (Dell Axim x51v A12; other models would have behaved the same way), booting in, starting the tested IRC client, connecting to the server via ActiveSync, logging into a channel so that my test clients logged into the channel can see everything’s all right and, then, just disconnecting the Pocket PC, starting the stopwatch. I’ve made sometimes several measurements with each client; the results are separated by commas.
As can be seen, all the tested applications (that is, all the really usable Pocket PC-based, native IRC applications), without exception, suffer from this problem, without an exception. In cases, you may end up sending out messages for even 20-30 minutes (!) without being notified of the broken connection.
Unfortunately, on the Pocket PC, using the current clients, it’s very hard to fight these kinds of errors because they don’t support for example timers to automatically send ping requests to anywhere, and manually pinging others every 1-2 minutes is quite awkward. To ease the pain and to implement the best possible solution, however, I recommend the following: if you have any friends you talk to with mIRC, you can ask them to enter the following command:
/timer 10000 10 msg your-nickname anymessage
or
/timer 10000 10 ping your-nickname
where 10 is (in seconds) the time messages and/or PING requests are sent to the client and 10000 is the amount requests are sent out. These values can be freely modified.
(If there is no one with this, just use the PING command.)
This way, if you just switch to the Status / server tab and/or the message window of the given user (canceling it being highlighted) and, then, switch back to your other windows, you can easily see even from other windows whether you’re still connected (see the red/ blue message/status window highlight here). You, of course, will need to often “clean” the “updated” flag by switching windows; if your IRC client supports switching tabs with the left/right D-pad (like mIRCy and unlike zsIRC or PocketIRC), it can be very easily done. Still, this way you can always be absolutely sure you’re still connected to the server and your friends can see you.
Note that your partners will see at once you’ve been disconnected (“EOF from client”), it’s “only” you that won’t notice this.
UPDATE (09/06/2006): PPCT frontpage; Appendix added.
Thanks for the write up. Always looking for improved IRC Clients.
Update: brand new Appendix added on generic timeout issues; (comparatively) minor additions and updates in the article
does someone knows IRC Client of the multi-servers supports?
i want to connect on a IRC Bouncer
MFG
Nullinga
PocketIRC 1.2.1 released – now, the always-on ClearType bug is fixed; additional color displaying tests with the four best Pocket PC IRC clients
It was just a few days ago that I’ve reported on the last, 1.2 version of PocketIRC, the great IRC client being released. Probably my biggest grief with the application (in addition to the still-missing logging capabilities) was the always-on ClearType.
Now, a new, 1.2.1 bugfix build has been released, which uses the system-level ClearType setting. This means it no longer uses ClearType when it’s not needed:
Unfortunately, there are no other changes; for example, still there is no logging.
Color rendering capabilities of the four best IRC clients (PocketIRC, wmIRC, zsIRC, mIRCy)
Now that I’ve tested PocketIRC’s ability to render (inverse) colors (see the above screenshot), I’ve also done the same to the new clients I’ve tested.
the free zsIRC and the commercial (!) mIRCy 1.0 don’t support them at all (neither normal nor inverse)
wmIRC 2.2 still doesn’t support inverse colors, only normal ones.
That is, color support-wise PocketIRC 1.2.1 is the best, wmIRC is the second and the others don’t support colors at all.
Nullinga said:
does someone knows IRC Client of the multi-servers supports?
i want to connect on a IRC Bouncer
MFG
Nullinga
Click to expand...
Click to collapse
There is none of them
Instant messaging is one of the key features of today’s communication. It’s much faster than e-mailing, much easier than picking up (and, probably, paying for) the phone and is pretty reliable.
E-mails, even if they are delivered at once (which isn’t guaranteed) are not guaranteed to notify the user at once (see for example this excellent article (and some feedback here) from the Modern Nomads folks on this question). Not so with instant messages – they, unless the connection is lost and the sender doesn’t notice this or, if it’s using a central dispatching server and it’s heavily overloaded (more on these problems later), promise really instant message delivery and notification.
You may have been a long-time user of desktop-based instant messaging solutions like MSN / Live Messenger, AIM, Yahoo, Google Talk, IRC or ICQ. You may also have a Jabber client – either just for fun (on at, say, the central Jabber server) or at your enterprise, where Jabber is a decent alternative (also see this article and “Google Talk might be(come) the right tool for your corporate”) to other enterprise-grade instant messaging & presence solutions like IBM Lotus Instant Messaging and Web Conferencing, Microsoft Office Live Communications Server and Novell GroupWise Messenger – and, to my knowledge, the one and only platform directly supported by Windows Mobile.
Fortunately, most of these services are also accessible on Windows Mobile. Note that I won't introduce these services here at all. If you're a newcomer to instant messaging (IM for short) and would like to choose one of them, which one you go for is mostly a matter of personal taste and the number of your friends using the given service.
The latter is because there is little interoperability between the different services. That is, if you install, say, the ICQ client, you won't be able to talk to your buddies using MSN (Microsoft) clients and so on. On the desktop, this can be easily combated by going straight for multi-service clients like Trillian or, if you need an open-source implementation for your Un*x desktop or mobile (and even desktop Windows!), Gaim (see here the Qtopia version of Gaim, should you want to use it on your Linux-based, even originally Windows Mobile-based mobile). Unfortunately, there’s no direct port of these two well-known, hugely popular clients to Windows Mobile. As far as Trillian is concerned, however, Web clients are already supported), which, however, are far more awkward to be used from a mobile.
Personally, as far as selecting the best service for your needs, I mostly recommend MSN because its support is definitely the best on Windows Mobile, should you want to go for a messaging platform without being constrained by the services your existing buddies are already using. Not only all third-party clients do support it (except for one-protocol ones like PocketICQ, gsICQ or the three-service mChat), but also Microsoft's own IM solution, MSN Messenger and Live Messenger, are very solid and, with MSN Messenger, in general, built-in products. Being built-in means you don't need to install (and, in cases, pay for) third-party software on your Windows Mobile (WM for short) device but use the one already available in there. What I also recommend if you’re looking for a messaging platform but, for some reason, don’t want to go for the MSN service is either Jabber or ICQ. Both have excellent Pocket PC clients – for example, the former is supported by almost all major titles and latter is supported by two of the best and, what is more, free titles, mChat and gsICQ.
You may also want to consider for example whether you need HTTP tunneling when going for a particular service. This isn’t supported by some services (for example IRC); the more recent ones like Jabber, ICQ, Yahoo and MSN, however, already support it (see for example the “Jabber and HTTP” section here and this for more info on the two latter services). Also see the comparison chart in the Comparison of instant messaging protocols for additional information.
In general, all IM solutions offer almost the same capabilities: in addition to chatting, file transfer, some even support video / audio chatting, multi-user chat (groupchat) and styled text. In addition, as far as Windows Mobile-compliance is concerned, Jabber servers are perfectly suited for enterprise-grade deploying. Please see this page for more info & links to individual Jabber server products, should you want to choose and, then, set up one for your enterprise, keeping Windows Mobile-compliance in mind.
Now that we have a generic picture of what IM services there are, we can move on to the clients that are actually able to connect to these services.
Fortunately, there are several Windows Mobile instant messaging clients. No matter what protocol (service) your mates use, you will be able to find at least one (and, in most cases, several) applications to do the task. With most of these applications, all you need to do is pretty straightforward: you supply them the login / password credentials to your (preferred) service and simply log in. With some of them (most importantly, imov Messenger), you will also need to use another central server account (which you can register from inside the app), which makes the life of a complete newbie a bit harder at first but soon becomes pretty easy. That’s because you can create /register the account right from your IM app on your Windows Mobile device.
1.1 The two types of connectivity: SMS and constant Internet connection
There are two main ways a Windows Mobile client can receive instant messages (not counting in Push Mail, which I’ll elaborate on in a later article): either through a constant Internet (for example, GPRS, EDGE, UMTS or HSDPA) connection or via SMS messages. Both approaches have their advantages and disadvantages.
1.1.1 Constant Internet connection
This communication form is far more common with Windows Mobile clients. It requires a constant (!) Internet connection between the mobile device and the service. It has the following advantages:
if you don’t have an unlimited text plan, SMS-based notification can become REALLY expensive as it uses one outgoing SMS for each message you send out. What is more, the 160-character size of SMS messages applies here too – if you enter too “long” messages (more than 150-160 chars), you end up having to pay for two SMS’es and so on. Also, you’ll probably be charged for incoming messages (they arrive as SMS messages) too. Finally, compared to the ubiquity of unlimited text plans, (close to) unlimited data plans are far more common and subscribed to by most Windows Mobile users.
all current, generic IM clients support data connections, unlike SMS messages - SMS support is very scarce with today's clients
It has, on the other hand, some severe disadvantages:
if your data plan isn’t unlimited or, at least, 10-60 Mbytes (depending on the client you use – there are vast differences in bandwidth usage, as we’ll also see) a month while you do prefer having IM on the entire day long, you will soon use up your Internet plan.
battery consumption because of the constant data consumption, particularly with 3G or 3.5G-capable (that is, not just 2.5G GPRS/EDGE) mobiles like the HTC Universal, the TyTN / Hermes, Trinity and the like. 3(.5)G UMTS / HSDPA connections REALLY chew through your batteries QUICKLY. (Note that constant data connection also requires actively waiting for incoming messages in a non-suspended case. This, with current Windows Mobile phones, isn’t a problem, unlike with old(er) Windows Mobile devices not sporting built-in phones. The latter consume a LOT of power in non-suspended case and are hardly usable in day-to-day IM situations if you can’t regularly recharge them.)
For example, in this XDA-Dev thread, XDA-Dev forum members complain about the mobile’s completely chewing through the battery in three hours (!) on the TyTN / Hermes while using Agile Messenger (one of the IM applications available for WM). With a GPRS/EDGE connection, the battery lasted at least eight times more (24 hours).
Fortunately, you can easily fight this problem. As has already been pointed out, it’s typically with high(er)-speed, new-generation connections (UMTS or HSDPA) that the battery consumption becomes really an issue with most current WM-based phones, you may want to force your otherwise UMTS / HSDPA-capable phone to stay at GPRS or EDGE and, consequently, consume way less power. There is even a tool, BandSwitch, to do the trick for you, developed by the excellent XDA-Developers gurus. Please see this thread for more info. (Additional info for example here and here.)
finally, current data connection-based clients can be pretty unreliable. Either they disconnect and, for some reason, fail at reconnecting to the service or are seemingly connected but still don’t receive (send) anything. The latter is the worst possible situation because your party won’t even notice you aren’t receiving her or his messages.
All in all, if being able to be reached all the time and with 100% confidence is of EXTREME importance or you have a Windows Mobile phone with high battery consumption or you have an unlimited text plan, you may want to have a look at SMS-based solutions. Otherwise, stick with data-based ones.
1.1.2 SMS
Now that we've seen the advantages and disadvantages of SMS-based solutions, let's move on to the question of the SMS-capable clients themselves.
There are few clients to support SMS-based messaging. The most important of them is the now-discontinued (and, therefore, not any more recommended), well-known VeriChat.
There are, however, some alternatives you may want to check out:
SMS Threader - v1.17 (also see this)
Palm’s well-known SMS threader application is also worth mentioning. Unfortunately, it's only available for the Windows Mobile-based Treos.
The built-in AIM client in the HP iPAQ h6315, which also used SMS messages (see this and this), while the old one didn’t use SMS’es.
The same stands for the AIM messenger coming with the T-Mobile MDA
Finally, PocketICQ is also SMS-compliant.
1.2 Available Windows Mobile IM clients
As with most of my roundups, this one also contains most of the relevant information in the self-standing comparison chart (CLICK THE LINK!). This is why I don’t list the (missing) features, pros and cons of each and every application in here. If you do spend some time on browsing the chart (make sure you maximize the browser window when you do it so that you end up having to scroll only rarely), you get a very compact, albeit much more useful way of directly comparing all the alternate clients.
Note that there are a lot of features current IM applications offer you may have never even dreamt of (for example, file transfer, voice chat or chatrooms / groupchat). This is why it’s essential you thoroughly scrutinize the chart and the explanation. In order to keep the article as terse and non-self-repeating as possible, it’s only there that I elaborate on these features, not anywhere else. (Now, just imagine I had listed on all the (missing) features of all the reviewed & compared applications in the current article, in free textual form! Not only would it take you ages to even read them all, but also comparing these features to those of the alternates would be WAY harder.)
1.2.1 Webmessenger Mobile Instant Messenger for Pocket PC 2003 2.6 build 070216 (a WM5-only version, “Mobile Instant Messenger for Windows Mobile 5.0”, is also available here)
This is a comparatively new product with pretty average features. The developers also offer two other, mostly enterprise-targeted (for example, Jabber support) IM solutions.
It's the only IM app for WM to support Skype (in addition to the "official" Skype client, of course). However, this requires an additional plug-in: you must also register for at least the free version of WebMessenger Mobile for Skype. Make sure you download the desktop component as well.
1.2.2 IM+ 4.3 by Shape Services
This is one of the most widely used and known, well-established, leading IM solutions. Should be one of the products you take a very serious look at.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Review here; a generic thread is here; another one thread on some recent (4.28, 4.29) bugs.
1.2.3 OctroTalk 0.10
This is a brand new IM product for WM. It's still being developed and already having, even compared to the other, much older and well-established IM clients, pretty decent features (for example, one of the few products to commit an update check at startup). It's still in beta stage and is, therefore, free at least until the end of March. Beta also means sometimes non-operating central dispatcher servers though - use with care and don't deploy into situations that require guaranteed availability yet! However, if you don't need to be online all the time and some server downtimes aren't a problem, this client is worth checking out even at this beta stage, particularly because the developer is actively trying to implement users' requests, which, unfortunately, is pretty uncommon with other IM clients (albeit the imov and the PocketIRC folks are pretty responsive to user remarks too). That is, you may also help in creating the BEST, most powerful WM IM client.
Note that the developers have let me know they will implement both file transfer and some other features "this week" (last week of February 2007). I'll accordingly update this roundup and the chart as soon as they are indeed implemented.
A great discussion thread can be found here.
Note that, even as of version 0.10, it's still has a bug of false contact add announcements as can also be seen in here. If you have hundreds of contacts, this will mean you will need to answer the question of the dialog hundreds of times every time you install and configure a new version of OctroTalk. This may be - understandably! - a showstopper for many (see for example this post). Hope later beta (or, at least, the final) versions will get rid of this very annoying bug.
1.2.4 Live Messenger
Microsoft's latest MSN client, Live Messenger, is still at (a public closed) beta, which means if you were a betatester, you still have access to it at Microsoft Connect, unlike with the desktop Live Messenger betas, which have long been in use and are accessible to anyone. Otherwise, you'll need to wait for the official launch: Live Messenger for WM is slated to be released in some months and will be compatible with WM5 and WM6 (sorry, not with previous operating systems).
It's REALLY capable and highly recommended; for example, it supports two-way file sending/receiving and groupchat. No wonder I recommend the MSN service for all WM users as the service supported the best.
There is a decent review here. Note that there is a similar article here, but it discusses the web-based Windows Live Mobile, not Live Messenger. Still, it may be worth checking out because it contains a lot of nice comparisons to the alternative services.
For this roundup, I've reviewed the latest public beta version as of this writing.
1.2.5 MSN Messenger (as of WM5 AKU2.3)
The predecessor of the above-introduced Live Messenger with, compared to its successor, (in times, really) reduced feature set. However, it's still highly recommended if you (only) need MSN connectivity and don't need an application that also supports other services. It’s, in addition to Live Messenger, the other MSN-capable client to support groupchat.
1.2.6 Agile Messenger AMST-WMPPC-65
This once-free, well-known and capable application / service has been made commercial in the meantime. Now, you have two choices of subscribing to it: either pay some $15 for three months or $45 for a life-time license.
This thread on Agile's sending passwords as pure, unencrypted text may also be of interest. Also, in here, some XDA-Dev users complain about the Agile folks’ not responding to their mails.
1.2.7 imov Messenger Basic / Enterprise 2.12e
The predecessor of this title was JabberCE, which, later, has been renamed to imov Messenger (this is why the old JabberCE page isn’t accessible any more). This title has two version: a somewhat restricted (for example, it doesn't support logging) Basic version and an Enterprise one. The latter is still decidedly cheaper than both IM+ and Agile Messenger.
Note that the Basic version isn't directly available on the developer's homepage but, for example, here.
1.2.8 Verichat by (ex-)Intellisync v1.42b
This well-known title, now that Intellisync has been bought by Nokia, is no longer supported / sold. (This is why I also provide an alternate URL, should the original homepage be removed.)
This IM application is one of the very few titles that support SMS-based messaging. Otherwise, it doesn't have much to write home about - the majority of the alternatives is considerably better.
Also see this thread.
1.2.9 PocketICQ 1.0 Beta
This is a very (some 6 years) old ICQ client; given that it’s still officially in beta stage, I seriously doubt it’ll ever become non-beta. Nevertheless, it may prove a good alternative to other, mostly commercial titles if you only need ICQ support and don't need always-on accessibility on a Windows Mobile phone (it's the only hugely important thing this title severely lacks at). First, however, give a try to gsICQ (or mChat) instead to see whether they fit your needs better.
1.2.10 IRC clients
Internet Relay Chat (IRC), in addition to even older solutions like Talk, has been a highly popular IM / groupchat platform for over 15 years.
Fortunately, there are several really capable IRC clients for the WM platform. Three of them are the most important: the commercial PocketIRC / wmIRC and the free zsIRC. Of these three applications, I've included information on the two commercial titles in the feature chart because zsIRC, while still way better than any other free solution, is, in many respects, considerably worse than any of these two titles. Furthermore, if you want to know more about zsIRC and how it compares to these two clients, make sure you check out my related articles.
I’ve published several articles on Windows Mobile IRC clients. Please give them a read (particularly to this one) for more information.
1.2.11 gsICQ / mChat
Last but not least, these two, free clients of Russian origin are excellent and certainly show you can write useful, fully-fledged, dependable business applications using the .NET Compact Framework. (Unfortunately, apps like these are very rare; most .NET CF-based “full” apps have a lot to be desired, to put it mildly. See for example the applications / games written by IBE Group; for example, IBE Backup, IBE Mail and Star Invader).
mChat supports ICQ, Jabber and Mail.ru’s own messaging server (I don’t think the latter will be really appealing to any non-Russian speaker). Its little brother, the ICQ-only gsICQ is, in some ways, even stronger and more featureful than mChat as far as ICQ support is concerned; therefore, you’ll want to scrutinize my comparative remarks in the combined gsICQ / mChat column in the Comparison Chart. Note that I've listed the two applications in the same columns because most of their features / behavior are the same.
1.3 Not reviewed (discontinued / non-working / plain old / will be tested later) clients
1.3.1 AIM for WinCE
This is a very old, free Pocket PC AIM client. It doesn’t offer much functionality; this is why I haven’t considered it a serious contender to the rest of the reviewed applications. Also see this and this for more info.
1.3.2 Yahoo! beta client
Yahoo! also had a beta client but they have discontinued it (also see this) and completely abandoned the platform.
1.3.3 Odigo Messenger Force by Ruksun Software Technologies (now: Amiga Development India)
This commercial (it cost $25; a trial version is/was also available) application has long been discontinued and isn’t even directly mentioned on the developer’s mobile IM-related homepage. Also see this and this; note that these threads state it wasn’t even compatible with WM2003 (and, consequently, later operating systems), only with previous ones (PPC2k and PPC2k2).
1.3.4 Mig33 3.0
This MSN / Yahoo / AOL (received in 3.0) / VoIP client is midlet (MIDP)-based; that is, not a native WM application.
It didn’t work for me. No matter how I hard I’ve tried (with both the lite and the 3.0 beta version) on my HTC Universal to log into my existing accounts on all the three supported networks, it has always complained about my account’s not existing
Some people, however, stated it works with them (1 2 3 4).
1.3.5 MS Portrait
I haven’t included MS Portrait in the main test either. The reason for this is very simple: there are just too few users using MS Portrait, also taking into the desktop users into account. Furthermore, while the front camera problems are still not solved in the last, 3.0 beta version, few people will use this application for TCP/IP-based video phoning.
Please read this review for more information.
2. Comparison / feature chart
It's available here (CLICK THE LINK!!).
2.1 Explanation for the chart
I'd like to stress again and again that you really should read this section very thoroughly
to see what advanced functionalities these applications offer (there are MANY you may not even have dreamt of!)
to be able to decide between the clients. Unfortunately, there is no "this is clearly the best" title, albeit there’re very strong and highly recommended ones like mChat. This also means you need to compare the (missing) functionalities of each and every title so that you can choose the one that fits most of your requirements.
Note that I don't list the most elementary rows (for example, price, trial restrictions, Landscape orientation or Windows Mobile operating system compliance) here - only the ones that do require some explanation to make sense.
Connection type?: in here, there may be three choices: direct (which means a particular client connects to a service directly, without a(n invisible) gateway), indirect (meaning a(not necessarily visible) gateway between you and the service you're accessing) and SMS. Note that I couldn’t safely decide between the central server-based and the direct modes; for example, with Agile.
We've already seen what SMS-based messaging can be used for and what its (dis)advantages are. Direct and indirect data connections, however, require some additional explanation: in general, you may want to prefer direct connectivity because indirect connections might be somewhat less reliable. This isn't an issue with, for example, the indirect connection-based imov Messenger; however, with the current (beta) version of OctroTalk, it may be. In many cases, I was completely unable to get it connected just because the central OctroTalk dispatch server was out of service.
VGA?: this row should definitely be one to check out if you have a high-resolution VGA device (as opposed to low-res QVGA ones); in here, I've elaborated on the VGA friendliness of the apps. Unfortunately, as can clearly be seen, there are several IM apps that aren't really VGA-friendly because, for example, they (still) use pixel doubling.
Non-stable connections: Status (current discussions) kept when disconnecting?: one of the most annoying problem with some IM applications is the fact they just close the chat windows when your connection becomes unavailable, which can happen pretty easily for example if you are roaming with your device and the cellular signal strength decreases. The most important example of the behavior is IM+, which immediately shuts down all the open chat windows. Fortunately, not any of the other applications do the same.
Note that older versions of Microsoft's own MSN Messengers also did the same (even in WM2003SE). Fortunately, the most recent versions shipped with WM5 no longer do this. Kudos to Microsoft for fixing this very annoying problem!
Auto reconnect when the / a connection terminates?: this is also very important for anyone relying on the ability to receive instant messages any time, anywhere. (Once again, SMS- or Push Mail-based IM solutions are much better and more reliable! Data connection but not Push Mail-based solutions should only be used as a last resort in a mission-critical environment!)
MSN disconnect test?: I've also run some disconnect tests (with the MSN service only, as far as multi-service IM apps are concerned; with IRC clients, I've, of course, run the clients over IRC to see whether their sensing the disconnected state has been made quicker lately, as is, for example, also promised with the latest version of PocketIRC) to see whether a forced connection disconnect (emulating the above-mentioned cellular phone roaming situation) results in both the particular application and the desktop party it's connected to sensing the connection is broken. Note that positive “no problem at all” results don’t necessarily mean you won’t ever have disconnection / invisibility problems – a lot of users have been reporting cases like this with, say, IM+ (see for example this thread).
Easy / quick input: PDM’s: with some applications, you can use in-app defined text shortcuts to greatly reduce typing time by just sending a "canned", pre-written response to your buddies. Some apps allow for editing these messages and one, imov Messenger, even allows for constructing them from word / expression atoms to form real sentences. The latter is really an excellent idea!
Smiley input / output: as far as smileys (emoticons) are concerned, does
the particular client support inputting them using pre-made small icons?
use graphical icon when displaying received (or sent) smileys?
As can clearly be seen, most apps do support at least smiley rendering (and some even input). However, the number of smileys they know is pretty limited, Live Messenger being the best in this respect.
Command / input history quickly accessible with up/down OR a menu?: when you chat with someone, you may need to quickly retype something you've just said. In this case, a very quick way of scrolling back your recently-said messages can be very nice. Support for this, using the Up and Down cursor keys has been present in most IRC clients ever since the beginnings of IRC - just like with the command repeat / review functionality of the Unix shells or MS/PC-DOS with DosKey (with later DOS version) or dosedit.com (with earlier ones).
Unfortunately, this feature is only present in PocketIRC. None of the non-IRC applications support this functionality, which is a big minus with them all.
Readability, amount of information displayed at a given time: Font size settable (very important in native VGA mode)?: if you are a VGA user and have ever tried to run MSN Messenger in native VGA mode, you may already know it’s impossible to make its, in native VGA, unreadably tiny fonts larger. Fortunately, its successor, Live Messenger, has fixed this problem. Most other IM clients don’t suffer from this problem either – except for some of them (for example, imov Messenger Basic), all allow for setting the font size.
History, copy / paste, logging group: in this group, I've elaborated on how a given client supports text selection and copy to the clipboard (copy / paste), whether it supports logging discussions to a file in the local file system and whether the links (for example, Web links) are clickable.
With IM clients where Web links aren’t clickable, you can still copy them to the clipboard – if the client supports text selection and clipboard copy, that is – and, then, paste the URL manually to the address bar of a Windows Mobile Web browser.
Also, if your client doesn't support logging, you can still use copy/paste to copy the contents of your discussion to the clipboard and, from there, to a file. This is, however, far from automatic and also depends on whether copy / paste is supported at all.
Protocol-specific group: in here, I’ve elaborated on what services the given client supports and how it works with them; does it have specific bugs with them and so on.
New message notification; suspended modegroup: if you plan to use your IM application mostly for receiving messages, you’ll really want to scrutinize what has been stated in these tests.
in-program, if multitabs are utilized, are they colored?: While you’re actively chatting with a contact or browsing the user list and a(nother) contact sends you a message, what does happen? As most user interfaces are tabulated (using multiple tabs; that is, multitabs), I’ve mostly concentrated on whether you can see at once who has sent the new message to you; one of the most commonly used ways of doing this is making the tab – which contains the chat session with the given buddy - red.
Suspended mode usable on Windows Mobile phones?: this is one of the most important rows. If you do plan to use an IM app to be able to receive messages the entire day, you can only achieve this if you suspend your Windows Mobile phone to greatly reduce its power consumption. This should be a major deciding factor when you plan to select an IM application.
Not all applications are suspending-friendly; a most important example of these is PocketICQ. Fortunately, all the other non-disqualified IM apps support operating in suspended state; so can, as far as IRC clients are concerned, wmIRC.
What notification settings / capabilities are used?: if you do plan to rely on the audio / vibration notification capabilities of an IM client, you will want to choose one that supports preferably both if you often rely on vibration (which is available in all Windows Mobile phones).
Unfortunately, vibration isn't necessarily supported in all IM applications. As a rule of thumb, applications that rely on the system-level Sounds and Notifications settings applet to set the type of their notifications don't have problems with vibration either. Applications that don't rely on the system-level settings won't necessarily support vibration (albeit some do - for example, wmIRC or mChat / gsICQ).
A quick note for developers of applications: it's actually very easy to add system-level notification support to any application - it's just a question of adding some registry keys.
Today plug-in: several IM applications also have a Today plug-in so that you can always see whether they're online and whether there are any new messages / buddies around. Please consult the individual chart cells to find out how each Today plug-in behaves.
Misc: CPU usage while listening to incoming messages with all the possible networks logged in?: particularly with waiting for incoming messages for more than a few minutes, the processor (CPU) usage of the given IM application becomes of interest (unless the messaging is SMS-based because, then, the mobile only wakes up and starts executing your IM application when there's an incoming instant messaging-related SMS). The less CPU usage, the better. Fortunately, almost all IM applications have negligible CPU usage; the only exception is WebMessenger, which has a bit higher CPU usage, resulting in a bit (not much!) reduced battery life.
Doc quality?: in here, I've explained whether the on/offline application documentation is verbose and comprehensive enough. I've also linked in the online documentation, whenever available, to make your life easier.
Conference (MSN: Action / Invite a contact to join this conversation; ICQ: Start a multi chat icon; Yahoo: Action / Invite to a conference; Google Talk and AIM, as of now, don’t allow for group chat): many IM services support "conferencing" or "group chatting". In here, I've examined how the WM IM clients support this.
As can clearly be seen, if you need groupchat support on WM, go for either Jabber and imov Messenger Enterprise (this is the ideal solution for the Jabber-based enterprise with groupchat needs) or MSN / Live Messenger. The latter two are the only MSN clients to offer seamless groupchat support. Finally, of course, you can always use the venerable IRC clients for groupchat.
Flags?: in cases, you won't want to show your contacts you're ready to talk. That is, you will want to modify your presence information. In here, I've elaborated on what states (flags) you can choose from.
Note that I haven't elaborated on the auto-away flag because none of the clients set the state to "Away" automatically, unlike on the desktop. This is, of course, understandable as you most probably always have your Windows Mobile device with you, ready to be reached , even when you're otherwise away from your desktop computer.
Mobile flag?: some (not all!) services also support showing a flag like "the user is using a mobile device". You may want to prefer a client that does support this flag so that you can effectively show your party you won't be able to type as fast as on a desktop computer because of the non-existing or, at least, far smaller / more awkward hardware keyboard. Unfortunately, very few clients support this.
Unicode support?: while most services (except for some really old ones; for example, IRC) do support (16-bit) Unicode characters, not all client products support these (unlike on the desktop). Note that, while Unicode may not be supported, as with IRC, you can still switch 8-bit codepages in most clients. That is, if you both use a 8-bit char page (for example, Cyrillic, Central-European, Turkish etc), you can still use all your national, non-Western characters even with clients not supporting Unicode. It's only real Unicode communication (with languages that, because of the huge number of their characters, can't use a 256-character 8-bit page) that's impossible with these IM clients.
Note that I've tested Unicode transfer in both directions because it's possible Unicode characters will only be transferred (and rendered) in one direction but not in the opposite one.
SOCKS proxy support?: in here, I've elaborated on the Socks (and, to a lesser degree - unfortunately, less clients support HTTP clients, even when almost all the messaging protocols support it -, HTTP) proxy support. When not used in the enterprise, you most probably don't need the support for this; however, if you do have a local firewall blocking all non-standard remote ports (for example, those of IRC), unless you have a Socks and/or HTTP proxy-capable client, you won't be able to communicate.
Multiple logins with more than one account to the same network?: while some desktop clients (for example, IRC) allow for multi-logins using the same client (or an independently started instance), this isn't the case with Windows Mobile ones.
I haven't listed the ability to log in using the same account but on different devices. Protocol-level support for this would be really nice (see for example the section "MPOP and presence by observation" here) but, alas, not all protocols support this. The two most important ones that do are Jabber and AIM. With these protocols, you can log in from your mobile device, which not (necessarily) will result in your already logged-in instance to be logged out.
... and to different networks?: multi-service clients (there are several of them - all the reviewed IM clients, except for PocketICQ, gsICQ and IRC) are able to make use of all the supported services by logging into them at the same time - just like Gaim or Trillian on the desktop.
Offline (non-mail) messages?: some IM clients support the underlying feature of delayed message delivery in almost all current services. (Exceptions are IRC, if you don't use an add-on messaging service and at least older versions of Skype are the only notable exceptions; see the "Asynchronous message relaying" column here.) Unfortunately, not all - in here, I've elaborated on which client supports this and which doesn't.
User control: in here, I've elaborated on what buddylist features the reviewed IM client has - for example, is it able to answer to other users' contact addition requests. I've also mentioned if a particular client has user group editing operations (they do support all groups already available on the server side). User groups are very useful; for example, they allow for separating your workmates from your friends.
Editing functionality includes, for example, creating a user group and moving contacts to there. This will, then, be synchronized back to the IM server so that, no matter where you log in from, you'll see the same user group structure in your IM application.
In general, all apps work flawlessly with contacts and groups. The only exception, as of version 0.10, is OctroTalk, which always makes the user have to let all past MSN users added as contacts (also see this AximSite post for more info). This is really annoying!
Voice chat?: some IM applications also support voice chatting (Voice over IP, VoIP). In here, I've elaborated on these features.
File transfer?: file transfer is supported by all instant messaging protocols but, unfortunately, few Windows Mobile clients.
Some apps that do support it (to some degree) do it in a non-direct way; that is, uploading the files to their central server and only pasting the (temporary) URL to the file to the target of the file. This is why you'll only see URL's passed with these clients, not the standard, “embedded” file transfer interface.
Text formatting (AIM : full formatting; Yahoo: Bold / Italic / Underlined; IRC: the same + colors + inverse)? (MSN: Edit / Change font only changes the font of the entire current / following messages; that is, it offers no real formatting capabilities; ICQ and Google Talk: absolutely no formatting capabilities): some IM services / clients, most importantly, Yahoo and IRC (and to a much less degree, MSN), allow for text styling / formatting. In here, I've scrutinized whether Yahoo / IRC / (MSN)-compliant Windows Mobile IM clients are able to correctly render styled text. (None of them are able to actually produce styled text.)
Quick edit shortcuts (Ctrl-A, Delete, Ctrl+arrow etc): Particularly if you use your IM client with an external (for example, Bluetooth) keyboard or use your desktop's keyboard via a Windows Mobile controller application (for example, Pocket Controller – see this for more info), you will want to go for a client that allows for the standard keyboard cursor movement shortcuts to greatly speed up for example text modification / correction before submitting it. Fortunately, only one application (WebMessenger) doesn't support this at all; all the other IM clients support this almost flawlessly.
Bandwidth usage (transmitted/received bytes in kilobytes): login, 10 minutes and a long-time test with one-hour long data: In here, you can not only check the bandwidth usage of most clients but also that of the protocols themselves, should you want to base your service / protocol selection based on (also) bandwidth usage.
If you use a non-unlimited data plan with your data connection-based client, you may also want to know which client and which service / protocol consumes the least bandwidth and what combinations (for example, ICQ with enabled and, in most cases, useless "keep alive" pinging every half a minute) should be entirely avoided. As can be seen, MSN (and Live) Messenger (which both use direct connections) use a bit more bandwidth than most other clients using the same MSN protocol. It's also worth pointing out that the bandwidth usage of Jabber, ICQ and IRC is even less. That is, if you really want to minimize your bandwidth usage, you may want to choose the last three protocols instead of, say, MSN. (Or, if your enterprise already supports it, go straight for Exchange-based Push Mail for notification purposes – particularly after applying the well-known "heartbeat" hack, it consumes the least bandwidth.)
Of particular interest are the bandwidth usage figures of OctroTalk. While its Google Talk (that is, Jabber) and ICQ (in the ICQ test, it consumed a little over the mChat / gsICQ figures) bandwidth usage figures are only slightly smaller than those of the alternative clients / services, the MSN test produced some astonishing results. Compared to the Microsoft MSN / Live Messenger clients, which use about 28 (12+16) kbytes an hour, OctroTalk only uses a little less than 6 (0.5+5.3) kbytes. This means OctroTalk only uses one-fifth (!) of the bandwidth of Microsoft’s official solution. Compared to other MSN-capable clients (all (except for IM+) alternative MSN clients use about half of the uplink bandwidth of the Microsoft clients), it still has some advantage – it uses about 3.5 times less bandwidth to keep the connection up.
This means if you really need to use MSN but you must have the absolutely least possible bandwidth usage, you may want to take a serious look at the OctroTalk client. (Otherwise, if you don’t need to minimize the bandwidth usage, for strictly MSN communication, my personal pick is still Microsoft’s Live Messenger because of the excellent features.)
(MSN) avatars? : Finally, none of the otherwise MSN-compatible clients support MSN avatars (small icons), except for, surprise surprise, Live Messenger. The latter even allow for changing it yourself on your mobile device.
2.2 Not tested
2.2.1 Mobile (GPRS etc.) connection keep-up
In my tests, most applications behaved quite OK. However, there may be problems in your particular case, particularly if you use instant messaging on a mobile phone. In these cases, if you lose the connection after some time, you may want to check out for example this registry hack to fix the problem.
2.2.2 Task keep-alive
I haven’t checked whether the current versions of the IM apps can force the operating system not to shut down the given application when the standard “let’s kill a background” task to free up some memory / when we’ve reached the 32-process limit of all WindowsCE versions (that is, even Windows Mobile 6) before 6 (note that WM6 is still based on the, process number restriction-wise, “old” WinCE 5.2). You won’t have this problem at all if you don’t run memory-hungry and/or several other processes (for example, you don’t open up more than 15-20 tabs in the excellent Windows Mobile Web browser, Opera Mobile). If you only have 4-10 apps running at a time and you have at least 5 Mbytes of free (dynamic) RAM, I’m pretty sure your IM app won’t be silently killed, even when it doesn’t support forcing itself to remain active.
I’ve only made tests with starting all the clients at once but, to avoid clashes, not logging into anywhere. Then, I’ve increased memory usage and the number of active processes by mass-starting other applications. In general, all the tested applications were shut down after a while. Note that IM+ has a checkbox to avoid this situation; I haven't enabled it when running this test.
Please see for example this thread for more info on this problem.
3. Other links of interest
A cool, recommended overview & comparison of some apps
eWeek: "Mobile IM Landscape Shows Room for Growth"
What is your messaging application of choice?
Generic “Looking for a IM / chat client similar to Yahoo messenger“
Gerneric “The Best Instant Messenger (IM)”
Google Talk On Your Pocket PC
Mobile Chat Rooms?
A Jabber-related thread (“Jabber Releases PocketPC Client”)
UPDATE (03/09/2007):
PPCT frontpage
You can download the latest version of Windows Live Messenger here. It's an AximSite thread so it can't be illegal (at least I hope so). This thread is, by the way, is pretty much recommended.
There is another lightweight and very simple, but small ICQ client, Anastasia, available here (thanks to CharlyV of SKKV Software for the tip!). (Incidentally, I DO ask every program developer to register their programs into the Pocket PC Mag Software Encyclopedia! I'm not guaranteed to find all Windows Mobile programs if you only publish related info / accouncements in German / Russian / you-name-it-what-language forums (not that I couldn't speak German or Russian - I speak quite a few languages, including these two)).
I've been asked about XMPP in several reader e-mails so I need to stress the following: XMPP is an IETF standard for messaging and is a fully open standard. This is the same standard that Apple uses for iChat and Google uses for GoogleTalk. Currently, few IM clients support direct XMPP connections; one of them is imov Messenger, which is XMPP based. This means you cannot use for example OctroTalk with your own IM server because it relies on a centralized server that presumably a single company controls. In addition, there are some other important benefits that imov Messenger (and other XMPP clients) offers the end user:
As has been mentioned, it is built on XMPP which is an Open IETF standard
For complete control, you can run your own XMPP server on your own network
If the protocol changes for AIM, ICQ, Yahoo, etc the client does not need to be updated and redeployed - just the server
XMPP offers encryption of traffic between the client and the server
UPDATE (03/14/2007): New version of excellent Instant Messenger client Mundu out; also runs on standard PPC’s!
The Mundu instant messenger client is widely known among both Microsoft Smartphone (in the new, WM6-related parlance, “Windows Mobile Standard”) and Palm OS users – on these platforms (particularly on the Palm), it’s probably the best IM client.
The developer has just come out with a heavily updated, new version. While it’s only meant for the MS Smartphone platform, thanks to the convergence between the MS Smartphone and the Pocket PC (Phone Edition) (in the new parlance, “Windows Mobile Classic / Professional”) devices, it works pretty good on all Pocket PC (Phone Edition) devices starting with WM5.
Much as it does have some problems on Pocket PC (Phone Edition) devices (for example, it doesn’t support working in suspended mode and vibration, unlike with MS Smartphones, where both are supported), I really recommend it particularly if you
want seamless auto-logging capabilities
want conference support with MSN, Yahoo and, according to the developer, AOL/AIM
want file upload (no file download is possible)
Note that, in addition to the connectivity problems (it doesn’t work while the PPC phone is suspended) caused by the officially not-supported platform, you also need to learn to live with the lack of touchscreen support. This means you’ll need to use the Action button (the center button in D-Pad with most Pocket PC’s) instead of for example double-clicking to, say, initiate a conversation with someone. Note that you can still select and use the menu with the stylus.
Another great news item is that the Mundu folks will release a Pocket PC (and a Symbian)-specific version very soon. Hope that version will also fix the issues caused by the differences between the Smartphone and the Pocket PC platform; most importantly, the (on the Pocket PC) lack of vibration and suspended mode support.
Finally, note that I’ve thoroughly updated the comparison / feature chart of my well-known Windows Mobile Instant Messaging Bible (cross-posted to: PPCT, MobilitySite, AximSite, XDA-Developers, FirstLoox, BrightHand, HowardForums), the source of ALL information on instant messaging. In there, you’ll find a REALLY thorough comparison of Mundu to all the alternative instant messenger clients on the Pocket PC – and tons of screenshots. Make sure you check it out to discover what this messenger is really capable of and how it compares to the alternative messengers.
UPDATE (03/23/2007):
Causerie has just released their, on other mobile platforms, already-known instant messaging solution. As usual, the majority of the related information can be found in the updated comparison chart; in here, I only provide you with a pros/cons list.
The good
ability to log into any IM service using two accounts – currently, no other IM app is capable of this!
support for (ro)bots. Right now, Causerie retrieves Stock Quotes, Weather Predictions, Directions, News related to Business, Technology, Games, California Traffic, eBay etc.
Enterprise version supports Lotus IM (Sametime), Microsoft LCS, SIP, Reuters LCS and Jabber (SSL) – this is a BIG plus and really unique!
IMAP support. This means you don’t need to run an IMAP-capable mailer client in the background to get notified of your incoming mails. This, of course, will only work if you do have an IMAP-capable mailbox. This is also pretty unique. (See the IMAP Bible for more information on this question.)
Developer promises at least one-way SMS messaging in forthcoming, 1.1 version, slated for May. Now, their Palm version already supports even two-way messaging
The bad
restriction of four concurrent accounts logged in at a time
complete lack of Landscape orientation support – very bad news for slide-out or clamshell keyboard users (HTC Wizard, TyTN/Hermes, Universal etc.)
prone to crashes
not effective, Web browser-based rendering: slow, bandwidth-hungry and causes the on-screen SIP to be hidden with some people
doesn’t automatically re-login when the connection (temporarily) terminates: a problem particularly with unattended, suspended mode
no file transfer, no logging, all chat windows are immediately closed when the connection terminates, no support for conferencing
Verdict
Promising. Needs a little more work and bugfixes on the developer’s part, though.
Great review of the instant messaging clients. I hope Mundu comes out with a ver for the PPC soon.
Major update posted to http://forum.xda-developers.com/showthread.php?t=315654
Well worth reading!
A very good im client
Hi !
I searched for a good im client for a while, and i just wanted to mention inlux messenger:
http://www.inlusoft.com/pages/downloads.html
This is the best i've seen, only thing missing is today plugin, but it has an icon on startbar with popup so it compensates...
The site is in Russian, but the program has perfect english support
I'm not sure what is the difference between trial and full, and i don't know how many days you can use the trial (if this is the catch)
Anyway, great job with the comparison chart !
GL
RPG0 said:
Hi !
I searched for a good im client for a while, and i just wanted to mention inlux messenger:
http://www.inlusoft.com/pages/downloads.html
This is the best i've seen, only thing missing is today plugin, but it has an icon on startbar with popup so it compensates...
The site is in Russian, but the program has perfect english support
I'm not sure what is the difference between trial and full, and i don't know how many days you can use the trial (if this is the catch)
Anyway, great job with the comparison chart !
GL
Click to expand...
Click to collapse
I dont see any AIM support with this client . Just MSN, Yahoo, ICQ & G-talk
RPG0 said:
Hi !
I searched for a good im client for a while, and i just wanted to mention inlux messenger:
http://www.inlusoft.com/pages/downloads.html
This is the best i've seen, only thing missing is today plugin, but it has an icon on startbar with popup so it compensates...
The site is in Russian, but the program has perfect english support
I'm not sure what is the difference between trial and full, and i don't know how many days you can use the trial (if this is the catch)
Anyway, great job with the comparison chart !
GL
Click to expand...
Click to collapse
Thanks for pointing it out; will post a review soon.
UPDATE: a review of Inlux Messenger has just been posted to http://forum.xda-developers.com/showthread.php?p=1354766
A few days ago Mundu released a real version for PPC.
Perhaps someone with a phone edition wants to test whether the standby & vibrate options now works, or not.
http://messenger.mundu.com/pocketpc/
UPDATE (11/15/2007): REVIEW: Another great, multiplatform instant messenger client: Palringo. Cross-posted to: PPCT, AximSite, XDA-Developers - 1, XDA-Developers - 2, XDA-Developers - 3, FirstLoox, BrightHand, HowardForums, SPT, MoDaCo.
Menneisyys said:
UPDATE (11/15/2007): REVIEW: Another great, multiplatform instant messenger client: Palringo. Cross-posted to: PPCT, AximSite, XDA-Developers - 1, XDA-Developers - 2, XDA-Developers - 3, FirstLoox, BrightHand, HowardForums, SPT, MoDaCo.
Click to expand...
Click to collapse
I'm giving palingro a shot now on my Wizard (8125.) I'll let ya'll know if there are any problems!
exellent summerizing!
The Web browsing scene has been completely changed since I published the previous version of the Windows Mobile Web Browsing Bible, the well-known (it has been frontpaged by Pocket PC Thoughts and made sticky by MobilitySite; the AximSite, BrightHand and the FirstLoox copy is also worth checking out for more reader feedback) source for the (then) all Web browsing-related information. Even though I've posted on all major (and, most of the time, even minor) releases at least one article / review ever since them, there still remained a huge demand for an all-in-one article / Bible that discusses the current state of Web browsing on the platform and thoroughly compares the available solutions, while also including mostly WM5 / WM6-related compatibility information. This means I had to retest almost everything, along with greatly enlargening the scope of the roundup.
A quick notice: you don’t need to even read the previous version of this Bible. It’s only at very few areas of discussion (most importantly, the MultiIE / PIEPlus macros and the Thunderhawk cookie bug) that the reader is referred back to it. I, however, recommend it if you’d like to find out more (comparative) information on ftxPBrowser, the only browser not present in the current Bible (along with my article “Do you know ftxPBrowser?").
First and foremost, do you need Web browsing at all? Why don't you want to prefer offline web browsing via, for example, RSS readers or Web extractor tools like my old Mobipocket Companion Suite for Java programmers? The answer is very simple: lately, Internet access has become really cheap and - with the models released in the last two years and given that mobile operators also very aggressively extend their fast (EDGE / 3G / HSDPA, as opposed to plain GPRS) Internet coverage - traditional Pocket PC's not containing a built-in phone have almost entirely been phased out. This all mean it's much more feasible to browse the Web through an (online) Web browser than a(n offline) news aggregator.
First, let's take a bird's view on the current state of Windows Mobile-based Web browsing.
Fortunately, since the publication of the previous version of this Bible, the available Web browsers have really been enhanced. There are no Web browsers (except for the pretty expensive Thunderhawk and the long-abandoned ftxPBrowser) without major upgrades. The current versions of ALL (other) Web browsers are orders of magnitude better than back in 2005. Furthermore, there are two brand new players on the scene: Opera (with no less than two excellent browsers) and Microsoft Live (with DeepFish, a currently still pretty incapable but still promising browser with probably bright future).
Let us list and quickly evaluate the currently available Windows Mobile (WM for short) Web browsers. Note that in here I don't elaborate on all the (missing) features of all the listed applications; it's in the feature / benchmark / comparison chart (and its explanation) that I do this. I need to point out that, should I have chosen a non-chart-based roundup, the results would be far less comparable. That is, let's assume you look for a browser that allows for direct image saving. Should I have refrained from including the Image in the Context menus and the Save Image As in the Images group, I would have ended up having to elaborate on the image saving capabilities of each and every Web browser in this very article. It would not only have resulted in an article at least ten times longer, but also results that are far harder to compare. You would end up having to make some extensive text searching taking a LOT of time to see how, say, Minimo, Thunderhawk and PIE compare in the area of image saving. With the chart, you just scroll down to the given row and you see at once which of them supports image saving. See the advantage of using feature charts?
1.1 Pocket Internet Explorer (PIE) / Internet Explorer Mobile (IEM) (current version: WM6)
(Note that, while the name “Pocket Internet Explorer” has been changed to Internet Explorer Mobile in Windows Mobile 5 (WM5), I generally refer to this browser as PIE for clarity and simplicity.)
This is the browser you everyone may know. While it’s still lacking some basic functionality (for example, quality scripting and style support and, of course, multitabs), it has really been enhanced in the last two years.
First, it has become MUCH more stable. Before WM5, PIE was widely known for crashes upon encountering certain style sheet (CSS) / HTML structures, of which I've also frequently published reports (example here). Recently, with WM5 versions of PIE, I have never run into similar situations.
Second, it's, now, much faster than before the WM5 (or, more precisely, the WM5 AKU2 - see this and this for some benchmarks in order to be able to compare the speeds of the pre-AKU2 and post-AKU2 browsers; as can clearly be seen, AKU2 brought approximately 50% speed increase on exactly the same WM device, under exactly the same circumstances) times. It's not as fast as the best and fastest Web browsers around (Opera Mobile being the one that is in every respect faster than PIE; so are server-based solutions like Opera Mini) but is already very good, speed-wise, particularly if you relocate the cache to a fast medium (for example, a RAMdisk; more on this later). This particularly applies to the case of navigating back to a page by using the Back button. Rendering just-visited pages will be done almost instantly, as opposed to previous versions.
Third, a lot of other, new nice additions have been made to PIE. Most important of them is the ability to disable pixel doubling and the introduction of Iframe support in Windows Mobile 6 (WM6 or Crossbow).
Unfortunately, however, it still suffers from some severe problems. The most important of these is the lack of being multi-tabbed; that is, support for browsing the Web in more than one windows (tabs). Furthermore, it still lacks proper (!) JavaScript support (let alone AJAX, which it doesn't support at all).
Note that while, per se, it doesn't support Macromedia (Adobe) Flash and Java applets "out of the box", it’s still the best browser in that it lets for using so-called "plug-ins" that add Flash and Java support. In this regard, it's unmatched - only the latest (8.65) version of Opera Mobile offers the same functionality - and for Flash "only", meaning no support for Java applets at all.
1.2 Opera Mobile (current version: 8.65)
Opera, which is, in many respects (for example, CSS compliance and support for really flawless zoom-in, which is particularly important on high-resolution (for example, UXGA) notebook screens - not even the latest version (version 7) of Internet Explorer is capable of the same), hands down the best browser on the desktop Windows, has been ported to Windows Mobile.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
While the first beta, particularly on WM2003 and WM2003SE, was pretty useless (for example, it received really bad reviews from me - you, therefore, can't say I'm biased towards Opera ), the excellent folks at Opera have fixed almost all of these issues for the first commercial version (8.60) released June 2006 and the rest for the second major version bump (8.65) in April 2007. (I'd like to point out that I've also worked for them as a betatester during the development. That is, you can also thank me for Opera Mobile's being so darn good now ;-) ). Now, Opera Mobile is hands down the best Web browser in terms of pure speed, approach to caching, memory usage and standards compliance.
Note that while the desktop version has long been using the 9.x kernel, the WM port based on the new and even better (for example, it has FULL CSS2 compliance!) 9.x kernel will "only" be released later this year and will only be compatible with WM5 and later.
1.3 Opera Mini (current version: 3.1.7196)
The free, but still very capable Opera Mini, the little brother of the above-introduced Opera Mobile, is unique in that it's a Java midlet. This means it's not a native Windows Mobile application but it requires a midlet manager to run.
If you have a Windows Mobile device with a built-in phone (that is, in the pre-WM6 parlance, a "Phone Edition" device), then, you most probably have a midlet manager on your device, which, with most HTC models (ones that are rebranded by HP - for example, the hw6915 - have a different midlet manager), will be that of Intent. The Intent Midlet Manager is a very capable and nice application you won't want to get rid of. Note that if you have a WM5 Phone Edition (or WM6 "Professional", which means the same) device, you can separately download the Intent Midlet Manager here.
If you can't (because you have a pre-WM65 (Pocket PC 2002 or WM2003(SE)) model or, for some reason (for example, the lack of WM5+ softkey support) don't want to use Intent Midlet Manager, your best choice will be the J9 midlet manager by IBM, of which version 6 is pretty capable and highly recommended.
There are a lot of major differences between the midlet-based Opera Mini and fully-fledged, "native" Web browsers. First, the good.
Opera Mini is free (!) and offers unbeatable advantages over almost all of its competitors. For example, it runs on even memory- and CPU-constrained devices without ever consuming your memory. Just an example: a large(r) Web page can take up Megabytes of the already pretty meager RAM of your WM device. Current WM5 devices have, in general, less than 30 Mbyte and 12M available with models originally having 64M and 32Mbyte of RAM, respectively; 32Mbyte RAM devices inlude the well-known Treo 700w and the HP iPAQ rx1950. This also means you can have dozens (!) of even large Web pages open at the same time, you will still not run into resource problems. You can't do the same with "native" Web browsers - not even with the, in this respect (too) best Web browser, Opera Mobile.
Also, in addition to using little memory to render (and store) your pages on, it also excels at minimizing the communications overhead. The central proxy server Opera Mini uses makes a great job at stripping "unnecessary" contents (HTML page layout, dynamic JavaScript scripts, CSS style sheets etc.) off Web pages; this also results in heavily reduced bandwidth usage, which may be of paramount importance if you either have a slow (say, GPRS only) connection or you need to minimize data usage.
Now, the bad. It certainly lacks a number of very important features; for example, you can't select any text on a Web page and just copy it to the clipboard of your device. Furthermore, should you have a volume slider on your WM phone (earlier WM5 models almost all had; it has been, later, changed to a scroll wheel by HTC), you can't use the excellent tool SmartSKey to scroll a page up/down. Also, while the one column-based rendering mode is very useful particularly on low-resolution (QVGA (240*320) or square-screen (240*240)) devices, the inability to switch to a view more closely modeling the original page layout may become problematic with some kinds of Web pages (for example, the RedHotPawn online chess application or the Web-based Google Maps). It has no access to the standard Web favorites of PIE either. The text / address input method of the Intent Midlet Manager can also be a problem, along with the lack of WM5 softkeys (in this respect, IBM J9 is certainly better). Finally, it has some other, minor problems and shortcomings; for example, the lack of file upload support, which is supported by most of the other "native" browsers.
All in all, I really recommend this browser. For a free one, it's certainly worth a try and/or leaving it on your WM device installed. Also make sure you periodically check back to the homepage of the Windows Mobile-compliant (advanced) version because it's updated very frequently, introducing new features all the time.
Note that, as far as IBM J9 is concerned, it's in the above-linked article that I've explained how Opera Mini should be deployed under it. With the Intent Midlet Manager, it's even easier to deploy the file: you
Download the JAR file (you won't need the JAD file!) from here and transfer it to your PDA
You fire up File Explorer on your PDA and click the just-downloaded JAR file. It'll be auto-deployed to the Intent Midlet Manager.
1.4 NetFront (current version: 3.3; future version with already available demos: 3.4)
NetFront is also a well-known Web browser for the WM platform. While back in the Pocket PC 2002 / WM2003 / WM2003SE days it was the king of all WM browsers, the currently available, non-demo state version of it, 3.3 (released slightly less than a year ago) does pale in comparison to the alternatives in most respects. For example, its built-in Flash support is definitely inferior to that of PIE and Opera Mobile and it's highly unlikely Access, the developer of NetFront, will ever fix these issues. (For example, I've reported on a very bad DST bug in NetFront almost two years ago. Access still hasn't fixed it. No comment.) Furthermore, its JavaScript (and AJAX) support and rendering speed are much weaker / worse than that of Opera Mobile and the list continues.
Fortunately, the forthcoming, WM5+-only version 3.4 has some really decent features (for example, slightly enhanced loading/rendering speed, some brand new & nice features like thumbnail view & quick navigation; drastically enhanced JavaScript compliance), which, depending on when the final, official, commercial version of 3.4 is released, may give NetFront back of the old fame.
For the time being, however, I'd prefer checking out the alternative solutions first. Both Opera Mobile and, particularly, WM5 AKU2+ PIE (preferably with a decent PIE plug-in like the current version of PIEPlus or MultiIE) are much faster and cleaner and, as with Opera Mobile, more standards-compliant. It's only at niche areas that the currently, officially available version of NetFront, that is, 3.3, is better. The currently available demos of the forthcoming 3.4, while technically far superior to 3.3 are not really usable in real-world situations because of the severe demo limitations (10 favorites and two tabs at most, no Flash / Java plug-in etc.) - that is, it can't really be used for serious browsing until 3.4 is finally released, which, knowing how slow Access is to release new versions of their browsers, will take, in my opinion, at least half a year.
Finally, don’t forget to switch to proportional font in [Menu / ] Tools / Browser Setting / Font / Use proportional font – this problem hasn’t been fixed in even the latest 3.4 version.
1.5 Minimo (Mini Mozilla) 0.2
Minimo is another well-known, free browser for the platform. It has recently received a major version bump to 0.2, with greatly enhanced compatibility to some WM5+ models that were pretty slow when running previous versions of the browser. Unfortunately, the new version has also introduced some new bugs; most importantly, the VAST RAM memory usage. I'm pretty sure this will really soon be fixed; for the time being, you won't want to upgrade to version 0.2 unless you can guarantee you have at least 20 Mbytes of free RAM memory before starting Minimo. (Otherwise, it will just crash at either loading itself or loading large(r) pages.) Note that I'll definitely announce when the bug is fixed - just make sure you check out the updates to this Bible from time to time (or, alternatively, subscribe to the thread / article).
Minimo shares the CSS, JavaScript, frame etc. engine with the desktop version. This, in itself, is really cool and means it has excellent support for CSS and JavaScript (AJAX too!). It, however, isn't really feature-packed. While it does support multiple tabs, it doesn't support any kind of Flash / Java plug-ins, it sports no image saving, link copying etc. capabilities. Furthermore, it isn't the fastest Web browser around to load pages - even the latest, 0.2 version (which according to my benchmarks, is about 25% faster than the last 0.1x series Minimo, to load pages) is significantly slower than most other browsers, let alone the at least 3 times faster Opera Mobile. The speed difference is especially visible with pages linking in several sources - then, it might prove even five-six times slower than even PIE!
All in all, while this browser certainly has the potential, it's still not really ready for prime time particularly now that Opera Mobile 8.65 also has excellent support for most Web standards. While Opera Mobile is a commercial product, I think the major speed advantage, the support for Flash, the stability, the support for PIE favorites etc. all make it a much better alternative. If you're an advocate of free and/or open source software, however, make sure you check out the project.
1.6 ThunderHawk 2.10304
ThunderHawk, a decent, fast but pretty outdated browser recommended for QVGA users (but not for VGA or square-screen ones - ThunderHawk doesn't at all support the latter!), hasn't really received any upgrade lately either - except for a minor upgrade targeting Windows Mobile phones with a clamshell or slide-out keyboard (that is, left-handed landscape mode) and some (server-side) AJAX support in 2006. Otherwise, it's still the same browser as was in 2005. This means for example no high-resolution mode on VGA devices (I do NOT recommend this application to VGA users at all - images are too low-res and butt-ugly!), no text selection / copying, no even basic functionalities like image saving or link copying.
Its major strengths are as follows:
without any kind of “One Column”-type modes, it’s capable of displaying even multicolumn tables without problems
the server it uses strips all unnecessary HTML markup from the HTML files it sends, resulting in sometimes major bandwidth usage savings.
its memory consumption and speed is very good
It also has major flaws:
on VGA devices, it still uses QVGA resolution, which is particularly annoying with images/applets
it is only able to display Western characters – no Chinese, no Japanese, no Arabic, no Hebrew, not even East-European characters.
its persistent cookie handling is buggy
it doesn’t have a multi-tabbed mode – that is, you can only browse/load one HTML page a time
its monthly/yearly fee may be a bit on the steep side ($5.95/month or $50/year).
it doesn’t use any kind of local cache, which may result in far higher bandwidth usage than with browsers that have
it can’t use HTTP proxies – that is, you can’t use any further GZIP compression, unlike with all the other browsers (except Minimo). This may also be a big problem – see my bandwith consume-benchmarks here
it has absolutely no features like image saving, link copy, HTML page save; not even page content copying works
it no longer has a free 30-day trial. You need to shell out at least $5.95 (a month's subscription) to be able to give it a test ride.
much as its Java VM (a welcome addition to version 2.1) is pretty capable, it uses a special client/server model that makes a lot of applets very hard to use or even useless. (See for example this article on the Radar applet – using TH, not only map dragging/GUI handling are almost impossible, but also the labels are impossible to read.)
Please see the first version of this Bible for more information on the buggy cookie handling.
1.7 DeepFish
Microsoft's latest, some-days-old technology is pretty promising. It's based on the same principles as Nokia's S60 OSS browser, NetFront 3.4 and Opera's announced 9.x series for Windows Mobile: it lets for dynamically zooming in/out of a certain page section to make it easier-to-read.
You can sign up for the beta HERE; note that you’ll only get on a betatester list to be granted rights only later when Microsoft actually gets able to provide the thousands of would-be betatesters the necessary proxy server throughput capabilities.
As no client-side markup-based rendering takes place with DeepFish, it's vastly different from the two other proxy-based solutions (Opera Mini and Thunderhawk). The latter two render client-side Web markup code and, therefore, have, essentially, much lower bandwidth requirements and better responsiveness than DeepFish. They, however, can't really make use of the other advantages of local Web markup rendering due to the simplicity of both clients; that is, while a decent, fully-fledged Web browser has for example page saving, copy-to-clipboard etc. capabilities, these don't.
Unfortunately, currently, DeepFish not the fastest similar browser in this respect. Both Nokia's OSS and NetFront 3.4 are FAR faster at on-page navigation and zooming in / out. For example, it only takes a fraction of a second to completely zoom out in the latter to the page thumbnail view and, after quickly moving the page outline, it zooms back in also a second. Of course the two browsers use an entirely different architecture (NetFront has a full HTML renderer engine, while DeepFish "only" displays images of pages pre-rendered by the internal DeepFish server); still, usability and speed-wise, NetFront is still much more usable.
Note that DeepFish being really new, under development and lacking even basic support for JavaScript, Flash, AJAX, Java and similar Web technologies, I haven't included it in the comparison chart. Now, DeepFish is no more than a simple, Compact Framework 2-based (this, unfortunately, also has some speed-related consequences) clever image zooming-based client/server solution with minimal client-side tools (highlighting and clicking links). That is, I would have needed to put a "not supported" (-) almost everywhere in the chart regarding DeepFish.
I'll report on any news regarding this question in the future. Also, when DeepFish does mature and does receive additional functionalities common with most other browsing solutions, I'll include it in the chart.
2. PIE plug-ins
So far, I've elaborated on fully-fledged Web browsers not depending on any other Web content rendering engine. There is, however, a second group of WM browsing solutions: applications that enhance the functionality of the already built-in PIE using its engine instead of providing a brand new browser. They are common in that they at least (!) provide multi-window, page, image saving and full screen support; these (not considering the last two under WM5, where PIE has received built-in support for them) are really worthy.
The "let's not throw away the already built-in PIE, but build on it" approach has both advantages and disadvantages. The clear advantage is that PIE itself, particularly as of WM6, is pretty mature, definitely bugfree, dependable and comparatively fast. It's not very easy to write a HTML engine even matching (let alone surpassing) the sheer compatibility and stability of this engine - actually, only the authors or direct porters of already-established Web browser engines (most importantly, Opera and, to a lesser degree, Mozilla) can really compete with the engine, quality-wise, not a start-up developer with a new HTML renderer engine.
The disadvantage is that relying on the PIE engine means having to put up with some of the inherent problems and shortcomings of PIE. For example, not any PIE plug-in is able to provide in-page text search capabilities or some kind of better JavaScript / AJAX / CSS / frame / Iframe support. The same stands for getting rid of pixel doubling on VGA devices on VGA WM devices prior to WM6 (remember that it was only in WM6 that "Use High Resolution" was added to PIE). Finally, a plug-in just can't enhance the inherent characteristics of page loading and memory usage. That is, as they need to rely on the same Web page parser and renderer engine, they can't provide a much faster one.
2.1 PIEPlus 2.2
It was during 2006, with the debut of the brand new 2.x series, that this plug-in was seriously enhanced. The original 1.x series paled in comparison to the, then, definitely better MultiIE (an alternative PIE plug-in) and its only real strength was providing Pocket View (that is, built-in one column mode) for pre-WM2003SE models.
Now, with the new, 2.x series, the situation has radically changed; now, I'd say it's PIEPlus that is the better of the two PIE plug-ins and it's only at few areas (for example, direct GPS and keep-backlight-on support) that MultiIE is decidedly better.
This plug-in offers a lot of goodies: in addition to the standard multitabs, page / image saving, link copying, it allows for in-program scroll mode switching, a lot of advanced URL builder capabilities (macros, domain completion etc), advanced tab history and so on. Furthermore, it's unique in that it offers "Pocket View", a really welcome one column view mode addition for all pre-WM2003SE devices. No other PIE plug-ins are capable of this (all they may offer is support for background usage of an external Web compression / content stripping sevice like Skweezer, with all their problems and shortcomings; for example, the stripping of dynamic contents).
All in all, this should be the first plug-in to check out, should you want to stay with the built-in PIE engine and not long for something inherently better and more advanced (for example, Opera Mobile).
2.2 MultiIE 4 D72
This plug-in hasn't received so many updates as PIEPlus during the 3.x - 4.x major version change; actually, some of its old functionality (for example, viewing image texts, making a given image a Today wallpaper or some of the old button associations) have been taken away in the new series. However, it’s still a very sound and highly recommended alternative, particularly when you look for a browser (or browser plug-in) that disables shutting down the screen backlight while running or when you plan to use your browser in conjunction with your GPS unit to quickly look up location-dependent information on the Web.
It should also be pointed out that some of the inherent problems with the 3.0 version have been fixed; most importantly, the HUGE additional memory usage upon creating a new browser tab. With the 3.0 version, on a VGA device, creating a new tab easily resulted in an additional 2 Mbytes of memory wasted; with the new series, "only" 800-900k is used for each new tab. This is definitely an improvement, which lets open far more parallel tabs even on (more) memory-constrained devices.
Note that I've thoroughly elaborated on the macroing capabilities of MultiIE in the first version of this Bible (links at the start of this article). Please consult the MultiIE section in there for more information - it'll explain a lot and you'll be able to use that information with both the new MultiIE and PIEPlus. As MultiIE severely lacks any kind of documentation, it'll be the only place where you find a very thorough tutorial on all these questions.
2.3 Spb Pocket Plus 3.2.0
Spb Pocket Plus (SPP) is a long-established multipurpose application for the Pocket PC. It not only has a PIE plug-in, but also several other goodies like an excellent (!) Safe Mode (see the Safe Mode Bible for more information), a good (but, in my opinion, not excellent - the comparable iLauncher 3.0, which is also a full set of tools like these - except for a PIE plug-in - has an, in my opinion, better one) Today plug-in, a Close button, a battery meter, ZIP compression support for pre-WM5 devices etc.
In addition to a sound set of all kinds of utilities, it also has a big advantage over almost all the other PIE plug-ins: along with the highly recommended PIEPlus, it uses the least memory overhead upon opening new tabs. While the, in this respect, worst MultiIE uses some 0.6…0.9 Mbytes (depending on whether it’s a QVGA or a VGA device), PIEPlus / SPP "only" consume about half of it. The same stands for the initial memory needs of the three apps: while PIEPlus / SPP only need about 50-100 kbytes of RAM, MultiIE needs about 300-500k. Also, along with PIEPlus, it's the only current application that still supports the Pocket PC 2002 operating system.
Unfortunately, the PIE plug-in module is as simple as was in previous versions (except for it having received the "Open link in a background tab" functionality during the 2.x -> 3.0 version jump). This means it offers no special features at all, particularly not for WM5 users, where image saving and full screen switching is already supported. Actually, it doesn't even have on-screen tabs to let the user quickly (with only one screen tap) switch between Web pages, quickly close them etc.
Also note that, currently, SPP may have compatibility problems with WM6 devices in general. (See the remarks in the chart!)
2.4 Webby 2.6.0.5
This Compact Framework 2-based application has become pretty usable during its maturation. Now that there are some (not many) external plug-ins for it and the initial, major speed problems have (mostly) been fixed, it became a serious contender to the other solutions, particularly if you look for an entirely free solution. (Except for Minimo, everything else is commercial.)
It's a hybrid application meaning it's not strictly a plug-in (unlike PIEPlus, MultiIE and SPP) but more of a front-end for the underlying PIE engine. This, in this case, results in some problems:
It doesn't let for accessing the WM2003SE+ "One column" and the WM6+ "Use High Resolution" menu items of PIE, while all the other PIE plug-ins - except for ftxPBrowser - do. This results in some severe usage restrictions, particularly if you don't want to use Skweezer and similar content stripping / one column-converter services and/or you have a WM6-based VGA device.
It, as the downloaded Web content must go through an additional layer of programming code, is definitely (albeit, as of now, not much) slower at downloading and rendering Web pages than PIE itself. This was a major problem in earlier versions (see my older reviews); now, fortunately, the additional speed hit it introduces is only 20%
It can't add menu items like "Save image", "Save target as", "Open in new tab" to the original link / page / image context menus of PIE; rather, it needs to provide the same functionality through much slower-to-use menus
In addition, while the additional widget plug-in architecture of Webby is pretty nice, it has several related problems; for example, it can't hide for example the tab bar and the address bar plug-ins in full screen mode (which isn't what you will necessarily want), unlike almost all other solutions (except for for example Opera Mobile and its address /icon bar or NetFront and its tab bar). Also, some of the additional widgets are buggy (see my remarks on, for example, the bugs of the Tab bar widget).
However, as has been pointed out, if you don't plan to pay for your Web browser (plug-in) at all, the free (or the registered free) version of Webby can prove pretty useful. I, however, don't see much point in shelling out $20 for the Pro version - for the same amount (or a little more) of money, you can get much better & faster functionality (PIEPlus, Opera Mobile etc.)
3. Not included: ftxPBrowser
While I've (still) reviewed ftxPBrowser in the previous Web Browsing Bible, I don't see the point in doing the same in here as, unfortunately, ftxPBrowser
hasn't received any updates (let alone enhancements) in the meantime and seems to be a pretty much abandoned project
has severe compatibility problems with WM5+ (please see this and this for more information on this).
This means I do NOT recommend it for WM5 / WM6 users at all. If you have a model with an operating system prior to WM5, you may want to give it a try, though.
3.1 Disqualified: Maximus
Maximus, a CF2-based hybrid PIE add-on is very poor and isn't at all recommended. Please see this review for more info.
4. Comparison / feature chart
It's available HERE. It also contains some 360 screenshots, almost all taken on a WM6 VGA HTC Universal (don’t forget to click the links to see them if interested)!
As with all my feature charts (and roundups), I’ve paid special attention to provide you with mini-tutorials when discussing a particular question. For example, when I elaborate on the “One column” mode (see the “One (single) column view?” row in the chart), with, say, Minimo, I also show how you can actually switch to this mode by showing a screenshot of the menu item taking you there. This means the chart contains hundreds of small, but, in cases, very useful quick tips & mini-tutorials you won’t find anywhere else. All in a very compact form: just imagine how much I would have ended up having to type upon trying to convey the SAME deal of information in a non-tabular form – yeah, dozens if not hundreds of kilobytes.
Of course, I have tried to be as verbose and clear as possible when explaining the different test cases. I’ve also paid special effort to linking in my previous, related articles on the different tests I’ve conducted. For example, when I provide a link along with the Internationalization support group, it means you may want to follow the link to find out what the tests in this group are all about.
4.1 Explanation for the Comparison / feature chart
(Note that all browsers support SSL (secure connections); therefore, I haven’t included this in the chart, as opposed to the previous version of this Bible (at that time, Minimo still didn't support SSL). Note that Opera Mini has only recently, with the 3.x series, received support for SSL.)
Platform compliance? group: in here, I've elaborated on the operating system compliance of each and every browser. I've grouped together the platforms that, compliance-wise, behave the same way. That is, a WM2003-compatible program will surely run on WM2003SE; a WM5-compatible program on WM6. I've also noted the exceptions or some problems; for example, with SPP. Also noted is the lack of support for newly introduced PIE features like One column in WM2003SE, Save images / Full Screen in WM5 and Use High Resolution in WM6 VGA.
It's no news older platforms are all phased out - and this, unfortunately, already means completely losing support for relatively new operating system versions like WM2003SE. NetFront 3.4, Minimo 0.2 and DeepFish are all WM5+-only; so will be the forthcoming Opera 9. However, older versions of these browsers (except for, of course, DeepFish) do/did support WM2003(SE); in the chart, I've mentioned the actual version number that still did this. Support for the now-ancient Pocket PC 2002 operating system is even more scarce; of the new releases, only PIEPlus and SPP support it. Finally, non-ARM-based Pocket PC (2000) devices are completely abandoned.
Screen group: in here, I've elaborated on the different screen resolutions (QVGA, VGA, square) and orientations (Portrait and the two Landscape modes). Fortunately (except for the complete lack of support for square screens in Thunderhawk), current Pocket PC browsers are all VGA (including native (non-SE) VGA modes) and Landscape-compliant, where the latter also includes left-hand landscape modes used on WM models with built-in slide-out / clamshell keyboards.
Screen estate utilization group: everything related to how browsers are able to make use of the available screen estate.
Full screen mode?: can you switch to full-screen mode, hiding the taskbar at the top and the command bar at the bottom? I’ve also noted the way to switch back to normal mode; it’s, for example, a little icon as with all the three (real) PIE plug-ins, which is the best and least space-consuming.
As can clearly be seen, Opera Mobile, Minimo and NetFront all display the tab bar (and, with Opera Mobile, the address/icon bar) even in full screen mode. This is certainly a drawback.
Address bar hiding?: in pre-WM5 PIE's (as with several other browsers), you could hide the address bar to free up some screen estate. In here, I've scrutinized whether you can do the same in the reviewed browsers. Note that Opera Mobile displays the combined address bar / command bar even in Full Screen mode, which should be addressed in a later version.
Scrollbar (may be) hidden in full screen mode?: better browsers and browser plug-ins may be configured to hide the horizontal/vertical scrollbars in full screen mode. Unfortunately, only MultiIE and PIEPlus support this; Opera Mobile, Minimo, NetFront and PIE (without either PIEPlus or MultiIE) don't.
Context menus group: while I've also dedicated separate rows to elaborating on mostly context menu-based functionality like opening a link in a new tab (instead of the current one), saving an image or copying a link target address to the clipboard, I've also chosen to collect screenshots and a quick list of the additional, new context menu items available with all the three different entities in a Web page (not counting in special entities like Flash animations, Java applets or frames; with the first two, there are no context menus; the latter is scrutinized in the Frames group): images, links and generally non-image/non-link content.
Advanced address bar features (macros, completion) group: this section lists the different types of macros and address bar (auto)completion. The rows and screenshots in this section are pretty self-explanatory; therefore, I don't explain them in here.
Rendering modes group: the screen resolution of a Windows Mobile device is inherently smaller than those of desktop / notebook computers. Even the largest WM screens (800*480 in, for example, the new Toshiba G900) are still smaller than the XGA (1024*768) screens used in even basic notebook models, let alone higher-resolution ones (for example, I'm writing this article on my UXGA (1600*1200) Thinkpad.) Low-resolution WM devices with either a QVGA or a square screen are even worse.
With these low-resolution screens, it's pretty understandable a Web page can't be correctly rendered in its original layout. A layout designed for a horizontal resolution of at least 800 pixels just can't be correctly rendered on a screen with a width of 240 pixels. This results in (mainly) three approaches:
render the page as is, in its original layout - that is, make the user scroll horizontally. This is the worst approach as you will end up having to scroll horizontally to read each and every row.
while trying to keep the original horizontal layout, try to resize every horizontal page entity so that they fit in the screen horizontally. This approach, in general, works OK on VGA devices, particularly when used in Landscape orientation (that is, with 640 active pixels, even when you subtract the width of the vertical scrollbar). On the other hand, with QVGA screens (and particularly with square ones with a meager 240 pixels), this approach wont really work because, in some cases, each column will only have space for 3-4 letters at most. (See the examples in the first row of the group showing this in practice; or, the NetFront Just-fit example showing a QVGA screenshot in the earlier version of the Web Browsing Bible!)
finally, try to render all cells in a row of a table or all frames vertically; that is, one cell or one frame a row.
Note that there may be combinations of the latter two approaches; NetFront's Smart-fit rendering is a perfect example of this (using the most recommended Full Rendering mode). It, when it notices that there simply are too many for example table cells in a row, makes sure it renders all of them vertically. When, however, it notices somewhere else on the same page there isn’t enough screen estate, it will render the cells in separate rows. The PPCMag test example, used throughout the entire chart for testing, is a perfect example of this. At the top of the page, where there are only two text input fields and some text, these are shown in the same row (unlike with "real" One column solutions). However, with much more information / text in a row (the case with the body chart itself), most of the cells are aligned vertically. This approach unifies the good sides of both approaches and should be implemented by at least the Opera Mobile folks as, say, a fourth way of content display.
The first two rows in this group compare the applications' ability to fit the contents of a Web page (horizontally) on the screen and to render the page in the One column mode, if possible.
Fit-to-screen (tested with the PPCMag test)?:
As can clearly be seen, PIE has always delivered pretty bad results, unlike with all the comparable and fit-to-screen-capable alternatives (except for Minimo, where SSR doesn't always work). Both NetFront's "Just-fit rendering" and Opera Mobile's "Default" mode are far better at really crunching the horizontal contents of a Web page to the available screen estate and, in most of the cases, are perfectly usable on especially VGA devices.
Minimo's SSR mode (whish is enabled by default) is a different animal - it doesn't work with many sites (see the RedHotPawn example). When it does work, however, it also delivers good results.
Opera Mini doesn't have a comparable rendering mode at all (as it's solely using an One column mode). Finally, Thunderhawk renders the page using the original layout, which is pretty much OK in most cases.
One (single) column view?:
As can be seen, the reviewed apps use vastly different approaches. The best approach is, without doubt, that of NetFront for the reasons outlined above. It's closely followed by all native One column-capable browsers: PIE in WM2003SE+, Opera Mobile (particularly now that, with the brand new, 8.65 version, the old bug with the limited horizontal column width has been fixed) and Opera Mini (incidentally, the latter doesn't have other rendering modes at all).
As has been pointed out, it's only with WM2003SE and later WM operating system versions that the built-in PIE supports the One Column mode. In earlier operating system versions, should you really want to have One column rendering and still want to stick with PIE (while, of course, Opera Mobile is far better a choice on WM2003), you will want to take a closer look at PIEPlus, the only PIE plug-in to force the incoming Web content into one column.
Note that you can achieve the same effect with ANY browser using external one-columnizer services like Skweezer, MobileLeap and the like. However, they may result in some problems (for example, because they also get rid of JavaScript code); therefore, you may still want to go for something else.
Rendering mode (does it show the start of the document even when it’s not entirely downloaded?): this test elaborates on how the given browser loads a new document: does it start rendering it only some 2-3 seconds before fully finishing the download (that is, does the user face an empty screen for, say, 90% of the download), or, does it try to render the page as soon as possible?
As can clearly be seen, there are two types of browsers: one set of them (PIE, Opera Mobile) will start rendering the page as soon as possible, while some wait until the download & parsing is almost entirely done (Minimo and the proxy server-based solutions). NetFront is a strange animal because in the normal Full Rendering mode it sometimes delivered very good (starting to render right at the beginning), while, at other times, pretty bad (starting to render only later) results.
Note that NetFront also offers a "Rapid-Render" mode, which guarantees the content will be rendered during page fetching. I can't at all recommend this mode, however, because of the HUGE time overhead, which is particularly an issue in the new, 3.4 version, where the difference in time needed for page fetching can easily be fivefold. Furthermore, the rendered contents you're presented aren't the final ones; they will only be presented later, after a really distracting full screen clear. This may be pretty annoying for the user because he or she may even forget where he/she was and/or will have to scroll around a lot to find it.
Multiple page operation (multitabs) group: in this group, I've elaborated on how the application handles multiple pages; is it, for example, possible to open a link in a background page for background download, and, then, get notified when it's downloaded. All this in order to avoid having to waste time on waiting for the page to be downloaded, which is especially important with slow connections.
Feedback on page loading events (sound effects / bringing to the foreground)?: A decent browser should notify the user when a page has completely been downloaded and rendered in the background. For example, the desktop Opera browser turns the color of the text on the tab where download has ended to blue, which is very easy to notice, even with disabled sounds. In here, I've listed how the tested browsers behave in this respect. Unfortunately, the Windows Mobile version of Opera doesn't do the same trick as the desktop one (and not any sound notification either). This is the case with all the other browsers too. Actually, it's only PIEPlus and MultiIE that lets for configuring what should happen in these cases. Kudos to their developers!
Opening links in…-support, particularly as opening something in a background tab is concerned: in here, I've listed whether it's possible to open a link in a new and, particularly, in a background new tab in order to avoid having to manually switch back to the current one to continue reading it while the requested page is loading in the background.
As can clearly be seen, some browsers don't let for background link opening at all; unfortunately, Opera Mobile, NetFront and Minimo also belong to this group. Actually, it's only the three "real" PIE plug-ins that offer background link opening capabilities.
Max. number of tabs open at a time?: die-hard Web browser users may want to prefer having as many pages open as possible. Most browsers and PIE plug-ins do let the user do so; the most important exception is NetFront, which only lets for opening up to five tabs. This is far from perfect and you'll run into this restriction pretty easily if you often open a link in a new tab.
Something should also be emphasized. The Windows Mobile operating system, as of now (the WindowsCE 5.2-based WM6; it's only the brand new WindowsCE 6 and the forthcoming WM version based on it that (will) have got rid of this restriction), doesn't let for more concurrent processes than 32. Most of the reviewed applications (except for, for example, Opera Mini), however, create a separate process for each tab. This means, depending on the operating system used and the number of other programs you run, in general, you can't have more than 20-28 tabs opened with a browser before these start to be terminated (which, in cases, may result in terminating all the browser processes at once). Again, this restriction doesn't apply to Opera Mini - with it, I had 30 pages opened several times without any problems.
Note that, as both opening new tabs (at least with PIE plug-ins; with non-PIE-based browsers, the memory consumption in these cases isn't at all bad) and rendering Web pages (which is an issue with several Web browsers; most importantly, with PIE) may be memory-intensive operations, it's highly possible you fill up your dynamic RAM program memory much faster than reaching the process limit of the operating system. With the least memory-hungry application, Opera Mobile, I've had no problems in browsing some 27-28 tabs at a time, however - that is, you can make a good use of your dynamic memory very easily.
Tabs constantly on the screen, their taking up screen estate etc. group: while the previous group didn't concentrate on the visual representations of the multiple browser document windows, this one does. In here, I elaborate on whether you can alter the tabs' size (and their taking up valuable screen estate), whether they're displayed in full screen mode, whether you can configure the system to open the new tabs next to the current one, or, strictly at the end of the tab list; whether the tabs have context menus (in this respect, Minimo is clearly the best) and, finally, whether the tabs can easily be closed with, say, only one screen tap.
Misc. group: the tests in this group speak for themselves. Please make sure you consult the screenshots, should you still not get the point what they are all about. I only elaborate on the Access to standard PIE favorites? group, which elaborates on whether the given browser is able to access the PIE favorites for either reading or writing, or both.
As can clearly be seen, while the traditional file system representation of favorites is very simple to handle, only three browsers have support for it: Thunderhawk, Opera Mobile and NetFront; neither Minimo nor Opera Mini have support for them. (The latter is, of course, understandable, taken the restricted “sandbox” midlets are provided, file access-wise.) Furthermore, Opera Mobile isn’t able to create PIE-compliant favorites (not even when you create these favorites explicitly in the Internet Explorer Favorites folder); this means favorites added in Opera Mobile will not be visible to other browsers and you can’t synchronize them back to your desktop computer(s) either.
Note that the WM operating system also stores favorites in the Registry; both NetFront and Opera Mobile were able to read these Registry-based favorites.
Standards compliance groups: in the five groups here, I examine the following four areas (and a miscellaneous area with some "not suitable for bigger groups" tests):
JavaScript, scripting, Java (Part I) : in here, I've run several tests to find out the compatibility of all the browsers with some well-known pages having very strong and complicated scripting. As can clearly be seen, Opera Mobile and Minimo have by far the best JavaScript and AJAX support. PIE has always had a very bad JavaScript support and, even as of WM6, non-existing AJAX support. (Frankly, I don't understand why Microsoft states PIE in WM5 AKU3 / WM6 is AJAX-compliant, when it just isn't. Its JavaScript compliance isn't a tad better than in older versions either.) NetFront had mediocre JavaScript support in 3.3 and good in 3.4; as far as its AJAX compliance is concerned, 3.4 was indeed a BIG step ahead (albeit it's still worse than that of Minimo or Opera Mobile).
Finally, it's in here that I also elaborate on the Java applet compliance of the Web browsers. Unfortunately, Minimo and the two Operas have absolutely no Java support. This isn't that big a problem, however, because very few sites do actively use Java applets - it's mostly Flash that everything is based on (see Flash compatibility later).
Thunderhawk and NetFront both have their custom Java support, which can't be swapped to something else. With PIE, however, you have some choices when choosing a JVM: CrEme and the no longer sold / supported JEODE, which, back in 2001-2003, was shipped on iPAQ CD's. Of the two, I'd prefer CrEme because of the vastly superior speed and generally better compliance. The reader is kindly referred to my other, related articles (just look for "CrEme" in my articles) for more information on CrEme.
HTML Frames: these test concentrate on the frame support of the Web browsers. You may have already heard of PIE's only supporting few parallel or embedded frames and absolutely not supporting so-called "Iframes". In here, I elaborate on all these issues. If you know a bit about HTML and would you find out how I've did the tests, don't forget to check out the HTML test pages I've created for these tests: I've linked in them all. They're pretty instructive.
As can clearly be seen, Opera Mobile has the best frame support when it comes to the maximal number of parallel / embedded frames. Its only problem is the lack of "go to a frame" functionality (to maximize a given frame to the entire screen), which, otherwise, would be REALLY important, particularly when you really wouldn't need the contents of the other frames. The Opera folks will want to address this issue. PIE, on the other hand, is at the other end of the spectrum: its frame support is the worst of all, frame number-wise.
Finally, some really good news for PIE freaks: in WM6, Iframes support has finally been added. It's not really flawless (see my comments and the screenshot), but, at least, it's already there.
Internationalization support (Part IV): please see this article for a complete description of what this all means.
Finally, the fifth subgroup, Misc, dives into a lot of disjunctive compatibility areas: file uploading, Flash, YouTube etc. Please do read the linked-in articles for more info if interested - here, I won't waste any time on telling the same stuff again. As can clearly be seen, Opera Mobile is the best of all in this group, particularly YouTube video-wise.
Speed, dynamic RAM memory usage benchmarks group: on Windows Mobile devices with, typically, heavily restricted CPU and memory resources, it’s very important Web browsers don’t tax neither the CPU nor the memory much. That is, they load the requested Web page as quickly as possible and try to radically reduce their memory consumption. As there are really radically differences between the different browsers, a Web browsing-related roundup MUST elaborate on these quantitive results.
Overall rendering speed: PPCMag test loading speed: in this test, I’ve measured how much time it did take to completely download and render the linked test page. Note that I’ve repeated the tests in different rendering modes to see what their effect on the overall rendering speed is. In general, I’ve made the tests on two current devices: the WM5 VGA 624 MHz Dell Axim x51v (running the A12 ROM) and the WM6 520 MHz VGA HTC Universal. In every case, I’ve noted which of the two I’ve measured a result on (the x51v is slightly faster, which is also reflected in the results).
Overall memory usage: program itself with a blank page (important particularly for HP iPAQ rx1950 / Palm Treo 700w users with ~11Mbytes of free RAM at most). Note that the PIE plug-ins show additional RAM usage, in addition to the "base" PIE RAM usage. : in this test, I’ve measured the memory usage of the applications without displaying any Web page (as displaying pages may dramatically increase the memory usage.) Note that, as with the next benchmarks, I’ve done separate QVGA and VGA tests; I used the HTC Wizard running WM5 as the QVGA test device. The reason for this is pretty simple: on VGA devices, Web browsers have the tendency of taking up more memory. As can be seen, Opera Mini and PIE are the most memory-friendly, followed by Thunderhawk and, then, Opera Mobile. Then follow the other browsers: NetFront and, finally, Minimo.
Note that, with PIE plug-ins (except for the hybrid Webby), I’ve measured the additional memory usage. That is, don’t think Spb Pocket Plus / PIEPlus only require 56k / 90k RAM memory; that is, that they greatly reduce memory load. It’s the additional memory usage, added to memory usage the “base” PIE.
An opened, new tab: unfortunately, not only the Web browsers themselves take up memory, but also the individual windows you open in them. This is especially true of PIE plug-ins, which, in effect, need to load a brand new instance of PIE into memory. This is why they, in general, consume at least an order of magnitude more memory (per window) than non-plugin-based, multiwindow-capable solutions (NetFront, Minimo, Opera Mobile, Opera Mini).
PPCMag test memory consumption: totally independent of the above-mentioned cases (how much memory the program itself / an additional tab take) is the memory taken up by the in-memory representation by actual Web pages you visit. This, in general, in cases, may be even an order of magnitude larger than the original size of the page – for example, (in this respect) worse browsers (most importantly, PIE) may take 7-8 Mbytes of the meager RAM to load a 600 kbyte Web page with some icons in there.
In this test, I’ve measured the memory consumption of all the tested browsers upon loading the above-introduced, 590 kbyte-big PPCMag test page. As can clearly be seen , there may be even two orders of magnitude differences in the results: while Opera Mini takes very little memory, PIE (the, in this respect, worst-behaving browser) takes between 7.5 and 9Mbytes.
Network connectivity group: in here, I’ve elaborated on generic network connectivity questions / issues.
Proxy support? If it does support proxies, does it require the proxy settings entered locally, or, does it get from the system-wide Connectivity framework?: Is the given app able to use proxy servers?
Proxy servers can be very handy in a lot of respects. Please see this article (also linked from this PPCMag article) on the usage of proxy servers. Also, you may want to read this article for more information on configuring proxies on the PPC/switching between them.
Opera Mobile and Minimo both support locally-set proxy servers.
As you can see, PIE, starting with Pocket PC 2002, uses the system-level proxy server setting. PIE plug-ins also use them as they have access to all the PIE resources. NetFront is also able to do the same, but you can also supply a different proxy server to it locally (which is the preferred and easiest solution in most cases). Thunderhawk and Minimo have no proxy support at all.
Proxy-based anonymity?:
If you use proxies, you can also anonymously surf the Web (please see this and this article on anonymity). This is why PIE (with all its plug-ins), Minimo, Opera Mobile and NetFront are preferred for anonymous surfing. TH, while it doesn’t support proxies, doesn’t pass anything client-related (no IP, no ThunderHawk username) to the HTTP server, so, it can safely be used for anonymous Web surfing too. Opera Mini, unfortunately, does pass the client IP in an extended HTTP header.
Does use the PPC2k2+ Connections framework to diff. between The Internet/Work connections?: You may have already run into the The Internet/Work distinction, which effectively plagues the life of a lot of people. PIE is based on this paradigm; this is why you run into a lot of ‘can’t connect’ messages because of just using the opposite type of connection of what’s needed.
Non-PIE browsers aren’t based on this framework, which is a big plus with them, at least for people that don’t understand the The Internet/Work distinction ( it’s not an easy stuff; furthermore, it’s not really documented either).
Bandwidth reduction: GZIP/Compress support? Does it really work?: HTTP browsers that support GZIP compression (please read this article on this subject) and support working through proxies (the case of Toonel – more on this later) may deliver a big win in bandwidth usage.
Toonel-compatibility?: Toonel is a great and, even better, free online HTTP compression service, a great friend of everybody not having unliminted (or very fast) Internet access. It requires explicit proxy support (and manual configuration) in the Web browser. In this row, I’ve noted the compliance of PPC Web browsers with Toonel. As can be seen, all of the "big" titles support Toonel because of the proxy support. It's only client-server solutions like Opera Mini, Thunderhawk (and DeepFish) that don't support Toonel.
Saving, downloading group:
Saving the current (Web) page (also see this)? (Note that it can even be a, say, as textual "rendered" CAB file too!): This shows if the browser is able to explicitly save Web pages. As can be seen, most of them do, Minimo, the two Operas and Thunderhawk being the exceptions. Some of the browsers (NetFront, PIEPlus, MultiIE) can even make a full save, downloading all the resources as the desktop IE in File/Save As - see the default Web Page, complete option in the Save as type: drop-down list.
Please note that the inability to explicitly save pages shouldn’t be a showstopper: you can get the Web pages from the cache of browsers that have local caches. It requires some manual work and searching, though. Consult the Download Bible for more information.
Save link directly to file, w/o opening? (""Save Target As...") (also see this): should you save something without actually peeking into it, you will want to look for browsers that do support this kind of functionality. (Please, as with the other rows in this group, do consult the Download Bible for more information on this subject - it's way more complicated than it seems!)
Co-working with HandyGet : Currently, HandyGet is the best Windows Mobile downloader tool/accelerator. In here, I’ve elaborated on whether it’s able to automatically “capture” the binary URL’s clicked in the browsers in order to download the file inside itself.
File download (NOT "Save Link Target"!)?: without relying on features like the above-mentioned "Save Link Target", is it possible to download files if they are offered for download (that is, if they are of binary content); is it possible to select a destination to store the downloaded file at. (Again, check the Download Bible for what this implies.)
Caching; cache benchmarks group: most Web browsers use local file stores called “caches” to quickly speed up transfers and lower data usage. These caches, as they are stored in the file system, may result in a variety of problems, particularly when you visit pages with more than a handful linked resources (for example, images). In these cases, the sometimes vastly reduced file creation speed of non-RAM (read: flash ROM) media – for example, the built-in, default storage in all WM5+ devices. Please also see the related article What do you need to know about optimizing storage card speed? for more info on the speed issues caused by trying to write dozens of files to a flash ROM-based file system.
In here, in addition to elaborating on whether its size is settable, I’ve also elaborated (see Relocatable?) on whether the cache can be relocated to a storage card / RAMdisk etc. Note that, should you relocate it to an even slower medium (as are most of today’s non-high-end memory cards), the page loading times may become even worse with browsers (particularly sensitive to this problem is PIE), particularly when there are many files to store in the cache. In these cases, you will REALLY want to consider disabling caching entirely or using an area, RAMdisk, in the fast dynamic RAM (the program memory) to store the files. RAMdisks, however, have their share of problems (see the linked RAMdisk article).
I’ve benchmarked all the caching-enabled applications in separate scenarios. First, I’ve benchmarked them in my WM6 HTC Universal, using its built-in storage memory for the cache. Second, using a RAMdisk; third, using a VERY slow-to-write to, cheap SanDisk 1Gbyte SD card. As can be seen, with the latter card, PIE’s results are much worse than in the default or the RAMdisk one. Note that the results starting with + mean additional time needed for caching – in addition to the non-cached or the default case.
In Explicit cache navigation?, I’ve elaborated on whether it’s possible to examine the contents of the cache from inside the browser itself, as is the case with NetFront.
Finally, in Offline mode: Highlighting favorites present in cache (like on desktop browsers?) Loading cached pages without a connection? , I've elaborated on whether the browser supports showing what's available in the cache and what not. In the Favorites list, highlighting available pages is a pretty nice feature of all PIE’s except for WM5 (where, for some reason, it was removed). The second part of the test concerns cases of browsing without an internet connection, just from the file system cache. As can clearly be seen, this is not always possible.
Images group: in here, I've elaborated on image saving, (alternative) image text inquiring and wallpaper setting capabilities. As the latter (wallpaper setting) no longer works in any current Web browser or plug-in, you'll want to consult my well-known (Please read the "Today Wallpaper Bible" (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand)) for more information on reusing downloaded / saved images as Today wallpapers, should you ever want to reuse an image on the Web as your wallpaper.
Copy/paste support group: I've elaborated on whether it's possible to directly copy a link to the clipboard and whether the browser supports arbitrary text selection from the given page.
As far as link copying is concerned, should it be missing with a particular Web browser / PIE plug-in, you can still do the same with just clicking the link and, then, when it's displayed in the Address bar, just stopping the loading (if you don't need to see it) of the page and copying the address from the Address bar to the clipboard.
As far as the second (text copying) is conerned, all browsers support it, except for Thunderhawk and Opera Mini (and the forthcoming DeepFish).
Hardware buttons not related to scrolling group: here, I've elaborated on hardware button assignment capabilities, which is REALLY useful and supported by some Web browsers (and PIE plug-ins). Assigned buttons can make operation (for example, the Back button) much easier, particularly if you don't like / can't use the touchscreen on a non-Smartphone (non-WM Standard) device. I've also elaborated on the WM5+ softkey support, which, traditionally, hasn’t been the strongest point of some browsers.
Scrolling group: you may want to prefer scrolling down/up the page (OR, select a link) using hardware keys (or the redefined volume slider / scroll wheel / jog dial, when available) instead of using the scrollbar (or, screen dragging) on the touch screen (if your device has a touchscreen at all). In these cases, you will most probably want to know what scrolling capabilities the given browser supports and whether it's possible to override / change them.
In a nutshell, there are two traditional ways of scrolling: the "scroll one page at a time when you press the Up/Down arrows" ("page" scrolling) and "highlight the next link above/below/on the left/on the right when you press a directional key and scroll the screen contents when there's no visible link in the given direction" ("link" scrolling). In addition, some browsers also offer the capability for "line" scrolling, which scrolls the screen line by line.
Traditionally, PIE in operating systems prior to WM5 utilized page scrolling and, starting with WM5, link scrolling by default. The switch to the new paradigm took place to make it possible for non-touchscreen-enabled smartphones to select (click) links to follow (and to let for one-handed operation even with touchscreen-enabled devices). However, the change to link scrolling wasn't really welcome by many users because it meant, sometimes, multiple keypresses to scroll down the screen contents.
There are a lot of different solutions to the problem, all of them explained / shown example screenshots of in the chart. Of them, hybrid solutions are the best and most usable. This is particularly true if you occasionally would like to use your otherwise touchscreen-enabled WM device in one-handed mode. Then, while still having the ability to both quickly scroll up/down the contents ("page" scroll), you also have the chance to do some link scrolling. This can happen with either the same keys (not) used with press-and-hold also used for page scrolling, or with different hardware facilities (either a scrolling wheel/jog dial or a redefined volume slider) to do the link scrolling.
As far as the first group (doing page/link scrolling with the same hardware facilities) is concerned, NetFront has an interesting scrolling behavior; with the brand new, 3.4 version of NetFront, you can fine-tune how the Up / Down keys behave; then, if you, otherwise, use link scrolling with the D-pad, you can still instruct NetFront to scroll through several pages up / down when you long-press (press and hold) the Up / Down key. (Note that the default behavior is immediately switching to the PagePilot mode for quick navigation.)
Also the scrolling model of Webby is of special interest: when you press the Down key, a page scroll will take; when you press Up, line scrolling. With this, you can still quickly scroll through a document without having to suffer from the disadvantages of link-only scrolling and, when you do need to access a link, you can scroll down one page and, then, gradually up (and left/right when there are several links in row) to get to a link. This is a very clever approach more closely modeling user behavior.
Note that you are very lucky if you have a WM5 device with a real volume slider (for example, a HTC Universal, Wizard etc.); then, you can use one of the best, free tool meant for these kinds of devices, SmartSKey. With a redefined volume slider, you will always have page up/down scrolling in PIE (including all its plug-ins), (the new) Opera Mobile and NetFront (but, unfortunately, not in the other browsers); then, you can safely leave the D-pad in the default Line scrolling mode.
User-Agent group: the ability to redefine the so-called "User-Agent" can prove very useful because many Web sites check this information and act differently on mobile and desktop Web browsers. The ability to redefine this information can be very important because
many sites may refuse to provide (usable) content for a mobile browser introducing itself a mobile browser to the server, even when the client would be able to meaningfully render the contents. Just an example: while Opera Mobile's JavaScript and Iframe support is so darn good that it’s even able to make use of the very useful Gmail address autocomplete, Gmail switches to PDA view NOT offering autocomplete when it sees a mobile browser (including, by default, Opera Mobile too).
many other sites rely on for example authentication requiring a browser to identify itself as a desktop, while they aren't really using the advanced scripting or ActiveX capabilities of them.
In these both cases, redefining the User-Agent can prove very useful.
Note that you won't always want to redefine the User-Agent. There are many Web sites that, upon recognizing a mobile browser, provide mobile-/bandwidth-friendlier content. Just a few examples: the Smartphone & Pocket PC Magazine blogs, Pocket PC Thoughts, AximSite, FirstLoox etc. With these sites, it can prove very useful to be able to dynamically switch the browser identification (User-Agent) to the default (mobile) setting to get the mobile content.
Built-in browser identification change : in here, I've elaborated on whether the given browser / plug-in is able to change the User-Agent from inside the application.
On-the-fly external browser identification change visible without PIE restart in tabs opened after change? (Everything is +, also showing that all reviewed PIE plug-ins load a full copy of PIE into memory for each and every tab, unlike the old ftxPBrowser, which does require a full restart.) : As has already been pointed out, most PIE-based apps (except for ftxPBrowser) load an almost new copy of PIE into memory when a new browser tab is opened. This, on the other hand, also means that registry changes, which PIE only notices when it’s started, will also be visible after opening a new window (because PIE also reloads the registry), without even exiting PIE.
This can be of tremendous help. Let’s assume you prefer visiting a banking site pretending to be desktop browser (because the page just doesn’t let you in say, non-desktop-IE browsers), while you would like to access the, say, the PPCMag blog or Pocket PC Thoughts pretending to be a Pocket PC client so that you receive lightweight-formatted content. And, you would prefer doing this at the same time: in one window you browse online banking pages, in another one you browse the Pocket PC-optimized pages of the above-mentioned sites. It’s indeed possible if you always remember which tabs you opened after toggling the User-Agent.
This is really great and informative. I've been wondering if I made the right decision (IEM WM6 until Minimo is good enough) and now I think I did. Thanks!
Original article updated at http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1828&more=1&c=1&tb=1&pb=1 - sorry, I don't have the time to repost it in <10k chunks here.
r3bel said:
This is really great and informative. I've been wondering if I made the right decision (IEM WM6 until Minimo is good enough) and now I think I did. Thanks!
Click to expand...
Click to collapse
You are welcome
UPDATE (04/05/2007): Added a new row on Address bar (history / deletion / autocomplete), with a lot of screenshots; other minor changes in the chart.
In addition to yesterday's cleaning up the English & additional proofreading and today's adding a new row on the Address Bar history (deletion) / autocompletion, I've slightly modified the Opera Mobile-related information in the chart of the article, based on ResearchWizard's excellent feedback. (BTW, his Opera Mobile guide is just excellent and really worth checking out (alternative, direct link here)).
BTW, many have asked why there's neither "Verdict" nor "Most recommended" section in the Bible. The answer is very simple: while I, personally, consider Opera Mobile 8.65 the best browser closely followed by the WM6 (or, at least, WM5 AKU2+ - previous versions were 50% slower to load pages and, therefore, I wouldn't really be able to return to using them) IEM equipped with PIEPlus 2.2 if the bad JavaScript / non-existing AJAX support and the relatively high memory usage aren't a problem.
However, as you may have drastically different requirements, the above may not be the right solution for you. For example, you can ONLY use free software because, for example, you need the cheapest solution for enterprise-wide deployment, which means you'll need to cast a glance at Webby, Minimo or, probably the best free alternative, Opera Mini. Or, alternatively, you want to keep the original page layout on your low-resolution QVGA model; then, the first browser you should check out is Thunderhawk (not taking DeepFish into account).
That is, there was a reason I didn't (and still don't) provide a quick recommendation. There are a LOT of factors you need to consider when selecting your browser of your choice. You WILL want to thoroughly examine the feature / comparison chart, thoroughly compare each feature and consider whether the lack of a given feature is a showstopper for you or not. Providing a some-sentence-recommendation like ""go for Minimo if you need a free and, therefore, easily mass-deployable browser and memory consumption isn't an issue", "go for Opera Mini if you need minimal memory consumption, speed and also being free" or "stay with PIE if you don't need strong JavaScript / AJAX / CSS support and multitabs but want a free, dependable browser"" would have been an oversimplification.
I felt it useless to try to even replicate the information available in the comparison / feature chart in a Verdict section - there's simply too much information, I would have ended up pages on this "simple" subject. This is why I’ve left it out altogether – you’ll need to consult the chart so that you can make an educated, informed decision..
Updated the chart with Thunderhawk-related information. This means there are no question marks in the Thunderhawk-specific column any more. I've also provided several screenshots of Thunderhawk in action. Thanks to the Bitstream folks for providing me access to their service!
BTW, the article has been frontpaged by Pocket PC Thoughts in the meantime.
I had a really good read on this, very detail, and very useful information.
Thanks.
I’ve just posted a brand new Radar article, with a lot of new screenshots, to http://forum.xda-developers.com/showthread.php?p=1209974
PPCT frontpage; Just Another Mobile Monday frontpage
Finally, I can not stress and emphasize enough: if you have a specific need but lack the time to fully scrutinize the chart, use in-page searching (Ctrl-F) to quickly find the compatibility information you need. For example, if you want to know Flash, AJAX or JavaScript compliance, just use the word in question (for example "Flash") as the search expression and you'll really quickly find out which chart row discusses the given question.
Thanks to HowardForums user diadjika, I had the opportunity to thoroughly test Picsel’s famous Web (and document) browser for Windows Mobile and accordingly update the Windows Mobile Web Browser Bible (which, BTW, has just been frontpaged at AximSite).
The browser is WM5+ only (no WM2003(SE) support, sorry) and is NOT available for download officially; it’s shipped with some Windows Mobile models as is the case on other mobile platforms (for example, Palm OS).
It’s a direct (non central server-based) Web browser with REALLY excellent dynamic zooming / panning capabilities (regarding them, it’s the best of all Windows Mobile browsers) and built-in PDF, MS Excel / MS Word / MS PowerPoint and text reader. That is, it’s pretty much understandable why Palm OS users praise it so much.
Unfortunately, it also has its shortcomings; for example, the lack of a multi-tabbed architecture (as is the case with DeepFish / Thunderhawk and, of course, PIE without a third-party add-on), lack of file up/download capabilities, total lack of local caching, Ajax / Flash / Java / decent JavaScript support etc. In addition, sometimes it’s just painfully slow to download stuff, particularly with Yahoo Mail and for example the AximSite forums. That is, if you can’t stand its lack of speed (with some pages – with other pages, it has no problems at all), you’ll want to look elsewhere.
Make sure you thoroughly check out the brand new column in the comparison chart of the Windows Mobile Web Browser Bible for more information to see how it compares to the alternate browsers. The chart contains a LOT of screenshots showing the Picsel browser in action.
Verdict
While many (particularly Palm) people love the Picsel browser (and it has a lot of loyal Windows Mobile followers; for example, the excellent vijay555 at XDA-Developers), I don't think it's as good as the leading Windows Mobile Web browsers, particularly Opera Mobile 8.65 and the built-in PIE in WM5 AKU2+ / WM6 with a decent plug-in (like PIEPlus 2.2). It has VERY bad JavaScript and non-existent AJAX support, has no real "Fit to Screen" mode (the One Column mode is, in cases, too restrictive, particularly if you'd like to see not very wide charts and constantly zooming/panning is sometimes very awkward), sometimes very slow (see Yahoo Mail) and only offers one tab.
On the other hand, the excellent stylus-based dragging / zooming / gesture support of the browser, which is no doubt currently the BEST on Windows Mobile, should also be implemented by the alternate browsers, most importantly Opera Mobile (which has just, with version 8.65, implemented dragging) and PIEPlus. Are you listening, Web browser & PIE plug-in authors?
Some additional menu screenshots (see the chart for more!)
Normal / Reflowed layout
Bookmark view
Folder view (2)
I’ve long been promising a full comparison, benchmark and (compared to alternative solutions) pros/cons list of SHAPE Services’ RDM+, a really decent, multiplatform remote desktop controlling / accessor solution. Now that they have a MASSIVE rebate, I dedicated some time for some thorough testing on no less than four different mobile platforms: Windows Mobile Pocket PC (with touch screens), Windows Mobile Smartphone (without touch screens), Symbian S60 (Nokia N95) and BlackBerry (BB 8800). Sorry for being four-platform again: a geek like me just loves toys and wants to play with all the major gadgets and major mobile operating systems available (not only Windows Mobile).
Note that SHAPE Services have another, purely Java-based (meaning there's NO native Windows Mobile client and you must use a MIDlet manager) remote access client, TSMobiles. I'll review it VERY soon.
Please note that this isn’t a full review, just a “list” of the pros and cons and my benchmark results and a complete comparison of the (in some respects, pretty different) implementations on the different platforms. You’ll want to read my previous Windows Mobile Remote Desktop Controller Bible to get more information on what for example the benchmark results stand for, what the different features really mean etc. Again, I will NOT explain anything in here already explained in the Bible. Read it to get a picture of what I’m referring to in the current article.
Note that the current, tested versions are as follows: 3.6.6 (Windows Mobile); 3.6.8 (Symbian / Java; BlackBerry). By the time you read this review (probably months or even years later), it may be heavily outdated. Of course, I’ll try to keep it up-to-date by constantly posting “UPDATE” sections at the bottom. Make sure you check them out. Also make sure you check out the links in this article: they link to a lot of screenshots.
1. Bandwidth usage benchmarks
Using exactly the same method as with the old benchmarks, with exactly the same set-up so that the bandwidth usage results can be directly compared:
(On Windows Mobile [on Blackberries, it's 24 bit], default) 8 bit color depth; measured twice
8k/970k (up/down)
6k/966k (up/down) (both quite good)
(exactly the same results with smooth scrolling – this is excellent)
1 bit color depth (that is, monochrome): 5k/556k (that is, almost half of the bandwidth required in the default, 8-bit mode)
24 bit color depth: 6k/1MB
Idling (without anything happening: no visible animations, cursor etc): 3k/10k a minute (excellent result – compare it to the very bad results of, say, GoToMyPC or, even worse, PPC Tablet)
Cursor blink test: 2k/11k a minute (again, excellent – compare this to the very bad results of I’m InTouch)
The transfer speed is excellent on Pocket PC’s via a Wi-Fi connection; I had no screen refresh problems even with 0.5s waiting between the page down events on a VGA (!) device, in Landscape mode, using 800*600 desktop resolution. The Java client running on the Nokia N95 was pretty fast, too. It’s only on (current) BlackBerries that you might encounter somewhat slower screen updates, it seems.
2. Pros
Fully compatible with the MS Smartphone platform (and with Symbian / BlackBerry / the iPhone)
Pretty good bandwidth usage (in no way so good as GotoMyPC though) – about in the same class as RDP 5, RemotelyAnywhere, LogMeIn and Tight VNC and much better than less-sophisticated clients like Z2Remote.
absolutely no cursor blink or smooth scroll overhead
very fast transfer of new screen contents, unlike with, say, I’m InTouch
processes, services (with the same functionality as in the Windows XP admin tools – see THIS and THIS)!, windows list, system info, hardware info
GUI-based remote system restart / logout / shutdown
native console window with access to all tools like ipconfig (example screenshots: 1 2); copying the contents of this dialog to the clipboard works with the on-screen keyboard
very cheap if you only plan to deploy it on one client machine
no yearly fees, unlike with most of the commercial, Internet-based alternatives
file up/download (still NOT available on BlackBerries) – screenshots: 1 2
support for all special keys (both from menu and on-screen keyboard): 1 2 3 4
support for all mouse buttons (but NO hardware button support – see below)
doesn’t lock out the remote desktop user, unlike RDP-based solutions; it doesn’t force a forced screen resolution either
multiple clients are allowed to access the desktop at the same time
traffic meter (just to be on the safe side) with both “total” and “last session” meters
connections (along with their password) are saved in an address book (screenshot HERE, also showing the main address book menu); no need to re-enter them
message sending from server to (all) connected client(s) in a dedicated window; this will be shown in a dedicated message box on the client(s). Note that there’s a Send Text feature in the mobile client too (on all platforms); it, however, just sends the text in as pure text (no dedicated dialog box will be shown on the desktop). On non-Windows Mobile platforms, there's an additional way of sending messages which will be presented in a dialog window on the desktop.
supports both Portrait and Landscape (switched on the OS level) – good news for for example Dell Axim x50v / x51v users suffering from the Landscape polarization issues of the low-quality screen
a lot of predefined keyboard shortcuts (Ctrl-Alt-Del etc.) – screenshots: 1 2
average memory usage (25M) on the desktop (screenshot showing this HERE) – there’re much worse titles in this respect (for example, the latest I’m InTouch version)
3. Cons
no desktop PC client – BAD! In this respect, most of the alternatives are clearly better
no copy/paste features (clipboard synchronization) at all (unlike most Windows Mobile alternatives) between the remote desktop and the local PPC – this is a major problem.
Fortunately, there are still some ways of (not very sophisticated) ways of transferring clipboard / textual data between the desktop and the mobile: file transfer (bidirectional); Send as text
upon file download, target folder selection uses a somewhat awkward WinCE file selector. On MS Smartphones, you can’t select the target folder at all (screenshot 1 2 3 - as you can see, on MS Smartphones, you can only save files to the root of your storage card. At least you can rename them to avoid name clashes...)
it has a tendency of refusing to step into subdirectories on both Pocket PC’s and Smartphones in file system mode. Then, the entire client (!) needs to be restarted (simply reconnecting won’t work).
if you spend too much time idling in a menu doing nothing, the connection will terminate
no configurable hardware buttons (unlike in, say, PO Pocket Office) to be able to quickly issue, say, right clicks (to avoid having to either bring-up the context menu, click the R button on the on-screen special (hideable) keyboard (these both are shown in THIS screenshot)) on-screen. Fortunately, the Action button is overridden to send a left click.
slowish file transfer (without any kind of compression / optimization with compressable content) on Pocket PC’s and MS Smartphones – but, at least, it’s present. (Interestingly, it is considerably (about two times) faster on the Symbian S60 / Java-based Nokia N95.)
no full screen on Windows Moile Pocket PC’s and MS Smartphones: the lower menubar can’t be hidden (on Blackberries and Java phones like S60 devices, this isn’t a problem at all – there, it does use full screen); MS Smartphone screenshot
no sound transfer (unlike RDM in WM6)
D-pad is used to control the mouse even on touchscreen devices and can’t be reconfigured to emulate the desktop-side cursor keys. At least it offers a quick way of scrolling the window. Note that, on touschreen-less MS Smartphones, you can switch to the “Direct Input” mode; then, the D-pad will directly emulate the cursor keys on the desktop. This feature isn’t accessible in the Pocket PC version (dunno why - it should be!).
The cursor block on built-in keyboards / thumbboards behaves exactly the same way as the D-pad. While one would, in most cases, except it can be used to emulate the desktop-side cursor keys, this isn’t the case – it can only be used to control the virtual mouse cursor on Pocket PC’s. On MS Smartphones, as has already been explained, if you switch to the “Direct Input” mode, you can use these cursor keys to directly control the cursor (just like with the D-pad) – but, again, not on the Pocket PC version.
no “track the cursor” features (when a small-screen mobile client wants to track what the active user enters in, say, Word or Internet Explorer)
no screen dragging with the stylus in zoomed-in mode on Pocket PC’s (D-pad- or on-screen arrow-based quick scrolling works OK though)
no remote PIM (appointments, e-mails etc.) access, unlike with (the brand new, soon-to-be-reviewed version of) SoonR or I’m InTouch. The same stands for remote file search.
can be expensive if you have more than one mobile clients – you’ll need to purchase a license for each of them
no “Hovering cursor” operation – much as, by default, you can position the cursor anywhere on the screen without issuing any mouse clicks, the new position of the cursor will only be transferred to the client when you actually issue a click – this pretty much negates one of the advantages of the hovering. This is, of course, pretty much understandable if you take into account that on no-touchscreen MS Smartphones (but NOT on the Blackberry / Java versions, where you can switch to a strictly scrolling mode, without any cursor, when zoomed in) the D-pad is also used for positioning the cursor (in addition to scrolling); there it’s understandable if there’re no ways of hovering. On Pocket PC’s (where you’ll mostly use the touch screen to position your cursor), however, this behavior could be changed.
no bitmap caching – upon zooming in/out or returning to a previous place (when scrolling around), the page will reload. This is painfully slow on for example the Blackberry (at least on T-Mobile’s connection using TCP/IP; over the same T-Mo subscription & connection, the Symbian S60 N95 was way faster)
on the Pocket PC sending mouse button (left) clicks is somewhat slower than in most other clients becase you can’t configure the client to treat screen taps as left clicks. That is, the PPC client could be enhanced in that on natively touchscreen-enabled devices a screen tap (or double screentaps) could mean a left click). On all platforms (including the Pocket PC) the Action button is used for left clicks – on non-touchscreen models, this is perfectly OK.
except for the screen blinking at the start/end of the session and the tray icon’s background changing to (not very noticeable) green, no REALLY obvious feedback on the remote desktop (unlike with, say, LogMeIn, with its clearly visible, protruding dialog box) of it being remote controlled.
4. Differences between the different OS versions
In the following section, I refer to the version offered for non-Pocket PC and non-BlackBerry, Java-capable smart phones (like the Symbian S60 series) as the “Java” version to avoid misunderstanding. The official literature calls them “standard” version, along with the Pocket PC one (as opposed to the BB version). Interestingly, the software retailers call the Java and the BB versions with the same name (“RDM+: Remote Desktop for Mobiles”), while they call the Windows Mobile version “RDM+: Remote Desktop for Windows Pocket PC”. Pretty much messed up naming convention, I’d say
the Java and the BB version (as opposed to the PPC one) are able to send messages displayed as a dialog box (example HERE) from System manager / Send Message (screenshots: 1 2), not only Send text, which just inserts some text at the cursor
the PPC / MS Smartphone version is able to send function keys and modifiers (F1…F12, Ctrl, Alt etc.); the PPC version even has an on-screen quick keyboard. The Java / BB version are only able to send over special characters, NOT function keys or modifier. Note that on BB and Java, there is only one menu key used (the left softkey on Java and the usual Menu button on BB ); in there, sending special characters are called “Send shortcut”.
the BB version has two additional menu items: Text cursor on and, when zoomed in, Scroll mode. The latter makes it possible to scroll the viewport much faster than with the cursor displayed, should you quickly need to change scrolling directions. The Pocket PC version only has an on-screen arrow block to do this (I’d still prefer faster, hardware D-pad-based scrolling)
the BB version doesn’t support file transfer (yet); however, it’s the only to allow for peeking into files on the desktop without transferring them. Fortunately, it downloads the files in chunks – only the actual (about 100-150 lines) viewport is downloaded at once. In Line mode, you can edit the lines in text files; it’s only then that you can copy any text from the desktop to the Blackberry clipboard.
the Java version is much faster at downloading files (1:07 for a 450 kbyte file over HSDPA) than the WinMo one; my Pocket PC’s and Smartphones transferred files much slower. For example, downloading a 2.5M binary and a 1.5 textual file to the built-in storage took 5:35 and 6:08, respectively, over an, otherwise, very fast Wi-Fi connection on my HTC Universal; I got similar results with the Dell Axim x51v and the HTC s710 / Vox, both operated over (very fast) ActiveSync connections. Fortunately, there isn’t a measurable file transfer overhead, data usage-wise (but there’s no compression either).
4.1 Symbian S60 quick elaboration and screenshots
I’ve thoroughly tested the current (Java) version on my Nokia N95 too; it worked flawlessly and decidedly faster than the BlackBerry version (unfortunately, the BlackBerry is pretty slow to run third-party apps – hope this will be fixed in the new, 4.5 / 4.6 operating system version(s)). Some screenshots: Main menu, with the entire desktop in the background; file download 1 2 3; zoomed-in state; system manager. As can clearly be seen, it has pretty much the same features (and problems) as on the Pocket PC (except for the ones explained above). In addition, as it’s Java, you can’t hide the connection icon in the upper left corner (this is a major problem with running Opera Mini on S60 too).
5. Licensing / pricing
Your license is one handheld-only. Should you try to register it on more than once handheld, you’re presented an error message. Licenses, of course, are transferable, should you upgrade to a new device and stop using your old one.
The price of the client, as with SHAPE’s other products, isn’t particularly low, but I think it’s worth the price if the cons I’ve listed aren’t a problem. After all, you’ll hardly get a file transfer-capable, central-server based (meaning it can pass corporate firewalls, unlike, say, RDP or VNC) remote desktop access client / service for such a low price: don’t forget that LogMeIn Pro and similar, file transfer-capable services all cost about 50$ a year. They, on the other hand, don’t limit the number of handhelds you can install your client on– but, again, that’s only a problem if you have more than one handheld device you’d like to use to access your desktop.
6. Verdict
If you have a Windows Mobile device:
While this app has some clear drawbacks compared to some of the alternates (for example, no easy PIM/e-mail access, no (easy) clipboard synchronization between the remote desktop and the local PPC, can’t hide the lower menu bar, buttons can’t be overwritten etc.), it’s still a very decent program and is definitely worth checking out. Of course, you yourself will need to decide whether the above-listed cons are a major stumbling block for you. I, for one, have purchased a Pocket PC license (in addition to a Blackberry one) because of the file transfer support and the company’s very good support / upgrade policy / history.
If you have a Blackberry device:
much as you may find it a bit slow (“thanks” to the slow Java virtual machine built into the current versions of BlackBerries), I still recommend taking a look at this app. Note that the SHAPE Services folks promise file transfer capabilities soon. Up until then, you only have remote file viewing capabilities. Knowing their constant flow of updates (I’ve also purchased their IM+ for my BB and, in the last two months, there have been two updates already), I’m absolutely confident they will deliver file transfer to BB users too – this was, by the way, one of the main reasons I’ve shelled out 26 euros for the BB license.
If you have a Symbian S60 (or any compatible device with a decent Java environment) model:
I recommend this application – there’re very few decent remote controllers for the Symbian platform. This is a very nice one with most goodies (for example, file transfer) you can expect – even by Windows Mobile standards.
I really hope the developer implements the missing functionality: automatic and/or much easier clipboard synchronization, at least a desktop Windows client (preferably for free for existing customers) so that you can streamline the remote desktop controller apps on your remote desktop computer, should you also want to access it from regular desktop PC’s; bitmap caching when scrolling around; real full screen mode on Windows Mobile and, also under Windows Mobile, button redefining capablities.
Particularly now that you can get the client license for a 40% rebate (pretty good deal if you’re in the EU – outside the EU, not that good a deal, though), I really recommend that you give the trial version a try. I, myself, have voted with my wallet: I’ve purchased both the PPC and the BlackBerry versions (along with a SOTI Pocket Controller license – but that’s a story of another article).
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 camera.)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(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 and 2084 for Pocket PC’s and MS Smartphones, respectively. They, therefore, translate to real URL’s http://www.pocketpcmag.com/blogs/index.php?p=1828 and http://www.pocketpcmag.com/blogs/index.php?p=2084 . 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/index.php?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 (WM 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.
Symbian 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.
RIM's BlackBerry 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 runs Safari. 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.
Linux, 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 and NetFront (NF 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-based, Blazer 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 and 2.11 (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 etc.); Philips released the Nino, HP 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 Pros) 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.
WindowsCE 3.0, 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 (HP 720/728 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 (2002). 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 (WM2003 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 (WM2003SE) 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.
* NetFront 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.
* Thuderhawk: 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.
* Minimo, 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.
* Picsel’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.
* Maximus: it’s a really poor and in no way recommended browser.
Streaming-based 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
1. 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.
2. 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 and UCWEB. The brand new version of Thunderhawk (TH for short) is also Java-based but is strictly OEM only and isn’t available for the general public.
BlackBerry from RIM, 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 and S90 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 3.4+.
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 and Picsel) have very weak JavaScript support
* 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.
Most online (as opposed to offline; see for example AvantGo, Mobipocket Reader or iSilo 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.
Now, let’s turn our attention to IEM, that is, the browser coming with built into the Windows Mobile operating system. As has already been explained, it has pretty weak and, with standard Ajax, plain non-existing Ajax/JavaScript 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 <i>foo </i>bar (as opposed to <i>foo</i> 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: “<b>fox </b>jumps over a lazy dog” and not the recommended “<b>fox</b> 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.
It has, as of version 3.4 and 3.5 (not NOT previous versions!), has pretty good Ajax/ JavaScript/ CSS support and its rendering engine is definitely better than that of IEM.
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.
Thuderhawk 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.
Microsoft Deepfish 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.)
* PIEPlus 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 one-column view
* MultiIE 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.
ftxPBrowser: 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.
Webby, 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 mode.
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.
In IEM, 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:
External Web compression / reformatting / one-columnizing services (Skweezer, Google Mobile etc.). They, unfortunately, get rid most of JavaScript code, making a lot of JavaScript-based functionality like changing pages in some forum engines inaccessible.
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.
NetFront 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.
Minimo 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.)
Now that we’ve reviewed the browsers’ approach to rendering pages / textual page content originally designed for at least 800-wide screens on 176…640-wide screens, let’s turn our attention to other questions like (easily) controlling the browsers – for example, scrolling pages using hardware buttons.
There are several ways you can easily scroll a Web page up and down without using the touchscreen. The most common way of doing this is using the D-pad.
1. If you stick to using the D-pad, under IEM, by default, you’ll end up using link scrolling (as opposed to page scrolling). This can be a pain in the back, particularly on pages that have several links on them (you end up having to press Down several times to be able to scroll to new contents); fortunately, it can be altered on the Registry level (with a Registry hack). Most IEM plug-ins (PIEPlus, MultiIE at least) allow for doing this on the GUI level, making Registry hacks unnecessary.
Some browsers / plug-ins even allow for supplying the one-page-at-a-time scroll amount in percents. The screenshot in the slide shows exactly this with NetFront, where you can easily set this.
2. If you (also) utilize other buttons for at least page scrolling down, you can still use the D-pad for link scrolling (assuming you prefer one-handed use and don’t want to touch the screen to follow a link) by assigning the Page Down operation to any hardware button. This has thoroughly been explained in the Button Enhancer Bible.
3. Also, if you have a volume slider on your handset, you can use the jog dial / volume controller with the excellent SmartSKey utility; most of the browsers support this.
4. Under Settings / Buttons, you can also directly assign the “Page Up” and “Page Down” functionality to any hardware button (or, for that matter, even special buttons, jog dials and volume sliders with advanced, third-party button enhancer utilities like AE Button Plus.)
Note that, as far as Symbian is concerned, it Nokia S60 Web makes navigation pretty easy with its minimap accessed by pressing and holding the up/down button. So does the built-in Web browser with the latest, 4.5/4.6 version of BlackBerry. Finally, don’t forget that Opera Mini and Opera Mobile support page scrolling using the numeric buttons on phones that do have these – then, you can still use the D-pad to scroll link by link (or, if you use Mobile View [that is, One Column mode] with Opera Mini, left/right to scroll pages).
While certainly not as widely used as Flash content (any more), Java applet support is still nice to have – some (mostly internal and/or enterprise front-end) pages (still) use Java applets. For Windows Mobile, there are several solutions - Java Virtual Machines (JVM's). BB and Symbian have absolutely no applet support.
IEM depends on JVM plug-ins (as is the case with Flash plug-ins). Only two JVM’s have applet support (JVM’s with no Applet support are IBM J9 (it’s MIDlet / Personal Java only) and Mysaifu (it’s application-only)):
* Insignia Jeode; last version dates back to 2003 (came with the iPAQ 5550 – and previous iPAQ models. Most of these are locked to either the iPAQ brand or the given model). Today, as Insignia / Esmertec has stopped developing it (because they have moved to producing MIDlet managers), it can in no way be acquired legally
* CrEme: this is without doubt the best JVM to run applets. Unfortunately, it’s not meant for non-OEM customers, albeit they do have a downloadable 30-day trial on their homepage
Unfortunately, unlike with the Flash (Lite) plug-ins, Opera Mobile can’t make use of these plug-ins.
As far as the other browsers are concerned, the following two browsers have a built-in JVM:
* NetFront 3.1+: acceptable quality / compatibility (unfortunately, worse than Jeode / CrEme – as is the case with Access’ own Flash support in NetFront)
* Thunderhawk: in order to avoid producing a huge install (even older, non-fully-fledged Java runtime libraries easily add 1-2 Mbytes to the static size of the program [let alone newer JDK’s like 1.5+], which is pretty low – around 700 kbytes – with TH) and still provide full (!) JDK 1.5+ compatibility, the BitStream folks have gone for a strictly client-server solution, the server-side actively interpreting and executing the applet and just sending its GUI as a static image to the client. It, while it indeed offers full JDK1.5+ compatibility, has some cons compared to all the other solutions using local code execution: the images are low-res, slow-to-refresh and can cause excess data usage as the image of their GUI needs to be downloaded to the client every, say, second.
There’s absolutely no applet support in Opera Mini/Mobile or Minimo. In addition, currently, the WebKit-based browsers (Iris etc.) don’t support applets either - as with the Flash plug-in. Hope at least this changes in the future.
There’re some additional Web technologies that have become pretty standardized. You may have noticed Internet Explorer, Firefox or Opera don’t contain any kind of a Flash plug-in on the desktop Windows. The situation is exactly the same on mobile operating systems: few browsers or operating systems come with Flash support built-in (the two most important exception being NetFront on Windows Mobile and Symbian S60’s Nokia S60 Web with Flash Lite 2 / 3).
Flash being by far the most important additional technology requiring a plug-in (with most browsers), let’s take a deeper look at the Flash support on all these mobile operating systems. Let’s start with Windows Mobile.
IEM (all versions starting with PPC2k2) and Opera Mobile (as of version 8.65+) both have a somewhat restricted Flash 7 plug-in (and Flash Lite 2, in addition). It’s quite outdated and, of course, doesn’t support the latest technologies. It isn’t particularly efficient either; for example, its YouTube / other Flash video playback performance is plain sub-par.
NetFront has a built-in Flash engine, which is even inferior to the Flash 7 plug-in: it’s buggy, (even) less compliant and has major CPU usage bugs.
There’s absolutely no Flash support in Minimo, Opera Mini and Thunderhawk.
As far as BlackBerry, Symbian and the iPhone are concerned, they have absolutely no full Flash support. Symbian, however, supports Flash Lite 3 (depending on the model and the firmware used) – unlike Windows Mobile. Flash Lite will be discussed in the next slide(s).
(The screenshot shows the full Flash-based Bomberman, one of my favorite real-world Flash tester games, running in IEM.)
Flash Lite 3, which has recently been released for some past and recent Symbian S60 3rd edition models as firmware upgrades, has excellent support for YouTube and other, Flash-based Web video repositories. It’s, unfortunately, not available for Windows Mobile / BlackBerry / iPhone (as yet). For WM, it’s coming; for the other two mobile operating system, nothing is certain.
The two screenshots show Nokia S60 Web on the v21 firmware-based N95 playing back YouTube videos; the bottom left in Landscape (the video shrinked to the QVGA screen size); the one on the right on the original size in Portrait (hence the vastly oversized video). I haven’t provided similar screenshots on Windows Mobile because the Flash 7 plug-in on WM is very slow & inefficient and it’s almost impossible to use it to play back any Flash videos. Fortunately, a lot of alternative methods for playing back YouTube exist for all these operating systems; this is the subject of the several following slides.
As many users spend a lot of time watching YouTube (and other) Web videos, it’s definitely worth elaborating on the alternative technologies of playing them back.
First, let’s elaborate a bit on the two major formats YouTube content is delivered: the high-quality H.264 & FLV (with accordingly high data usage) returned by the firewall-friendly HTTP protocol, and the low-quality, low-(QQCIF) resolution 3GP (returned via the firewall-unfriendly RTSP protocol). We, of course, will mostly be interested in the high-quality version – unless we really need to decrease data usage and/or use a low-resolution mobile device like a MS Smartphone with a 176*220 screen.
The desktop YouTube Web interface isn’t the best for mobile usage (slow, huge – over 300 kbytes – pages; only Symbian + Flash Lite 3 is able to play back inline videos). There is a mobile version created and supported by YouTube, which
* Already supports all the functionalities of the desktop (account, upload etc)
* Is compatible with most mobile platforms having an RTSP / 3GP player like RealOne – no additional player needs to be installed
* Already has all the videos, unlike a year ago when it became public
However, it’s lower-quality 3GP only (no FLV / H.264) and requires RTSP. That is, it can be vastly inferior in most cases and, therefore, should be avoided.
The screenshot shows the results of a search using the native mobile YouTube interface (which, again, should be avoided, unless you absolutely don’t need the vastly enhanced video and audio quality of the FLV / H.264 videos).
Let’s continue with alternate YouTube technologies – ones that don’t depend on the Flash plug-in (because of the slow and flaky Flash plug-in on Windows Mobile) or are usable on other platforms like the BlackBerry. Fortunately, there are several of them; one of the most important is vTap.
vTap has native clients for all mobile platforms. From the Windows Mobile one (see the upper right screenshot), you can even initiate video playback (this client is highly recommended and useful because it’s capable of searching on not only YouTube but also other video sites), while you can’t do the same from the BlackBerry one.
This also means you’ll need to turn to other solutions to stream YouTube videos to your BlackBerry handheld; an example of these solutions is vTap’s Web interface (not the standalone client) depicted in the three screenshots at the bottom, showing searching for clips, opening them as a stream and, finally, the media player rendering it. (Note that the rendered contents is invisible in the screenshot on the bottom right. This isn’t a bug.)
Finally, one of the several alternative YouTube playback solutions is YTPocket, which depends on the external TCPMP FLV playback support (under Windows Mobile). The two screenshots show the results of a search and, then, initiating a download (and the consequent invocation of TCPMP for viewing).
Let’s move on to another, completely different, but, for users of non-unlimited data plans, very important question: reducing data usage. This, incidentally, can prove very helpful for users over unlimited, but very slow (for example, GPRS, like Vodafone’s non-3G dial-up) connections.
There are several ways of optimizations and major data usage saving; this slide discusses the way you can drastically lower the data usage by employing server-side (gzip) encoding, which is supported by all mobile browsers (for example, on WM, starting with the PPC2k PIE; that is, it has had support for eigth years).
As a rule of thumb, if you can, you should check the Accept-Encoding header (telling you whether the client is able to process gzip-compressed responses) along with the User-Agent HTTP header to find out whether it’s a mobile client (should you only want to return GZIP’ed contents for mobile users if you find GZIP compression is using too much CPU on your Web server). If you go this way, keep in mind that several mobile users “spoof” their User-Agent headers so that servers never return mobile-specific contents to them. With some of these clients (most importantly, IEM), you’ll want to look for specific extended (X-) HTTP headers to be able to make a distinction between desktop and mobile clients - that is, correctly identify mobile ones.
Note that several content manager and forum engines (e.g., vBulletin) support GZIP’ing “out of the box” if it identifies the client as a mobile device.
Unfortunately, if you are just a user and can’t ask a webmaster to return compressed (GZIP’ed) contents upon receiving requests from mobile clients but still want to (vastly) decrease your data usage, you’ll need to do some client-side work. There are two main categories of doing this.
The first group, largely consisting of the free Toonel and the commercial (between 30…50 US$ - cheaper for recurring customers) OnSpeed, runs a “proxy” on your Java-capable and/or Windows Mobile-based mobile device and configures (or, forces you to manually configure) your browser to access the Web through it. The proxy takes care of compression by being connected to another, invisible server. The advantage of this solution, compared to the next, is mainly that you 1. don’t need to pay attention to visiting a mediator Web page to do the conversion for you and 2. you will always receive full Web pages, not dumbed-down ones without, for example, scripting.
The second group consists of Web services like Skweezer, MobileLeap, Google Mobile etc. They are easier to initially set up than the apps in the first group (absolutely no need to install third-party apps on your mobile); however, they’re a bit harder to use and, as has already been pointed out, they can royally mess up Web pages. Most IEM plug-ins like MultiIE, PIEPlus and Webby automatically support the online services; the first two (Toonel / OnSpeed) can be used with all Windows Mobile Web browsers allowing for proxy usage (that is, everything except Opera Mini and TH – not a problem though as they’re content-stripped / compressed already).
Let’s turn to an entirely different subject: compliance with different (important) Web standards. Let’s start with AJAX, which is getting more and more ubiquitous. Opera Mobile and Minimo have the best support for it; the two screenshots show these (OM on the left, Minimo on the right) rendering the entirely AJAX-based Google Image.
Unfortunately, IEM is (still) pretty weak when it comes to AJAX support, even as of WM 6.1. So is NetFront as of the currently commercially available 3.3; fortunately, 3.4+ is already much better. (But, again, currently, there’re only restricted Technical Previews of 3.5 you may not want to use because of the restrictions). Thunderhawk and Opera Mini both have rather poor support.
JavaScript support is pretty similar to this. The bad JS support of IEM results in, for example, Yahoo Mail buttons’ not working – a major problem with many users. The same stands for for example address autocompletion in Google Mail; currently, only Opera Mobile and Minimo support it (they have the best JavaScript compliance).
Still on the subject of Web standards compliance, let’s take a look at the compatibility with CSS. In this area, Opera Mobile is without doubt the best as of version 9.xx. Version 8.65 (the one officially and commercially available; screenshot on the left) is a bit worse in this respect. Minimo is the second (screenshot on the right). The slide also shows how the desktop (9.x-series) Opera renders the test page (the only desktop browser to render it without any glitches – see the referenced article for more screenshots of other desktop browsers if interested).
Let’s go on with evaluating the CSS2 (Acid 2) test results. This slide shows how NetFront 3.3 and IEM render the test. As can clearly be seen, they (particularly IEM) have nothing to write home about.
Still on the subject of Web standards compliance, let’s see the results of W3C’s brand new “Web Compatibility Test for Mobile Browsers” suite. First, let’s see how the Windows Mobile-based Web browsers render this suite.
This slide shows IEM in WM6.1 (left), the 5-year-old WM2003 (middle) and 7-year-old PPC2002 (right). As can clearly be seen, the Web standards compliance of IEM is only a tad better than that of its very old PPC2002 ancestor.
Let’s continue with the same W3C test suite, looking at the Opera Mobile and Mini results. The left screenshot shows Opera Mobile 9.33, which delivers almost flawless results (showing it’s indeed based on the new, 9.x-series kernel), as opposed to version 8.65 (2nd shot). Opera Mini 4.1 (on the right) delivers acceptable results – still much better than, say, IEM (see previous slide).
Let’s take a look at the third (and last) Windows Mobile W3C test slide showing the current Techincal Preview of NetFront 3.5 (left); the WebKit-based Iris browser (middle) and Minimo 0.20 (right). As can clearly be seen, none of them really excel – Opera Mobile 9.x is just far better than any of them.
Now, having finished with Windows Mobile, take a look at other mobile platforms. In the lower row, you can see the WebKit-based Symbian Nokia S60 Web (left), iPhone’s Safari (middle). The built-in browser coming with BlackBerry 4.2 (right) follows; the latest (still beta), 4.5 BlackBerry version (topmost) shows the new BB operating system indeed delivers a bit better results than the previous one – but still much-much inferior to even Opera Mini (which, incidentally, runs flawlessly on the BlackBerry).
Finally, in order to give you a complete picture of what you can expect of desktop browsers, an overview of their rendering the same test. (On the bottom: Firefox 3 beta5 (left); Internet Explorer 8 beta (middle); IE7 (right); on the top: Opera 9.5.). As can clearly be seen, Opera is by far the best and even the latest version of IE8 is far-far inferior than even the latest 3-series Firefox.
Now, let’s discuss the techniques needed to avoid certain HTML / page layout constructs that simply can’t be rendered by (some) mobile Web browsers. The most important stumbling block is that of frames: both IFrames and standard ones. First, let’s take a look at the latter.
With IEM (as opposed to most other major browsers) the number of (standard, not i-) frames is restricted (10/12 at most for pre-WM6/WM6+, respectively). One of the most widely known example of the affected pages is freemail.hu. The pictures show IEM (on the left) was simply unable to display the page in its entirety, unlike Opera Mobile (right), which has no frame limitations. Make sure you avoid an excess number of frames if you want to make your portal accessible to even IEM clients and you don’t have a specific mobile version!
Now, let’s take a look at Inline Frames (IFrame). They are in no way supported by pre-WM6 IEM and Thunderhawk. The former is shown in the screenshot on the left, showing the pre-WM6 IEM’s inability to render the contents of the test page. NetFront and Opera Mobile, on the other hand, have no problems rendering this area (neither has Opera Mini).
The lack of IFrame support also means no Gmail / Yahoo Mail dynamic address completion (which works in Opera Mobile and Minimo) is possible because they’re entirely based on IFrames.
This slide shows IEM coming with WM6 has indeed added support for Iframes and has raised the number of standard displayable frames to 12.
This slide explains some common cookie handling-related problems with NetFront and Thunderhawk. The text speaks for itself; no need to explain it further (rather than following the links to my original, lengthy articles and elaboration).
The next few pages elaborate on the language & encoding problems and internationalization (on Windows Mobile), which will be pretty important for you if you display / host / try to access pages not (only) using non-Western languages – or, for that matter, even special punctuation like “.
First, NetFront handles the HTTP character encoding header (Content-Type) vs. meta tag entirely differently from the other browsers. It is, unfortunately, buggy when 8859-1 is used along with special 8859-1 punctuation – for example, if you write your posts in Word and don’t disable its automatic character substitution enabled (and active) by default.
Opera Mobile is pretty problematic at POSTing (NOT displaying /rendering!! Only when user interaction / form-based posting takes place) some contents; for example, special 8859-1 punctuation and everything different from 8859-1.
To easily fix these problems, if you’re a webmaster and know your pages do contain some special punctuation coming from, say, Word and want it to be rendered by NetFront or editable and (re)POSTable by Opera Mobile correctly, do convert dynamically (in the runtime) all these characters to their 8859-1, “plain” equivalents.
If an Opera Mobile client edits a non-8859-1 document (like an article or a forum post), convert all special Unicode characters (like ő and ű) to HTML char entity codes (ő and ű with ő and ű, respectively). These entity codes are correctly POSTed back by the browser.
As has already been mentioned, Thunderhawk uses its own, Western-only character set. It contains absolutely no other characters. Even when the operating system does support the given character set (and is able to render all the characters well), Thunderhawk won’t and just display a hyphen as a placeholder upon encountering them (the text in the screenshot shows some of these). Therefore, in order to correctly display non-Western, but easily 8859-1-mappable languages (typically, Eastern-European languages not using Cyrillic characters belong to this category), as a webmaster, you may want to check for ThunderHawk User-Agents and substitute the characters accordingly when encountering a TH client.
Some Web pages (and Web frameworks / content handlers) allow for easy internationalization – that is, dynamically returning a different-language page upon encountering a special HTTP request header. This slide elaborates on this and lists the two browsers (PIE and Minimo) that do let for setting this particular header. Unfortunately, the other browsers need an external HTTP request header rewriter proxy running anywhere (including your own PDA) to gain access to this functionality.
The two screenshots show IEM rendering b2evo’s login screen in English and Finnish (with automatical swithcing between them; no need for user interactions / language selection via links on the page), depending on the preferred language flag sent by the client.
Unfortunately, several mobile browsers don’t really shine at Web standards compliance either when it comes to downloading and saving binary files to the local file system on these handhelds.
The problems most users face:
* Content-Type: text/plain response problems with binary content: IEM & NF don’t try to decide whether the body is binary and blindly render it – as opposed to IE on desktop Windows. No such problems exist with other Windows Mobile browsers. That is, make sure Content-Type is correctly set on the server to allow for binary downloading to IEM & NF! Alternatively, if you are just a user and have no effect on the webmaster’s correctly setting this header, either use an IEM plug-in allowing for saving link targets, use a standalone HTTP downloader tool like Adisasta WinMobile Download Accelerator 2+ or HandyGet - or switch entirely to a different browser.
* NF and Opera Mobile send out download requests twice, while other browsers – including desktop ones – only do this once. This is why for example downloading from RapidShare doesn’t work in these browsers. If you’re a webmaster, the solution is simple: never reject double download requests. If you’re a mobile client only, switch to IEM – at least for the time of download.
* Referer-related problems: before WM5, PIE (and Thunderhawk even now) don’t pass the Referer header. Therefore, if you’re a webamin, don’t blindly trust the Referer header always being sent in order to deny out-site download requests. Just make a User-Agent test to check whether download requests not containing a Referer header originate from PIE and TH. If they do, you can safely let them download.
Note that you can greatly speed up your Web (and FTP) downloads by using multithreaded downloader clients (like FlashGet on desktop). Currently, two of them are worth mentioning:
* The just-released Adisasta WinMobile Download Accelerator 2.0 (do NOT use older versions because they’re slow!)
* HandyGet 1.6
The final slide discusses the opposite of the previous one: uploading files to Web. File upload is supported by all browsers (except for TH); IEM starting with WM5. As Opera Mini 4.1+ also supports it, you can even upload from the otherwise not very capable BlackBerry platform.
If you have a browser that isn’t upload-capable, then, switch to another browser that can. And, if you’re a webmaster hosting a page with file upload capabilities (like all forum engines, social network pages etc. allowing for attachment / image upload), you will need to ask your mobile clients to do the same. Alternatively, if you’re absolutely sure some of your clients won’t want to touch other browsers, you may also want to provide FTP upload support or, if you only look for text input, a HTML textarea to paste their text to.
The left screenshot shows PIE under WM2003SE. As can clearly be seen, there’s no “Browse” button (and file path field) in it – while the WM5+ screenshot (on the right) already displays (and lets for using) it, showing it (still) didn't have upload support.
That's all, folks - hope you liked this all And, yes, feel free to ask questions even here, even now.
I’ve just published my last roundup, sporting the latest Web browsers available:
Iris 1.0.16 (1.1.0 b3)
Opera Mobile 9.5b2 / b15233 (!)
Opera Mini 4.2.13337
SkyFire 0.85.0.8184
PIE, along with Spb Pocket Plus 4.0.2
Internet Explorer Mobile 6 (IEM6) (!)
NetFront 3.5.009 b729
… and compared all these to the Safari running on the iPhone with firmware v2.2.
The new roundup is available at http://forum.xda-developers.com/showthread.php?p=3130648