I'm sure there are many contexts in which this is a good idea.
For many others, though, I like to be able to press, move whatever pointing device I'm using from the hot zone, and release to cancel the action. It's like holding the chess piece.
There isn’t that much latitude - the “up reversal” and “essential” options don’t really apply here. That only leaves “Abort or Undo”. The concern here is with UIs feeling snappy, so we’re not talking about the type of long-running task where abort applies, which leaves Undo. So - no longer is it a simple matter of “just use the mousedown event, stop overcomplicating UIs by adding things like long press and drag/drop that force you to use mouseup events”, it’s a much more complicated matter of “use the mousedown event and also implement a comprehensive undo system”.
While my own habits agree with you, there’s a gold nugget in the replies to address accidents:
> Just do it, but allow it to be un-done.
No matter what the action. This might mean rearchitecting that interactive flow. It might even need deeper rearchitecting for other tasks. But “allow undo” should definitely be an option for “action on press” flows.
Yes. Humans experience regret, "consent" is mostly a trick we use to get people who experience regret to blame themselves, not us, for what happened.
We should prefer (and in software this will almost always be possible) to undo the regrettable action instead of demanding consent.
In some cases we can do even better and prevent the regret itself with "Brick wall UI". Brick wall UI is a design where the thing that you definitely don't want to do isn't possible. As designers we have to put more effort in to ensure that this only arises where it's genuinely never what you wanted to do, otherwise it's just incredibly annoying.
The idea in Brick wall UI is that the user's experience is potentially, especially initially, the same frustration as if it was broken. Why won't the barrier open so I can drive my truck under the bridge? Why can't I use my login token to access this banking site and see my transfer details?
And maybe, eventually, sat at the Brick wall UI, the user realises why and is glad. "Oh! My truck won't actually fit under the bridge, I just avoided an expensive mistake" or "Wait, this isn't my bank it's fakebank.example, it's a bloody phishing scam". Or maybe they don't, for hours, or days, or weeks, but since it was never correct that's actually fine.
But the scammers don't control your UI, the UI belongs to the browser.
The Brick Wall I was particularly thinking about is WebAuthn. There could (but shouldn't) be a UI where I can say Oops, silly site has used the wrong URL, lets provide my real site credentials anyway. I can give the scammers my real credentials, they can steal all my money everybody is happy. Oh except me, I guess I'm miserable - but only after I realise what happened. Instead there's a brick wall here, WebAuthn can't authenticate to the bad guys. I'm sat there until I either realise that it's a scam or I give up and maybe phone the bank about their apparently atrocious UI (and then maybe realise it's a scam).
>I'm sat there until I either realise that it's a scam or I give up
Well, there are ways to do this (for an easy example, just edit your hosts file). But the barrier of entry is high enough that a non technical person will give up even if they're completely oblivious.
Undo is a good standard for nearly all actions in nearly all software.
(The main exception I can think of being games were not having an undo can often be integral to the experience. Eg Counterstrike should definitely shoot on press, and not allow you to undo bullets.)
It's a perfect example, that rule is not there to make it easier to play the game, it's there to make it harder.
This is common in lots of sports, think about pistol shooting, you're supposed to shoot one handed, arm straight, shoulder to target. That's NOT the best way to shoot if your goal is to hit the target, it's the best way to shoot if you want a challenge.
(Physical button, but…) There are many reasons why I dislike the Apple Touch Bar, but the most important one was that – as a software developer – I’m used to resting my finger on the F5 button.
I am in mouse down camp. When it comes to dragging off a button to avoid triggering, I've done it many times, but it always feels wrong. It's like I'm taking advantage of faulty behaviour. Because of that instinct I'm inclined to believe that there's a better alternative available, like being able to undo easily.
On the note of draggable elements: don't overload affordances on UI elements. If it's draggable, don't make it clickable too. It creates a conceptually simpler experience. As for drag scrolling on mobile, that requires intervention to avoid erroneous triggering. Though when we're talking about "clicking" we're talking about Desktop + Mouse.
But that simply just doesn't work. For example, hyperlinks are both clickable and draggable. It doesn't make sense to remove one or the other because of some strange reason. There's a reason why actions are taken upon release and not upon down. There's literally no reason to take action on down.
He also isn't making any sense. Why would someone keep in memory all the times something did what they expected? I am absolutely certain that if all buttons were act on press, there would be quite a few painful memories. Every time I encounter act on press it sends me.
This is a typical engineer scenario of trying to reason something as if it is a scientific or engineering fact when in reality it is just a massive personal preference.
In many ways, on release is even worse for shaky hands. Imagine trying to use the vote icon next to this comment with your hand shaking. You need to both click and release without leaving the icon, which is extremely small.
With on click, it only requires lining it up once before executing. There's less follow-through required. And as a best practice, there is an undo button.
For many others, though, I like to be able to press, move whatever pointing device I'm using from the hot zone, and release to cancel the action. It's like holding the chess piece.