21st CENTURY MOMS

You Too Can Telecommute.

Wednesday, October 08, 2008

Keeping In Touch with Remote Collaboration Tools

Anthony Williams

Ever since my wife and I started our custom software development business, we've been making use of remote collaboration facilities such as VNC and Webex in order to give demonstrations to clients without having to visit their site, or have them come to us, as I described in my blog entry on Demonstrating Software on the Web. This has worked well: the majority of our clients are over 100 miles away, so visits in either direction are quite a lot of hassle. We still do make site visits or have clients come to us where desired or necessary, but the use of remote collaboration tools has certainly cut down on the level of travel we
would otherwise have had to do.

The various remote collaboration tools have various levels of cost and functionality. For example, we usually use TightVNC for demonstrations, as it is completely free to use, and just requires that the client has a web browser with Java support in order to use it. However, it does require that you know your IP address, and may require modification to your firewall to ensure that the incoming request is passed on to the VNC server.

At the other extreme, WebEx is primarily a subscription service (though they do offer a pay-per-use option), and requires that the client download and run a program on
their machine. However, WebEx works seamlessly through firewalls, and just requires knowing the meeting ID information rather than an IP address.

Obviously, whatever program you use it will work better if both you and your client have a broadband connection: remote desktop sharing requires a lot of data to transfer, so can be painful if either party
has a dial-up connection.

Using VNC

If all you are trying to do is allow clients access to your desktop, either for a demonstration or so they can try things out for themselves, VNC can be the easiest and cheapest option, as all they
need is a web browser with Java support.

First off, you need to install the VNC server on the machine you wish to allow remote access to. This allows you to share the desktop either for viewing only, or for remote control.

As I've already said, VNC does require that the incoming connections are allowed through the firewall, but for freelancers this shouldn't pose a problem: the chances are that the you have a computer directly
connected to the internet, or a small network with a hardware firewall that you control. It is therefore very easy to configure your firewall to allow VNC connections to forward to your PC. VNC requires one port (which defaults to 5900) for the actual data request, and a second (which defaults to 5800) for the web server. Once it's all set up you can give your clients a URL like:

http://123.45.67.89:5800

where 123.45.67.89 is your IP address. If you have a static IP, you can register a domain and point that at your IP address, otherwise you can use something like the free dynamic DNS service at http://www.dyndns.com/ to provide a more sensible URL like

http://myvncserver.dyndns.org:5800

Once the connection is open (and the password validated), then your desktop will be visible in a Window on your clients computer. If you have enabled remote control, then your client can interact with your
computer through this window. If not, then they will just be able to watch what you are doing.

If your client is willing to install the VNC viewer software on their PC, then they can access your machine directly, without going through the web browser. In this case you only need the one port open in the firewall.

Since your IP address or host name is unlikely to change too much, clients could in theory try and connect at any time, and thus watch demonstrations you're giving to other clients, which would not be
desirable. VNC allows the connection to be protected with a password to avoid snoopers, so I would recommend choosing a new password for each session, and disabling the VNC server when you're not actually using it.

Using WebEx

WebEx is good where you are behind a firewall that you cannot control, where you might need to access your client's PC (e.g. to help solve a problem they are having), or where they are familiar with using it,
and trust WebEx over "the strange VNC thing". WebEx is a subscription service though, so be prepared to pay for this convenience.

To use WebEx, both you and your client must run the WebEx meeting software. You need to arrange a "meeting ID", and then both of you can enter the meeting ID when prompted by the software. The software then connects to the WebEx server and passes the data between the two
PCs. No messing around with firewalls or IP addresses required.

WebEx will then show your desktop to your client in a window. Just as with VNC, you can choose whether they are just watching, or whether they can interact with your machine. One extra feature that comes with WebEx is the ability to switch which machine is being shared, so that you can view or control their PC instead. This ability to interact with your clients PC can be really helpful if they are having trouble with some software you wrote for them: they can show you what they are trying to do, with their live data. This can be important where the issue is data dependent, or depends on some aspect of their PC configuration.

Summary

This short article has barely touched the surface of how to use these versatile tools, but hopefully I've managed to convey something of how useful they are. Next time a client asks you to travel to their site
for a demonstration, it might be worth asking if they'd try out one of these tools instead.

0 Comments:

Post a Comment

<< Home