Bent iPhones, Broken HealthKits and Eating Your Own Dog Food

September 25, 2014

Unless you’ve been living under a rock the past couple of weeks, you’ve probably noticed that there’s been a disturbing amount of fail coming out of Apple recently.

We’ve had the iCloud celebrity selfie hack. We’ve had New! Improved! iPhones that structurally don’t survive even being placed in your pocket. And just within the last couple of days, an iOS 8.0.1 operating system upgrade that was supposed to sort out some HealthKit issues, but just borked the phones it was installed on.

They’ve sold over 10 million units over the last week or so.

10 million!

That’s 10 million beautiful little slices of abject failure.

mouldiphone

And, you may even be one of the unfortunate few whose selfies ended up on 4chan, then bent their brand spanking new iPhone just by putting it in a pants pocket, and then upgraded the software that obliterated the phone’s ability to perform its primary function.

At this point you must be starting to wonder just what the fuck they’re doing over there at Infinite Loop?! Are they even paying attention?

Twitter surely is, judging by the pics that have cropped up just in the last day or two (under the hashtags #bendgate, #bendghazi, #willitbend, the list goes on…) :

  • bent1
  • bent2
  • bent3

…and some people have had some fun with it…

  • iphone 6 repair kit  iPhone 6 repair kit
  • LG flex phone  LG Flex: it flexes, but doesn't bend.
  • macbook pro  Don't put your MBP in your pocket!

Lols aside, it’s my opinion that all of these things could have been sorted out long before they delivered any of these failur…I mean features, if they’d just done a little more testing. That’s testing by people who actually use the iPhones. Real people. You know, the kind of folk who will hold a mobile phone like it’s a mobile phone, or put it in their pocket like, well, like a regular person. Focus groups would probably have picked up the ‘it bends irreparably when I sit down with it in my pocket’ problem. Long before you started manufacturing a squillion of them.

Why did you skip that testing? Were you just that good, and your materials engineers so awesome, that it never occurred to you that making a case out of something that thin might make it fragile? Did you have a clueless development or product manager who threatened your very livelihood if you wasted money on focus groups, or A/B testing?

Did you just have some autocratic, self-serving dickhead exec who has no idea what you do, slam his fist on the table and tell you to ‘just fucking make that delivery date or you’re all fucked!’? Or did you have some software development rock-star cowboy who assured you that the new version of the operating system was the most awesome thing he ever built, and even he can’t believe how quickly he was able make those fixes?

Who made the decisions? You know, those ones saying it’s OK to deliver several, successive failures in a row. Where are those people, right now?

It’s OK, we actually do understand. Most of us have worked with folk like that in the past. We don’t like it. But we’ve been there.

Some smaller development shops (like Microsoft and Google, maybe you’ve heard of them) do this thing that could be called ‘functional testing’ or ‘user testing’. They even coined a term for it. They call it “eating your own dog food”, or simply, “dog-fooding”. I’m not making this up. Look, it’s even on Wikipedia. Maybe you’ve heard of that, instead? No? It means take those products you’re building, and try and use them yourself. Does something about your product piss you off? Do you hate using what you’ve built? Or is it broken? Feed the experience back. Listen. Iterate on it until it’s better! It’s the essence of agile development. It’s the whole bloody point of it, in fact!

And that way, instead of delivering to ‘them’ (the users), you’re delivering to ‘us’ (the people building the product are users too). Get into your customers’ shoes every now and again, and be on the receiving end of your own products and services for once. Realise how much carnage you cause when you decide that something is probably OK to ship, when you haven’t tested it. If you didn’t test it, then she will most definitely not be alright on the night.

It’s also one of the reasons that the concept of ‘DevOps’ was introduced. One of the useful side effects of it is that if the developers are involved in the deployment and shipping process, there’s nowhere for them to hide when the shortcut they took fucks the entire process up. Everything points back, accountably and auditably, to the person who made that decision or checked in that source code.

It’s not a mistake you make twice. Trust me. Ask me how I know.

I’ve always told my dev teams: I’d rather have it a day or two late, but working and stable, than a day or two early, and broken and fucked. I’ll be the one to take the flak from the guys up in the ivory tower, because we’re late. That’s not your problem. I’ll wear the embarassment of a late, working delivery, over the embarassment of premature, broken failure, any day.

People don’t remember the successful deliveries as well as they remember your failures. And you don’t get to have too many failures.

But I digress…

I’m pretty sure I know what Steve Jobs’ response would have been to this one, had he still been around. “You’re putting it in your pocket wrong”, or “you’re putting it in the wrong pocket”. Or maybe just, “why didn’t you just get a bumper case for it?”

Internally he’d have been apopletic, and no doubt someone (or several someones) would have been fired, but that wouldn’t solve this problem. The problem is basically arrogance, and a lack of attention. Apple are supposed to be all about attention to detail. But these ‘little’ details, when multiplied out by tens or hundreds of millions, aren’t ‘little’ details any more!

Are they even testing the details, these days? With real people? On real devices?

Think about it: one of the reasons people used to buy an iPhone is because it’s so sleek, and so well machined, that you just want to hold it. Without a case. And because it’s so smooth and sleek, people drop them all the time. And they shatter and smash just like every other smart phone. People know that’s their fault, and they’ll acknowledge it (most of the time). But acknowledge that it’s their fault it got bent, because they put it in their pocket?

Come on! Pull the other one, Apple, it’s got bells on it!

And in this case, good luck with that bumper case. It’ll need to be so bulky and solid to prevent the new iPhones from bending that it won’t fit neatly into your pocket any more (unless you’re wearing cargo pants). It’s not an untested poorly-engineered-antenna-circuit problem this time. And even back then, if you’d been less worried about the device leaking, and let it out of a fake casing once in a while, perhaps given it to, oh, I dunno, another focus group, maybe you’d have realised that the antenna was a problem before even going to manufacture?

Yes, you still sold untold millions of them, all of them with a fucked antenna. But it doesn’t appear you learned anything from the experience, because here we are again!

The iCloud guys could have put out a bug bounty (or even a social engineering one) to see if anyone could break or exploit their way into iCloud. Hey Apple! Some people will actually do that for you if you pay them. I even know a few. And if you don’t pay them, they will come anyway, they won’t tell you how they got in, and then they will Clean. You. Out.

Ask those guys at Target and Home Depot how their lack of proper penetration testing worked out for them. Ask them soon, yeah?

As for the HealthKit ‘upgrade’: you won’t even really tell people what’s wrong with it, except that it borked the mobile connectivity functionality on their phones (amongs other things). People can’t make phone calls or (worse!) stalk their friends on social media. It can be fixed via iTunes. But don’t you think that if you’d just taken the time to install it on a few real devices and given it to a few real internal people to see if it worked, that they’d have noticed that the phones they installed it on lost all the ability to communicate with the cellular networks?!

Really?!

The iOS up-down-grade fix is probably an easy one for Gen-Ys, most Gen-Xs, and those with some basic IT skills. But the reason people buy these Apple products is because they’re supposed to be idiot proof. So even my grandparents (if they were still around) should be able to use it. That was supposed to be one of the biggest selling points! Seamless. Foolproof. Intuitive, slick, simple.

The fools got in somewhere, though.

The arrogance and shortcuts you’re taking are killing you guys. People don’t trust your products like they used to. And you’re only now introducing stuff that Android phones had, over two years ago. Back then you told everyone that those ideas were stupid. I mean, who wants a screen that big, right? NFC? Meh, who’d want to bump their phone against stuff? Being able to have more than one home screen, or put my own picture on it? Ludicrous!

Steve Jobs and Tim Cook know what I want more than I do, right? So I’ll just wait for them to tell me.

And don’t even get me started on fucking iTunes…

I think people must be wondering if somewhere along the line, your wheels have come off. You set the bar in the beginning, with the iPhone 3-series devices. No one can dispute that. Now you’re playing catch-up. You’re slowly losing market share. And your share price is showing a steady decline (with the occasional bump whenever you release a new iPhail, which is what this last one is).

Finally, I think the only way you could have made people angrier about that free U2 album you inflicted on them is if you’d only given it to half the people, randomly selected. I’m not sure who would have been more pissed off. Those who got it, or those who didn’t. I don’t mind U2 myself, but I’m not everyone.

And no, I don’t even own an iPhone (or any Apple device for that matter).

So why am I even having this rant?

Because it gives all of us in the product and software development world a bad name! It makes us look incompetent, lax, lazy, autocratic, and arrogant! I have a hard enough time trying to get the devops message across to the more junior members of my software development teams. And it makes it so much harder for us to get IT management to trust that we’re actually competent, reliable, detailed and just really good at what we do. They look at behemoths like you, and they think, “Mother of god! If even Apple can’t get it right, then what chance do our guys have?!”

This shit you’re doing? It’s not helping.


comments powered by Disqus