The time picker on the iPhone's alarm app isn't circular, it's just a long list
55 comments
·September 1, 2025ChadNauseam
jakereps
> like a "keep my recurring alarm on, but skip it tomorrow" button (useful for when you don't want to wake up early on labor day)
If you use the Sleep feature, instead of a plain alarm for an “alarm clock,” it has had this feature for quite a few years now. Any modification made to Sleep, which is manageable from within the same Alarm app, prompts to ask if you’d like to change your entire sleep schedule or just apply the modification (shut off, or reschedule) to the next one up.
frizlab
> keep my recurring alarm on, but skip it tomorrow
You can skip the next alarm or change it when using a sleep schedule (special alarm for waking up, also support schedules for different waking hours depending on the day of the week; setup directly in the same location as any other alarms).
jama211
I don’t find it bad, just simple, which makes sense for a default offering.
viccis
The real nasty bug (or feature, not sure) in the alarm app is that you have to wait for the wheel to bounce and come to a stop before the AM/PM part "sticks". If you just swipe and click save, it will keep the previous setting and then your important 7am alarm stays as 7pm and you're late for work.
reneherse
That bug burned me a couple times before I switched to using 24-hour time exclusively on my devices.
For something that people use everyday, the iOS vertically-scrolling, fake-dial UI is just horrible in terms of usability and aesthetics, and I was glad when they added the ability to summon a numeric keypad with a single tap on the center dial.
The keypad input and interaction is extremely well thought out and efficient for setting the time.
PlunderBunny
They can’t code menus properly any more either - in macOS, try selecting something like a time from the drop-down menus for a reminder (on the main list of the reminders app, not in the window for editing that particular reminder). Immediately after releasing the mouse button while the cursor is over the time you want, move it slightly up or down while the flash animation occurs - you have now selected a different time with no warning. Completely inconsistent with the way every other menu has worked on macOS since 1984. Logged a bug years ago, but presumably they have better things to do.
rootsudo
Wow so it wasn’t me. All this time and Apple can’t code an alarm properly.
macintux
Setting alarms is one of the few tasks I can rely on Siri to handle correctly, so I haven’t used the app in years.
buggymcbugfix
One more reason to switch to 24h time? 0:)
joecool1029
What a good smartphone alarm app looked like over 10 years ago: https://nition.momentstudio.co.nz/2014/08/the-nokia-n9-alarm...
Discussion on it: https://news.ycombinator.com/item?id=19597253
Kwpolska
Google’s Clock app seems to do most of the things: sliders on main screen, circular time picker (though I’m not exactly a fan), and a toast notification with the time until the alarm fires. The only thing missing are the every day/never options.
jeremyloy_wt
Funnily enough, the Sleep Schedule settings screen on iOS (accessed through the Health app) looks very similar to this.
losvedir
The Android clock app is pretty solid and looks something like that.
As a switcher to iPhone earlier this year, so many UI quirks drive me utterly bonkers. Can't stand these slow rotating dials, and for alarms specifically, I miss the confirmation that Android shows you "going off in 12 hours" or whatever, to make sure you didn't get the AM/PM or day of the week wrong.
But mostly, these numeric spinners are just terrible. In the Hilton app I have to put my kids ages all the time and it drives me crazy spinning the stupid little things to set their ages. Sigh.
I don't know how iOS got this reputation as magical and delightful and intuitive. I'm ready to go back to my Pixel, I think.
frizlab
I think you can just tap the rotating thingies now and just enter the number on a keyboard.
EDIT: Just tested, yes it works.
fauigerzigerk
This works in some places but not in others - doesn't work in Timers for instance.
ahartmetz
A good smartphone, really. Crying shame that Nokia gave up just when they had the best product in a long time.
BiteCode_dev
Many people nowaday can't read clocks with hands, so if you want to sell to the mass, you need to take that into consideration.
jeroenhd
While that's true, the numbers are still clearly readable and their position alongside a circle still makes a lot of sense. The alarm itself is also listed in digital time.
riffraff
really? I admit I don't deal with many youngsters, but I never met anyone who can't read clocks with hands, I think they may teach it in primary school here. This is deeply surprising to me.
jama211
Even if technically know how if you rarely see them it wouldn’t come naturally to you
sokoloff
My kids are mid-teens. We have an analog clock on the wall in the dining room.
It's shocking to me how many of their friends (who are all on the "definitely not dumb" part of the distribution) either cannot read it at all or can read it only with obvious/significant difficulty.
sieabahlpark
[dead]
anotherhue
If we perfect the design we'll be out of the job!
layer8
I wish that at least the minutes/seconds were short lists, so you can quickly go to 00 instead of always overshooting and having to go back.
On PalmOS there was the app BigClock [0][1], where tapping on the upper part of a digit would increment it and tapping on the lower part would decrement it. That way you could quickly and predictably select any time with a few precise taps, without needing to rely on visual feedback like you have to with bouncy scroll wheels.
stirlo
I wonder if this is because the code was just never looked at again after it was written or if it actually survived rewrites?
Back in the day the iPhone was notorious for messing up alarm timezones and failing to activate with DST changes… https://www.abc.net.au/news/2011-01-03/alarm-failure-leaves-...
yreg
This is unrelated to timezones or Clock.app
The limitation comes from the UIPickerView system level UI component. I have a similar "bug" in my app.
kadoban
That's just a solid hack to avoid having to have a custom widget. Well done, random engineer.
godelski
One of the things I find most interesting is that the implementation for the Timer is distant from the Alarm. In the alarm you can roll over on the minute but you can't on the timer. Why these aren't implemented similarly is beyond me. Same with why it isn't circular.
Sounds like junk code that's adding unnecessary complexity.
egorfine
And we didn't find out for over a decade.
Speaking of practical solutions, right?
arjvik
If you’re reading this on your iPhone, go to the alarm app, press the + button in the Alarms tab, and try to scroll to the top or bottom of the time picker
650
Technically aren't the CPU cycles required to make it circular (via logic) a tradeoff to a list of 500 numbers stored statically (small size)
tpmoney
They're almost certainly not storing a static list of numbers. As others have noted, they're using a UIPickerView. The delegate for that class has two methods that are particularly relevant for this, one that gets the value at "current row number" and one that says how many rows are in the model. The logic for the "current row" is almost certainly the normal modulo logic we're all familiar with. But since the component needs a "size" value for the data set, they pick something arbitrarily large on the (reasonable) assumption that no one will actually ever scroll that far unintentionally.
SoftTalker
Yep something that years ago would have been worth the memory savings but now memory is cheap and even the CPU cycles are a non-issue: it's about what was faster for the developer to implement.
eviks
Technically you'd need precise measurements of specific implementations to determine that?
null
busymom0
The time picker is implemented using a UIPickerView.
Tutorial for "UIPickerView - Loop the data" involves "simply create a picker view with a large enough number of repeating rows that the user will likely never reach the end".
I guess Apple didn't think OP would reach the end.
https://stackoverflow.com/questions/26063039/uipickerview-lo...
firesteelrain
I think you could fake it by automatically snapping the user back to the middle when they reach the top or bottom. Still not “infinite scroll”
tsunitsuni
they do kinda fake it already. If you switch to another app, then switch back to the Clock or Calendar apps, it’ll snap you back to the top of the list
eviks
If only they took it as a hint that the whole linear-circular design is bad as it removes any predictable fixed points... But no, let's do bad hacks instead
The iOS clock app is so bad. Thank got we're getting AlarmKit in iOS 26 so people will finally be able to make custom ones. So many obvious features are missing, like a "keep my recurring alarm on, but skip it tomorrow" button (useful for when you don't want to wake up early on labor day), calendar-driven alarms, etc.