Gabriel L. Helman Gabriel L. Helman

Don’t guess when you can ask

I upgraded my iPhone recently, which always means a settling in period of figuring out how best to customize this combination of hardware and operating system.

The iPhone has this theoretically-cool feature where it will charge the phone to “almost full” overnight, and then at the last possible second, charge it all the way to 100%. Supposedly, this keeps the battery healthy longer, as sitting on power at full charge is stressful on the battery. And sure, I’ll buy that.

But the problem is that there’s no way to tell it when you need the phone to be full! Instead, it does a bunch of computer super-science to figure out your schedule and do all this automatically and in the background. When it works, you never notice.

When it works.

The problem, which should be obvious, is what happens when you don’t get up at the same time every day? And here, I’m using “get up” as a shorthand for “need the phone at full.” My schedule isn’t totally consistant; on a regular but hard-to-predict basis I need to be fully operational an hour or two earlier than “normal”. And then, I’ve recently had a change in schedule where “normal” has rolled back by an hour. (On top of DST ending, etc.)

And so my phone is never full when I pull it off the nightstand. The proposed solution is to hit the button to tell it to charge to full. But that takes time, time I don’t have because I’m on an early day. Plus, I just had it plugged in for eight hours! Why do I need to wait another half of one?

But most maddeningly, I knew I had to get moving earlier the night before! And there was no way to tell the phone this! I mean, I’ll even ignore the fact that there should be an API that my sleep tracker app can use to tell the battery charger what time the alarm is set for. All I want is a thing where I can say “gotta be ready by 7 tomorrow, chief.” Or even, “always be ready by 7, and most days that’ll mean an extra hour or two of full battery burn, that’s okay, no worries.”

But instead of that one UI element, we have an entire house of algorithmic cards trying to guess what I already know. And this is such a common failure mode for software product design—so fearful of asking the user for something that we build a Rube Goldberg machine that makes the whole thing useless.

My last phone (or two) I finally had to turn it off completely and just let it charge “normally” overnight. But I think every phone upgrade I’ve ever done has been precipitated by the battery giving out. If you tell me a feature gets me more battery life, I’m in! I’m motivated to make that work. But here I am, having to charge up my phone over lunch because it didn’t start full, about to do that again.

All because someone decided they could get a computer to guess something the user already knew. Apps are not slight of hand magicians, trying to guess my card. It’s okay! You can just ask.

Don’t guess when you can ask.

Read More