VNC provides virtual login sessions for GUI environments. Once you start a VNC server on a computer, you can connect to it on the local computer or through another computer over a network. One of the advantages of this is that if you disconnect a client attached to a VNC server (or your network connection drops), all of your applications continue running as though nothing happened. You can disconnect in one place, go to another, and reconnect and continue right where you left off. There's a Java VNC client, so even if you're in a computing environment you can't control, you can connect to your server as long as you have a Web browser with Java support. I used to use VNC all the time when I was more mobile and before I became more console-oriented and started doing the same thing with screen.
Many extensions have been made to VNC by many people over the years.
vnc2swf is one of the most interesting, and it takes VNC out of its
original purpose to a new use. It acts as a normal VNC client, so you
can use it with any existing VNC servers. The difference is that you can
give it the name of a
.swf file to write, then, when you
press F9, it begins recording your VNC session as a Flash video. When
you hit F9 again, it ends your recording, and you have a moving record
of your activity which you can embed into a Web page.
Because vnc2swf uses a normal VNC server, you can control the environment that's recorded. When you start the server, you can set the geometry and color depth, the window manager to use, etc., without changing the desktop setup you're currently using. Alternately, vnc2swf can work with x11vnc to record a window in your current session. You can also feed vnc2swf an MP3 stream to add to your video, so you can throw in prerecorded sound, the sound coming from your speakers to match what's happening visually, or your recorded explanation of what's being shown.
Aside from being just plain cool, I think this could be helpful in a couple of ways.
The first is for bug reporting. Usually, a written description of a problem is enough for a developer to work with. Sometimes, a screenshot helps show a problem the developer can't reproduce. Once in a while, even that doesn't help, and you need to show your experience in action. This is how I found vnc2swf. I've been trying for years to report a problem with a site to its Webmasters, and they've always told me they don't see anything wrong. Thanks to vnc2swf, I was able to give them a video showing me surfing other sites at normal speed, waiting through the minutes it takes their site to give me each page, then loading other sites at normal speed. It may or may not get the problem fixed, but at least they know now that I'm neither imagining things nor having chronic network problems.
The second application is for documentation. vnc2swf's own homepage includes vnc2swf-generated videos showing how to use vnc2swf. This fun recursion serves both as a demo of the software and of how it can be used to create effective software documentation. This could be useful for many projects. Graphics manipulations programs like The GIMP, for example, often have screenshot-laden tutorials showing how to perform various tasks. The addition of a video with a voiceover explanation demonstrating that you should "get this tool from the toolbar, click here, drag to here, choose this from this menu", etc., on a sample image could help a new user see more quickly and clearly.
vnc2swf provides a simple and elegant way to share your desktop experience for whatever reason you need to do it. Download it and get moving!