by Ryan Hartwich
Admit it. If you are reading this website you have no doubt, at some point in your programming career, received a fitful call from a family member or friend who was pleading with you to help them with their computer. We all know that tech support ranks rather closely to a root canal, painful at a distance and far worse when it involves you being in the chair!
For a few years I have been using an open source application called
Tight VNC (www.tightvnc.com) to remotely connect to my home machine and occasional others to diagnose problems or grab files. It works, but it requires installation of software and configuration changes to the
firewall/router on the host system (the computer you are connecting to).
This is obviously not something you are going to walk your non geek friends through installing. Many of you may have used similar software, such as PCAnywhere and GoToMyPC.
Fog Creek, a New York City-based web developer, has stepped up to help us
geeks out. Joel Spolsky, CEO, hired four summer interns for Project Aardvark. The interns have branched the Tight VNC code into a new for-profit
product (Fog Creek Copilot), giving us a simple, firewall-busting way of helping others. How does it work?
The geek (US!) is begged by a friend to help. We go to the Copilot.com
website and enter our name and indicate if we want to pay or have our
newbie friend do so (why should we have to pay?). We either enter their
email address or call and give them a string of numbers to enter on the
website. We download a small 400k executable. The newbie either clicks a link in their email or enters the PIN number on the website,
completes the credit card billing information and downloads a similar executable. When both parties run their programs and the newbie
consents to giving you control, the connection is made and you take over their computer. By using a central redirector server both parties call OUT from their machine and hence bypass corporate and home firewall restrictions.
Within seconds you have mouse and keyboard control over their PC (with full
128 bit SSL encryption). You see what they see and, except for the newbie's
ability to take over their mouse and disconnect you, you have full geek
override capability. Step them through the process of mail merging in Word, setting up their printer, downloading the newest AOL or
configuring their webcam and iTunes. What? You were disconnected? No problem. For 24 hours from first connection, you have unlimited use of the $10 per day service (there is a 5 minute free trial available) to
manhandle their PC or anyone else's you get stuck supporting. Just download the executables again and enter the PIN number when requested.
I asked Joel if releasing their GPL derived code to the public bothered him and he responded, "The big value we're adding is not in the VNC applet itself. It's in the service and support that stand behind it, primarily the service we run which allows people behind firewalls to connect to each other."
Life just got far easier! In my beta testing I had only one problem with connectivity, no doubt caused by my attempt at running two
concurrent remote connections to my home PC (one via my normal VNC application and one with the Copilot service). Everyone I demonstrated
the service to was impressed. The screen resolution/quality is high (there is built in JPG compression to speed the screen drawing),
mouse reactivity is almost real-time (over broadband) and when we
disconnected, the executable was deleted from the desktop, leaving no
remnants to clutter the system. By far the best feature of the service is the zero configuration required to bypass firewalls/routers and connect to the host computer.
There are a number of minor enhancements I would like to see made to the Copilot product/service in the short term (keep in mind that I was testing a beta version).
While it is nice having the executable deleted from the desktop, it needs to be a bit easier to find the files on the website for times you need to reconnect. (both Joel and the interns have blogged their formal usability testing).
The $10 per day/usage charge is more than reasonable when supporting
a customer or business but may seem a bit steep for a friend who just needs casual or frequent assistance. I would like to see a bulk discount plan. (This is planned for in version 2).
My tests have been over high speed lines with little bandwidth constraints. I would like to see a way of dynamically adjusting the
screen quality (think jpeg compression) for modems and bad connections. The Tight VNC code base has compression in it and I'm sure it is only a matter of time before the interface supports dynamically adjusting the quality versus speed (or better yet, have it detect latency problems and correct itself).
If your friend wants you to troubleshoot late at night or continuously after software installs/reboots, they will need to be
present to initiate a connection from their end. A simple scheduling application that auto starts the program after reboot or late at night would be helpful. Likewise an 'always on' feature for frequent support.
Joel's primary goals with this product were zero configuration and superior service and support. I believe his interns have met and exceeded those expectations. Overall, the interns at Fog Creek have done an admirable job and should be poached upon graduation.