Configuration debugging for normal folks

From time to time, Phil Windley and I marvel at the vast reservoirs of tacit knowledge that we bring to the table when working with computers and software. And we ask one another: “What do normal folks do?”

Case in point is this debugging exercise in which Phil discovers, after a round of installation and reconfiguration on his Mac, that “the display was washed out.” Here was his 7-step recovery program:

  1. I noticed that the washed out effect didn’t happen until after the desktop picture had been painted.
  2. I created a clean user account and logged into it. The problem didn’t appear leading me to believe it was a user problem, not a system problem.
  3. I looked at console and system logs to see if there were any error messages. Not much information there on this problem.
  4. I removed all the start-up items. Still no joy.
  5. I compared the activity monitor processes for the account with the problem to those in the account without the problem. No significant differences.
  6. I now suspected something in the preferences. So, I moved the preferences directory to another place. The problem went away confirming that there was something messed up in the preferences.
  7. I used a binary process to put preferences back, logging in and out each time until I found the culprit.

The culprit, Phil reports, was the Universal Access area in Preferences, where a contrast slider had been pushed to the wrong setting.

Wow. It’s been more 20 years since my old BYTE pal, Tom Thompson, first showed me that binary search process. Have we made no progress since then?

Actually, we have. In both OS X and Vista, system settings are reasonably well corralled into System Preferences and the Control Panel. What’s more, you can search within those areas. So, as is always true with search, if you know the magic word you can find the right answer. The magic word, in this case, was contrast. Click this image to see a brief screencast of what Phil would have seen if he’d searched System Preferences for that word:

Style points to OS X for the graduated halos around the icons.

Click this image to see a brief screencast of the comparable feature in Vista:

This contextual (and incremental) search is really helpful! It might even be more helpful to those of us who don’t have twenty years of experience doing the binary process of elimination. But because this search feature is relatively new, I suspect that many — both old hands and relative novices alike — have yet to discover it, or develop the habit of using it.

Even so, search depends crucially on the right vocabulary. There’s always that Catch-22: if you could name the thing you’re looking for, you’d already have your answer. What complementary techniques can help?

Yesterday’s item about Koala suggests one. Although that project focuses on recording, playing back, and sharing sequences of actions in the browser, the principle could apply much more broadly. When you’re debugging a system configuration, the key question is ultimately: What changed?

Although Phil (unlike most folks) knew enough to check his logs, they didn’t tell him which system and application settings had recently changed. Logging those changes, and surfacing them in ways that we who make the changes can easily review, would be really helpful.

But we’re in the Internet era now, and our desktop systems are connected. Why not exploit that? Imagine a service that trickles the changes you make to your system and application settings up to the cloud. When you go online to research a problem, that data connects you to other people who have made similar changes. There’s already a tremendous amount of user-to-user support happening on the Net. Think how much more effectively it might happen in the context of pooled data.

Even if you don’t want to share your data with anybody else, it can be helpful just to you. Recently, for example, I moved a copy of Adobe Audition from XP to Vista. The settings didn’t come along for the ride, and it was a pain to reconstruct them. If systems and applications routinely reflected settings to a private space in the cloud, migration wouldn’t be such a headache.

Posted in .

10 thoughts on “Configuration debugging for normal folks

  1. The thing I look about the Mac System Preferences is that you can type


    etc… and it will point you to the same Network settings preference, even if ‘802.11’ the name is not featured at all within that preference panel.

  2. Maybe it’s just me, but I have always wanted to view the system settings/preferences like a directory listing (i.e. old school Windows detail view) so that modified date was exposed as a filter option.

    If this were available, perhaps it would have been of some use for tracking down Phil’s problem?

    If this is something that I’ve missed in the base OS, please point me toward it. If there are powertools feel free to redirect toward them.

  3. “I have always wanted to view the system settings/preferences like a directory listing (i.e. old school Windows detail view) so that modified date was exposed as a filter option.”

    That’s a great idea!

  4. Phil seems to have been out thinking himself. I don’t have anything close to your reservoir of tacit knowledge, but the first thing I would have done if my display looked wrong would have been to check the display properties. That is probably because I wouldn’t have any idea how to do what Phil did. Perhaps the skills of some with more of a mid-level tacit knowledge base, not developed over many years of experience, is at least tuned to solving the common problems. In this case it seems Phil thought there might have been some type of corruption or something. Less sophisticated users have to take the less sophisticated steps like going to the display or monitor settings rather than getting into binary search process.

  5. “Less sophisticated users have to take the less sophisticated steps like going to the display or monitor settings rather than getting into binary search process.”

    You have a point. I’m guilty of this myself: pulling out too much heavy artillery too soon. On the other hand, the problem here wasn’t in display settings, but in another area of configuration called Universal Access. So in the end I stand by my points:

    1. The problem of easily detecting what changed recently, across a diverse set of subsystems

    2. The problem of vocabulary.

  6. Yeah you guys took the engineer approach– as if you were the engineers building the MacOSX operating system and the only way to figure out problems is to rebuild it, and isolate causes. Normal people either ask an expert or someone who has experienced this before (tech support, friends, Jon Udell), or they use those search and help tools to find the UI control that fixes it.

Leave a Reply