See PrincipleOfLeastAstonishment and EricRaymond's UnixPhilosophy? http://www.catb.org/~esr/writings/taoup/html/ch01s06.html#id2878339
The gist is try to do things the same way other programs do them such as copy/paste/undo/save