A fair amount of my work involves solving problems and troubleshooting issues beyond systems I have direct access to or insight for. Most often, this involves communicating with someone a world away (or at least several time zones away) who is experiencing a problem with an application I’m responsible for maintaining or supporting.
Sometimes, communication is difficult—language barriers, time differences, an uncertain technology platform, etc. Picking up the phone or getting on chat is not always an option, and e-mail exchanges can take days (or weeks) to get to the root of a problem.
To help make communication easier and solve the problems more efficiently, I’ve found that there are a few common remote troubleshooting tools that I frequently rely on: screenshots, screen recordings, and screen sharing. Depending on the situation, I may be the one to use the tools (to demonstrate something to someone else), or I may ask that the person I’m helping use the tool (to demonstrate something to me).
The most ubiquitous and easy-to-use tool is the screenshot. The benefit of the screenshot is that nearly everyone knows how to take them, and plenty of high-quality free tools are available to help with their use. Additionally, since it’s just an image, nearly all computers can display the screenshot without issue. The downside is that the information you can glean from a screenshot is fairly limited. You get a point-in-time capture of whatever is on the screen without the ability to see a progression or dynamic details. Some screenshot tools allow you to add annotations and other details.
When someone contacts me to describe strange behavior with an application or some unexpected error, one of my first requests is often for a screenshot of the issue. Especially when there is a language barrier, I’ve found that screenshots are a much more efficient way to communicate. You can *see* the problem, or *show* something rather than trying to use words to describe something which may be quite complex. While it’s always painful to receive a screenshot embedded in something like a PowerPoint presentation—it’s much better than having no visual as to what’s happening.
On both Mac and Windows, my preferred method for using screenshot is [Evernote](http://evernote.com/), which allows you to annotate screenshots and upload them so that they can be shared via URL.
## Screen Recordings
Screen recordings are my second favorite tool. Sadly, fewer people seem to be comfortable with screen recordings, there are fewer free tools available to make them, and there can be more issues with video player compatibility than there are with screenshots. Furthermore, the videos from screen recordings are much larger in size and so are difficult for people on slower Internet connections.
Nevertheless, recordings provide a much more dynamic depiction of the situation that another person is experiencing. You can see progressions of events, workflows, and cursor movement. Many screen recording tools also allow you to record audio, which can be helpful in *hearing* details of what is happening.
When screenshots fail, or when the person I’m communicating with is a bit more savvy, I ask for a screen recording demonstrating the problem. I also take screen recordings to show other people what I’m experiencing or what I’m doing. This can be useful in demonstrating to someone else how to use an application (especially if there is a work-around, or some special use-case).
Transferring the videos files for a screen recording can sometimes be a bit of a challenge due to their size (often too large to attach to an e-mail). File hosting services such as DropBox and Google Drive make this easier.
On Mac, my preferred screen recording tool is [QuickTime Player](http://support.apple.com/en-us/HT201066), which despite its name, allows you to make a video recording of your screen (but only on Macs). Often, I run Windows in a VM on my Mac, which still allows me to use the QuickTime Player for screen recordings. When a native Windows screen recorder is needed, I use [CamStudio](http://camstudio.org/).
## Screen Sharing
Screen sharing is the ultimate remote troubleshooting tool. However, it’s also the most difficult to wrangle, and isn’t useful in all situations. When it works, it gives you direct and immediate feedback from the remote computer, often with accompanying audio (either built-in to the tool, or telephone). You can see and hear in real-time what someone else is experiencing, and usually get remote keyboard and mouse access so that you can investigate directly.
Unfortunately, screen sharing only works when the Internet speeds for both parties are fast enough to stream video consistently, and requires that both parties be online simultaneously. Slow or excessively laggy connections, or people in a time zone offset 12 hours from your own, make screen sharing difficult or impossible.
Other than using a mixture of screen shots or screen recordings, and a plethora of emails, sometimes screen sharing is the only way to effectively troubleshoot something. You can see the situation at hand, ask questions predicated on the situation, and then immediately be shown more to better understand the facts. Multiple and varied routes can be explored, either in tandem with the person on the other end of the share, or on your own. In many instances, I’ve found a quick screen sharing session immediately reveals the nature of a potentially complex problem. Having tried to reach the same conclusion from a screenshot and several e-mails, however, may not have provided the same insight.
Two types of tools are handy for screen sharing: conference calls tools like [GoToMeeting](http://www.gotomeeting.com) and [WebEx](http://www.webex.com) (especially since they simultaneously allow for audio via telephone), and specific pairing tools such as [join.me](http://www.join.me) and [Screenhero](http://screenhero.com/).
The remote troubleshooting tools I’ve described have made communication with remote parties on complex application issues much more efficient. Rather than having to spend hours reading e-mails to try and suss out the problem that someone is trying to communicate, or having to spend hours writing e-mails to detail in excruciating detailing how to do something, I can move onto solving other problems, or working on other matters. What are some of your favorite remote troubleshooting tools? Let me know in the comments below.