7 ms·
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 fro
by ibejoeb 2y ago
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.
- 542458 2y agoThe Web Content Accessibility Guidelines agree with you. Doing things on mousedown is considered an accessibility issue. https://www.w3.org/WAI/WCAG21/Understanding/pointer-cancellation.html https://www.w3.org/WAI/WCAG21/Understanding/pointer-cancella...
- abtinf 2y agoThat document gives quite a bit of latitude in appropriate implementation, including Carmack's preference for act-on-press with undo.
- 542458 2y agoThere 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”.
- casperb 2y agoI use this quite a lot as well. Holding the merge button on GitHub, while thinking it through one more time. I could get used to act on press, but this is my current muscle memory after 30 years of computers.
- PlunderBunny 2y ago(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.
- ZiiS 2y agoOdd example as chess is often played with rules that forces you to move a piece you touch.
- Retr0id 2y agoIt is, and as an amateur player I find it a very frustrating rule to play by.
- eviks 2y agoThat's what makes the example good as you might remember the pain from this rule being enforced when you've touched n mistake
- 8372049 2y agoYes, but you can at least move it elsewhere as long as you haven't let go.
- dusted 2y agoIt'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.
- abtinf 2y agohttps://twitter.com/ID_AA_Carmack/status/1787853145197904063 https://twitter.com/ID_AA_Carmack/status/1787853145197904063
- aaomidi 2y agoYeah if that memory sticks around, then its probably a core/foundational one. John is just outright wrong.
- bmitc 2y agoHe 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.
- aaomidi 2y agoLiterally ignoring the accessibility aspect of this too. People have shaky hands folks!
- pests 2y agoShaky hands or button manipulation issues can be a problem for act on release too. Click correctly but you aren't on target during release.
- deleted 2y ago[deleted]
- SquareWheel 2y agoIn 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.
- jagged-chisel 2y agoWhile 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.
- eterm 2y agoSee also "Never use a warning" (2007): https://alistapart.com/article/neveruseawarning/ https://alistapart.com/article/neveruseawarning/
- tialaramex 2y agoYes. 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.
- NackerHughes 2y agoWhy would a fake bank phishing scam site have a brick wall UI? Surely they’d want to make it as easy to enter your bank details as possible.
- hresvelgr 2y agoI 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.
- bmitc 2y ago> If it's draggable, don't make it clickable too. 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.