NPR did a story recently on the computer screens that we see in the movies. You know the ones with big read “Access Denied” messages that look nothing like anything you have ever seen in real life. The story was called Hollywood's Computers: Telling A Story In A Flash and it got me thinking. My first thought was that students would love creating that sort of thing. But of course many teachers believe, too often correctly, that students spend too much time creating graphical user interfaces and not enough time creating code as it is. On the other hand I wonder if we teach enough about good user interface. Perhaps we can (or should) avoid the effort on creating UIs during the first course but shouldn’t we start somewhere?
I was speaking to students recently and asked them “How many of you have used a computer program that your parents could never figure out how to use?” Lots of hands went up. (Note students will never admit in front of their peers that they can’t use some program.) My reply to the students was that we need to fix that problem and maybe they will be the ones to do it. Well I can hope but can they really if they don’t learn about user interface design? Which actually brings me back to the movie mock ups.
One of the comments on the NPR article by a designer is that the screens have to tell a story. That makes perfect sense in the context of a movie doesn’t it? But what about in working applications? The book “Made To Stick” talks about telling stories as a way to make ideas stick in people’s minds. Good teachers tell stories all the time and we know it works. So could our computer user interfaces tell a story? And if they did would they be easier to use? It’s an interesting idea I think.
So I wonder if students could spend some time creating mock up user interfaces and seeing if they can do a bit of creative story telling. I’m not exactly sure how it would work but Visual Studio and languages like Visual Basic and C# make it pretty easy to do. (You can use the free Visual Studio Express Editions, inexpensive MSDN AA membership or DreamSpark for students to get it) Could we challenge students to make user interfaces that are easy to use, that are expressive, and that just plain communicate better with users. We can follow it (or lead into it) with discussions about UIs that work well or work poorly, that are confusing or simple, that are easy or hard to remember. Can we take lessons from the movie mock ups to create user interfaces that work? Any one know if there is research on this? Does it sound logical to you? Talk it up with students, peers, and others and leave a comment or two here. I’d love to know what others think about this idea.
It's important for students of Computer Science to learn how to create a good user interface, if for no other reason then to properly demo something they have created. If the GUI is completely terrible, no one will give it a second glance, even if the functionality is good.
As a student, I wish I heard more CS Professors give proper credit to the importance of a good GUI. I think it's a good move. Computer Science doesn't have to be just about code - it's about thinking. Making a good GUI certainly requires that.