VNC logo

Virtual Network Computing
from ORL

ORL

[Home]
[screenshots]
[free?]
[getting started]
[documentation]
[download]
[keep in touch]
FAQs
helpbutton.gif (1855 bytes)
VNC people
[ORL]

Want to help?  - Project suggestions

One of the reasons we've made the source code available was so that people could modify and improve it, port it to new platforms, create new software using VNC, and so forth.

Here are some things that we think would be worth doing.  If you would like to sign up to work on any of these, or if you have any new suggestions, please let us know.  We'll start with the most important:

Improving WinVNC

We'll put a more substantial document about this in the main documentation section soon, but here's an introduction. 

If you've used both the X server (Xvnc) and the Windows server (WinVNC) you will notice that the Windows one is considerably slower.  There is a simple reason for this.  We have the source code for X, and we know exactly what it is doing.  With Windows, we can get hints by inserting system hooks to monitor messages, but they're only hints and not all applications use suitable messages, so we often have to poll areas of the screen just to see if anything has changed.  The two main alternative approaches would be:

  • writing a pseudo-video driver, which could notify WinVNC with more precise details

  • writing a wrapper around the GDI DLLs which would hook into all screen updates at that level

Another problem is that someone has to be logged in before the server can run, and that you can't do a Ctrl-Alt-Del remotely.  NT has a concept of multiple desktops, and the WinLogin desktop is not the same as the one you normally use when logged in, or as the one  the screen saver uses.  These things can be overcome, but we haven't done it yet.  If you want to dedicate a machine to being a WinVNC server, you could set it to auto-login, then if someone logs off, it will log them back in.  But this is far from perfect, it would be much better to have it as a service, so any volunteers to work on this are welcomed.

Very thin clients

It's a bit silly to have to run a whole X server or Windows session just to run a viewer for a remote VNC server.  It should be straightforward to write a DOS client, or one based on the Linux GGI project or SVGALIB, and they should make for a fast and lightweight client.  You could probably also run them on older machines, such as 386s.

Talking of older machines, how about a Windows 3.1 client?  You can use 3.1 machines by installing a browser and using Java (we recommend IE4), but it tends to be very slow.  The current Win32 viewer is multi-threaded, but if that aspect were removed it shouldn't be too hard to build for 3.1.

Security

VNC uses a single TCP/IP connection, so a version which runs over Secure Sockets should be easy to build.  A client which could connect through SOCKS firewalls might be good as well.

Mac viewer and server

Someone has hinted that a Mac server ought to be easier to write than a PC one - can anyone confirm this?  A viewer ought to be fairly straightforward, anyway.   We don't have Macs here, so I don't know how good the Java VMs are...

Other platforms

Here are some other platforms it would be good to support.  If you have either client or server running on these, please let us know.

  • HP-UX

  • SGI

  • AIX

  • FreeBSD

  • SunOS 4

  • Windows CE

  • OS/2

Record and Playback

Proxies which do things like recording a session for later playback, extra compression, scaling, access control, etc are not difficult to create, though you need to keep the latency low.

 

 

 

 

 


Copyright 1998 - The Olivetti & Oracle Research Lab