I've been doing a lot of thinking about and working with interfaces lately. There's a massive pitfall to the "do what Windows does" tenet that I've not thought of a way of overcoming. The pitfall is ...