Saturday, January 5, 2013

A disturbing bug...

You may have been rudely awakened the last couple of nights to a curious bug that has become apparent in iOS. The bug manifests itself if you have the Do Not Disturb feature scheduled to come on. A surprising omission before iOS 6, the feature allows you to suppress the various bleeps, bloops and vibrations that would otherwise wake you from your slumber. (Or for those of us whose brain has nerdily trained itself to sleep through such disturbances over the years: avoid waking your lighter sleeping partner, thus preventing the grunts of irritation that would otherwise wake you from yours...) One of the many (ahem) miraculous innovations of iOS 6 was to allow you to set a period of time during which your phone would refrain from pestering you in any way about incoming e-mails, phone calls or requests to feed your Sims' goldfish. So far so good.

But iPhone users may have noticed recently that Do Not Disturb is not working properly: effectively, scheduled Do Not Disturb has failed to kick in since 1 Jan of this year. (This is how I have experienced the problem; I have also seen the problem described as the device failing to exit Do Not Disturb and I am supposing that how the problem manifests itself depends on when you have DND scheduled.)

You will be forgiven for thinking that this is a simple bug for which a fix will be duly released. But Apple's response to the issue has been curious to say the least: according to their description, it appears that the problem will magically fix itself on 7 January. Not even the Mayan apocalypse-seers could have predicted that.

So that got the programmer in me wondering: what precisely is the bug that would cause this to happen? In a natural implementation of a scheduling feature, at what point would you have a different code path for when the date is between 1 Jan and 7 Jan of a particular year? (Or, say, some arbitrary number of days after the beginning of a new year following a leap year or whatever the condition turns out to be...)

And if that's not the case, what precisely is the component or setting that Apple are able to magically update "behind the scenes" to fix this without an actual OS update?

In the meantime, you have at least three solutions to the problem: (a) locate your iPhone overnight in a different room where the bleepings and buzzings won't disturb anyone; (b) re-configure your iPhone so that it produces fewer alerts about your Sims' goldfish and Nigerian lottery offers (time-consuming, though would have the advantage of fewer interruptions during the day as well); (c) remember to turn "Do Not Disturb" off and on manually (in reality, this means missing a few phone calls in the morning as you inevitably fail to remember to turn it off).

Or perhaps the best high tech solution is to buy your partner a pair of ear muffs?

No comments: