Virtual Network Computing
|
![]() |
Want to help? - Project suggestionsOne 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 WinVNCWe'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:
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 clientsIt'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. SecurityVNC 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 serverSomeone 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 platformsHere are some other platforms it would be good to support. If you have either client or server running on these, please let us know.
Record and PlaybackProxies 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 |