There are books out on how to follow one company or another's GraphicalUserInterface guidelines, and some people have even started to try to formulate one or another theory of operation here (see BertrandMeyer's ObjectOrientedSoftwareConstruction, TheoreticalBasis principle).
So I thought rather than collect a bunch of rules of thumb, it may be wiser to collect some principles and truisms ("the obvious is a good place to start" -- TimOttinger) and see what patterns further develop. Also, I think this is a good place to start collecting links to patterns about GUI design.
Principles and Truisms:
A problem I have is that this is much easier to say than to do, especially the KnownRepresentation. I think that most GUI toolkits (HammerTruism) make it really hard to build meaningful representations for data manipulation. I can't find any satisfactory UI kits with Internationalization/Localization support. MFC in particular is horribly broken.
What is really required to build UserInterfaces this way?
A couple of questions:
Aside from copying button images from Microsoft or some other industry (bully or giant, hard choice), how do we decide on which KnownRepresentation is right for more abstract concepts (print preview, chat, etc)?