Listen to this story
A little over a week ago, Apple surprised developers by issuing a new beta of its iOS 13 operating system, which will run on the upcoming iPhones expected in September. Every year, Apple releases iOS developer betas for its x.0 version: The process starts in early June, when the features are announced at its developers’ conference (WWDC), and runs to mid-September when the new phones are shown off at an invite-only event.
But it didn’t happen that way this year.
Instead of getting a new version of 13.0, we got the first beta of 13.1, which you wouldn’t expect to see until 13.0 had reached “GM” (Gold Master status — a phrase from the old days when new versions of operating systems came on CDs, which were copied from a master version made of, yes, gold).
The last beta of 13.0 was thus beta 8, on August 21.
The people at Apple are rational. Believe this above all else.
There followed lots of post-facto rationalization from various folks. “Aha!” they said. “Earlier betas of 13.0 were unreliable compared to those of 12.0, so Apple just took out some of the features promised at WWDC for 13.0, and it’s adding them back for 13.1!” By their logic, Apple had decided to go for “stability” in 13.0, and would then deploy the harder-to-do features in a later release. (In the past, the x.1 release typically follows about six weeks after the x.0 GM release.)
I don’t think so. What I’ve heard — third-hand, from someone reliable, who says they heard it from someone who works at a non-iOS part of Apple — is that Apple did this to preempt tariffs on iPhones that were due to be applied in the U.S. from September.
Holy forking tarballs
Nobody at Apple is likely to confirm this one way or another, so we have to use the usual Occam’s razor approach to all this — gathering all the available information to try to pick what seems the most rational explanation. Because the people at Apple are rational. Believe this above all else.
Apple doesn’t do things it hasn’t done before unless it’s got an absolutely terrific reason why.
First, let’s try to make the “fork the iOS betas to make progress easier” explanation hang together. To believe this, we have to believe that Apple would do something it has never done before in its beta releases, without preannouncement, in the middle of the beta cycle for its most important OS release of the entire year. iOS is Apple’s money machine, and we’re asked to believe that only this method, forking into an almost invisible x.0 beta and a visible x.1 beta, will fix features that are coming out a bit wonky in the beta testing. I don’t buy it, for the following reasons:
- Never done before. Apple doesn’t do things it hasn’t done before unless it’s got an absolutely terrific reason why. (For example, public betas for iOS only began in 2015, but they had an excellent reason: It exposes the software to a far greater range of devices than those that developers use.) In the past, the x.0 goes GM (usually a few days before the new iPhones ship) and then the first x.1 beta follows soon after. The first beta of iOS 12.1 came out on September 18, 2018, literally the day after 12.0 was released. iOS 11.1 beta 1 came out on Sept 27, 2017; iOS 11.0 came out on Sept 19, 2017, eight days earlier. iOS 10b1 came out a week after 10.0. For iOS 9, the GM and 9.1b1 came out the same day. For iOS 8b1, it was Sept 29, 2014, just 12 days after 8.0 went public. If that isn’t enough examples, you can choose your own at the invaluable iPhone Wiki timeline.
- No preannouncement. The jump to 13.0 has left third-party developers puzzled: They don’t know if they should be building their apps against 13.1, or 13.0 — and it’s hard to know which beta is the “real” 13.0. (Presumably, beta 8.) Confusing developers isn’t what you look to do as a platform.
- Holding back. Apple has previously held back features announced at WWDC from the x.0 release to the x.1 release, or even later. This happened with Group Facetime and AirPlay 2 in iOS 12 and iOS 11 respectively. Dig around: There are many more examples.
None of that makes sense in the context of a goliath of an operation which is focussed on producing an updated OS for hundreds of millions of phones. Changing how you test that software and creating a branch that has vanished from view, or no evident benefit, doesn’t make sense.
Tweets, tariffs, and timing
Now let’s see if the tariff explanation makes sense. Bear in mind that Apple is supremely focused on the first half of September, when it shows off its new iPhones (September 10 is the day this year) and later in the month releases them around the world, especially in the U.S., which is its richest market. Millions of new iPhones are bought in the first week of release, enough to bump up the financial results of what would otherwise be a ho-hum quarter. Apple specifically aims to release its new phones in the last week of September to make sales carry over from the fourth fiscal quarter (ends September 30) to the first quarter (ends December 31, usually), boosting the revenues and profits of both.
To accomplish that, it will typically airfreight millions of phones over from China, where factories work overtime to produce the new phones (whose hardware design was locked down a year ago). What the factories don’t have until just before they ship is the software: iOS isn’t installed until right near the end, before the phones are boxed.
Confusing developers isn’t what you look to do as a platform.
Ideally, that final step is left as late as possible before the phones are flown over from China, because that gives iOS the maximum time to mature and for the beta process to help work the kinks out.
Ending the beta phase for iOS on the new iPhones on August 21 is unprecedented. Typically, there are another four releases — almost a month’s worth — before the code goes GM. (Again, check this for yourself at the iPhone Wiki timeline.)
This means the code that’s shipped on these upcoming phones is going to be pretty shonky, even without the features that weren’t quite working. That’s just the nature of software.
Why do this? Because Apple is a behemoth trying to get a gigantic number of new iPhones into the U.S. to go on sale in September. Lately, though, it faces a hugely disruptive element: the U.S. president.
A midsummer day’s nightmare
Imagine it’s midsummer 2019 and you’re in charge of planning at Apple. You’ve been watching Trump’s tweets threatening more tariffs on Chinese-made goods for months now. And on August 1, Trump tweets that he’s going to impose 10% tariffs on all of the $300 billion of goods imported from China that don’t already have punitive tariffs on them. Smartphones would be among the products affected.
Neither China nor its exporters pay the tariffs. Trump says otherwise, but is either deluded or lying. They’re paid by Americans. It might be the importer, the distributor, the retail customer, or some combination of the three.
But you know Apple wouldn’t want to bear this cost. It protects its gross margins jealously, and the iPhone is its biggest single business. So, like many companies in the U.S., it would pass the tariffs on to its customers.
You might think Apple’s customers aren’t price-sensitive and that iPhone sales are price-inelastic, but in reality, at the margin, a number of would-be customers will look at an elevated price tag and say, “uh, maybe some other time.” If the iPhone price is pushed up by tariffs, there would be a ton of stories about that, and about Samsung not being affected by them because its phones are made in South Korea rather than China. Those are the sort of stories Apple doesn’t like around newly released phones.
Like many companies in the U.S., it would pass the tariffs on to its customers.
Pricing: The 10% tariff wouldn’t apply to the retail price, but to the “landed” price, that is what Apple pays the supplier — Foxconn — that supplies the phones. Typically, the “landed” or wholesale price of any retail item is 40% of the retail price. If you want to capture the same amount of revenue from the retail sale after the 10% tariff, you raise the retail price by 4%, because the landed plus 10% tariff price is 44% of the old retail price. If you want to capture the same gross margin percentage as before, you raise the retail price by 10% [100/L = new price/(L*1.1); so new price = 1.1*100], same as the tariffs.
So how do you avoid losing those marginal customers who don’t want to pay 4%–10% more for a phone? You get the phones onto ships or into the U.S. before the tariffs come into effect. Or you can gamble that the tariffs won’t come into effect, knowing that a losing bet means billions of dollars of lost sales.
That’s the decision that Apple’s management must have faced on August 1, and a few days afterward. No time to dither: Factories, shippers, and the software team all need a decision. In particular, you have to set a date when you’ll declare iOS 13 ready for the new phones, because the software has to be loaded before they’re boxed and shipped.
I think Apple went for the early shipment route and chose August 21 as the freeze date for the 13.0 software to be loaded on the phones. (Incidentally, a crowdfunding project that I’m waiting on sent out an update this week saying “Amazon and Apple are pulling in their production so the output of the factory [we were hiring] has undertaken serious capacity constraint.” It’s not Foxconn, I don’t think, but that seems indicative.)
Apple’s management also knows it can just about find a win-win solution here. If 13.1 proceeds as if it were 13.0, then it will be ready roughly when the “normal” 13.0 would have been, roughly a week after the new iPhones are launched, but about a week before they go on sale. That means that it can be the GM when it’s announced. The first phones that arrive in the U.S. will have the shonky 13.0 software, but there will be an almost immediate update available to 13.1, which will sort them out. And for everyone else, 13.1 will do the job that 13.0 was expected to do.
Ironically, in the end, it turned out that all the effort wasn’t needed. On August 13, Trump delayed the tariffs on smartphones, at least until December, or maybe longer. But by then, it was too late to alter course — the supertanker of Apple’s phone production was underway.
How will we know if I’m right?
Three things will tell us whether the scenario I sketched out above is correct:
- Reports of iPhones making landfall in the U.S. earlier than expected, or ships with them leaving China earlier than usual (or not going by air freight, since they’ve got a longer transit. Tariffs usually apply to when the product leaves its last port, not when it makes landfall in the tariffed country). [Update, Sept 9: possibly relevant is that Apple and Foxconn confirmed that Apple used more temporary workers than it should in August. As if they were hurrying to boost production, perhaps?]
- Journalists at the launch of the new iPhones in early September noticing they are running iOS 13.0, and the version number matches (near enough) beta 8.
- iOS 13’s public GM — after the phones are announced, but before they go on sale — is version 13.1, or a later version than the new iPhones that were shown off, and roughly matching wherever iOS 13 has got to in the beta cycle.
How will we know if I’m wrong?
- iPhone transit dates will be on exactly the same dates and methods as in previous years, compared to the release date (which we don’t know yet).
- The GM version of iOS that’s released to everyone a week or so after the September 20 launch event is 13.0, not 13.1, and it’s the same version number as what ships on the phones.
- 13.1 ships quite a lot later on — say, six weeks after the September 10 announcement of the new phones.
- Apple releases beta 9 of the iOS 13.0 fork sometime soon. This doesn’t feel likely: tvOS, a smaller fork of iOS, languishes like 13.0 on beta 8; there’s no 13.1 beta. But watchOS, another smaller fork of iOS, has moved on to beta 9. It doesn’t make sense to me unless it’s been forced by circumstances well beyond Apple’s control. [Update, Sept 5: there were updates on Sept 4 for the 13.1 betas; tvOS 13.0 got an update to beta 9; but iOS 13.0 for the iPhone remained on beta 8, as it has since August 21. That suggests I’m not wrong.]
That’s it. Let me know your thoughts, rumors, and long explanations of why actually 13.1b1 makes total sense. But remember to test it against Occam’s razor (and give ways we can predict whether you’re right or wrong). I’m @charlesarthur on Twitter.