7 ms·
iOS 6: Do Not Disturb mode stays on after scheduled time
- jontro 14y agoNoticed this yesterday, it is odd that apple does not catch bugs like this in their qa process.
- josegonzalez 14y agoProgramming is hard. Likely they didn't have a test for every possible date.
- Derander 14y agoIt seems likely that the fact that this is the 1st of the year is related. This should be an obvious edge condition for testing.
- rimantas 14y agoSeems like calendars and time are really hard to get right. The missing December on Android is a good example of that too. http://arstechnica.com/gadgets/2012/11/december-conspicuously-missing-from-android-4-2s-people-app/ http://arstechnica.com/gadgets/2012/11/december-conspicuousl...
- andrewcooke 14y agoif you're writing tests, you should aim for corner cases. for date-based applications that would include the first and last days in the year, leap years, etc. programming can be a bit less hard if you learn to do it right.
- roc 14y agoGood luck enumerating all the edge-case tests for date functions every single time you need a date.
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- leephillips 14y agoOdd, but not new: http://news.ycombinator.com/item?id=4916627 http://news.ycombinator.com/item?id=4916627
- kemiller 14y agoCalendar-based stuff is absurdly difficult to get right. Even if you have something that seems to work you likely have a hidden error somewhere. That's not really an excuse -- edge conditions like DST on/off, and end-of-year should be first on your test list. But calendars suck to work with.
- sourc3 14y agoSame here! After missing three calls, I was wondering if I had turned this on by mistake. Glad to see it on front page of HN :)
- jpxxx 14y agoLiterally triggered the day they released an advertisement touting the feature. Embarrassing for anyone, inexcusable for Apple.
- ChuckMcM 14y agoI find it fascinating that it doesn't work between 1/1/13 and 1/6/13 but claims it will start working on 1/7/13. What is different about the 7th than the 6th?
- Derander 14y agoIt seems significant that this is exactly one week later.
- bdash 14y agoThe 7th is the first day of the second week of the year.
- evan_ 14y agoSo that seems like they're doing some kind of math using the week of year in the calculation- but for what purpose? The UI doesn't seem to give you any options for day of week, just time of day. Maybe there's code in there that checks day of week but it's hardcoded to run every day to make the UI simpler.
- Steko 14y agoSo maybe the service updates it's schedule weekly but the calculation ignores the year. This throws up an error at New Year's and borks the code that would reset when it's toggled on/off?
- nsoldiac 14y agoMaybe they're pushing an update on the 7th
- kijeda 14y agoI noticed a bug in another tool today, caused by the week-of-the-year value returned by strftime() returning '00' until the 6th. Possibly related?
- osiemens 14y agoIt's a not entirely uncommon bug having to do with the naming of the first week of the year. Perhaps it's even as deep as NSCalendar, but I can't check that right now. ref: http://stackoverflow.com/questions/1106943/nscalendar-first-day-of-week http://stackoverflow.com/questions/1106943/nscalendar-first-...
- ConstantineXVI 14y agoI have a hard time (ow) having much anger over time-related bugs these days. Seems the only real way of getting the calendar more programmer-friendly is to switch the world over to Unix time.
- chimeracoder 14y agoI'm amazed by how many applications don't do this (and, similarly, how many languages make it difficult just to get a simple UNIX timestamp). It's far and away the easiest medium to work with, even if you only use it as a pivot format[1]. [1] http://en.wikipedia.org/wiki/Pivot_language http://en.wikipedia.org/wiki/Pivot_language
- ConstantineXVI 14y agoI imagine many things use Unix time or a similarly flat calendar internally (Twitter's Snowflake[0] uses a custom scale), it's the translation into the Gregorian (/Jewish/Mayan/etc) calendar and time scale where the bugs come from. Can't count on 31540000 seconds being a year, time zones, etc. At the same time, the human brain doesn't seem particularly well-suited to breaking down Unix time into meaningful and reliably consistent scales, so I don't see time getting much easier barring some revolutionary timekeeping system. [0] https://github.com/twitter/snowflake https://github.com/twitter/snowflake
- chimeracoder 14y agoOff the top of my head, it's easier to think of APIs that don't provide UNIX timestamps than ones that do. You wouldn't believe some of the half-baked implementations I've seen used in production code (unless you've also had to deal with it yourself, that is!) Yes, you still have to deal with timezones, but I'd much rather be given a UNIX timestamp for a UTC time and then adjust accordingly, rather than deal with all the other problems that come from communicating and converting between various other calendar formats and locales. And this exchange should occur at the very last step, only when being displayed to the user. For almost any other purposes, there's no reason that two different applications should need to talk to each other using anything but UNIX timestamps. The potentially error-prone conversion should happen in the latest stage possible, because that's the part with the most knowledge of how any error should be corrected. > At the same time, the human brain doesn't seem particularly well-suited to breaking down Unix time into meaningful scales, But we're talking about for programming purposes - to a computer, one 64-bit int is as good as any other.
- deleted 14y ago[deleted]
- ksmiley 14y agoReminds me of the Zune leap year bug that got some press four years ago [1]. A Zune running during 11:59 PM, Dec 31, 2008 would freeze when the clock ticked over to Jan 1. Even the response to the problem is similar. Microsoft says, wait until the 2nd and the problem will resolve itself. Apple says, wait until the 7th and the problem will resolve itself. [1] http://www.pcworld.com/article/156240/microsoft_zune_failure.html http://www.pcworld.com/article/156240/microsoft_zune_failure...
- smackfu 14y agoWhen I turn mine off, it knows it isn't supposed to start until 11 PM. Then when I turn it on, it immediately goes on. So maybe it's using 11 PM yesterday as the trigger instead of 11 PM today.
- DHowett 14y agoTurning it on via the switch overrides the Schedule setting. It's not using the prior 11PM, it's using your expressed desire for it to be on.
- wonderzombie 14y agoAlways fun: http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time http://infiniteundo.com/post/25326999628/falsehoods-programm.... HN thread: https://news.ycombinator.com/item?id=4128208 https://news.ycombinator.com/item?id=4128208. Calendar/time stuff is really, really hard. That's not an excuse for Apple in particular, just that the pitfalls are many and varied to the point where even smart people will screw it up. I imagine one reason it doesn't seem so hard at first glance is because time and the calendar, in our lived experience, is relatively simple.
- lipnitsk 14y agoAt least the alarm still works. http://appleinsider.com/articles/11/01/01/apple_admits_new_years_alarm_bug.html http://appleinsider.com/articles/11/01/01/apple_admits_new_y...
- deleted 14y ago[deleted]
- Gertig 14y agoSo glad it was this because I was starting to wonder if my 18 month old son was playing a prank on me.
- nodata 14y agoSorry to shoehorn this in: a lot of people use Do Not Disturb mode because they miss calls because they forget to turn off mute. iPhones need timed mute like Shush! on Android [1] - press mute: it asks "how long?" Going into the cinema? Mute for two hours. Meeting? An hour. 1. https://play.google.com/store/apps/details?id=com.publicobject.shush https://play.google.com/store/apps/details?id=com.publicobje...
- CamperBob2 14y agoThe biggest favor Apple could do their users is simply to provide a silent ringtone option, so that users can leave their ringer turned off while 'whitelisting' the appropriate contacts. It's simply staggering that this has apparently never occurred to anyone at Apple. The cheapest feature phone in a bubble package at Radio Shack supports silent ringtones -- or at least it did a few years ago -- but with the iPhone, the user has to record or purchase a track with several seconds of silence and create one manually.
- nodata 14y agoIsn't this kind of what Do Not Disturb was hoping to do, with the whitelisting?
- nwh 14y agoThat is exactly what Do Not Disturb does. It allows for whitelisting of contacts, both specifically in the Contacts app, and if they are very persistent callers (emergency, urgent).
- ragmondo 14y agoooh ooh ooh. Disclaimer: Plug for my app called "tonepush" coming up. I wrote an app that allows you to change the ringtone on someone else's phone (think xmas tunes, valentine songs etc etc). Anyway, one of my users had this issue where his wife is expecting a kid and he always has his phone on silent at work, so I've extended the app so that if he enables a web password, she can log in, turn his phone off silent and then ring him. Before you say it, no it's not for iPhone but for Android. It's called TonePush Beta. All feedback gratefully received.
- mung 14y agoCould have been spun as a feature. Apple believes you should be on a break during this time of the year so DND stays on until the 7th. Because we believe in choice, you can still switch it off manually. Okay maybe not.