My alarm didn't go off this morning. Well actually, it did—and that's the problem.
For several months now I've been using my iPad as an alarm clock. It has a number of advantages over a more traditional alarm: I can set alarms for different days of the week (so, for instance, I can wake up at 6:00 on weekdays, 7:00 on Saturdays, and sleep in on Sundays). If I get sick of the alarm sound, I can switch to something else. And it's very portable, so I don't need one alarm solution for home and another for when I travel.
For months the solution worked flawlessly, until just recently. Possibly as a result of the iOS 7.1 update, now sometimes the alarm doesn't sound. Technically it does go off on schedule, but every now and then it's completely silent. I have no idea that it's time to get up until our hungry cat wakes me up and I see what time it is.
This reminded me of something important. In general I like iOS 7. It's full of features that I use and enjoy. But an alarm clock going off on time is a completely feature that is both completely unsexy and non-negotiable. I need that to work reliably, and if it doesn't, it won't matter how cool all the other stuff is.
You can give me a device with 1,000 features, but I'm only going to depend on three or four. If delivering 1,000 features means that those three or four things become unreliable, don't do it. Focus on the fundamentals and make sure they're rock-solid. That's the cupcake; everything else is frosting.
This is true of any project: there is some core element that might not be exciting at all, but it is indispensable. When you push to include extra elements in that project, you can't allow your unexciting, indispensable core to suffer.
Less is more, when giving less makes less better.