The boundaries of the physical office don't mean as much as they used to. Wifi is available at nearly every coffee shop, airport, and even some parks. Along with mobility come some challenges, however, specifically when dealing with user support from afar. VNC is great in the office, but once your user steps outside the batcave, there's no telling what kind of environment they will be in. Does the firewall or access point they're behind allow VPN pass through? Can they tell you what IP they're at?
In most circumstances, the answer is hard to come by while your user is frazzled and short on time. What do you do? On the Windows side of the fence, things are greatly simplified by the folks at
TeamViewer. This tidy and small app provides a way to circumvent the common problems of connectivity by assigning each side a unique ID, like a phone number. What's more, it doesn't even require an installation on either the technician or user's side. Point them to the download site, and 500k later, you have a connection that traverses NAT and firewalls without a lot of fuss. TeamViewer provides file transfer and a remote desktop control feature.
If you're supporting non-Windows clients, you can pair up
Hamachi with VNC, though it should installed ahead of time. Hamachi gives the user a unique ID, just as Teamviewer does, which you can use to create a pipeline for a VNC session to use much in the same way as TeamViewer.