VNC 3.3.7 / 3.3.2 for Windows CE

It isn't very often when in the same sentence one can use the words Handheld PC and Cross platform. One of the greatest difficulties Windows CE based Mobile Devices face is their very evident Windows centric ethos.
There are a small number of applications available for the Handheld PC that take the platform barrier and throw it - in a very successful manner - out the window. VNC is one such application that does this with bells on.

VNC or "Virtual Network Computing" is a utility designed originally around the developmental prowess of the Linux / Unix community. It's aim is to allow a user to remotely operate a computer over a network (such as a LAN or the Internet).

VNC was originally developed by AT&T Research UK. Being released under GNU General Public Licence (GPL) over time it has been modified and developed by other groups. The original AT&T Team though are still the leaders in the VNC development world and have founded an organisation called RealVNC.

The concept behind VNC is simple. Take what is being displayed on one computers screen and put it onto another computers screen. The idea is not a new one; Microsoft and Novell both also have their own proprietary Terminal systems. However VNC is unique in the way it provides the services in an environment void of any licensing requirements. In-other-words. VNC is completely free.

When it comes down to the question "What operating system does VNC operate under?" you have to understand that there are actually two questions that need to be asked. "What Operating Environments can I host VNC from?" and "What Operating Systems can I connect from?"

VNC Server for Windows configuration, Under Linux it's not quite as simple

The differences is that there are not as many versions of the Host (Server) program as there are the Client program. You need to use a VNC client to connect to a VNC server. The VNC Server, version 3.3.7 can operate under:

  • UNIX
  • Linux
  • MacOS
  • RiscOS
  • CGI
  • Windows 95, 98, 98SE, Millennium
  • Windows NT3.51, NT4, 2000, XP Home, XP Pro, 2003

The VNC client can be used under:

  • Windows CE 2.0 and above
  • UNIX
  • Linux
  • MacOS
  • RiscOS
  • DOS
  • Windows 95, 98, 98SE, Millennium
  • Windows NT3.51, NT4, 2000, XP Home, XP Pro, 2003
  • OS/2
  • Palm OS
  • BeOS
  • SVGALib
  • Geos
  • Java (Via web browser)

The Windows CE client is at version 3.3.2 and builds have been created by two separate developers to cater for different CE versions and processors. The CE client is not as sophisticated as it's desktop counterpart in so far as you can't scale the screen size or fully maximise the VNC window. The Windows CE client still retains the shared session features but looses the ability to transfer information between the host server and itself using the clipboard.

The menus in the Windows CE client are easy to navigate, yet basic

One thing to remember when looking at VNC from the average Handheld PC users perspective is that is was originally designed and developed for use under an X.
An X, for want of non-technical explanation, is a protocol that drives the backend for the User Interface under UNIX / Linux.
When VNC was ported over to Windows they had to strip out some of the functionality that really places it into a league of it's own when running under X.

Anyone who is familiar with using a Windows PC with more than two users knows that when user A log's in using his user name and password he will see his desktop, his files, his customisations. When he logs out and user B logs in. She like wise will see all of her personal settings and files. When connecting to VNC server running under Unix or Linux it can operate in this fashion but crucially is able to accept 2 or more users logged into the same PC at once. Each user seeing his or her desktop and settings (Microsoft call this a Terminal Server). Under Windows however the Windows VNC server cannot act as a VNC Terminal Server. Allowing for only one active user at a time.

Many die-hard Unix / Linux users will tell you that X's are for 'Wimps' preferring to use a SSH Telnet application to manage and operate remote systems. For the rest of us who like to actually see what we are doing thankfully the X protocols were developed allowing for the Use of a Graphical User Interface (GUI).

Under both environments you can have several users connected to a singe open session if required. For example if you wanted to show a group of people how to perform a certain task using your computer. They could each log into your computers VNC session and observe or even interact with what you are doing.

Windows, Unix, Linux. It's all the same to VNC

