Some Problems are Not Meant to be Solved

I work in an industry where weird problems occur every day, and they can only be solved by actually figuring out the cause and doing something different. In other words, you can’t gloss over the problem and call that a solution. The field is technology (a.k.a., information technology, IT, information services, general geek-folkdom, “help” desk, whatever…).

That’s the traditional thinking, in any event. There is generally an idea that once you are talking to the right people about your problem, there is a way to solve the problem. Of course, when you are talking to the lower level tech-nerds at the first-level help desk you don’t necessarily expect a solution. Most people at that level have gotten used to the idea that they may be asked to do some vaguely helpful (but often time-consuming and disruptive) things like:

  • Clear the cookies
  • Reboot
  • Uninstall and reinstall
  • Just ignore the problem

But when you are speaking with the third-level support or the system administrators or the programmers who wrote the system, or any member of an expert group, there is sort of an expectation that the problem can be solved.

Of course, on the one hand that is true – any problem can be solved. On the other hand, many problems should not be solved – they just aren’t worth the trouble (for the typical consumer or office-worker).

For the problems that aren’t worth solving, companies often deal with this issue by simply re-imaging the machine, which brings everything back to a previously known good state. Constructing that previously known good image initially and ensuring that it can easily be deployed to any user very quickly is a very costly process.

There are other ways, of course, for dealing with problems that aren’t worth solving. One is to avoid them ever happening in the first place – either by building your system to be very simple, focused, and easily swapped-out in the rare case when something goes wrong. For example, my Chromebook laptop is this sort of system. It’s a laptop, built on hardware that is very stable (the firmware in hardware tends to be much more stable than the software in operating systems) and essentially all it can run is Google’s Chrome browser. It’s just a really, really dumbed-down operating system. Not much can go wrong because it just doesn’t do much, relatively speaking. And when things do go wrong the Chrome OS team have a few ways of dealing with that. Most importantly, they deploy updates to the system (automatically and forcefully) every six weeks. And in the rare case that a problem is so severe that the computer just stops working, you can simply buy a new Chromebook laptop, logon, and it feels just like your old system since all of your data and settings are already there – the most severe problems are mostly irrelevant because they don’t happen very often and they are not catastrophic.

It also helps the Chrome OS team that they only need their software to work well on a very small number of hardware configurations. I tried to install the operating system on my Lenovo netbook but couldn’t quite get it to work. But it works just dandy on their partner’s laptops (currently only from Samsung). It’s a heck of a lot easier to build a stable operating system if the underlying hardware falls within a very limited and controlled range. That’s one of the big advantages that Apple has always had.

This post was inspired by a question I read this morning on my newly favorite tech community website (Stack Exchange):

I have a problem with my Windows 7 which fails to startup, and it happens frequently. I already tried to fix it, but nothing happened. I checked my hardisk and there is no badsector detected.

– Windows 7 hangs at Welcome screen with “EXPLORERFRAME.dll” error

I came across the question while using the site’s tools to browse through unanswered questions – the idea is that I was trying to help clean-up the site by trying to close-out some old questions. Sometimes a question sits around unanswered because it wasn’t asked very clearly. Sometimes a question has already been answered, but the answer was given in a comment and never got marked in the system as an answer. And then sometimes you get questions like the one above that are asking for advice on how to solve very complex problems that could have all sorts of causes.

I guess on the one hand you might say that the question above is not scoped specifically enough to make it a good candidate for the Stack Exchange community. The question does not have a clear and verifiable answer. On the other hand, it’s not really fair to tell a poor user of consumer technology that his question is not specific enough. He has a catastrophic problem in his system and he probably doesn’t have the skills to isolate the problem any more than he has already done. The question was asked on Super User, not on Stack Overflow or Server Fault, so I think there is an expectation that the people asking questions might not be very technically knowledgeable or have enough skills to give all the details needed to really solve the problem. But the truth is, the answer to the sort of question asked above can take a very long time for even an experienced techie to solve – and many times the best solution (as pointed out in the comments) is to re-install the operating system.

But again, how to help the user? And how to give a satisfying answer to the question in the case where the user never comes back to give further information? After all, if the question is on the site the community does want it to be helpful to future users who come searching for answers later. It’s not very helpful to have a very open and complex question with just a few suggestions about what various people did when they had similar symptoms – there’s no reason to think that similar symptoms were actually caused by similar problems. Maybe the best answer to the question is to try to frame the problem in this way, to help the user to understand the larger context and the fact that some problems will never be solved.

After all, if the user had come to a medical-topic version of the same Stack Exchange site and asked “When I tried to get out of bed this morning, I found that my foot was gone and I couldn’t walk. What should I do?” – no doctor in his right mind would start out by assuming that the user was ever going to be able to solve his own problem, even given the most expert advice in the world.

Every problem is solvable, but some are not “meant” to be solved. Users usually don’t know this or want to hear it – even techies (including myself) often ignore this.

But on the other hand, even the problem that doesn’t get solved is still solvable. To the guy who tried to get out of bed with no foot there is a simple answer that is within anyone’s grasp: “Start learning to live with one foot.” 🙂

Enhanced by Zemanta

2 Replies to “Some Problems are Not Meant to be Solved”

  1. I sort of agree, and sort of disagree. One thing I really, really despise about Windows is that I can’t track down a problem to the offending line of code. Mysterious things happen all the time. And whenever they do, more often than not, I’m at a total loss as to why.

    On all of my Linux systems, I can always find out exactly why something is going wrong. It doesn’t matter what weird hardware is there or anything like that. If it’s a driver, I can pin it exactly on which driver, and if I took the time, I could fix the driver myself. When my motherboard had a hard failure mode in which it would lock if you did too much network and disk IO at the same time, it was obvious where the problem was from how the system acted. I’ve never had a problem under Linux that I couldn’t trace to the exact thing that was causing the problem.

    OTOH, I can see someone I support having an odd problem that I could figure out the answer to, but it’s just not worth the time. I don’t think though, that I would be wiling to let it go. All the people I support are either personal friends, family, or drawn from a very small pool of co-workers. I hate unexplained problems, and I don’t think I’d be able to really let it go.

    1. I definitely hear you. It is hard for me to let go of the attempt to solve every technical problem. But also, I do often realize when a friend or family member comes to me with a problem that is a complete show-stopper for them that in my own technology day I actually encounter many more problems than these friends do. Some of them I solve but most of them are not very serious and I have just gotten very good at working quickly around them. So I’ve gotten better at avoiding show-stoppers even if I don’t fix them. I try to help “users” to learn to do the same and I think the availability of a wide range of more specialized commodity devices can really help with this, at least for certain types of users.

      But, I am mostly a Windows guy, and I guess that does put certain hard limits on what is solvable… 🙂

Comments are closed.