TidBITS Troubleshooting Primer, Part 2
Monday, Oct 28, 2002
Originally published in TidBITS#653/28-Oct-02; see <http://www.tidbits.com/> for more information. TidBITS has offered more than ten years of thoughtful commentary on Macintosh and Internet topics. For free email subscriptions and access to the entire TidBITS archive, visit www.tidbits.com.
by Adam C. Engst
In the first installment of this article, I talked about the basics steps necessary to troubleshoot any problem, including describing the problem, breaking the system apart, asking yourself questions about each part of the system, and finding answers to those questions and tests.
But what if, after all that, you still haven't been able to solve the problem? Failure to solve a problem on your own is no cause for surrender, because you usually just don't understand the system well enough to break it into appropriate chunks. Or perhaps you simply didn't think of the necessary tests. For instance, in last week's example of not being able to share files between a wireless-enabled computer and a wired computer connected to the same access point, if you didn't realize that all the traffic had to pass through the access point, and a factory default reset (perhaps caused by a lightning strike-driven power surge) had turned off wireless to wired Ethernet bridging, you could easily have tested everything else without realizing what you were missing.
This is where experts come in. Sometimes they may have solved so many problems that they automatically know the solution to your problem based on your description. But more often they can simply break the problem down into more chunks, one of which usually turns out to be the problem.
Intermittent problems can really drive you crazy when it comes time to seek expert help. Although an expert can offer suggestions about where to look, if you have a system that works some of the time, it's very difficult to determine whether you were testing the wrong variables or if you were testing the right variables at the wrong time or in combination with the wrong set of other variables.
Where should you turn first? Give the order in which you jump from expert to expert some thought, since your goal should be to find a solution to your problem with the least effort and cost.
Search the Web -- Before anything else, try searching on the Web, both in company support databases and just generally in Google. The only hard part is coming up with appropriate search terms, but it's worth five minutes of searching if it reveals the answer you need. You wouldn't believe the number of questions we've received over the years whose answers were easily found in Google (since that's where I look first, too).
Of course, if you have any books or magazine articles that touch on the topic, it's worth looking in them as well, though I usually search on the Web first, since it's faster than flipping through an index or scanning multiple issues of a magazine.
Ask an Expert Friend -- If a Web search doesn't turn up an answer, or at least some new tests to try, the fastest, cheapest, and easiest person to ask for help is a friend who is an expert at the topic in question. If you have such a friend, I recommend asking that person for help next. Be careful, though, because overusing a friend's willingness to answer your technical questions or fix your problems can strain otherwise solid friendships. And if the friend is really more of an acquaintance, even more care is warranted to avoid causing irritation.
If possible, try to perform roughly equivalent favors so your friend doesn't feel exploited. Tonya and I even have a "friend consulting rate" for computer help: dinner. That way, the event changes from a consulting visit into a social event with friends, and everyone feels appropriately rewarded.
Contact Tech Support -- If you don't have an expert friend, the next best option is to contact the technical support department run by the manufacturer of the hardware or software in question. If you haven't already done so, visit their Web site and search quickly to see if they have an online database of problems and solutions that can solve your problem instantly.
If that doesn't help, send the company email or call. Company tech support engineers are likely to know more about the products you're using than anyone else, and it's their job to help you if you're a customer (but that doesn't mean you should ever be snotty to them, as I explain below). Contacting tech support is often your best option for getting fast, accurate help.
That's not to say company tech support works well in all situations.
- Tech support engineers are often paid badly, so turnover is high and new hires often lack experience, meaning that it's not uncommon to get a tech support engineer who knows less than you do. (In that case, ask politely if your problem can be escalated to second-level support.)
- Some companies charge for support, and even when support is free, the calls are seldom toll-free. Unfortunately, it's all too common to wait on hold for 30 minutes before you even talk to a person, and there's little that is more frustrating than knowing that your phone bill increasing while you sit there, not getting your work done. (I usually call on a speakerphone, and read email while I'm waiting, so the time isn't entirely wasted.)
- Some tech support engineers may know their products well, but if the problem stems from an interaction between several products, they may not see the bigger picture, or they may try to pass the blame on to another company (which will, in the most annoying cases, pass it back).
Ask on the Internet -- Assuming tech support fails you or isn't worth contacting because of usurious charges or ridiculous phone wait times, the next place to ask is in an appropriate Internet forum. The hard part here is identifying the right place to ask, since so many different groups exist. Check for appropriate mailing lists, Usenet newsgroups, Web-based support forums, and even IRC channels.
When I say "appropriate," I mean it. Watch the forum briefly before posting your question to make sure what you plan to ask fits in with the kind of discussions that go on, because posting an off-topic request for help will irritate people unnecessarily and won't provide you with the solution you need. Plus, it wastes your precious time. Most forums also have a FAQ (frequently asked question) list that may contain the answer you're looking for; be sure to check there to avoid posting a question that the other members have seen numerous times.
Don't be greedy when it comes to asking for help in Internet forums. They work only because individuals are willing to donate their time and knowledge to the public good, so if you want the forum to thrive, be a sport and help others when you can as well.
Hire a Consultant -- If all other avenues have failed, or if you have no time or patience for any of the previous approaches, consider hiring a consultant. Going the consultant route costs the most and isn't necessarily quick, depending on the consultant's schedule and how familiar he or she already is with your situation. But if the problem is sufficiently severe or annoying, the time and money will be well spent.
How to Report Problems -- When it comes time to report your problems to someone else, your notes are invaluable, because without them, you find yourself repeating tests just to verify the results one more time. Obviously, how you report a problem varies depending on to whom you're reporting it, but this approach should work in most situations.
First, create a profile of your computer that lists:
- Your model of computer, how much memory it has, and exactly which version of the operating system you're using.
- Any recent changes to the system, such as upgrading the operating system itself or installing new drivers.
- Special extensions or add-ins installed, like a third-party firewall or, in Mac OS 9, system extensions.
- Any add-on devices like a second monitor, third-party video cards, a SCSI card, audio/video hardware, scanners, etc.
- Version numbers for software or drivers that are relevant to the problem. Often, outdated or too-new drivers can cause all sorts of problems.
The easiest way to develop a profile of your system is to use Apple System Profiler, which is generally accessible in your Apple menu in Mac OS 9; it's stored in your Utilities folder in Mac OS X. Windows has a similar utility called System Information that's usually in Programs/Accessories/System Tools. Both of these tools let you save a report.
Once you've developed a profile that you can make available if asked, it's time to report the actual problem. Outline your problem briefly and note that you've done standard troubleshooting. Then briefly relate what you've tried already, but don't go into detail right away, since the fact that you're asking for help means that what you tested inherently wasn't right. How you proceed depends on how interactive the support medium is.
For support situations where the medium lends itself to fast interaction - in person, via the phone, instant messaging - let the support person ask questions and guide you through the process, since they likely have ideas about where the problem is. If you launch into a detailed retelling of what you've tried right off, you may overwhelm them with unnecessary trivia. Don't be offended if they ask you about whether lights are lit or the power's plugged in. It can be irritating, but it's their version of methodical problem-solving.
When you're asking for help in a situation where interaction is slow - direct email, mailing list posting, Usenet news posting, or a Web support forum posting - follow your brief summary of what you tried with a more detailed list of the tests you performed and your system configuration. There's no need to explain what happened with each test if it failed to shed any light on the situation, but it is important to list them all so people trying to help don't end up asking about tests you've already performed (in these slow interaction forms of communication, a back-and-forth interchange can take a day or two, so you want to keep the number of messages as small as possible).
In either situation, try to answer questions from the experts as quickly and completely as possible. From our perspective of helping people over the years, there's nothing worse than getting incomplete answers to questions, forcing us to ask the same question in slightly different ways and just stringing out the entire interchange.
Be Nice! Actually, there is something worse than providing incomplete answers to questions, and it's a little hard to say this, but don't be a jerk! You wouldn't believe how many people assume that the problem is somehow the tech support person's fault. Yes, you're frustrated and possibly even angry because of having bought a piece of hardware or software that isn't working, but if you want help, you're far more likely to get it if you're nice, or at least polite and professional, when talking with the tech support person.
Although most people are more polite when they're asking for help in an independent mailing list or other online forum, there's still a tendency to whine or threaten never to buy products from the company again. Bad idea, because the people who are most likely to be able to help you probably like the company and its products, and the more you rant and rail, the less interested they are in responding to you.
Put bluntly, there's a time and a place for complaints, and they should be separated from requests for help. That way you get maximum effect for your complaint and stand the best chance of receiving help.
Dealing with the Insolvable -- I'd like to pretend that if you just follow all of the steps in the previous article and in this one, that you can solve any problem. Unfortunately, there are a very small number of problems that will resist your best efforts, and the best efforts of every expert you can bring to bear. That's because everything you try takes time and effort, and there's a limit to how much energy and money you should invest to solve a given problem. Sometimes the better part of valor really is to give up and buy new hardware or software that eliminates the problem entirely. The hope is, of course, that you realize you're heading down this path before you've wasted too much time and effort.
That said, don't let the fact that some problems really can't be solved with a reasonable amount of effort prevent you from trying. In the vast majority of cases, working methodically through the steps I've outlined in these articles will result in success.
One last note, for those of you who work as the unofficial tech support for your friends, family, and colleagues: I encourage you to send them a link to these articles so they stand a better chance of solving their own problems, or so they can at least be easier to help.