VNC is a low bandwidth protocol, and works exceptionally well over a slow 56kbps dial-up connection. Almost (but not quite) as efficiently as it does over a 100mbps wired LAN.
When it comes to customising the VNC session. Once again if your connecting to Unix / Linux there are a few additional options available to you. One of which allows you to set the screen resolution and colour depth on the server. Under Windows the VNC client resolution and colour depth is fixed at the screen resolution of the Windows PC. This can be problematic on older low memory Windows CE devices, as they simply can't process the quantity of information that they are receiving.

Using the resolution settings under X you can make Linux any size you want, even Half VGA

There are options in the client program to change the compression settings of the connection stream. This can be helpful under devices supporting 256 or less colours. Restrict to 8-bit forces the server to send a maximum of 256 colours at a time. However there are no optimisations for 16 colours, 16-mono or 4-mono devices. The best method for such devices is to use the Restrict to 8-bit and be patient as screen loads, even when connecting to a 640x480 host can take a number of seconds.

Windows CE Client options dialogue. using 'Restrict pixels to 8-bit' improves performance on older HPC devices

One of the most biggest drawbacks of VNC is that it becomes apparent very quickly that it was written - as with any Unix / Linux application - for experienced users. The server and client applications do not contain the ease of use or gloss that novice Windows users might like.

Despite this, once you have mastered the basics of using it VNC can become a very valuable tool in your Handheld PC arsenal. In my job as a consultant VNC has proved handy on many an occasion when I've needed to remotely connect to a workstation. I've simply flipped open my trusty HPC, dialled in using a 56kbps modem and away we go.
There is also no end to how creative you can be when using VNC. My proudest moment was when I reverse wired the TV-out on one of my desktop PC's to send it's signal back up the TV roof aerial wiring of my house. Effectively allowing me to watch whatever was on the PC screen on any TV in my house. Using my Handheld PC and VNC to control the computer it wasn't long before I was watching DVD's, using MSN Messenger and surfing the Internet from anywhere where there was a TV (The screen update is not fast enough to allow you to watch a DVD on your Handheld, or on any remotely connected computer). Of course you'll either need a lot of network cabling or a wireless network to pull that one off, but it gives you an idea of how creative you can be with it.

Unfortunatly this is paused rather than live. VNC is not a high bandwidth protocol

VNC isn't perfect. The connection is far smoother when connected to a Linux system than it is connected to a Windows system.
The VNC protocol is not natively a secure one. So we don't recommend that you use VNC across the Internet unless you have read up on how to secure it using SSH, are doing so through an encrypted VPN tunnel or preferably both.
As with any open-source application, if you requite technical support you need to pay for it. However there are mailing lists and communities surrounding the developers who can help you out.

Native security isn't one of VNC's strong points; with a default of a plain text password

That said there is no denying that VNC is truly a stunning piece of software, which potentially opens up a new world to people who for whatever reason aren't able to make use of a Windows Terminal server.
For Windows CE 2.0 users who don't have access to a Windows Remote Desktop client (Terminal Server Client aka RDP) VNC is also a very welcome application.

Getting started guides are available in the HPC:Factor support section which cover the basics of getting started with using VNC Server 3.3.7 on your Handheld PC. A download of all available Windows CE VNC 3.3.2 clients is also available in the support section. At the time of writing VNC 4.0 is currently in beta.

Users who wish to remotely access their Handheld PC from another computer should look at Clinton Fitch's review of Bitbank Software's Virtual CE available here.

There are three places you may need to head if you want to try out VNC for yourself.
Firstly you will need to download the VNC server for your host system:
http://www.realvnc.com/

Secondly if you are using Windows CE 2.0 the client can be downloaded from the AT&T UK research page:
http://www.uk.research.att.com/archive/vnc/index.html

Lastly if you are using Handheld PC Professional or HPC2000 visit Conduits for a viewer client:
http://www.conduits.com/

System Requirements:

Windows CE 2.0 and above
SH3, SH4, StrongARM, MIPS, XScale

Rating  
Cost: 5 Star Rating: Exceptional
Usability: 4 Star Rating: Recommended
Built-In helps: 1 Star Rating: Very Poor
Customer Service: 3 Star Rating: Average
Overall: 4 Star Rating: Recommended

RealVNC can be found at the following URL.
http://www.realvnc.com/

Discuss this Review in the Forums

Chris Tilley
Editor-in-Chief