Usability is one of my areas of special interest. One of the elephants in the development room is that we often make applications that make perfect sense to the person who put it together or the team that's been hammering out the details of the project, but it completely baffles real-world users.
A good usability effort starts before any code is written and involves putting in effort throughout the entire development process to ensure that the application is as good as possible. Unfortunately, usability isn't usually taught in schools, and courses are fairly expensive. However, there are a number of good online resources for learning more about usability, such as Jakob Nielsen's useit.com website. Have you had the opportunity to learn about usability?
Justin James is the Lead Architect for Conigent.