Why Technical People shouldn't design interfaces...

Published Fri, Jun 9 2006 4:24 | William

Not too long ago , I  discussed   the fact that programmers are pretty much the last people that should be developing interfaces. My point wasn't that developers are incapable of understanding good UI design concepts, it's just that for some reason or another, we tend not to be very good at implementation. 

Basically, it's what I've dubbed the "Pee in pool hypothesis".  The P.I.P.H states that, when discussing the subject of kids peeing in pools around people with children, it usually takes around 10 seconds before the parents abruptly state (out of the blue) "Well, I know many young kids may pee in the pool but __________(fill in the name of their child) *DOESN'T*.  We've taught ______________(fill in the name of their child) better than that and he/she knows to use the restroom." So based on parental observation, no one's kid would ever pee in the pool. Yet we know the water is yellow in the kiddy pool for a reason, so how do we reconcile the difference.  I think the word is called 'denial'  Anyway, the main point was that behind every really ugly user interface, behind every really ugly form factor, behind every awful design, is usually some techy guy who thinks he knows what users 'really' want.

  If this doesn't illustrate my point perfectly I don't know what does.  Talk about pissing on the parade (I know, bad pun).  I mean, what could be cooler than a $100.00 laptop computer?  Who wouldn't shell out an extra $100.00 just to have an extra Linux box (and if there were any justice in this world, there would be a law against technical support people who try to make a joke out of the phrase Linux/Windows 'Box' every time it's uttered)?  Sounds almost too good to be true right?  Yah, until you look at the thing.  Could you possibly come up with something uglier?  I mean, if first prize was a date with Tera Patrick, a keg of beer and a zillion dollars, could you even come up with something 1/10000000th as ugly as this?

Comments

# Blogus Maximus said on June 9, 2006 6:57 AM:

Damn! That is some kinda ugly. and just for the record, MY kid would never pee in the pool! Fer Sure!

# AndyV said on June 9, 2006 8:08 AM:

PIPH is a good analogy but for some entirely different reasons...

First, we have to train kids to do it.  Really, we do.  I just took my (four!) kids to the beach and we've been potty training the three year old.  She had to P on the beach but refused to go in the ocean until she absolutely could not do otherwise.  Similarly we train people to do bad UI by favoring the sexy stuff in the business layer, etc.  We so emphasize good separation that we cobble together *just enough* UI to get the job done and conince ourselves that -- since the UI is decoupled -- it'll be addressed later.

Second, PIPH works because it happens when we get used to the environment.  When a child first gets to the pool and has to go he heads for the bathroom.  But after swimming in the pool for a while there is no way they'd leave.  Just as sh!t happens, so does P...

So anyway, as a corrolary to #1, bad UI happens as we get used to the bad UI we use all the time.  We look at lots of bad UI and all of a sudden our bad UI isn't as bad.  After getting used to keying the data it's hard to break our habits on a particular screen and we actually *resist* the change.  We've become used to the pool and while it now may stink it's ours and it's warm(er) and we like it.  More P.

The final way that PIPH works is that it's acceptable because it blends into the environment.  This is subtly different than #2.  In this case we're talking about what we're adding to the environment being very similar to and in some cases influenced by the environment.  Techies are influenced heavily by tables and relational databases and heirarchical organization and so we design UI that imitates the target technology.  'It just makes sense,' 'obvious and intuitive,' etc are all true IF you have been trained to think like a computer.

So obviously the $100 laptop is a good idea b/c everyone will be trained to think like a computer.  We must need more pools, not better training.

That way MY UI will be gorgeous one day.

# Brian Madsen said on June 9, 2006 9:36 AM:

that's just about the same attitude i have Bill...i just posted, a somewhat controversial message, about what i think would be the minimum requirements needed for someone to call themselves an ASP.Net Developer..

i think i'll have to add "No design skills whatsoever!!!!" and "Uses Photoshop installation CD as a table coaster" to the list of skills (or lack thereof).

I've always felt that a good UI centers around what a client/stakeholder/user is comfortable with..and lets face it..developers just don't think enough along those lines for it to matter

# Andy said on June 10, 2006 11:58 PM:

On the Tera Patrick thing I probably couldn't come up with one that bad if she was the prize but I probably could for Jessica Jaymes. I guess the asian look just doesn't do it for me. But h3ll Bill you have met my girlfriend so you know if I want a smokin hot babe for no UI design I can just go home.

# William said on June 12, 2006 11:53 AM:

Andy C - no doubt, you are living *right*.  You have one of the coolest apartments I've seen too match.

# William said on June 12, 2006 11:56 AM:

AndyV - good points.  I was coming from the perspective that "No one acknowledges it yet it exists, so someone must be wrong."

THere are people that do things 'differently' just to be different. Often times, they don't have many good ideas and they get a chip on their shoulder about it. So they need to do something to be contrary or different.  This causes a lot of bad problems. Another comes from people that just cna't acknowledge that other people have valid insights. They can't take seeing someone else get credit, so they trash good design .  There's also a huge factor of "everyone else's stuff is so ugly that I'd reallly have to lay an egg for mine to not look good, no matter how bad it is."

I'm going ot have to rework my analogy in light of your points - I think it's still on target but I definitely need to polish it ;-)

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications