Remix.run Logo
The time picker on the iPhone's alarm app isn't circular, it's just a long list(old.reddit.com)
266 points by oidar 3 days ago | 124 comments
viccis 3 days ago | parent | next [-]

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.

PlunderBunny 3 days ago | parent | next [-]

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.

godelski 2 days ago | parent [-]

Go try the shortcuts app. It is an absolute nightmare. Get a few blocks to fill up the screen and then put something at the end. Good luck... the work around I have is put a nothing block at the end.

But that's not even half of it. I had a nice rsync script on termux that would back up my media to my local machine via rsync if I was on WiFi and connected to my local SSID. Like 20 lines including the logging. But I still haven't found a good way to do this with an iPhone. Best idiotic hack I've found is shortcuts were I ssh into the machine and then write the file if it doesn't already exist or dump it to /dev/null if it does. It's dumb that I'm mimicking rsync. It's dumb I have to dump to /dev/null. It's dumb I have to define a fixed number of videos and images. It's dumb I'm using shortcuts and can't just use a terminal emulator because all of them can't get access to my photos folder "for my protection". This is so much unnecessary complexity for what should be a trivial task and I can't even guarantee it gets all my media without crashing! This shit is driving me insane. If you wrote shortcuts I'd like to buy you a drink because I am absolute impressed with how terrible this app is. Like do you all program it blind? I just need to know

reneherse 3 days ago | parent | prev | next [-]

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.

clickety_clack 2 days ago | parent | next [-]

I once had to use a timesheet app that required scrolling around for all the times during the day. Timesheets are already horrendous, why compound that skin-crawling experience with such a horrendous UI? It was so hard for management to corral everyone to get the times entered that they went back to spreadsheets.

apple4ever 2 days ago | parent | prev [-]

Holy cow when did they add that tap??? The UI is bad and I always struggle finding the right type. Now I can just type??

rootsudo 3 days ago | parent | prev | next [-]

Wow so it wasn’t me. All this time and Apple can’t code an alarm properly.

godelski 2 days ago | parent | prev | next [-]

Switching from Android to iPhone caused lots of problems and this was one of the big ones.

But what pisses me off the most is when I've talked to other engineers/programmers about this (or similar issues) they just dismiss me with things like "you're not holding it right", "okay, but what's the value?", or "is it really a big deal?" (Yes, it is a big deal that I set something and then it undid itself! Yes it's a big deal, that's why I'm fucking late and we're having this conversation!)

Like come on guys, we're being paid north of $100k/yr (most well above that) and you can't just take the time to fix things? Earn your wage. Take some pride. Push back against your manager or just fucking fix it if it's quick.

I swear, there's so much added complexity in these systems created by people proclaiming we need to keep it simple. What's simple about the alarm clock and timer clock having different interfaces yet are visually identical? What's simple about duplicated calendar events that could be hidden with a regex? What's simple about a system that can't find contacts with identical names, hiding the process for users to manually merging them, and adding a new birthday event when they finally succeed?! (This literally happened to me. My partner had 2 contacts in my phone, 3 birthdays, and when I merged I ended up with 4 and 3 I couldn't delete because they weren't associated with a contact...)

We're making software worse. The AI isn't replacing jobs because we're getting more productive, it's replacing jobs because we pushed the bar so fucking low I'm more impressed to see that the code isn't written in Perl or Brainfuck

hopelite 2 days ago | parent | prev | next [-]

I wonder if that’s also related to a bug or buggy UX, where in iOS safari you have to wait for the website scroll momentum to stop before the bookmark button context menu from long-press will fire/appear.

I guess it might all be computationally more efficient and better on battery life?

jdlyga 2 days ago | parent | prev | next [-]

That's why the sleep/wake up alarm exists. It's a really nice UI. You set your weekly schedule, and if you need to push your alarm back, it uses a circular clock UI showing you how much sleep you'll get.

addicted 2 days ago | parent | prev | next [-]

Wow, this explains an alarm I missed literally yesterday which ended up being set to today AM instead of yesterday PM like I thought I set it.

buggymcbugfix 3 days ago | parent | prev | next [-]

One more reason to switch to 24h time? 0:)

macintux 3 days ago | parent | prev | next [-]

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.

godelski 2 days ago | parent | next [-]

I'm a bit confused by your comment. Are you saying OP is holding the phone wrong? Offering an alternative solution? Just making a comment about how it isn't an issue for you?

macintux 2 days ago | parent [-]

