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.
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.
Can you explain how extra numbers would happen if it simply triggered on press?
Do you often mis-press a number, then drag your finger out to cancel?