In terms of books for this field, it’s an oldie — published in 2000 — but it’s a goodie and holds up extremely well. Don’t Make Me Think should be required textbook reading for any UI design or web/app programming course. (It certainly is for mine!)
This book is not about design, user interface, user experience and code. It’s not a technical manual. Rather, it’s a guide to defining functionality, concepting, sketching, prototyping and usability testing. It’s not about physically making an app; it’s the theories and practices behind making an app that users will truly love — and return to again and again.