I am making the distinction between User Interaction Experience and pure User Interface (UI) design here, even though there is often a correspondence. You can have great user interaction even with a ‘boring’ grey interface, (note that a boring interface is not a requirement!).
My bookshelf contains the following:
What other books or resources would you add to this list?
I like these books:
Where do you turn when creating user interface? I am a programmer, not a designer. Any ideas? My "UI" is usually terrible, as I just want to make it work, what do you do?
If you're writing desktop applications, simply following the UI guidelines for your chosen platform will take you a long way.
If it's on the web then you're broadly screwed, you just need a designer.
That said, don't get fooled into thinking that UI design is all about the the visual appearance. Having the right interaction model is probably more important. A graphic designer isn't going to help you with that. If you don't have access to a UI specialist then try starting with User Interface Design for Programmers.
I was always bad at design, but after reading a lot about usability, simplicity, design and starting to analyse google's design and other designs based on simplicity, my UIs started to suck less.
I usually do it all myself - just because my budget is quite limited.
However there are some books that might be worth reading:
And it's always a good thing to look what other sites do that you like :)
The best book I've ever read on Usability/Interaction Design, and one of the best books I've read period, is a book called About Face 3: The Essentials of Interaction Design by Alan Cooper.
It's a fantastic book because it talks about a lot of fundamental concepts behind interface design for any type of interface, not just on the web. Understanding these concepts will help you make better creative decisions, especially when designing something that hasn't been design yet (like a new product or type of social website), not just help you copy what's already been done.