Wednesday, December 19, 2012

Human-Computer Interaction Class

Sometimes you might think that creating good user interfaces needs magic, which can only be done by MacBook-carrying designers, who wear fancy glasses, and can see ultra-violet colors. Let me reveal you a secret: It's not like this. Good user interface design is just a part of a proper engineering process, which can be done by everybody willing to take this seriously. In his HCI class Scott Klemmer tells us how.

I joined the class in spring this year out of curiosity and interest in the topic. How would an online class about human-computer interaction design deliver?

The class consisted of a series of video lectures accompanied by some quizzes, and a practical project, which was done in a number of assignments. These assignments built up on each other and went through all the steps of designing a user interface. For every assignment there was a peer-assessment step, where you got to see and evaluate what others had done, and you received feedback on your own work. This was the most experimental part, but arguably the most interesting one.

The assignments covered what is needed to create a good user interface, it started with need finding and some quick prototyping, continued with building and refining a functional prototype for user testing, and concluded with actually performing and evaluating the user testing. There was a huge focus on iterating quickly and gathering quality feedback as data for further iterations. So it really was more about observing and drawing conclusions from these observations than about magic creativity and beautiful artwork. It's something which everybody can do with a little bit of practice and awareness of what it is about.

The project I ended up doing was a personal travel assistant web site. I called it "I will travel...". I started with watching some people packing stuff for travelling and after going through some quick prototyping and feedback gathering I built a small web app to help with remembering and checking what to pack. I have documented the process as my story of Stanford's HCI class 2012. There you can find the material I created, and how I went through the different steps of the design process. I hope that this can be useful to some of you, who are interested in an example how to deal with human-computer interaction design. The prototype is running on Heroku as "I will travel...".

The course was an interesting experience. The lectures were great. They covered a good combination of overview and selected in-depth material, and they had a number of really insightful examples. I liked the one most, how to turn an abstract hard-to-understand number adding game into an intuitively playable graphical game by using some magic square (yes, this was the one occasion were actual magic was involved). We are talking about Tic-Tac-Toe here. The lectures also included a nice collection of book recommendations for further reading. I already knew some of these, and they are great.

The ongoing project was fun and creating a lot of insight. From doing something yourself you learn so much more than from just reading or watching. The peer-assessment going with the projects was sometimes useful and enriching, sometimes horrible. It took much more time than I and many others expected, because you had to go through a training and had to evaluate at least five other assignments before you could get ratings for your own. Many people dropped out because of that, and in quite some cases the feedback was only the bare minimum the course app allowed to give. That could be disappointing. But it was great to see and review so much of what others did. Lots of good (and also some bad) stuff out there.

You could definitely tell that this was the first time the course was done this way. There were a number of glitches and it would have been great if the course staff would have been a bit more active and responsive. But in the end it worked out fine, and I'm sure they learned from all of this, and later classes will address some of the issues. From some thousand students who started the course a bit less than 800 completed the full class.

If you are interested in what's behind human-computer interaction and you want to get some practice in a setting, which provides motivation and feedback, and is targeted at quick results, I can only recommend you to take the HCI class as well.