I found a link to an eBook on User Interface Design while on the redhat fedora project site (http://fedora.redhat.com I believe). It is by Joel Spolsky and from what I've read so far, is very amusing and very relevant.

It's rather long (it is a book, you know) so I won't copy and paste the article here (also, I doubt that would conform to copywrite laws), but I strongly urge any programmerwho has to write any sort of user interface to read at least the first couple of chapters.

I hope this hasn't already been posted, but if it has please accept my apologies (I did search the forums and also used the "Has my topic been posted before?" link).