Nice, I had to test this out too. :) I would like to know what you are planning on using the press-and-hold-button for. Could you share some information on that? I see potential usages in my line of work too, so it would be interesting to know!
– dotmartinJan 27 '12 at 10:42

5 Answers
5

Cool. I didn't even know you could lock/unlock the OSD of a Dell Monitor. I just tried it and it works! ... Which is a good proof that you should try to avoid this kind of hidden ways to activate certain functions.

If you really need to do that, it at least needs to be shown on screen that:

You can hold the button pressed

What it will do in case you keep it pressed

How long you need to keep that button pressed (could be a countdown)

In that case I don't think it really matters how long you need to keep the button pressed. I'd say anything between 3 and 5 seconds would be fine.

3-5 seconds is way too long, a tedious task at that point. One second is enough.
– AndroidHustleJan 27 '12 at 11:56

Coming down from 15 seconds, I'd say 3-5 seconds is a huge improvement. It also depends on WHAT exactly the action does. If it's something that is not that important and/or can be undone quickly, 1 or 2 seonds would be fine. But if it is something more drastic, like shutting down a device, resetting to factory defaults,... I would make it slightly longer than 1 seconds.
– Bart GijssensJan 27 '12 at 12:54

of course. I'm thinking of it in the context of having it prevalent throughout a UI supporting the access to contextual menus etc. In that case having a long press being triggered after three seconds would quickly be perceived as tedious. But with the actions you described it's a good idea to have it triggered after a longer press, 3-5 seconds seems very reasonable for that, 15 does not. =)
– AndroidHustleJan 27 '12 at 13:06

Short presses are usually instant action, a long press of around 2-3 seconds iv experienced on some things which were a pleasure to use because of that.
(i.e on a mac, click and holding a docked application logo, brings up a menu after 1-2 seconds)

I think you can take a page out of how cell phones implement this type of functionality.

The "hangup" button actually does 2 things:

A quick press allows one to exit from menus, or do any form of cancellation.

A long press allows one to turn the phone on and off.

The long press tends to take about 4 to 5 seconds to activate with most of the phones I have used, so I would say 4 to 5 seconds is a good range.

However, if this is for a web application, users are more accustomed to "clicks. There fore a long press of about 3 seconds should be enough. You should also provide visual indication of a "long press" being held.

I would say a three second threshold for a long press is too long as well. I'd say one second is enough. That's the threshold for most smartphones and I don't think there are users experiencing continuous problems with that, ei. time and time again performs long press when they intend to tap.
– AndroidHustleJan 27 '12 at 11:59

Of course, for phones, turning off the phone can be rather "risky". If this is done on accident, it's an inconvenience. This should be considered when choosing the length of the long press. If it's not risky, one second is likely more than enough.
– user606723Jan 27 '12 at 15:13

If you are designing software, then the hardware references aren't really all that helpful in this instance. Phone are historically slow. It seems like I should have to replicate that slowness in pressing buttons. I regularly hold my 'end' button for 1-2 seconds to clear out of whatever I'm doing. Depending on your target audience, they may hold it longer (my mother does that).

Software is different because we are used to fast sofware. Pressing something for 3-5 seconds as mentioned elsewhere is much too long to do a drag. Ubuntu Unity's sidebar takes less than half a second before you can do dragging. That seems like a good reference to me. The only reason you might want to wait longer is if you think they might want to copy the text of your UI element, if applicable.

The Android platform provides the function ViewConfiguration.getLongPressTimeout(), which defines the standard long press time for that platform (excluding a little processing time). The first rule of UX is consistency, so if there's a standard for your target environment you should copy that standard.

I don't know whether Android provides "gold standard" behavior here, but the value returned by this function has been 500ms for most of Android's lifetime. (Some early versions returned a larger value.)