Here are two interesting articles by Mauro Marinilli on User Interface Design commenting on Usability Heuristics such as, knowing your user, minimising load, maintaining consistency following standards and displaying system state.
The first article also looks at Short Term and Long-Term Memory and a few other high-level tips. There are also great links to valuable Usability links.
Article1: The Theory Behind User Interface Design, Part One
Article2: The Theory Behind User Interface Design, Part Two