Developers, Apple’s Lousy Beta Will Make You Better

Written by KJ.Jones | Published 2017/08/03
Tech Story Tags: programming | software-development | ios | app-development | software-engineering

TLDRvia the TL;DR App

What We Can Learn from Apple’s “Mistakes”

My month with the beta has been full of problems. Apps crash regularly. The phone restarts a few times a day. Some apps don’t work. Shortcuts I came to know and love are completely gone. Even app switching is borderline unusable. Notifications — my biggest iOS gripe — got even worse.

But I love it. Here’s why.

Most articles out there will warn you to avoid iOS betas on your primary device. There are horror stories of bricked phones and hours spent reverting versions. I’ll echo those warnings. But if you are a software developer at any level, I suggest you take the plunge.

Learning from Apple

Releasing an entire operating system is one of the largest scale betas you can do. If you take a look at the original beta release notes, there were well over 100 changes made. And there have been many since.

It may not be very comparable to releasing a new feature in a small mobile or web app. Nonetheless, the large scale can teach us a lot about our own releases.

Big Companies Face the Same Problems

I’ve always worked on pretty small teams. I recently wrote a post about my experience creating my first solo app. Many developers don’t know what it’s like to develop at big companies like Google, Facebook or Apple. But most of those developers I’ve talked to subscribe to a common myth.

Many believe that all those extra developers make for an easier job. That there are fewer problems. Everyone is just building new features and playing tennis. (Because they graduated from the ping-pong tables at their startups).

I’ve recently been reading the DevOps Handbook. There are some great lessons to learn there. But the most valuable one I am getting was not the author’s intention. The case studies in the book make one thing very clear. Larger companies face the same problems my small teams do. Sometimes at even greater magnitudes!

“I worked on that project for weeks and finally got around to asking a subject matter expert to review my code. It was nearly three thousand lines of code, which took the reviewer days of work to go through. He told me, ‘Please don’t do that to me again.’”

- 2010 Case Study at Google from DevOps Handbook

Spending a couple hours on a code review doesn’t sound so bad anymore! In the same way, the host of issues on my iPhone has helped me to realize something. The betas I’ve always helped release were fairly similar in stability. Much smaller size, but much smaller teams as well. I may have blamed the bugs on a lack of people, but that wasn’t the real issue.

Next time you’re discouraged by a lack of people, remember that throwing more people at a problem doesn’t fix it. It brings on more work. Apple doesn’t share their head count. But LinkedIn estimates over 550 software developers currently work there. They’re breaking stuff too.

I’m on the fourth iOS beta release. There are core functionalities still broken. I love getting a new release to see what the team has been working on. And more importantly, what they haven’t been.

Feedback Trumps All

So why did Apple release such a lousy beta? Was it released too early and now they’re scrambling? Absolutely not. Apple has a history of releasing betas that brick phones and are borderline unusable.

iOS Feedback

No doubt they released it because they know how important customer feedback is. The official iOS 11 release date won’t be until September. There are still a couple months to go. Which gives them plenty of time to gather feedback on new features.

The original beta removed the ability to easily clear notifications. I hated it. Many others did as well. The fourth beta brought it back and even better than before. Can you imagine the outrage if Apple released something to all iPhone owners that they hated?

Gathering feedback from a subset of users is crucial. Launch Darkly is a great tool to help release new features slowly. This avoids hurling new functionality at all of your valuable users to see if it sticks.

It’s great to see the release notes each time and see how Apple is responding to the feedback they’re receiving. It’s a great lesson for us all as we launch undoubtedly smaller features.

ARKit — More than Kitchen Table Games

As an extra bonus, the ability to play with ARKit is well worth the price of admission. Especially if your device supports it. It’s still worth toying with the code if not but augmented reality isn’t very useful in a simulator.

ARKit

The App Store came out way back in July of 2008. This was an unprecedented time for app developers as they got to take advantage of the “app boom.” ARKit is the closest us app developers have gotten to the app boom in quite some time.

It’s a brand new technology that will immediately be available to millions of people. About 380 million devices to be close to exact. If you are a developer of any sorts, you owe it to yourself to download some sample apps. Play around with some demos in XCode. There will never be a better time to develop with this tech.

Although games are the primary use case for ARKit, don’t count yourself out if games aren’t your thing. Take a look at some of the apps developers have already put together.

I’ve already used this tape measure app doing some house projects and its accuracy blew me away. Placing furniture in the real world is quite practical. And there’s even this GPS app for those that somehow found GPS’s too confusing:

Maps POI Demo

There’s a ton of potential here and it’s worth checking out.

Download Now

If you need your phone to be perfect all day I’d still hold off. But if you’re a developer with a recent iOS device it’s well worth the headache. It may just make you a better dev. If you’ve signed up for the beta, let me know your thoughts in the comments!


Published by HackerNoon on 2017/08/03