The mute switch issue (posted 2012-01-19)
The past week there's been a lot of blog talk about an iPhone going off during a performance of the New York Philharmonic. Apparently someone had just had his Blackberry replaced with an iPhone, and when the iPhone alarm went off despite the "ringer/silent" switch set to silent, the poor new iPhone user first of all didn't notice it was his phone interrupting the performance at first, and then had a hard time killing the alarm.
Cue a series of blog posts arguing for and against the situation where alarms go off even if the ringer/silent switch is set to silent. Andy Ihnatko is strongly against with John Gruber, and Marco Arment to a slightly lesser degree, in favor.
With the ringer/silent switch (let's just call it the mute switch) set to silent, the iPhone will play audio and video with sound, and third party developers are also allowed to play sounds if this is the direct result of the user's intent. All other sounds, with one exception, are silenced. That exception is alarms and timers set through the clock utility. (Alarms set in the calendar application are silenced.)
The reason for this is obvious to anyone who uses the mute switch in practice: it's way too easy to forget to turn the ringer back on. Oversleeping because your alarm didn't go off as a result would be a very bad thing. And this brings us to the reason why what happened at the New York Philharmonic is so unusual: as a rule, people don't set alarms to go off in the middle of a performance they plan to attend. So having alarms sound even if the phone is set to be silent shouldn't lead to trouble in most cases.
Some people want Apple to add settings to customize this behavior. As a rule, Apple doesn't like to add settings, although you wouldn't know it from the iPhone settings tool. Looking at the notification settings, which are quite unwieldy, it's obvious to me that having something like that for the mute switch behavior for different kinds of sounds wouldn't be very useful. Even for people who are prepared to go in and change the defaults, it's just too much work to get everything configured just right. Especially when the consequences of mistakes can be significant.
But I have a different suggestion. When the user sets the switch to "silent", a requester should be shown that says "an alarm will sound at 7:00" (if you've set your alarm to go off at 7, of course). With that, the ringer volume should be shown. This allows users to turn down the ringer volume to zero. (Unfortunately, as things are now, it's not possible to turn the ringer volume down all the way to silent, although at the minimum volume it's not going to interrupt a live performance.)
I think this will give users the info they need to correct possible mistakes without making life for average users more complex. On his podcast, John Gruber argued against a solution like this because users may turn the switch without looking. It's true that this not a 100% solution, mistakes are still possible. But if users know that when flipping the mute switch a warning about alarms will show it's easy enough to glance at the screen if they're even a little bit concerned about alarms. And after doing this the first few times while looking, they know that alarms will sound even when the switch is set to "silent".
That said, I wouldn't mind having a feature on my iPhone that I had years ago on my Nokia phone, where you could set a profile (sounds yes/no, vibration yes/no) and have it switch back to the default profile at a a given time. Really useful if you're going to the movies or some such and need the phone to be quiet for some fixed amount of time.