Apple Is Changing iOS 14 Development Process After Buggy iOS 13 Release
Apple is reportedly overhauling its software development and testing processes for iOS 14, codenamed "Azul", after the buggy release of iOS 13 and iPadOS 13. The revamped software testing process will also have an impact on 2020's iPadOS, watchOS, macOS and tvOS updates. The company will prioritize testing by modularizing various operating system features, and allowing testers to enable and disable them individually to measure their impact on operating system stability.
iOS 14 Development and Testing Improvements
Craig Federighi, Senior Vice President of Software Engineering at Apple, rallied his troops at an internal kickoff meeting and introduced a new process to ensure that future software updates are as bug-free as possible. Daily internal builds for operating system updates will have the capability (called Flags) for new and work-in-progress features to be disabled by testers, so they can isolate bugs and performance impacts.
As reported by Bloomberg, this change will help with bugs to be caught earlier during development and internal testing phases:
The new development process will help early internal iOS versions to be more usable, or “livable,” in Apple parlance. Prior to iOS 14’s development, some teams would add features every day that weren’t fully tested, while other teams would contribute changes weekly. “Daily builds were like a recipe with lots of cooks adding ingredients,” a person with knowledge of the process said.
Developers had been adding too many untested features to the codebase for iOS 13, which would not even give sufficient time for testing to take place. Testers were unable to get their hands on usable builds for days, also called "livable" builds internally at Apple, which would hamper early identification of problems. This habit became the straw to break the camel's back.
Test software got so crammed with changes at different stages of development that the devices often became difficult to use. Because of this, some “testers would go days without a livable build, so they wouldn’t really have a handle on what’s working and not working,” the person said. This defeated the main goal of the testing process as Apple engineers struggled to check how the operating system was reacting to many of the new features, leading to some of iOS 13’s problems.
Apple already has a robust testing process in place but the issues seem to be with planning and timelines. When too many features are to be delivered with set deadlines, development can go haywire. To stay competitive with Android, the company regularly releases a bunch of new features every year, but this seems to reduce the software quality regularly. It happened with iOS 10 and iOS 11, after which Apple released a very polished version of iOS 12, with a major focus on stability and performance. The company has come back full circle at the same troubled position and intends to release a polished iOS 14 release to fix iOS 13's issues.
Buggy and broken iOS 13
iOS 13, along with iPadOS, has received 8 updates in just 2 months, with iOS 13.3 currently in beta and a spring 2020 update already being planned. iOS 13 famously released without its iPad counterpart, which was rebranded to iPadOS, and caused havoc with different features and apps. A brand new Reminders app did not sync with the older iOS 12 and macOS Mojave Reminders app, which was a cause of concern for a lot of people. Users had to wait until iPadOS 13.1, which was the first release of the new operating system for iPad, was released so they could sync their Reminders across different devices. macOS Catalina was released even later, so users with Macs had to deal with the Reminders syncing issue for some time.
The list of issues with iOS 13 goes on as users reported user interface issues, connection problems, app crashes, Mail app issues, Spotlight troubles and much more. Even recently, iOS 13.2 broke multitasking as users reported continuous background app refreshing as a regression bug.
The company also delayed some iOS 13 features that were announced during WWDC 2019 like pinned iCloud folders and iCloud folder sharing. These features have still not shipped yet.
Apple's operating systems for its other devices were also not spared of the buggy updates. iOS 13.2 update bricked many HomePods, which Apple had to replace for users. macOS Catalina still has many issues that remain unresolved. Even watchOS 6 has been unstable for most users, with issues like battery drain.
Bloomberg also reports that Apple is already planning to delay some features planned for iOS 14 to iOS 15, codenamed "Azul+1". This should allow the software teams to focus on performance.
Let's be honest. Apple has done this before. We have no doubt that the company can pull off a polished release with iOS 14 and other future OS updates. However, we would not be surprised if the software quality goes down again with iOS 15. Apple needs a major overhaul in how it plans and release software updates. One of the solutions might be to separate the built-in apps and features so they can be released separately throughout the year, instead of a combined major release once a year.