software development

Software Designer != Interface Designer

What is it about we IT folk that makes us so crap at interface design? Personally, I can sit down and crack out some sweet code without too much drama, but man I am shit at making the UI any good.

It’s not that it doesn’t work – it’s just that it’s not particularly pretty. Or intuitive.

One of the guys at my new work is case in point for this. He’s made a CMS style thing in dotnet for the internal projects and he had it up and going nice and quick and he can put a new version in a template in a day or two. Unfortunately it’s the biggest hunk of shit to use ever. If you update a page, when you go back to the menu it puts a javascript alert on the screen saying “Page Updated” Thanks for letting me know it’s updated – but did you really need to interrupt me to do it?

As a reminder for those who don’t remember, the Javascript ‘alert’ function is a modal box with a message that you MUST click before doing anything else. So when you’re going through updating all this content it’s

  1. Select page to change
  2. Edit content
  3. Click save
  4. Try to select next page but there’s that stupid alert again
  5. Click alert
  6. Swear
  7. See (1)

You know, nothing personal, good coder, but what a magnificently moronic choice for a way to tell the user something has happened – interrupting them.

For me, I don’t really want to be a UI designer. It’s too subjective for me; English, for example, was always secondary to Physics. But I’d like to think I get some of those things right…

On that topic – I need a new design for the PeopleHub Payments website. If you know someone, let me know.

2 replies on “Software Designer != Interface Designer”

Design is a tough gig. It’s that link between great code and a potentially stupid user. A great design gives the user a familiarity without having ever seen the system before. A good way to test your design is to write a list on functionality that your user will regulary perform and time yourself performing those activities. Count the number of clicks and screens you need before you complete the task and then aim to cut it in half.

As programmers we sometimes get into the zone of step 1, step 2, execute this command, step 3. Simplifying the complex is what good design is all about and executing 2 steps in one screen can be very helpful to a user.

Once you’ve cut down your clicks, time, etc. Give that list to someone who has never used the system and watch how they go through it to execute your instructions. I think this will be insightful for you.


I think you might be onto something there MacD. One of the thing my business parter does is use the systems i write and then bug me because it does something stupid that I didn’t even think about.

I guess that’s why they say you should eat your own dog food…