It was both a suggestion for an alternative mechanism that might prove less frustrating and a gripe that Siri is still, after so many years, mostly incapable of being a useful assistant.

_kyran 2 days ago | parent | prev [-]

Not sure if it still exists, but a few years ago there was a bug that if an alarm was created using Siri, it wouldn’t make a noise at the set time. It would show as a switched on in the clock app, but wouldn’t actually do the one thing it was meant to do.

kyleee 2 days ago | parent [-]

That’s part of the fun of Siri - it will be a surprise!

aaron695 2 days ago | parent | prev | next [-]

[dead]

teekert 2 days ago | parent | prev [-]

I can never remember if AM is After Midnight or After Midday or PM is Post Meridian or Post Midnight, or it's something like that, not to mention when 12:00 is... is it 12:00 or 0:00?. But ah well, I'm lucky to be in a place where we use 24h clocks (but hey, max we see is 23:59:59!) (unless they have arms). Btw, the iOS calendar is (was probably) also pretty "broken" [0]

[0]: https://www.youtube.com/watch?v=ER1a6jgW1Gs

madaxe_again 2 days ago | parent | next [-]

AM is ante meridian - PM post meridian. Meridian is midday.

godelski 2 days ago | parent | next [-]

Another way to remember is that A is before P alphabetically. Probably easier to remember if you don't need the other concepts

01HNNWZ0MV43FF 2 days ago | parent | prev [-]

But midnight is exactly 12 hours post and ante meridian. And meridian is neither 12 hours post nor ante of itself.

Where I can, I just say "noon" and "midnight". 12-hour time is frustrating because of this 0 == 12 bullshit

exidy 2 days ago | parent | next [-]

This is the problem with the digital world. Time is analogue and continuous, digital clocks are just a quantised approximation.

Midday and midnight are points in time that have no duration -- as soon as they are observed they are passed, so midnight is 12am and midday is 12pm.

This is easier to visualise on an analogue clock with a continuous seconds hand. Although the hand sweeps past 12 it spends no time there.

Alternatively think of a digital clock with very high precision. While your ordinary clock will show 12:00pm at midday for a full minute, your high precision clock might be showing 12:00:00.0000001 -- indisputably "post meridiem".

bubblebobble99 2 days ago | parent | prev [-]

That’s the point though. They are called noon/midday and midnight. There is no am/pm on the 12. It’s 11:59pm, midnight, 12:01am, and 11:59am, midday, 12:01pm. Really it’s not that confusing, it’s just two points in time in the whole day and it’s fairly easily to tell which of them you are at unless you are close to the poles.we’ve managed to cope this long with them.

exidy 2 days ago | parent | next [-]

This isn't right. Midday / midnight are not the 60 seconds it takes for a digital clock to go from showing 12:00 to 12:01. They are the infinitesimally small point in time that mark the transition between "before" and "after".

Like throwing a ball up into air, there is no time where it is not either rising or falling, but there is a point where it transitions from one to the other.

So midday is 12:00pm. As soon as the moment has been observed it has passed, and you are now "post meridiem".

dimava 2 days ago | parent | prev | next [-]

Except 12:01 is in 24-hour clock which doesn't have 12:00 problem in the first place

godelski 2 days ago | parent | prev | next [-]

  > There is no am/pm on the 12.
This is 100% false. What are you even talking about? It's so obviously false too

  > it’s fairly easily to tell which of them you are at unless you are close to the poles
How does looking out the window help set an alarm?

  > we’ve managed to cope this long with them.
Look, I'm American too and I get AM/PM but lots of the world uses 24hr clocks. Maybe if you stop talking about how smart you are you'll actually be able to hear the question you're trying to answer. It'll go a long way to making other people think you're smart.
zoover2020 2 days ago | parent | prev [-]

That's a lot of mental gymnastics to say 24h clock is easier

ThePowerOfFuet 2 days ago | parent | prev | next [-]

PM is noon and beyond. AM resumes at midnight.

hopelite 2 days ago | parent | prev [-]

You almost had me all confused with that much confused and wrong information.

It’s really not difficult, or are you doing that juvenile bit where derision masks the incompetence you admitted to?

Just remember A comes before P.

But on a related note, do you tell people you will meet at 16 or 22 o’clock? I guess if you speak some other language that strongly types time with “…Uhr”, “…Uur”, “kl.…” it makes sense that you might not notice a difference. We can just say 4 or 10 and no one is confused, based on context, that it does not mean in the middle of the night or next morning, unless of course it’s a morning related context.

