UI Design in Development World

Jeff Atwood over at Coding Horror yesterday wrote an interesting article about designing user interfaces, prototyping, and getting locked into design patterns based on code rather than user expectations.

He quoted a fellow named Rick Schaut about the ideal way of going about software development:

When you’re working on end-user software, and it doesn’t matter if you’re working on a web app, adding a feature to an existing application, or working on a plug-in for some other application, you need to design the UI first.

This is hard for a couple of reasons. The first is that most programmers, particularly those who’ve been trained through University-level computer science courses, learned how to program by first writing code that was intended to be run via the command line. As a consequence, we learned how to implement efficient algorithms for common computer science problems, but we never learned how to design a good UI.

Notice the emphasis I put on ideal above. In too many cases where there’s a large team working on a project, and I’m the only one looking at UI and User Experience, the UI is developed after the coding has already begun.

This becomes particularly problematic when a new application is being built, and assumptions are made about what users want without considering the results of usability testing and analysis. C’est la vie.

Microsoft Expression Suite and Launch

MS Expression

Last night I was at the Microsoft Expression Suite launch, and I suppose, since they fed me free beer and mini hamburgers, I should say a few words about what I thought about the event. Other companies, take note! All you need to do to get me to write about your product is to provide free beer and miniature foodstuffs (kidding, of course, all you need to give me is beer).

This is where I’m going to explicitly link to my disclaimer before I go on to describe the product and my opinion. I’m also going to say that I was in no way paid or compensated to write this whole thing up.

Keep reading for my thoughts on the event and product suite.

Read more

Processing

Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production.

I came across Processing earlier last year after stumbling on a number of projects that were making use of it, including We Feel Fine and Universe, and hope to get in to tinkering with it at some point soon.