Wednesday, January 24, 2007

Why ctrl+S should always mean "save"

Fadi Hasweh introduces a primer on keyboard remapping in Oracle Forms with the following scenario:

"my development team asked me to disable ctlr+s for saving they don’t want the end user to you use it to save, he must click the save button, they want to make sure that he want to save and its not just an habit."


I must admit I find such user hostile action rather provoking. This action just creates a system which fools its users into thinking they have saved their work when in fact they haven't.

Our users live in a world of applications they use all the time. They bring that experience to the systems we build. If our systems don't work the way the way our users expect (i.e. like all those other apps) they will hate our systems, and, by extension, us. Apart from anything else, disabling certain keyboard input punishes those people who prefer to type rather than drive a mouse. We might as well build an annoying pop-up widget to wag a graphical finger and remind them that they didn't click the magic button.

Besides, what is the danger of a user saving too often? Such behaviour usually indicates previous traumatic experiences (such as major loss of work due to persistent network outages). Or else it might indicate a badly designed system with workflow chunks that are too big and an insufficient number of POST calls. If anything, users tend to save too infrequently rather than the other way round.

Of course, users are often unreasonable in what they expect of in-house applications compared to professional products. Like demanding rich-client levels of interactivity from an HTML interface. But that doesn't mean we developers should go out of our way to patronise, annoy or confuse our users. As the author Spider Robinson once observed, "Me, I have a science fiction writer's conviction that the damn robot is supposed to speak human, not the other way around."

Update


This is just a specific example of a general principle: that users who are familiar with computers are much less likely to read the manual than neophytes. A phenomenom known as The Paradox Of The Active User.

6 comments:

Anonymous said...

Please, as an Oracle user, keep the Ctrl+S functionality. I'd report it as a bug and think the software is sub-par if it came with save functionality but Ctrl+S didn't work.

SydOracle said...

Hmmm. I recall (possibly incorrectly) that you can make Forms validate the current field automatically when a button is clicked, but not in response to a key-trigger (where you'd add a VALIDATE_ITEM command).
I suspect they've found that their application ASSUMED that the button would be used to save and just doesn't work if they use the Ctrl-S and they don't like the idea of fixing it.
I agree with Paul. It's a bug.

APC said...

To be honest, it has been such a long time that I worked as a Forms developer (for which I am thankful) I can't really remember how it actually works. I am more intterested in the principle of the thing.

Cheers, APC

Joel Garry said...

CTRL+S??? That means stop all data until the CTRL+Q!

APC said...

Joel, I am not going to fall for that one ;)

Anonymous said...
This comment has been removed by a blog administrator.