This is a great book on creating user interfaces, but I think the later chapters are truly the most important when it comes to creating really usable systems. Understanding the problem and it's domain can be the hardest challenge in writing usable software.