News for hackers. Stuff that matters.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by objclxt on Monday February 12, 2018 @07:04PM (#16363585)
I have a slightly different perspective (I worked on iOS 7 - 11). One of the things about Apple that's different to many of the other tech conglomerates is that engineering teams are given huge freedom to work the way they want (for better and for worse). Because engineering is so fragmented you should always take what one person says about the process with a pinch of salt.

So that means there are hundreds of source repos, patch review systems, and the like. When I was there I saw teams using Phabricator, GitLab, GitHub, plain e-mailed diffs, and more. In the same way EPMs and project process varies massively across teams, so what that employee experienced is by no means the norm. Certainly I didn't find this to be true at all:

> Nothing could be worked on if it wasn’t in Radar with a priority number attached and signed off by the teams’ EPM. No room for a side project or time away from your daily duties because there were always P1s to fix.

In fact, I worked on a major feature that was keynoted one year that came out purely because of my side project work. If anything it was a frustration to enter the "real world" where PMs had so much more power and influence than they did when I was at Apple (where PMs didn't really exist, and EPMs existed only to manage project timelines and drive features that HI / ID came up with).

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.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by majormajor on Monday February 12, 2018 @07:42PM (#16363806)
When I've seen "always follow priority order," it's always been somewhere between "[wink wink] that's a good idea, figure out how to link it to the top-priority stuff" and "all priorities are negotiable" anyway. Was your experience similar, or just more of a team truly without external priority ordering?
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by chuckdries on Monday February 12, 2018 @07:30PM (#16363724)
Do you think some level of standardization of process would help apple as a whole? Would it help eliminate the relatively poor experience of reddit-OP?
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by objclxt on Monday February 12, 2018 @07:42PM (#16363808)
I think it's both a blessing and a curse. On the one hand it makes it very easy for teams to find an approach that works for them, and does away with a lot of bureaucracy.

On the other, it promotes a lot of inefficiencies (I knew of at least 8 separate instances of Phabricator being used by different teams), and makes it very difficult to centralize core tooling and operations. It also makes it very hard for engineers to have internal mobility (you typically would have to do a full interview loop as an internal transfer, which is in stark contrast Google / FB's approach).

When I left there was talk of centralizing more tooling to attempt to alleviate some of these issues, but I don't know if any progress has been made since then.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by gigatexal on Monday February 12, 2018 @11:59PM (#16364876)
Wow. That sounds way too chaotic.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by ndesaulniers on Monday February 12, 2018 @08:58PM (#16364157)
plain emailed diffs? this isn't LKML
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by bri3d on Monday February 12, 2018 @10:35PM (#16364529)
There have existed teams at every company I have ever worked for who argue that this is the Very Best Way (tm) to develop code. It allows for the True Gatekeepers to keep their hold over the perceived software quality and quickly routs any sort of outside interest from modifying the project in any way the True Gatekeepers don't desire. In entirely broken organizations this is an effective way to allow 2-3 good developers to produce software in spite of the culture. In any organization beyond entirely broken, this prohibits a team from scaling beyond 2-3 key core members and tends to allow that small group to become the BOFH, maintaining a reign of terror over all non-blessed developers, regardless of seniority or title, who dare contribute to the product. In some senses this is the Linus "benevolent dictatorship," but in most, it's a despotic system that collapses as soon as one of the core contributors moves on or retires.

In my experience most attempts to move these sorts of teams towards real revision control and development practice lead to an extinction event in which they practice every form of hazing possible to maintain control, requiring careful management. Think extreme code-format nitpicking (combined with a lack of automated tooling or a styleguide that would let "others" get it right), followed by appeals to whichever authority maintained their team, outright hostility, and eventually ultimatum or holding the code hostage.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by chopin on Tuesday February 13, 2018 @04:57AM (#16365981)
But how is emailing different from something like eg. Gerrit or pull requests. Ultimately, it's always the maintainers who get to decide what gets into the repo.

What you describe is a problem occurring independent of the way changes are merged. I agree that it can be a real problem.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by bri3d on Tuesday February 13, 2018 @12:21PM (#16368821)
I think your sibling post is similar in sentiment and it comes down to transparency. In the "patches-to-a-list" model, there's no running status page or record of exactly what patches were rejected or ignored, and by whom. Anyone wanting that information would have to go to a lot of work parsing, searching, and analyzing the mailing list.

With Gerrit or pull requests, reviewers are clearly assigned and patch states are managed in a centralized dashboard. This makes it a lot easier for external stakeholders (managers, other development staff, etc.) to gain insight into how a team's working and whether or not they're being accepting or effective. And that's why, to me, these kinds of toxic maintainers seem to suffer an extinction event when moved to a more transparent system. The maintainers are the same, but their tool - quietly rejecting patches with little accountability - is taken away from them.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by claudex on Tuesday February 13, 2018 @07:06AM (#16366487)
You can allow multiple person to accept a pull request. So you don't have "a" maintainer but some.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by avar on Tuesday February 13, 2018 @08:54AM (#16367085)
Git itself is developed this way, so saying it could be fixed by "real revision control" is silly. Maybe you worked with someone who misused this model, but there's good reason Git and Linux use it.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by oillio on Tuesday February 13, 2018 @11:42AM (#16368481)
I think the OP covered this argument with is comment about Linus' "benevolent dictatorship."

That is an extreme outlier. If your organization is run by someone like Linus, it can work, maybe.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by avar on Tuesday February 13, 2018 @02:50PM (#16370120)
Git hasn't been run by Linus for over 10 years, and uses this workflow. Is it flawed in some ways? Sure, but it works and has its advantages.

Furthermore the way patches are submitted, discussed and reviewed has little to do with the process by which they're eventually accepted or rejected by a BFDL maintainer, unlike what the GP is claimnig.

If the kernel used say Github pull requests you'd just have Linus rejecting some of those instead of refusing to accept patch serieses submitted by E-Mail.

The GP is just railing against some bad experience with the "True Gatekeepers", as if a company that was dysfunctional enough to use E-mailed patches as some unreasonable filtering mechanism wasn't able to do so via other methods.

The advantages of the E-Mail workflow is that it's fully distributed (aside from the ML hosting), bug/patch discussion can naturally flow into one another, everyone can use their favorite client that they can script etc., and you don't need an active network connection to participate (do all your patch review on the plane), all as opposed to using some opaque web UI.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by bri3d on Tuesday February 13, 2018 @03:12PM (#16370295)
The advantage of the Pull Request system is that it lends transparency. Especially in a corporate environment, a team can easily ignore and reject a lot of code sent to a mailing list. When each patch is tracked using tooling built for that purpose, this gets a lot harder.

Yes, the BFDL maintainers can continue to operate in whatever system they're given, but the more transparent the system is, the more likely they are to be discovered and the issue corrected.

I do agree that the E-mail workflow offers (a few) advantages, but the lack of inherent transparency in the tooling tends to be quite troublesome. It also doesn't inherently offer easy integration with automated testing systems or easy audit and compliance logging.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by avar on Tuesday February 13, 2018 @04:14PM (#16370833)
I certainly wouldn't recommend it for most situations, especially something like a corporate environment where most people have problems with basic E-Mail workflows like inline quoting and preserving In-Reply-To headers.

It's more suited for free software projects like Linux & Git where the participants don't want to be locked out of all their historical discussions just because some company does badly in the stock market, as opposed to being 100% archived in hundreds of places via an open protocol, and trivial to migrate somewhere else.

I'm just saying the problems you had with it seem to come down to a completely dysfunctional corporate culture, not patches over E-Mail.

Sure if you're working with such monumental assholes that they're just going to passive-aggressively and conveniently discard whatever you tell them over E-Mail / IM / at the water cooler that's pertinent to their work area and need to essentially CC their manager on all correspondence, and are using PRs as a way to do that.

Then sure, then an E-Mail-based workflow probably isn't for you, although you could use git-format-patch to CC both your and their manager on every patch you send to achieve similar results.

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by exBarrelSpoiler on Monday February 12, 2018 @09:04PM (#16364188)
The primitive state of tooling in some corners of a sprawling corporate empire would make your head spin.
Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by rwmj on Tuesday February 13, 2018 @06:20AM (#16366305)
What's not to like? Lightweight, multiple interoperable tools (MUAs and editors), no barrier to entry, easy to review and comment. Compared to shitshows like Gerrit and the awful clunky workflow of Github, I'll take an emailed patch every time.

Does it scale to huge patchsets? ... well not so much. However Gerrit is not the answer to that (in fact, no tool I've found provides a good answer).

Re:How Apple Plans to Root Out Bugs, Revamp iPhone Software by pm215 on Tuesday February 13, 2018 @03:00PM (#16370197)
The major problem with the email-patches workflow is that it is a pretty poor experience for the new and occasional contributor, who will generally find that their email client makes a complete pig's ear of their patch. What I'd really like to see is a web UI that seamlessly interacted with the trad email workflow, so people who prefer a web UI and especially people who are just making a single drive-by contribution could work that way without having to start by setting up git-send-email. You could also make the web interface keep track of which patches are still unreviewed so things drop through the cracks less often...