Apple shifts iOS 14 development strategy to cut buggy releases

Posted:
in iOS edited February 2020
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.
freeassociatehypoluxa
«13

Comments

  • Reply 1 of 43
    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.
    tyler82kestralmike54olsphilboogieSpamSandwichwatto_cobrajdw
  • Reply 2 of 43
    razorpitrazorpit Posts: 1,796member
    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...
    equality72521bonobobflyingdpmagman1979olsjony0
  • Reply 3 of 43
    tyler82tyler82 Posts: 1,112member
    McJobs said:
    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.
    iOS looked and operated so much better with Forstall. It looks like a bad kindergartner’s art project now. 
    dysamoriakestralmike54philboogie
  • Reply 4 of 43
    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.
    llamaequality72521flyingdpchemengin1magman1979stompy80s_Apple_Guydysamoriadewmekestral
  • Reply 5 of 43
    jcs2305jcs2305 Posts: 1,342member
    McJobs said:
    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.
    Weren't bugs, Maps and issues with IOS 6 the reason Forstall was relieved in the first place? Didn't the clock app use a design based on the Swiss Railway clock without being licensed on him as well?  According to Wikipedia it cost Apple 21M in compensation to Swill Railways...



    Not knocking the guy but I am not sure if he is the end all to Apple's IOS issues as you seem to think.. 
    pscooter63caladanianmagman1979jdb8167fastasleepmuthuk_vanalingamwatto_cobrajony0
  • Reply 6 of 43
    melgrossmelgross Posts: 33,641member
    McJobs said:
    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.
    Well, he was responsible for the Maps debacle, and was disliked within Apple, so—no.
    Rayz2016caladanianStrangeDaysmagman1979jdb8167fastasleepmuthuk_vanalingamjony0
  • Reply 7 of 43
    melgross said:
    McJobs said:
    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.
    Well, he was responsible for the Maps debacle, and was disliked within Apple, so—no.
    "and was disliked within Apple"

    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.
    philboogie
  • Reply 8 of 43
    razorpitrazorpit Posts: 1,796member
    marktime said:
    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.
    Willing to bet pressure from management. Follow the ladder up to see where it's coming from. ;)
    bonobobhzcdysamoriamike54FileMakerFellermuthuk_vanalingamphilboogieSpamSandwich
  • Reply 9 of 43
    marktime said:
    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.
    This is the problem with Agile processes.  You end up with one line drawing masquerading as requirements which leads to shipping code that was barely tested.  

    This can actually work if you have REALLY good QA. But QA is ALWAYS the first thing to get cut when the schedule runs out of time.  

    Agile does deliver software MUCH faster than waterfall where you spend a year writing design documents that are outdated and wrong before you ever start coding.  But like everything else in life there are trade offs.  

    If Apple went to a 3 year release cycle on iOS it would be absolutely rock solid.  But you still wouldn’t be able to browse the web while you were on the phone.  

    TANSTAAFL - There Ain’t No Such Ting As A Free Lunch. 

    This is why it has taken a decade to build new manned space capsules.  Conversely it is why 346 people died on 737 Max jets plummeting from the sky.  
    llamaequality72521StrangeDayshypoluxaflyingdpjdb8167dysamoriapscooter63muthuk_vanalingamphilboogie
  • Reply 10 of 43
    Seems like they rushed iOS 13, but I remember iOS 12 was much better than 11 (although Screen Time, being a major feature, still doesn’t work reliably). I guess 14 will be a stability-centric release.
  • Reply 11 of 43
    MacProMacPro Posts: 19,851member
    It would be nice in macOS developer betas to be able to toggle new features on and off.  It would make both ruling out and homing in on conflicts far easier.
  • Reply 12 of 43
    melgrossmelgross Posts: 33,641member
    melgross said:
    McJobs said:
    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.
    Well, he was responsible for the Maps debacle, and was disliked within Apple, so—no.
    "and was disliked within Apple"

    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.
    He was considered to be too political. He wanted the CEO spot, and when he didn’t get it, he was plotting to get it. When Jobs was there, he was thought of as Jobs’ boy. When Jobs passed, he had no one to protect him, and apparently, no one to reign him in. When he refused to sign the apology letter for the Maps debacle, he was through.
    StrangeDayslostkiwijdb8167mattinozfastasleepmuthuk_vanalingam
  • Reply 13 of 43
    melgrossmelgross Posts: 33,641member

    razorpit said:
    marktime said:
    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.
    Willing to bet pressure from management. Follow the ladder up to see where it's coming from. ;)
    Probably not.
  • Reply 14 of 43
    elijahgelijahg Posts: 2,848member
    It's a bit disappointing that with iOS12 as a maintenance release rather than feature release, they managed to introduce so many issues with iOS13 which arguably should have had a stable base from iOS12 to build on.

    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.
    dysamoria
  • Reply 15 of 43
    Rayz2016Rayz2016 Posts: 6,957member
    melgross said:
    McJobs said:
    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.
    Well, he was responsible for the Maps debacle, and was disliked within Apple, so—no.
    "and was disliked within Apple"

    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.
    So he was empire-building.

    Just as well he was given the push then.
    pscooter63
  • Reply 16 of 43
    AI, headline should read: “Apple allegedly...” because it’s a rumor. Framing it as fact the same way actual factual stories are does a disservice to readers. 
    dysamoriapscooter63FileMakerFellermacplusplusmuthuk_vanalingam
  • Reply 17 of 43
    Um... this is not rocket science, Apple. But thanks.
  • Reply 18 of 43
    where the operating systems prematurely killed background processes, making users lose work.

    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.

    dysamoria
  • Reply 19 of 43
    It seems Apple should just step back and take a little more time to release new OS versions. The 18-24 month or so cycle wasn't that bad in the early aughts. That way it is rock solid (more-or-less) once the new version is released.
    dysamoria
  • Reply 20 of 43
    gatorguygatorguy Posts: 24,650member
    AI, headline should read: “Apple allegedly...” because it’s a rumor. Framing it as fact the same way actual factual stories are does a disservice to readers. 
    First sentence reads "Apple is allegedly adjusting how it develops its operating systems internally..." and the source article words it as "according to people familiar with the shift". Neither one states it is a fact. As for the headline it is just that. You always have to read the accompanying paragraphs for an explanation and details no matter who writes it.
    edited November 2019 muthuk_vanalingam
Sign In or Register to comment.