Make everything reversible. Never bend your interface to fit a metaphor. Never make the user ask to ask. No crisis within a computer is worth humiliating a human. No matter how cool your interface is, less of it would be better.
Nobody wants to remain a beginner.
Obey standards unless you've got a darn good reason. One user's excise task is another user's revenue task. Optimize for intermediates. Provide an escape from dragging, and inform the user. Purchase the right software then buy the computer that runs it.