I am a UI programmer.  I work on the BrowserUI team.  Of course, very little of my time is spent actually making UI--the buttons and toolbars and such.  Adding a button takes a few minutes out of my week.  Writing the code to implement whatever the button does takes most of my time.  When I do write new UI, though, such as dialogs, etc, you can be sure I have a copy of Microsoft Windows User Experience open to page 451.  In the class I have been taking at the UW I have had to install a lot of free applications to do various mathy things, and the horridness of some of the UI has really made me sad.  I am not going to name names; all I ask is, please, put some thought into your UI design! 

The following is a list of things I have seen these last few months that really bothered me:

  • If you have an edit box to enter values, make it usable--do not require me to move a slider or use up/down arrows.
  • Do not put up modal dialogs that require information that I may want to cut and paste from the parent of the modal dialog.
  • Please make all of your controls keyboard accessible and please bother to check the tab order makes some sort of sense.
  • Do not allow me to enter values in two different controls that conflict.  When informing me of the conflict, please describe it clearly.
  • If you know what a given setting needs to be, just do it.
  • Please use color schemes that are reasonable: black text on white backgrounds; good.  Black text on green backgrounds; bad.

All of this and more can be found in the book; ranting about bad UI is not novel.  Even if you do not program for Windows, much of the content in the book is useful in making your app usable and making it look professional.

I am sure we can find plenty of Microsoft UI that violates guidelines in the book, with and without excuses for doing so.  I am embarrassed to admit I checked in a truly terrible dialog as an intern, but I promise I have learned from the mistakes of my youth.  I have seen the light; I have become a member of the Pixels-Matter school.

I just needed to get that off my chest.  Thank you for indulging me.