Last Friday, we released version 1.0.2.0 of our Method R Trace tool. I like any release that has a big long list of new features and bug fixes. It’s mostly little stuff, but there’s one feature in particular that I’m in love with. It’s our new file delete function.

Of course, we had a file delete function in MR Trace 1.0.1.0, and it worked just fine. If you’re a Windows user, it worked just like you’d expect. You select a file. You press Delete. A dialog pops up asking if you’re sure if you want to delete the file. You read. You consider. You click Yes or No. You move on.

That whole part there where the dialog pops up and makes you read and think and click before you can move on: I hate that part.

“Hate” is a strong word, but it’s just the word I need to express my aggravation. I hate clicking to confirm. It’s disrespectful of my time and focus. Clicking to confirm is a CYA design move implemented by lazy application vendors who defer their duty onto the very people who honor them by using their applications.

I wonder who came up with the click-to-confirm idea originally? I don’t think it came from Real Life:

You: And then the next thing is even more important, Roger; it’s... Um, excuse me, Roger. Bill, will you please delete the file I’ve selected? Now, Roger, as I was saying, the next thing is...
Bill (stepping in front of you, blocking your view of Roger): Excuse me, that file that you asked me to delete; do you want me to delete it?

Aagh... Bill’s just fired, right?

I don’t want a product with my company’s name on it behaving that way. So now it doesn’t. Now MR Trace acts like this:

You: And then the next thing is even more important, Roger; it’s... Um, excuse me, Roger. Bill, will you please delete the file I’ve selected? Now, Roger, as I was saying, the next thing is... (and the file is gone).

Period. You ask for the file to be deleted, and it’s gone. No nagging. You want it back? Ok, no problem. We built multilevel undo into 1.0.2.0, so getting your file back is easy. Click the undo button, or type Ctrl-Z (Cmd-Z on your Mac), and it’s back. You did three different file deletes this SQL Developer session of 1, 15, and 9 files? You can undo every one of them if you want. One click per undo. Your undo buffer clears only when you quit SQL Developer.

So now, deleting a file, which you do correctly 95% of the time, is only one click. Deleting and undoing, which you do maybe 5% of the time, is two clicks. That’s 105 clicks every 100 deletes now instead of 200.

MR Trace is supposed to be all about getting out of your way so that you don’t have to do anything extra to get properly scoped trace files from your SQL or PL/SQL executions. Interrupting your focus and requiring a confirmation every time you try to clean up your workspace is behavior that’s contradictory to our fundamental goal. So we fixed it.

I still smile every time I delete a file in MR Trace now.

I believe the duty of all software is to allow you to do your job more efficiently, effectively, and enjoyably; that effortlessness is a necessary design goal of any good tool. If you’re interested in this type of design philosophy, you might enjoy Joel Spolsky’s presentation at Business of Software 2009.