Joel Spolsky is a vocal software developer who writes regularly on his website regarding software development topics ranging from interface design to project management. Recently, he published a book that collects a number of articles he has written over the past few years. This book, entitled User Interface Design for Programmers, discusses how programmers need not fear the development of user interfaces (UI) and outlines some guidelines and rules to demystify UI design.
As a former software developer turned Human-Computer Interaction (HCI) consultant, and one who has worked for years in the software industry with a smorgasbord of programmer archetypes, I felt his book and more importantly, the excerpts which I read in this area were particularly relevant.
Joel begins by describing the concept of control and its importance on a user’s perceptions and ultimately, potential frustrations. In particular, he mentions the importance of matching the user model against the program model leading to his axiom:
There comes a time in a project (hopefully near the beginning) when you’ll have to sit down and level with your developers. You’ll tell them all about HCI and user-centered design, and all the wonderful ways that grown-up projects behave. And although this talk may be difficult - heck sometimes it seems like we’re speaking a different language - it will be critical to your team’s growth and success. So how can we, as HCI people, talk about these things so that developers will understand and be responsible?
Here’s some suggestions:
Just because we wrote some serious stuff this week, don’t expect us to start being serious all the time now. Those who don’t want to read the essay can at least check the funky inline collapse/expand that KC implemented. I find myself showing and hiding the full articles just because I can.
Is anyone out there who’s reading this good at making Winamp skins or perhaps wants to learn? Tom and I have been talking about how it amusing it would be to actually USE the interface in the comic. If you’re interested, let me know and I can send you whatever source files you might need to get started.
Also, we’ve added a resources section. Enjoy.
A lot of comments that I want to address. I hope the commenters won’t mind me quoting them in the post so we we can further the discussions.
First, thanks to Joel for the link. We hope we’ve entertained the newcomers and you’ve taken down our RSS feed. We’ll have a mailing list up soon as well which will remind you when a new strip is out if you don’t use RSS.
I originally thought Winamp’s slogan was “It Really Kicks the Llama’s Ass”. As one reader mentioned, it’s “Whips” not “Kicks”. So I really intended the title of the comc to be “Whipping the Llama”. That said, I don’t hate Winamp. I use it over Media Player in fact, if for no other reason than that it minimizes to my system tray instead of task bar. I’m not saying I like it either. Let’s just leave it at that for now. The title just seemed appropriate. If anything was going to whip the llama, it would be the horrid interface up there.
I changed the styles so the article text is resizeable for IE now. Also further contrasted it and made the default size larger. Hope this is more readable for everyone.