Musings from Mike Atkinson on Internet strategy, usability, and more...

Should engineers design software?

Before I get to answering the question at hand, let me first share the story from which I extracted the answer.

It’s a fascinating tale about a guy who gets laid off from Apple, but continues to go back each day and work on the project that was cut. Yes, he volunteered for Apple! And since the company is so huge, no one really noticed – at least no one who mattered.

So, I recommend reading the story. It’s awesome.

Now, back to our regularly scheduled programming…

In this grand story, the author talks about his software going into user testing:

I had long been proud of the elegance and simplicity of our design. I wanted our program to ship with every Macintosh, so I had designed it for all users, even those who know little about computers and hate math. I wanted to make mathematics as easy and enjoyable as playing a game. In a classroom, any time spent frustrated with the computer is time taken away from teaching. Sitting behind a two-way mirror, watching first-time users struggle with our software, reminded me that programmers are the least qualified people to design software for novices. Humbled after five days of this, Greg and I went back and painstakingly added feedback to the software, as if we were standing next to users, explaining it ourselves. (emphasis mine)

I’ve written enough software for websites and conducted enough user tests to know that feeling. Ugh. I thought it was SO perfect!

And I’m not an engineer. In these projects my focus is on usability. But you can only go as far as your own knowledge/experience can take you.

This is why user testing is so valuable.

Now, I have many good friends who are programmers/engineers. They are a rare breed. I’d take just a fingernail-sized amount of their intelligence and feel fortunate. But their, shall we say, uniqueness causes problems in the software development process. Too many of them develop for themselves – and that just doesn’t cut it when folks with wildly different levels of proficiency are using that software.

The bottom line is that the bottom line will be affected in the development phase if you choose to do it right. It will include the involvement of usability folks doing testing throughout the process. So it will take longer and there will be more changes.

BUT…you get a much better piece of software!

And let me make a point that may not be so obvious:

A website is a piece of software!

All of this applies to the process of building a website. And, while most people just don’t have the money to include user testing, everyone needs to understand that there will be problems down the road (or, in many cases, immediately).

A quick example: On the Celebrate Your Marriage project, we were pretty proud of creating a way to appeal to many audiences right on the homepage (newlyweds, with kids, almost divorced, etc.). But, after we launched the site, they started getting comments from visitors who expected to click on the Newlyweds link and go to info regarding content in the conference specifically for them. Whereas, the purpose was to take them to a persuasion page to help them decide that the conference was for them.

What we missed was that the listing of profiles needed a simple header. Once we added “WHO SHOULD ATTEND” above it, no more complaints!

Now, that’s a very simple example, but it’s representative of the things that can negatively impact the effectiveness of a website.

For those who can’t afford full-blown user testing, then employ your family and friends! Watch them navigate the site. I’ve learned a lot over the years doing this. It’s testing on the cheap!


name Remember