News for hackers. Stuff that matters.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by cageface on Monday February 12, 2018 @07:57PM (#16363872)
Based on your experience there what would you say is the cause of the recent slip in software quality in both iOS and macOS? As an outsider it looks to me like they're just pushing too hard to keep up with a yearly release schedule but that's based on no inside knowledge at all.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by masklinn on Tuesday February 13, 2018 @05:26AM (#16366094)
> Based on your experience there what would you say is the cause of the recent slip in software quality in both iOS and macOS?

It's not clear because there have been absolute shit-show releases going back to the early days of OSX. Even the fondest-remembered releases were only so after a ton of polish, and that was with releases slipping significantly (you might see 3 years pass between major updates, and the new version would still be completely unstable).

I'm sure yearly releases don't help, especially if there isn't a postgres-type culture of "we ship what's ready", but software engineering issues at Apple go back a long time.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by gurkendoktor on Tuesday February 13, 2018 @07:16AM (#16366534)
What has definitely changed is the pace with which people are expected to upgrade. When OS X Snow Leopard came out, you had to visit a store to buy the DVD. Nobody would look down on you for running a "legacy OS" if you only upgraded when .3 was out.

The ways in which this has changed affect both tech-savvy and casual users:

1. Older versions of iOS (which didn't exist back then) don't receive security fixes, so the only way to stay safe is to upgrade within days of the initial release (ideally before Apple publishes its security KB article).

2. Older versions of macOS often lag behind when it comes to security fixes. There is no clear policy on whether it is safe to stay on release n-1. Apple needs to be nudged to even document macOS security issues[1]. If you are moderately paranoid about security, you have to install all updates on day one (as on iOS).

3. iOS and macOS automatically download OS upgrades and nag you to install them.

4. There is a narrative on community sites that Apple's products are only good because Apple relentlessly kills legacy code and features (I don't even agree with the latter part). Dropping support for anything older than a year is considered a badge of honor because it means there will be "progress". The more paying customers you inconvenience, the edgier you are.

5. Apple feeds into this "old software is bad" meme by publicly LOLing at Android's adoption curve every year.

6. Emoji. I wish I was kidding, but only seeing squares when other people go out of their way to express their emotions is actually annoying.

7. If you are already on an OS that is buggy, you are more likely take the plunge and update to a brand-new OS in the hope that this time, things will be better.

[1] https://twitter.com/patrickwardle/status/953416156802703360

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by newscracker on Tuesday February 13, 2018 @11:58AM (#16368639)
> 3. iOS and macOS automatically download OS upgrades and nag you to install them.

This annoys the hell out of me. So much so that I feel like throwing the device every time it happens. What a waste of energy, storage, and network data limits! I've had to delete the iOS 11 download on my device manually several times already. I make sure WiFi is off whenever I'm charging for fear that it would automatically install the update too (not sure about this) and would not be able to revert back.

If anyone on the iOS team is reading this, I'm not moving out of iOS 10 unless you provide a way to turn off the WiFi radio from Control Center (not just disconnect from the network and connect automatically when I'm in a different location, which is not what I want). And also fix the slowness issues with iOS 11. I have it on an iPhone 7 and the performance is bad. I can't spend several hours erasing the device, reinstalling the OS and re-downloading all the apps (several tens of Gigabytes) once again now that you've not only removed app transfer and sync with iTunes but also removed the apps section from it. Stop assuming things about people's connectivity and data transfer quotas and start designing for real users!

Using an Apple device has never been so frustrating for me like it has been in the past two years.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by savoytruffle on Tuesday February 13, 2018 @02:28PM (#16369954)
When Snow Leopard 10.6 came out in August 2009, it only supported Intel Macs, which were at earliest from January 2006, about three and a half years earlier. Typical Mac OS X releases up to El Capitan (september 2015) supported 10 years of Macintosh computers. Sierra/High Sierra still do, essentially.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by newscracker on Tuesday February 13, 2018 @11:05PM (#16373379)
The support for older machines depends on multiple factors, like the multi-year transition from 32 bit to 64 bit for the OS, including 32 bit EFI, 64 bit EFI, etc. Some older machines were not supported by newer releases (not talking about security patches) for longer than five years, IIRC. That's a long period of time, but still quite short when compared to Windows support of older machines during that time (this is not a great comparison because of differences in annoyances and quality in the OSes, but more about the companies' work).
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by gurkendoktor on Thursday February 15, 2018 @12:49PM (#16385979)
Right. If Apple really switches to ARM Macs, I doubt they'll support existing Intel Macs for anything close to 10 years.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by lou1306 on Tuesday February 13, 2018 @11:53AM (#16368601)
> If you are moderately paranoid about security, you have to install all updates on day one

Until you don't (see High Sierra and the "empty root password" fiasco).

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by ghostcluster on Tuesday February 13, 2018 @10:19AM (#16367732)
I don't recall a GIF like this ever appearing in any prior Ars Technica review of OS X: http://cdn.arstechnica.net/wp-content/uploads/2017/09/Sep-23...
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by AlphaSite on Tuesday February 13, 2018 @11:27AM (#16368328)
New reviewer.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by coolwhhip on Monday February 12, 2018 @09:01PM (#16364170)
Shipping gets you power and influence. Outside of personal conviction and judgement, there’s not incentive to do much else.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by fastball on Tuesday February 13, 2018 @03:36AM (#16365627)
Right, but engineers probably are going to have some level of conviction and judgement when it comes to something they helped build. They're personally invested in a feature they've worked on.

If I was an engineer at Apple who worked on iMessage, and I heard acquaintances talk about the bugginess about iMessage, I would probably start out being defensive but then I would regret that we didn't ship a better product.

I think an EPM is less likely to feel like that, as they are not so closely tied to the actual product, which is what the Reddit poster was saying.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by vlovich123 on Tuesday February 13, 2018 @11:46AM (#16368522)
It's easy to blame "the other". Having worked at Apple I never felt like it was the EPM causing quality issues for us. It was us setting an aggressive schedule ourselves and, more importantly, having poor testing. The EPM was mainly just making sure tasks didn't get missed, reprioritizing them as the schedule moved based on discussions with managers & other engineers etc. Sure at some point in the schedule the central EPM committee for a release would start locking things down & punting less critical issues, but that's something that's done for every single release even for engineer-driven companies because you have to ship at some point.

Keep in mind also that these EPMs themselves tend to be fairly competent engineers in their own right so these aren't MBAs making decisions, they've just moved on as their career evolved. They care about quality just as much as anyone. The difficult part is making the call of cutting a feature especially if it's a keynote feature because there's just not enough time to actually ship it because that's predicting the future. Another difficult call is what bug constitutes a delay of an OS release, especially when the bug report may not have the necessary details to indicate it might be more critical than it seems.

TLDR: It's not as easy as saying it's all the EPMs fault. There's plenty of blame to go around because nobody is perfect & predicting the future (which is what scheduling is) is very hard.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by vlovich123 on Tuesday February 13, 2018 @11:36AM (#16368412)
It's really hard to put any single root cause on it. Firstly, mobile OSes are massive beasts with lots of different teams working on it. Co-ordinating this becomes very difficult. Additionally, you typically get about 1 build a day which means there's a long lead time to find a bug that's managed to propagate out and then a long lead time for it to get fixed (at least 1 day). I think this decrease in quality has been seen across all OS vendors, it's just that Apple has become one of the dominant OSes so there's more press about it than there was about previous Apple releases.

So now you have a larger volume of bugs since bug count is based on the amount of code written, assuming best case that developer quality is roughly consistent across all teams. Since you have a larger volume and only so many hours in a day, trying to ship all software at once at an annual cadence means your bug count will go up regardless of how much QA you throw at the problem (since in addition to finding issues you have to fix them).

Automated testing might help because you could catch bugs before they're even submitted. Well, automated testing is still very hard on these devices when you're building the OS. For example, how do you do something as simple as build & run unit tests? If the answer involves loading code onto a mobile device that means (at Apple scale) you need a farm of devices. Moreover, your test isn't valuable if it's running against yesterday's OS. Might not even build/run because you've now acquired a dependency on an API made available in the new OS. So now you have to co-ordinate building the software using an SDK that may be unstable (build breakages happen), run it on an OS you somehow have to pre-validate works otherwise & then have some confidence that the bug found was introduced by your commit & not some combination of build issue, compiler bug (oh yeah - the compiler changes drastically too while your building your next OS), or downstream dependency bug. Finally, on top of all this you need to make sure you can recover bricked devices in an automated fashion so that the maintenance overhead of your automated testing cluster is manageable. All of these aren't impossible problems to solve. The problem is that it requires a lot of effort & physical infrastructure. Additionally, Apple has had a very ad-hoc development environment where no 2 teams are the same (it was slowly changing to unify large pieces of infrastructure when I left) which complicates the ability to roll out central infrastructure. Additionally, there are different needs - the kernel has different testing requirements/strategies from system daemons, from drivers from 1p apps from backward compatibility testing.

When I left a couple of years ago Craig had actually directed his teams to improve the automated testing infrastructure but at the end of the day the software is growing more quickly than the investment that was made in QA. There's also only so quickly you can roll out central automation infrastructure to an organization as large as Apple so it's not as simple as "do more QA" or "add more QA resources" not to mention that "QA resources" in automated testing typically requires very skilled software engineers to design & build the systems. Allowing a longer bake time is exactly the right move here as it recognizes the need to decrease the volume of bugs while infrastructure catches up.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by chris_wot on Tuesday February 13, 2018 @05:07PM (#16371271)
It sounds like they need to issue smaller releases, more frequently.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by vlovich123 on Wednesday February 14, 2018 @01:52PM (#16378202)
Or split out non-critical apps from the OS.

However, the contradiction is that single giant releases help in three ways. The first is it enables you to make 1 big splash of a years worth of work to customers rather than it being dribbled out of the course of a year across different components, which is super important because it dove-tails into the release of the next flagship phone. It also makes the messaging because you can build themes for your releases that are co-ordinated across many apps/services.

The second is that it co-ordinates large-scale changes across the company (e.g. major UI redesign, some major UX improvement, etc) which would be more difficult to co-ordinate with smaller releases or if apps were split out.

The third is that leaks/previews can be better controlled as managing a bunch of different releases that contain functional differences is harder than just maintaining bug fixes (i.e. prepping UI changes for 50 different apps that are released throughout the year in preparation for the next OS that makes it possible for those apps to run).

Finally, it simplifies development in a sense because you don't have to worry about 1P backwards compatibility. 1P apps don't have to worry about supporting more than 1 OS and OS changes can confidently break 1P apps (within reason) with new APIs without worrying about apps that haven't been updated. The latter part about breaking apps doesn't matter as much if the apps are bundled with the OS unless those apps can also deliver updates via the App Store as now you have to launch vehicles that can be tricky to co-ordinate.

Yes, a lot of this is pure business reasons for why the SW is co-ordinated but that doesn't mean that it's not valid. Business practices & SW are symbiotic aspects of a tech company as neither can exist without the other. Everything is a list of tradeoffs and priorities. Apple is apparently first experimenting to see if they can keep all the business pros of their current approach by altering their program management practices which they've already done - iOS & OSX today have far more dot releases in 3 months than they used to between major versions. Reducing scope is the approach they're taking in the interim to make the major releases more stable - will be interesting to see if this is a long-term shift or just an interim one until their QA infrastructure investments catch up to be able to keep up with development. If those approaches fail & the brand becomes at risk that may outweigh the other business reasons & result in independent app & OS releases (seems unlikely IMO).

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by exBarrelSpoiler on Tuesday February 13, 2018 @12:20PM (#16368816)
QA being divided between Craig and Kim didn't help, either. Nor the organizational wars.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by vlovich123 on Tuesday February 13, 2018 @12:54PM (#16369146)
Hmm... I think Kim came in towards the time I was leaving. Last name? When I was there our immediate QA was embedded within SW & reported up through the SW chain. Craig took over all OS SW development early 2015 IIRC. Have things changed? FWIW software quality of iOS has always been a concern in the media and I don't see that iOS 11 is particularly better or worse than other releases. iOS 8 had horrible performance issues for example to the point where iPhone 4S lifetime had to be artificially extended to iOS 9 instead of being EOL'ed in iOS 8 as originally planned. Every release has had its own share of embarrassing/severe bugs. Except for maybe iOS 1.0 which had no 3P features, a very small feature-set, & no competition to be evaluated against, each iPhone release has always been received as having stability issues, at least initially.

> However, they criticized it for having stability issues and overall sluggishness https://en.wikipedia.org/wiki/IPhone_OS_2

> iPhone 3G users reported performance and battery issues after upgrading to iOS 4 https://en.wikipedia.org/wiki/IOS_4

> The iOS 5 update was the subject of criticism for iPhone 4S users, as the upgrade caused problems with battery life, failures of SIM cards, and echoes during phone calls. https://en.wikipedia.org/wiki/IOS_5

> A study by Apteligent (formerly Crittercism) found that the rate at which apps crashed in their tests was 3.56% on iOS 8, higher than the 2% found on iOS 7.1.[81] > Forbes published several articles focusing on problems in iOS 8 regarding Wi-Fi and battery,[82] Bluetooth,[83] and calendar.[84] https://en.wikipedia.org/wiki/IOS_8

A lot of iOS9 issues received media attention: https://en.wikipedia.org/wiki/IOS_9#Problems

https://en.wikipedia.org/wiki/IOS_10#Problems

Except for iOS6 & 7 which appear to have had a milder reaction, if anything I think iOS 11 may be a more stable release compared to iOS 8, 9, & 10 in that while there are more frustrating UI bugs you can hit (auto-correct, iMessage message ordering) but the overall performance & stability hasn't suffered as badly. Also iOS has knock-on impressions from OSX stability which has had similar UI embarrassments + a couple of security-related missteps.

My point is I don't think there's any single particular cause that's identifiable as the reason behind poor SW quality. If it were the hundreds if not thousands of really smart people Apple employs would have solved the problem. At this point it's all higher-level issues & more often than not tradeoffs (e.g. reducing the features you ship every year & going away from a waterfall development model)

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by exBarrelSpoiler on Tuesday February 13, 2018 @03:58PM (#16370705)
Vorrath.