With the talk of iPad OS 15 being a disappointment - which it might or might not be - a thought crystallised in my mind:
It seems to me Apple has moved to more of a Continuous Delivery (CD) model.
It started in the iOS 13 / iPad OS 13 era, most notably with cursor support. There were lots of point releases then. Continued with 14, with even more point releases. (There have been some releases which wouldn’t have been part of the plan, but even those we have to consider being responsive, so part of the CD model.)
So, we come to iOS / iPad OS 15 - and I don’t really mean to make this another “Is iPad OS 15 Disappointing?” thread.
It strikes me - and this is probably obvious - that this time next year 15 will have seen several significant updates - whether iOS or iPad OS - and those who say it was a disappointment might well be eating (some of) their words. I’m an optimist in this regard - typing this on a 12.9" 1TB/16GB Pro.
If I have a question it is this: Did Apple ever signal - other than by their release track record - a shift to Continuous Delivery?
I think Apple has shifted more towards a model where some major features come out after the .0 release in the fall. However, for the most part these are features that they’ve announced back at WWDC and are either delayed or it was clear from the beginning that they wouldn’t be in the .0 release. The ones that are surprises tend to be those that are tied to hardware (trackpad support with the Magic Keyboard for iPad, for instance). IIRC the only significant non-WWDC feature in the past year was using the Apple Watch to unlock your FaceID iPhone while wearing a mask, which seems like an obvious pandemic-related exception to the general rule.
“Continuous delivery” of new end-user features is far more complex for a platform / OS such as the four that Apple supports. It’s not just about delivering features, it’s also ensuring that the support and developer communities can adapt continually, which for the Apple ecosystem is a major challenge. Just consider the “normal” elapsed time of three-four months between OS announcement and public availability to allow the community to adapt. If Apple practiced continuous delivery there would be a knock-on effect of increased cost for the ecosystem that relies on Apple’s platforms.
FWIW, reporters such as Howard Oakley regularly track the many continual infrastructure changes that Apple makes in the background, unannounced, to lower level components of macOS, etc.
They also did some sort of COVID exposure tracking thing that wasn’t a WWDC-announced feature - but that’s the same sort of deal.
I think the generally-phrased rule is probably along the lines of “Apple releasing previously-unannounced software features is almost always in response to an event external to the software itself.”
Pandemic response. New hardware. New Apple services. Sounds goofy to say it this way, but it’s really all kind of the same logical category, when you boil it down.
Yeah. Even the stuff that might not theoretically be that hard to implement (continuous background execution for a program, for example) could potentially have weird effects on software depending on how it was implemented.
And of course things like improving the underlying memory allocation so that apps can address more than ____ amount of RAM could conceivably introduce bugs in apps that depend on those libraries. I’m not an Apple programmer, but a lot of libraries have “quirks” that programmers have been hacking around for years - and sometimes a direct fix requires some mods to the “hacking around”.
Also worth noting is the distinction between “continuous delivery” and “continuous deployment”. “Delivery” refers to the development team’s ability to deliver new features, fixes and optimisations back into the code trunk, fully tested and done. They can then move on to the next item in the backlog. It’s about developer productivity and always aiming to keep the code base in a “potentially shippable” state.
“Deployment” refers to when the new functionality is being made available to the general user base. This is more of a product decision, where enough backlog items have been completed to deploy a new point release. This usually include updated documentation for any new or changed functionality and communication to users as needed.
For platforms like operating systems, you generally want stability. Point releases should include bug fixes and performance enhancements. Any new functionality introduced needs to be optional so you don’t break existing applications. The big, yearly updates are probably frequent enough for most developers
Not that I’m aware of, but they could if they wanted. There are solid reasons, already expressed by others, why developers need time to prepare for new products and features. But there are plenty of times that Apple could release new features with little more than a news release.
Memoji, Photo Collections, Maps, and Interactive globe are nice features, but nothing that hasn’t been offered by other platforms for years. And I don’t see that Apple’s announced privacy addition of iCloud+ needs any preparation, because email has to follow a set of rules.
Apple chooses to release software the way they do primarily for marketing reasons. People have come to expect a big announcement every year, the media plays it up, and Apple gets millions of dollars of free advertising. It’s genius.
But they don’t do that for all their products. They update Final Cut Pro and Logic all the time without fanfare. And they allow other products to die the same way.
Yeah. Perhaps Final Cut Pro has 2% of the user base that macOS has? So it’s not going to get much attention in the genpop.
Continuous Delivery / deployment doesn’t preclude an annual announcement. z/OS, for instance, announces a release every two years, doing CD in the interim. What goes into an announcement, given that, is an interesting question.