←back to thread

631 points wojtczyk | 2 comments | | HN request time: 0s | source
Show context
jb1991 ◴[] No.41407501[source]
On mobile devices, Apple’s Calculator app has always been one of the most frustrating apps I’ve ever used, and I’m surprised it’s a stock app by the company itself. If you press buttons quickly, like you would a normal calculator, many of the key presses simply don’t register at all. I’m not sure if they’re prioritizing some pretty little visual animation over actual functionality, but it’s incredibly surprising from a company that focuses on user interaction, supposedly.
replies(10): >>41407553 #>>41408727 #>>41409391 #>>41410813 #>>41410995 #>>41411245 #>>41411348 #>>41411674 #>>41412179 #>>41412268 #
artursapek ◴[] No.41407553[source]
The lock screen is even worse. I have to slow down to input my passcode or button pushes don’t register.
replies(8): >>41407568 #>>41407872 #>>41408010 #>>41408407 #>>41408581 #>>41408604 #>>41408714 #>>41410833 #
tolmasky ◴[] No.41408604[source]
It’s very easy to reproduce this bug, even if you don’t go quickly. Basically, if your tap becomes a “swipe” that leaves the button area, then a previously registered “tap” that’s already shown up in the field will actually “unregister” and disappear from the field. Try it yourself: tap down on a button, watch the dot appear, then without lifting your finger, swipe out of the button, and watch it disappear. This happens a lot when tapping quickly since you are tapping and beginning to move your finger in the direction of the next button. You have to train yourself to make only up and down motions to be able to go quickly. It is indeed very annoying. The way these buttons should work is like telephone buttons (registering on the “mousedown”, not “mouseup”), and not like OK buttons (that register on the “mouseup”), but instead they chose a weird combination of both.
replies(1): >>41409569 #
moritzwarhier ◴[] No.41409569[source]
The "keypress" behavior is not a bug in my opinion, it's a well-established behavior across platforms.

You could do the same thing with a button+mouse on a desktop. The dot for the typed character appearing immediately is different from alphanumeric keyboard behavior, because you can't register any key press before releasing the touch (or key) there, due to composition.

In my opinion, this is sensible behavior and your vision sounds like it would be a nightmare in reality to me, accidentally pressing neighbouring keys or tapping instead of swiping all the time.

Is this any different on Android? I've used Android for most of my smartphone life.

And I can't remember how often I was relieved to be able to cancel an accidental tap by swiping away, when I accidentally tapped a link while scrolling for example.

This is even the default for mouse buttons, no?

It happens, while rarely, still regularly, that I notice I pressed the wrong button just after the mousedown, but before the mouseup. And since I can remember, I was happy that the UI was made so I could then just hold the mouse button and move out of that button to cancel.

Just verified your description of the lock screen code buttons. Not a bug, but the behavior you describe would feel buggy to me.

There are plenty of UX annoyances on iOS though, that is not what I want to deny. I also prefer GBoard over apples builtin onscreen keyboard.

replies(2): >>41409609 #>>41409669 #
tolmasky ◴[] No.41409609[source]
There’s always been two button modes. “mouseup” is indeed the most common. However, “mousedown” is used in certain cases where the feedback is immediate, for example in the phone app where the number shows up as soon as you tap. However, notice that the lock screen uses neither of these, but rather a strange combination of both: it registers on “mousedown”, just like the phone app, showing a new dot in the field, but then will “unregister” if you move away and lift your finger, removing the dot. As far as I can tell, this is the only place buttons work this way.
replies(1): >>41409712 #
moritzwarhier ◴[] No.41409712[source]
Yes, but I feel this is totally Ok here?

I think it would slow me down even more if it didn't have this behavior, because of typing in extra unintended numbers?

I don't have any issues with typing my passcode in quickly, and tbh hadn't noticed the tweak with the immediate feedback on "tapdown" (and the possibility of the number disappearing).

Would have to try, but I still feel I prefer the current behavior to what you suggested, and I'm pretty sure it's intentional.

Anyway, thanks for bringing this up, hadn't noticed! I'll admit, for me this is good interaction design.

replies(2): >>41409837 #>>41410894 #
1. tolmasky ◴[] No.41409837[source]
Your comment implied that this was following the traditional pattern where moving away cancels an action before it takes place. I hope we at minimum agree that the Lock Screen uses a unique behavior that doesn’t exist anywhere else in the UI. I really think you’re just confusing this third interaction mode we’re describing with the traditional mouseup mode that has existed for 3 decades everywhere else.

The simplest comparison point is the calculator app which behaves exactly as you described: if you put your finger down on the number 9, a 9 won’t show up until you lift up your finger. OTOH, if it worked like the Lock Screen, a 9 would show up, but would then be removed if you moved your finger away and lifted up. But again, nowhere else works this way.

If you think this is good interaction design, do you thus think the calculator app has bad interaction design? That it should instead be adding numbers immediately and then retroactively removing them?

replies(1): >>41460647 #
2. moritzwarhier ◴[] No.41460647[source]
No, I didn't think of that Code entry character "preview" before in any way. Especially since it's only a dot appearing in practise.

It's just that I usually attempt to enter that code quickly if I have to, so I never consciously noticed it.

It seems great to me because when I enter my code slowly, I'm probably having input problems anyway (e.g. rain, thin gloves, tiredness).

And in these situations, the behavior felt so natural to me that I only now notice it.

I agree it may seem weird from a coherence standpoint, but the character appearing on keydown like it does just felt natural to me, just like a Win98 native button-down state.

These buttons don't behave like physical push-button phone buttons.

Regarding the calculator, the use case is the exact opposite, and I wasn't arguing against this regular "keypress" behavior anyway, just against the original suggested "keydown" behavior, which I'd consider a nightmare when used for tapping an on-screen keyboard.

The "bastardized" version on the iOS lock screen just has suited me well for this use case, especially when talking about numeric lock codes