It’s simply far more human oriented, just like the US Customary Measurement system is a human scale system because it was devised by humans for practical reasons and purposes, to work quickly and efficiently, not necessarily to a nanometer precision. The different systems can exist at the same time, your zealous mindset notwithstanding.

gield 2 days ago | parent | next [-]

I'm in a country that uses the 24 hour clock. We also say we meet at 4 or at 10, and are able to derive from context whether that means in the evening or in the morning.

radicality 2 days ago | parent | next [-]

In Poland we’ll most often use the 24hr time even when casually speaking and setting up meeting times, or people talking on tv/radio etc. Imo much simpler and less confusing

hopelite 2 days ago | parent | prev [-]

Then you don't use the 24 time? What are you even saying. America uses the 24 time too, but it's a large country with many different nations and cultures among it that all do various different things, but I don't get all presumptions and condescending about it like the zealots that demand everyone use metric and 24 hour time and then don't even practice what they preach.

teekert 2 days ago | parent | next [-]

Indeed in speech people use the 12 hr clock here (Netherlands), and you know that nobody wants to meet at 4 in the morning, so people (at least I) translate to 16:00...

We have Dinner at 6, not 18:00 (people would be frowning if you'd say 18:00 out loud there). In messages I think I'm one of the few that always says "16:15" because I just hate ambiguity. If context does not clarify enough people say "in the morning/afternoon/evening/night But (easily) arguably "context" is even worse than AM/PM! Though I can't remember this going wrong ever.

I remember as a kid looking at a digital clock and subtracting 2, then dropping the leading 1 to get a "feel" for the time. Nowadays I'm 24h native and don't like the ambiguity of 12 hr references.

I set al my clocks to 24 hr (unless they have arms).

So yeah, here we are, all cool with our "military time", ahum.

nickserv 2 days ago | parent | prev [-]

That's because everyone should be using decimal time, clearly the superior representation.

https://en.wikipedia.org/wiki/Decimal_time

justinrubek 2 days ago | parent | prev | next [-]

If there's a zealous mindset here, I see it coming from this comment.

It's significantly easier to use a 24-hour clock and get rid of AM and PM. In fact, it's so easy to use 24 hours that I use it exclusively for my internal time, and I do commonly get confused by times like 12AM - is it day or night? It has a 12 instead of a 0, somewhat confusing.

I also refuse that the metric system is more difficult for human scale measurements. Ever since I switched, I have had a stronger fundamental connection to the units, and I can visualize the world better. It's significantly easier, and I would call it MORE human oriented.

Yizahi 2 days ago | parent | prev [-]

Sequence starting at 12, 01, 02, 03 etc. is "human oriented"?

hopelite 2 days ago | parent [-]

What do leading zeros have to do with whether people use 12 hour time instead of 24 hour time?

Why is this stuff challenging, it feels like reddit over here. My point is that saying "we will meet at 4" is more human scale than "we will meet at 16" because it segments the context window into morning and afternoon for which most humans and situations do not require additional external context to put meaning to.

Yizahi 2 days ago | parent | next [-]

Leading zeroes have obviously nothing to do with my question. Reordered integers did though.

You'd be surprised but people in Europe also don't say "sixteen o'clock", they say "four" or "seven in the evening" if it is ambiguous. But at the same time the physical clocks and texts between people have completely clear and unambiguous time, one can understand it instantly. Why with British/USA time, when the clock is between 12 and 1, I always need to stop and analyze which of the bullshit time segments it is referencing, because of the wrong order of numbers, starting at 12, then going back to 1, then forward to 2 etc.

roryirvine 2 days ago | parent | prev [-]

In the UK, it's pretty normal to say "oh two twenty-three" for 0223 or "fourteen thirty-five" for 1435.

But when being less precise, we might say any of "half two this afternoon", "two thirty pm", or "fourteen thirty" depending on context.

As we do still use the 12 hour clock in less-formal situations, using an "oh" prefix for times before 1000 gives an extra point of disambiguation.

nickserv 2 days ago | parent [-]

Interesting that you say the 'o' to explicitly indicate the 24h format.

In France we just say "let's meet tomorrow at 8 hours" for example, to which the person has to ask something like "Wait, do you mean at 8 hours or 20 hours?"

It's usually obvious from the context, but not always.

joecool1029 3 days ago | parent | prev | next [-]

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 3 days ago | parent | next [-]

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.

kevincox 3 days ago | parent [-]

One of the best features is that when you save the alarm you get a little toast (not a fully notification) "Alarm set for 9 hours and 22 minutes from now." It seems pretty silly, and can be a bit depressing when the number is less than 8h, but is the most obvious indicator when you set the time wrong.

Doxin 2 days ago | parent | next [-]

As someone who's really bad at time, I cannot tell you how often that toast has saved me from missing an important appointment. Easily the best feature any alarm clock can have if you ask me.

2 days ago | parent | prev | next [-]
[deleted]
NewJazz 2 days ago | parent | prev [-]

can be a bit depressing when the number is less than 8h

Lol get out of my head

losvedir 3 days ago | parent | prev | next [-]

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.

cosmic_cheese 3 days ago | parent | next [-]

> 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.

Most of that reputation comes from the days when iOS was simpler, more opinionated, and wasn’t shy about how it wasn’t trying to make everybody happy. As more and more functionality has been tacked on in attempt to appeal to a broader audience, it’s been chipped away at. There’s still some ways it’s nicer than Android in my personal opinion, but often it’s just as bad with a different set of papercuts.

There’s probably a hole in the market for a mobile OS that intentionally does less in a very polished way. A lot of people don’t need their phones to do even half the things they’ve become capable of.

frizlab 3 days ago | parent | prev [-]

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 3 days ago | parent [-]

This works in some places but not in others - doesn't work in Timers for instance.

jeremyloy_wt 3 days ago | parent | prev | next [-]

Funnily enough, the Sleep Schedule settings screen on iOS (accessed through the Health app) looks very similar to this.

godelski 2 days ago | parent [-]

I found switching to iPhone weird given there's different UX for setting alarm through health app, which is different from the alarm in the clock app, which is functionally different but nearly visually identical to the timer in the clock app.

I guess it "just works" and I'm holding it wrong

ahartmetz 3 days ago | parent | prev | next [-]

A good smartphone, really. Crying shame that Nokia gave up just when they had the best product in a long time.

BiteCode_dev 3 days ago | parent | prev | next [-]

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 3 days ago | parent | next [-]

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 3 days ago | parent | prev | next [-]

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.

sokoloff 3 days ago | parent | next [-]

My kids are teens. We have an analog clock on the wall in the dining room.

It's shocking to me how many of their friends over for dinner (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.

hopelite 2 days ago | parent [-]

That distribution seems to have slid off the edge quite a bit

Biganon 2 days ago | parent | prev | next [-]

I'm 33 and I need an embarrassingly long time to tell the time from an analog clock

hopelite 2 days ago | parent [-]

Oof … we are going to end up with nut jobs making videos about the alien technology of the circular disks, some with pointers, some with lines going around in circles pointing at an odd sequence of numbers for reasons we may never understand until the aliens come back to explain it to us.

Teach yourself and children how to read clocks, people!!!

jama211 3 days ago | parent | prev [-]

Even if technically know how if you rarely see them it wouldn’t come naturally to you

sieabahlpark 3 days ago | parent | prev [-]

[dead]

anotherhue 3 days ago | parent | prev | next [-]

If we perfect the design we'll be out of the job!

huflungdung 2 days ago | parent | prev [-]

[dead]

layer8 3 days ago | parent | prev | next [-]

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.

[0] https://palmdb.net/app/bigclock

[1] http://www.gacel.de/bigclock/bigclock.htm

ThePowerOfFuet 2 days ago | parent [-]

Just give me a keyboard (on-screen or otherwise)! Four taps max and I'm done.

layer8 2 days ago | parent [-]

You get this on iOS by tapping on the selected time. However, it's still less convenient than the BigClock UI, because you have to enter the whole time instead of being able to just adjust individual digits.

ChadNauseam 3 days ago | parent | prev | next [-]

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.

jakereps 3 days ago | parent | next [-]

> 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.

hedora 3 days ago | parent [-]

Ah, yes. The sleep alarm, as in “alert me with a loud noise if I should be asleep”.

There was a bug a week or so ago, where if you set a wind down schedule, and then updated iOS, it enabled itself.

Got woken up hours early, despite never using that feature.

hollow-moe 3 days ago | parent | prev | next [-]

woah, Apple lets you make your own alarm app? looks like a wide open door for vulnerabilities...

Hamuko 3 days ago | parent [-]

Apple is probably penning a letter to the EU about how Facebook is going to violate your privacy using alarms.

frizlab 3 days ago | parent | prev | next [-]

> 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 3 days ago | parent | prev [-]

I don’t find it bad, just simple, which makes sense for a default offering.

busymom0 3 days ago | parent | prev | next [-]

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 3 days ago | parent [-]

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 3 days ago | parent [-]

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

kadoban 3 days ago | parent | prev | next [-]

That's just a solid hack to avoid having to have a custom widget. Well done, random engineer.

stirlo 3 days ago | parent | prev | next [-]

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-...

ohdeargodno 2 days ago | parent | next [-]

It's written like this because making a circular, infinite list that repeats and recycles the same few components is awful to write, and "(0..60).times(50).flatten()" solves 99% of the problems with 1% of the effort.

Product would probably raise this as a blocker after QA managed to scroll to the end. Who cares.

yreg 3 days ago | parent | prev | next [-]

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.

hombre_fatal 2 days ago | parent | prev [-]

I bet it just happened organically. Started as an A…Z list but then someone had to implement it so that it cycled.

And the simplest solution at the UI level is to make it a finite list that cycles multiple times. And that simple impl required no updates over the years despite changes to the UI toolkit.

e.g. compare the HTML solution to one that is a virtualized JS infinite list. The HTML finite list solution is trivial while the infinite cycling one probably needs to be ported when you change frameworks (like move to SwiftUI).

quotemstr 3 days ago | parent | prev | next [-]

Am I the only one mildly surprised but not bothered by this implementation choice?

Sure, making a true circular list is easy enough both computationally and code-wise. Nevertheless, it's still something "weird" and "unusual", yet another thing that has to be tested and understood and debugged. A linear list is on the happy path, and the difference isn't going to matter for anyone in the real world.

I'd personally have made it circular anyway just for the sake of my inner sense of correctness, but making it linear and finite is, IMHO, a defensible engineering choice.

egorfine 3 days ago | parent | prev | next [-]

And we didn't find out for over a decade.

Speaking of practical solutions, right?

vedmakk 2 days ago | parent [-]

pragmatism > perfectionism!

godelski 3 days ago | parent | prev | next [-]

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.

owenversteeg 2 days ago | parent | prev | next [-]

The comments here are full of people complaining about iOS alarm bugs, so for anyone else who is sick of this: Sharp makes a lovely selection of alarm clocks. For between five to twelve US dollars, you too can be freed for life from said bugs. As a bonus, the first thing you touch in the morning, and the last thing at night, will no longer be a device that is socially engineered to destroy your mind for profit.

I have the Sharp Twin Bell, one of the higher end models at $12.63 from Walmart.

sodality2 2 days ago | parent [-]

I have the same one, and my favorite unexpected feature coming from other more digital alarm clocks is that you have to set it every night. There is nothing but an on/off switch; if the alarm is ringing, you switch the alarm off, then turn it back on in at least 12 hours (or else it'll go off at, say, 8PM). That means part of my nightly routine is checking my calendar and turning on my alarm as appropriate, but now I never worry about the alarm being set for too early/late/on on a holiday. Also, it's so loud, I haven't fallen back asleep after the alarm since I got it.

apparent 3 days ago | parent | prev | next [-]

I cannot figure out why the snooze and stop buttons are reversed for the alarm and the timer. For one, the stop button is in the middle of the screen, and for the other it's at the bottom of the screen. Why wouldn't this be standardized?

wlesieutre 3 days ago | parent | next [-]

So if you're fumbling at your phone half asleep the large and bright orange button in the place you're most used to is the snooze button, which is easy to hit without actually waking up.

Hitting the out of place small gray button to turn the alarm off entirely is easy to do if you're slightly more awake.

If you turn snooze off in the alarm settings you can have a big orange Stop button in the middle like with timers.

But I understand this design was too helpful and is being removed in iOS 26 because the different looking buttons don't match and the most important thing for an alarm is that it look pretty.

apparent 3 days ago | parent [-]

I don't mind either setup, but I find the inconsistency between the two apps (actually, within the same app!) to be unjustifiable.

puttycat 3 days ago | parent | prev [-]

Thank you brother. This has been driving me insane for years. A remarkable lack of attention to details.

keernan 3 days ago | parent | prev | next [-]

I just learned there is a bug wherein the timer will complete normally but fail to emit any sound. I have had this happen to me multiple times when using the timer for cooking and it has been driving me nuts.

The explanation said this could occur when the timer is set for the same number of minutes as the screen-lock setting. I suspect, however, it is more likely the screen-lock event and timer-end event occurring simultaneously since neither is deterministic.

usernamed7 2 days ago | parent | prev | next [-]

I love how this is actually interesting, got 10K upvotes on reddit, but was removed by the subreddit mod team for not being interesting enough.

Reddit sucks.

arjvik 3 days ago | parent | prev | next [-]

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

vedmakk 2 days ago | parent | prev | next [-]

This was the kick I needed to finally release my stuff and overcome perfectionism once and for all.

Also: I can't use the alarm app anymore now.

650 3 days ago | parent | prev | next [-]

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 3 days ago | parent | next [-]

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.

garaetjjte 2 days ago | parent | next [-]

> They're almost certainly not storing a static list of numbers.

Probably. But I wouldn't bet on it. I once borrowed a car that would glitch if you pressed the cruise control buttons too fast. Normally + and - buttons increase and decrease the speed by 1 km/h. But if you do it too fast, it sometimes eats the entry, and starts skipping one position. Eg. it would increase from 105 to 107, and decrease from 107 to 105. It was persistent until cruise control was turned entirely off and on again. Eh? Making that bug must have taken more effort than doing it correctly. I guess it must be populating linked lists of possible speeds, and then screwing up the links when clicking too fast? (that was Jeep Renegade)

tpmoney 2 days ago | parent | next [-]

A lot of the digital cruise controls that I've used in cars increment by 1 for each press, but increment by jumps (3-5 IME) if you hold it down. I wonder if that bug is a state machine problem. Pressing fast enough puts it into the "holding" mode, but because you're not actually holding, it also doesn't register that you've "stopped" holding.

garaetjjte 2 days ago | parent [-]

Nope, it only affected that one position. Like in the previous example it would go 104->105->107->108.

2 days ago | parent | prev [-]
[deleted]
NobodyNada 3 days ago | parent | prev [-]

Applying this to answer the question directly -- no, this doesn't waste CPU cycles or memory because UIPickerView only keeps the visible rows in memory and generates them lazily as you scroll. Thus, the number of rows does not affect the performance of the picker.

All table- or list-like UI components across Apple's platforms work this way.

SoftTalker 3 days ago | parent | prev | next [-]

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.

3 days ago | parent | prev | next [-]
[deleted]
eviks 3 days ago | parent | prev [-]

Technically you'd need precise measurements of specific implementations to determine that?

thakoppno 3 days ago | parent | prev | next [-]

Anyone done the tedious work of figuring out the list length?

Just wondering how they determined the length was enough? Was it constrained by a datatype or just an assumption on user behavior?

eviks 3 days ago | parent | prev | next [-]

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

jahnu 3 days ago | parent | prev | next [-]

In case anyone else hasn’t discovered this, you can long press on the digits to bring up keyboard entry.

I hate that I had to find that by accident.

atopal 3 days ago | parent | next [-]

It’s terrible discoverability, but a single click seems to do the trick, no long press necessary.

jahnu 3 days ago | parent [-]

Ooh thank you!

eviks 3 days ago | parent | prev | next [-]

Agree the discoverability is awful. Any chance you've discovered how to make keyboard entry the default?

jahnu 3 days ago | parent [-]

Sorry, no.

jama211 3 days ago | parent | prev [-]

Huh, thank you for this!

whateveracct 3 days ago | parent | prev | next [-]

Feels like an API that was backed by lazy cons lists like Haskell's would give you actual circular lists for free here.

Jaxan 3 days ago | parent [-]

It would still have a beginning. And it would not be “for free” as the used/seen part of the data structure would remain in memory.

whateveracct 2 days ago | parent [-]

The list in memory would not have duplicates (which this one seems to have) because the list itself would be cyclical.

It could be infinite in both directions. That's just a zipper or

    ([a], a, [a])
ayhanfuat 3 days ago | parent | prev | next [-]

Reminded me all the hacks we had to use to emulate loops in Excel formulas. Good times.

KyleBerezin 2 days ago | parent | prev | next [-]

This reminds me of the infinite hole gag from The Stanley Parable. https://www.youtube.com/watch?v=KKQ-OqEGhVc tldr: It is a mostly infinite hole

unsnap_biceps 3 days ago | parent | prev | next [-]

The time selector in a new calendar event is another case where it's a long list, not circular.

animanoir 3 days ago | parent | prev | next [-]

[dead]

neuroelectron 3 days ago | parent | prev [-]

[flagged]

MangoToupe 3 days ago | parent [-]

> It's no wonder iOS apps are so bloated and shitty.

Compared to what?