Software usability is pretty important. Where would we be if somebody hadn't invented the iPod? What if your personal computer never evolved past the command line interface? How sad would it be if video game controllers never advanced to become the Wii remote or even have rumble feedback? Life just wouldn't be the same.
I've argued with fellow computer science students about the importance of learning a thing or two about usability many times in the past. I have always felt that the kind of computer science degree we get from schools like Carleton (where I got mine) should include a mandatory course that covers some of the basics, including user and task analysis. My opponents give the argument that a computer science degree should teach computer science -- pure computer science -- and keep all this other stuff optional. I would agree with this if it wasn't for the fact that our degree isn't really pure at all. It includes a healthy mix of practical programming knowledge and software engineering concepts. If we had to devote an entire class to requirements, use cases, and class diagrams, would it not make sense to require students to look at the important stage that comes first? And even if students go on to be researchers or programmers that never touch a line of code in the user interface, would it not still be valuable to know how to think about those who will eventually use their code?
Linux has come a long way since I first really used it at work five years ago. Ubuntu is almost accessible to the masses. Perhaps if a few more of its programmers were forced to take a class on usability, I'd be able to remove the "almost" ;). Seriously, though, I'm impressed with what they've been able to do lately. Since I don't use Linux all that often (gasp!), I appreciate that it's easy to get things done when I get back to it.
In The Great Ubuntu-Girlfriend Experiment, a geek sits his girlfriend in front of a fresh install of Ubuntu to see how easily she can complete some basic tasks. How much she ends up being able to do is testament to the progress of the operating system. Finding the web browser and changing some basic user preference settings prove to be very easy. Creating a drawing and saving it in a few formats takes a little more effort, as does figuring out how to download music via a torrent. Figuring out how to sign into MSN with Pidgin results in success eventually, followed by a few Linux-hating messages to friends.
But there is still more that can be done. Hence that term "almost" accessible used above. The girlfriend had a really hard time installing certain software, including the Flash plug-in for Firefox. I love the package manager for downloading and installing things, but outside of that, I find installing stuff hard, too! It really makes you appreciate the Windows installation wizards that are so standard these days. Handling other devices, including other partitions, has also improved a lot, with some easy-to-use UI shortcuts. Even still, you have to be familiar with some slightly more advanced terminology to know what you need to do, making using even a CD-ROM confusing for the general public at times.
When I visited Google New York in May, several tech talks were put together for us. I was thrilled by the "Life of a Product" panel because half of the people were involved, in one way or another, in matters of usability! Right from the concept, user information is gathered from many sources. You can tell they do the testing properly when you see the double sided mirror stuck between observers and users in the neat little testing room. After a product is launched, Google always make sure to collect feedback about how people are actually using it, and how they would like to be using it. Several panelists reiterated my sentiments about wanting to see more instruction on this kind of thing in school. Always nice to know that Google thinks your ideas are good ideas, too!
Perhaps if topics of usability are better integrated into CS curriculum in the future, new and exciting paradigms can be invented sooner rather than later. I sure wouldn't mind ditching the mouse if something better came along. If nothing else, we should at least be able to count on continued improvements to the software we know and don't love so much today.