2024-07-01
Modifying and setting alarm times: a phone UI irritation
Over on the Fediverse, I mentioned a little irritation with my iPhone:
Pretty much every time I change the time of an alarm on my phone I am irritated all over again at the fundamental laziness and robotic computer-ness of time controls. What I want to do is move the time forward or backward, not to separately change (or set) the hours and the minutes. But separate 'hour' and 'minutes' spinners or options are the easy computer way out so that's how UIs implement it.
My phone's standard alarm app has what I believe is the common phone interface for setting and modifying alarm times, where you set the hour and the minute separately. There are two problems with this.
The first problem is what I mentioned in my post. In the case when I'm modifying the time of an existing alarm, what I want to do is move it forward or backward by some amount. Where this time change moves the time of the alarm over an hour boundary, I must separately adjust the minutes and the hours, and do the relevant math in my head. I can't just say 'make it half an hour earlier', I have to move the hour backward and then the minutes forward, in two separate actions.
The second problem is that this interface is also not all that great if I have an exact time for an alarm. If I want to set an alarm for exactly, say, 10:50, this interface forces me to first set '10' hour and then '50' minute, instead of just letting me type in, say, '1050' (the sensible interface is to infer the separation between hours and minutes, so you can use a basic number entry interface). The iPhone's standard alarm application actually supports direct entry of alarm times, but it's not exposed as an obvious feature; you have to know that you can tap on the time spinners to get a number pad for direct time entry.
How this situation probably came about feels relatively straightforward. Spinner fields for selecting between alternatives are a broadly used UI element and are available in standard forms in the system's UI libraries. A UI to adjust times forward and backward would have to be specifically designed for this purpose and would have limited use outside a few contexts. You don't even have to assume laziness on the part of the phone UI designers; if you want to do a good job of UI control design, it needs things like user testing to make sure people can understand it, and you can only do so much of that. It's not difficult to imagine that user testing for something with narrow usage would get pushed way down the priority list in favour of things with more usage and higher importance.
(There is also the issue of UI standardization. Spinner controls may not be ideal for this purpose, but because they're commonly used, people will likely be able to immediately recognize and use them. A custom UI does not have this advantage, and you can argue that setting alarms is not important enough to make people remember a UI just for it. After all, how often do you change the time of alarms? I'm likely an outlier here.)