Don’t design like a programmer
21–30 of 34 posts
Re: Don’t design like a programmer
#22Gregg "Skip" Bailey, Manager of Human Factors, The Church of Jesus Christ of Latter-day Saints.
Iterative methodology and designer training in human-computer interface design, Proceedings CHI '93
This pseudo-scientific study pitted Skip and his team of highly trained designers versus old mainframe programmers (two of whom graduated college). They used an interface design tool--Skip and his design team had prior experience with it--to create interfaces for retired Mormon volunteers. The retirees made more errors with the programmer's interface and presto.. the myth of poor programmer designers is born with all the statistical significance generally found in CHI papers.
Re: Don’t design like a programmer
#23These design articles are interesting but I wish more would provide examples of what you should do instead of just what you shouldn't.
[1] http://www.codinghorror.com/blog/2006/11/this-is-what-happen...
Re: Don’t design like a programmer
#24These design articles are interesting but I wish more would provide examples of what you should do instead of just what you shouldn't.
Exactly. I've seen the GUI wget example held up as a bad example [1] before, but I've never seen anyone try to produce a "good" wget interface. [1] http://www.codinghorror.com/blog/2006/11/this-is-what-happen...
Re: Don’t design like a programmer
#25I'm not quite this bad, but here's one of the things that happens to me: Very early during the programming process, I'll create a debugging console -- an arbitrary, ugly GUI that lets me control the values in the data structure. For testing. Weeks later, when I want to design an intuitive interface, that debugging console seems very intuitive to me. It's hard to ask, "Where would a user who wants to do X look?" since…
I've been there but found that having a debugging console (or generally, using any UI over and over to repro some steps while you're developing) ends up being a huge time sink. It's often much more sensible to invest time into building a unit test to guide your development instead. As a result, now I don't create much debugging UI but try to unit test, which gives me more time/inspiration to build actual UI. (Borrowi…
Re: Don’t design like a programmer
#26Seems like a better way to put it is: Design first, then develop. Which, in my experience, is a good idea whether you are responsible for the design or not. If you have no data structures or other programming limitations to work with, you can focus on perfecting the interface and then worry about making it happen. If you already have the program written, it is natural to want to take the easy way out and just slap up…
To that end, I think it's a good thing that we recognize these are different roles. The fact that each role has a different set of audiences means they can specialize in catering to those audiences, which improves effectiveness. The issue is when we DON'T recognize the difference and try to lump them together.
Re: Don’t design like a programmer
#27Re: Don’t design like a programmer
#28One of my clients explained this phenomenon perfectly to me once, and it's an explanation that I've yet to see anywhere else. Programmers are accustomed to thinking in abstracts: data structures, pointers, memory addressing, program logic, pipes, files, and so on are all abstract concepts. Although you can describe them using strained metaphors for the real world, they don't really represent real-world things. But mo…
I suspect you could find this in other fields - for example, I'd be that a commercial airlines pilot is pretty good at maintaining a complex mental model of his aircraft's systems in his head. But very few of those fields are asked to create products / experience for a set of users that does not have that same capacity to deal with abstract mental models.
Making that worse is the fact that at least in most physical systems, there are constraints on complexity and process, or established social scripts for a process. (E.g. most of us "know" how a restaurant works, and we all definitely know how the ordering process works.) Software doesn't have those constraints so you can get into trouble fast.
Re: Don’t design like a programmer
#29These design articles are interesting but I wish more would provide examples of what you should do instead of just what you shouldn't.
Exactly. I've seen the GUI wget example held up as a bad example [1] before, but I've never seen anyone try to produce a "good" wget interface. [1] http://www.codinghorror.com/blog/2006/11/this-is-what-happen...