I had a situation where I needed to control two computers over the Internet. The best solution for me was to use VNC networking technology. VNC stands for Virtual Network Computer and is a real nice way to remotely control computers through a GUI interface in which you see the remote desktop. I tried all of the Mac OS X VNC clients I came across and from my experience Chicken of the VNC is the way to go.
First let me introduce the problems I came across with other clients. Most of them were either buggy, lacked some basic functionalities or plain and simple didn't work. I even tried starting a Java environment locally and tested a Java based VNC client. It was rather good with my Safari, but it had big problems with running inside the Firefox browser. I ditched the Java version because I wanted to have a full blown Mac OS application, and not a Java applet that depended on my choise of browsers. The biggest problems with other VNC Mac applications was that after inititating the connection to the remote VNC server, it usually hanged and in 1/3 cases didn't even successfully show the remote desktop. After closing the connection, it was obvious that the connection was made, but the desktop didn't open.
In my last grasps in trying to find a perfect client, a VersionTracker search gave me a software with a funny title - Chicken of the VNC. I said what the heck, let's check it out. Couple of months after, I am using the application almost on a regular basis.
Before going into details on the software behind the chicken icon in my dock, I will give you a couple of facts on VNC. Please be careful when using VNC as the protocol emits information in un-encrypted form. I've came across of a couple of bulletin board posts that clearly stated that VNC is a security risk, which it is, but most of the people don't know that there isn't a security vulnerability in VNC per se, but the problem is because it doesn't use encryption or some kind of SSH tunneling. Imagine VNC as a FTP of the computer to computer connections - it is good but lacks security mechanisms. VNC client-server connections use passwords for authentication, which should be enough in majority of scenarios.
As this article is based on the Chicken of the VNC client, I won't go in details about setting up the VNC server or getting deeper in VNC communication. Search Google for this, or bug me in the comments and I may do a follow-up article.
I am currently using Chicken of the VNC 2.0b3, which is not the latest version. A month ago the developers released 2.0b4 version, but the Sourceforge project page doesn't mention any new bugfixes or functionalities, besides that the new version is an universal binary.
To start this overview of the software I will first mention the only thing that bugs me a bit. When you start the program, it doesn't open some kind of a "open connection" interface at the center of the screen, but you need to go to the program's menu on the top of the screen and click Connection->Open connection. While I got used to this, I would really like this a bit optimized.
Users familiar with VNC know that one of the biggest issues surroudning its performance is responsivness of the sessions. The slower your connection is you will have slower response on the remote computer. Chicken of the VNC has some good options that give you the possibility of change 11 different levels of screen updating. It is very nice to see the developers thought about multiple connections, so you can change the specifics for both the frontmost, as well as other connections.
Also very important is the optimization of your session. Every VNC client offers the possibility of changing the number of colors it will use during the session. Of course if you setup millions of colors, the session will be much slower than the situation where you setup the client to use 256 colors. I am on a rather modest DSL connection, so I am using 256 and it works quite good. You can change this option in the connection profiles menu under colors tab.
If you are an advanced user, Chicken of the VNC gives you quite good options to setup your own personal shortcuts for the non-connection windows, windowed connection and a full screen connection.
VNC clients are pretty easy to use as they don't have a large number of options. When you are setting up a new connection there are three important options to consider:
View only
This is prettu self-descriptive. By checking this box your connection will not send mouse clicks and keyboard typing to the remote server.
Allow other clients to connect
When checked, this option gives the possibility of multiple clients connecting to the same server. Altought I was the only client connecting to my VNC server, I found this option very useful during troubleshooting. For instance I came across a problem that didn't let me connect to the server. The window with the remote desktop opened but it was blanked. A popup menu said that the connection was denied. I presumed that one of my earlier connections didn't close appropriately, making new connections impossible. In that case I tried creating a new connection with this option turned on and everything worked just fine. It was either some kind of a bug between the client-server connection, or the old connection timed out, but since then I am using this option by default.
Fullscreen display
Altough fullscreen is a rather good option as it virtualizes your remote desktop to the max, be very careful about it. I don't use fullscreen as I really don't need it, but I tested it for the purposes of this review. I opened my server in a fullscreen mode and very soon found out that I cannot do anything to kill that screen. When you are in the fullscreen mode, all the keyboard shortcuts you press are related to the remote desktop. So how to terminate the connection and get back to my notebook desktop? Unfortunately after 10 minutes of playing around different shortcuts I couldn't do it. The only option was to kill my notebook, but that would destroy this review, which btw I didn't save (I manically saved my writing progress during my Windows years, but on Mac things are different). As there was no solution on the client side, I remembered that I can restart the VNC server on the remote server, which evidentally killed my connection and got my desktop in the front plan. I then mangled with the Chiken's keyboard shortcuts but didn't have any luck in finding or changing the desired key combo.
Overall Chicken of the VNC is really a nice piece of software. It is rather fast, stable and provides all the needed functionality. What makes it even better, the software is free to use and is released under GNU Public License.