Apple shifts iOS 14 development strategy to cut buggy releases
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.
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.
Comments
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 would depend on who one talked to. He was well-liked by the iOS teams, the other teams not so much. From my understanding from Tim Cook's memo, one of the major reasons he was fired was due to creating a dividing wall between iOS teams macOS teams.
Probably not.
I think the rigorous annual release schedule doesn't help the bug problems. They need to decouple the iPhone hardware releases from the major iOS release, because it means the OS is rushed out to support the new phones, even if it's not ready. New Macs just have a special version of macOS - and always have done, even in the OS 7.x days. Software is done when it's done, it's not something you can really speed up by throwing people at it, the only thing to do is have a feature freeze earlier in the year. And since features are generally set in WWDC (and even then they still drop some usually) they need to have have WWDC earlier, or less features, to give time for more testing.
Just as well he was given the push then.
There is still number of places or user cases where you can easily loose data you entered what I find unacceptable.There is big improved compare to several years ago but should simply not happen.