February 23, 2010
We talked a little today about the importance of building a more fruitful dynamic between hackers and designers.
Some of us are pretty good designers. Some of you are pretty good programmers. We could all be making awesome shit instead of us nagging to clean up the fringes of existing UI messes. We’d rather be designing things that profoundly improve people’s lives; insights about what they want, need, current things that really trip them up in big ways.
But we’ve been framing the hacker<->designer conversation around low level usability. Maybe we could get more done if the default conversation was different? If it happened earlier? If it was about deep design rather than surface bodangles?
Establishing a Fruitful Design Relationship
A number of us at the hackfest think that hackers would respond well to “bigger more meaningful designs”… introduced into projects closer to the get-go… vs the streetfighting to accomplish minor usability gains on fundamentally flawed UX approaches.
Here are a couple facetious morality plays to illustrate, from my experience, positive vs. not positive hacker interactions I’ve had. The “yes” ones are based on interactions with some of the best UI hackers I’ve had the pleasure of working with; hackers like Havoc, Jrb, Marco Pesenti Gritti, and many more that go down as unsung heros of a dark and troubled age. I think the results of these type of interactions speak for themselves. I think trusting good designers results in a much sexier, more profoundly interesting end product, which was more fun to program.
* Sadly, up-front design also causes premature balding and space-aids. Your results may vary. Please consult your physician before undergoing a course of treatment.
I think these hackers have also learned a lot more as a result of the interaction, and have become excellent UI designers in their own rights.
Without further ado, morality plays…. (hint: Jesus’ words are not in red)
hackmaster2000: hey, I implemented this dialogue last night, could you take a look at it and help me make it better?
cryanblark: YES! blah blah. blah?
hackmaster2000: blah blah? blah blah
cryanblark: blah blah blah.
hackmaster2000: ok, here’s a rough cut, of the dialogue, I had some new ideas like X and Y, what do you think? could you take a look / try this out and tell me if its right?
cryanblark: baby, you are too good to me
wankmaster2000: hello, I have written piles of code with no input. the design is way way way off the mark, but I think it is awesome, and even though you could have designed a better one out your ass while being waterboarded, I am also too lazy to make any major changes because I like it just the way it is.
cryanblark: Well, um, you’ve really encoded some suboptimal UI ideas at a very low level. I would concentrate on this and this high level idea instead if you want to make a substantial improvement.
wankmaster2000: no, my friend Jeremy likes this crazy shit just the way he is, and he’s totally a normal guy. Please give me different suggestions.
cryanblark: urgh, fine, here are some small tweaks you can make, a relabel here, a repacking here, some HIG spacing over on that. Quite honestly, these really don’t improve the fundamentals of this bad design you’ve presented, but at least I won’t have to gouge out my eyes.
wankmaster2000: Wow, these trivial repacking changes you’ve suggested are different than the arbitrary layouts I made without thinking at 3am last night at the end of a meth bender. I demand you provide hard evidence that these useless polish changes are better than what I had before. I demand you usability test this change to verify this worthless POS for me and find all the trivial polish points that will actually make little to no difference on this stinky stinky turd of an application and then certify it as “usable”.
cryanblark: We good designers rarely admit this in public, because it seems hard to say, but quite frankly design is mostly about deep skill, experience, observation, and good common sense (just like coding, bitches). Usability testing is good for finding important rough corners in designs that are already pretty damn good, it can’t get the right design structure in place in the first place. Are you suggesting we work like natural selection…. you make random retarded changes, and then I use usability testing to select against the bad ones, rinse and repeat for 5 billion years?
wankmaster2000: I understand that “usability testing” a badly designed app is a time consuming and worthless procedure when you could do a much much better starting ground design in about 5 minutes, but that is not hard science is it? please don’t tell me you are just a fuzzy wimp?
cryanblark: I have taken out a contract on your life.
hackmaster2000: Hey, I’ve worked on X and Y, and I want to start a new project / do a major UI revision to do Z. Could you help me get a good design as a starting point?
cryanblark: !!! I love you!
hackmaster2000: BTW, please tell me if Z is the wrong question to be asking, and if there’s a related goal that makes more sense, or a bigger picture I should be thinking about in solving this… I’d rather tackle something significant rather than write code that has the same fundamental UI premises as existing solutions, and thus ends up with the same mediocre solutions. I really want to do something better. Lets talk about the real problems and attitudes my users might have.
cryanblark: you are the most awesome hacker ever…
< long conversation ensues >
hackmaster2000: you haven’t 100% convinced me on UI points R and Q, but I want this app to be awesome, and I bet in the absence of 100% assurance that your best UI guess is better than mine, so I will implement your mockup as-is anyway… can we revisit this once I’ve got some people trying it and revisit points R and Q and see if you still think that’s the right way?
cryanblark: I will gladly bear your young.
wankmaster2000: I have largely ignored your input the many times I have bothered you in the past. But I want to discuss Y with you. Here is a screenshot. Everything you say will be deemed a “suggestion” and ignored. I insist you argue with me. This will take hours.
cryanblark: I hate you.
Please feel free to contribute your own morality plays about how designers are wankers too. Because, god knows, we are fuckups too. I have no doubt some of you can write some very funny designwanker morality plays. Please do? Ad-hominem attacks and favorite memories encouraged (no, seriously, this is fair game, and could be very funny).