In context: Apple's iOS 13 was not just a new upgrade to its mobile operating system. It was intended to be the base system for the iPhone 11. However, it was not ready when the flagship phone launched. So instead of holding off, Cupertino rushed to push it out.
While iOS 13 did bring a lot of cool new features to all iPhones, some aspects designed explicitly for iPhone 11 were missing at launch. Worse yet, the operating system was full of bugs and security holes that Apple is still scrambling to fix.
To avoid a similar fiasco in future releases, Bloomberg reports that the company is changing the way it develops its mobile platform. At a "kickoff" meeting with Apple's software developers, Senior Vice President of Software Engineering Craig Federighi outlined a new approach to designing the system, starting with iOS 14.
From now on, development teams will ensure that unpolished and buggy features are turned off by default in "daily builds." A new section, dubbed Flags, will be added to the Settings menu that will allow testers to enable the unfinished features selectively. Flags will allow QA and developers to narrow down what is causing the problems more efficiently.
"Daily builds were like a recipe with lots of cooks adding ingredients. Testers would go days without a livable build, so they wouldn't really have a handle on what's working and not working."
A source with knowledge of the changes said the prior development process was a bit chaotic and unorganized, particularly with iOS 13.
"Daily builds were like a recipe with lots of cooks adding ingredients," said the insider who asked to remain anonymous.
Some development teams would add features to the system weekly; others would add changes daily, many of which were not fully tested. Often daily builds would become so full of bugs that it would render test devices unusable.
"Testers would go days without a livable [usable] build, so they wouldn't really have a handle on what's working and not working," said the source.
Adding code from disparate teams without being able to isolate each section of programming is why iOS 13 ended up in such a mess at release. Adding the ability to "flag" each feature as it is appended should allow developers and testers to identify problematic code blocks quickly.
When asked to confirm the changes, Apple spokeswoman Trudy Muller declined to comment.
Image credit: wutzkohphoto via Shutterstock