If you search “Hate Computers” on Google… you get some interesting results (even more image results). It shouldn’t be surprising, I don’t know about everyone else, but I hear people all the time saying they are not computer people, or they can never get computers to do what they want it to do, or computers and them just don’t get along. In fact there have been a few times when people have looked at me with what can only be called adoration because they “could never do that.” Really, it’s a good thing computers aren’t sentient or we’d probably have a computer revolt on our hands. Even I myself, who is kind and good to all technology, have had the occasional urge to break my [insert tech gadget here] over my knee because the thing wouldn’t do what I wanted it to. I’ve never really thought about the animosity the human race has towards computers until just recently, but I’ve come to a enlightening realization.

There is a central reason people don’t like computers (or aren’t computer people). It’s not because computers are hard to learn or because computers hate them or any reason like that. The reason people don’t like computers is because someone with a job like mine didn’t do their job right.

Make no mistake, the reason why people hate anything from computers to smart phones, from remote controls to cars, from radios to fancy blenders, and whatever else is because they were poorly designed. If all programmers, software designers and engineers, hardware designer and engineers, etc. designed their software and technology gadgets correctly, everyone would love computers. There is only one problem—designing technology is a hard thing to do.

There is never any telling what the right configuration is when you’re designing software for other people—if there are two people, they will inevitably want the same software solution to be different than the other. So what’s a programmer to do? Understand usability.

Usability is the most important aspect of technology design.

There are a lot of good recourses to learn usability. My absolute favorite recourse for usability is Don’t Make Me Think by Steve Krug. (I’ve been wanting to read Rocket Surgery Made Easy, also by Steve Krug, for a while too, but I haven’t yet.) Don’t Make Me Think is an excellent recourse for simplifying things on your website or application. I wish that every developer would read it.

I think that above all, what we as developers need to do is think like our user base, but that’s not enough, we have to ask them what they want and how they want it. Once we’ve developed it, we need to ask them if we did it right.

What do you think?