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