Apple is allegedly adjusting how it develops its operating systems internally, shifting to generating new builds of iOS, iPadOS, and others to make more of an effort to try and catch bugs and issues that have affected software updates that ship to the public.
Apple's release of iOS 13 and iPadOS 13 as well as subsequent updates has been somewhat problematic, with reports of issues after each version's release requiring Apple to quickly create a new update to patch the bugs. The repeated presence of catchable faults in the software has prompted Apple to rethink its development strategy so it doesn't happen for iOS 14.
The code slip-ups for iOS 13 include the bungled iOS 13 launch itself prompting reports warning users to wait for iOS 13.1, and more recently iOS 13.2.3 and iPadOS 13.2.3 fixed problems with Mail and background issues. The betas of iOS 13.3 and iPadOS 13.3 have also fixed a multitasking bug, where the operating systems prematurely killed background processes, making users lose work.
An internal "kick-off" meeting recently had SVP of Software Engineering Craig Federighi and other department chiefs advise of a new approach to development, people familiar with the meeting told Bloomberg. The changes will deal with how it produces its daily internal builds, and a bad habit of engineering teams.
Previously, some engineers would add features to the daily build that were not fully tested, while other teams would provide weekly changes, which one person described as "like a recipe with lots of cooks adding ingredients." As more changes were being pushed into the daily build at different points of development, the test builds would often become too hard to use, prompting some testers to "go days without a livable build," and not have a real idea of what's working properly.
Under the new regime, unfinished and buggy features have to be disabled by default, with testers able to selectively enable each feature through a new internal settings menu called Flags. The builds will, in theory, be in a stable state for more periods of time, and allow testers to try out individual additions.
Apple is said to be applying the new techniques to iOS 14, which is reportedly codenamed "Azul," with a further update tentatively titled "Azul +1" delaying some features destined for iOS 14 until 2021, in order to focus more on performance. Engineers are also anticipated to use the strategy on iPadOS, watchOS, macOS, and tvOS as well as iOS.
For participants in Apple's developer and public beta programs, it is unlikely they will see any changes at all to the builds they get to try out, aside from a possibly higher level of stability.
43 Comments
Time to bring Forstall back as Chief Software Technology Officer. He worked for Steve for almost 20 years and knows Apple’s software inside out.
This stuff isn't easy. When you think about everything that's going on "under the hood" we should all be amazed these things work as well as they do.
One thing for sure, it'll be interesting to see how Apple addresses this. Hey Apple, I'm all in for a 2020 version of Snow Leopard for iOS. I don't need a ton of new stuff...
That’s ridiculous. Unfinished code or known buggy code should never be checked into the daily build. That’s software development 101. Something is seriously out of control if developers have been checking stuff in prematurely.