Apple developer boycott of Feedback Assistant
lapcatsoftware.com
lapcatsoftware.com
These are for reproducible bugs in iOS, for which I've provided an isolated sample project with a 100% reproduction rate. It takes time to create a thoughtful and detailed bug report and the lack of replies are beyond frustrating. I'm glad to see this post and couldn't agree more.
Testing, reproducing, writing it up all takes time and effort. I didn’t want anything from them other than for it to be fixed, I have kids with iPhones.
It’s no different than other companies though, I sent a remote code execution to Cisco and they just replied that they already knew about it but the product was approaching end of life so they wouldn’t fix it.
I’ve stumbled across so many vulnerabilities over the years and I tend to just ignore them unless I’m being paid to find them. It’s not worth the frustration.
You’ll notice that the recipients of both reports responded similarly, with apathy. Perhaps that was the point of juxtaposing them?
Huh? That sounds very different from Apple. In that instance, the communication is professional, mature, and respectful of your time and effort.
I also notice that response and fix rates have large variance across components / teams within Apple. Some of them are quite responsive and others are just /dev/null. I do tend to focus my energy on those components where I’ve had success in the past.
It's really disheartening when you try to file proper bug reports, with proper reproduction steps, my own investigative work and more details of it, etc. Then… silent. As if the app just outputs the bug to /dev/null or something.
I think this developer strike is a great idea, but launching it as a single person's call to action (Jeff Johnson's) is not generally going to be effective in changing behavior.
What an organizer needs to do is to first personally contact somewhere between 50-200 other major, known, respected developers and get them to co-sign a joint letter which then gets published, so everyone can see this is a serious strike by people who know what they're doing -- not just one person's wish. It needs to get covered in all the major tech publications, so both Apple and all developers see it as well.
And then the letter needes to not lay out a list of all of the complaints, but rather the specific, verifiable actions Apple needs to take in order to end the strike, so this isn't some open-ended thing. And they need to be realistic actions as well, not wishful thinking -- signs of progress with dates and milestones, not fix-all-the-things-immediately.
If you're going to do a strike, you need to actually organize it. Writing a blog post that merely "encourage[s] all Apple developers to join me" is not the same as organizing. And generally speaking, writing a blog post claiming that you're striking isn't going to get anybody else to magically organize it for you.
* As the author indicates lower in the article, it's more of a strike than a boycott since it's stopping providing free labor rather than stopping purchases, so I'll refer to it as a strike
I think this attitude gives us leverage over Apple. We're only volunteers walking away from a crappy volunteering "opportunity", whereas Apple relies on our free labor for its commercial products and would have to actually hire additional staff and pay them in order to replace our QA work.
I'm worried about personally getting overwhelmed by emails and messages on social media. The more successful the boycott, the more I become swamped. :-)
Also, I think many developers have a fear of reprisal, whether that's empirically justified or not. My understanding is that there's now actually some degree of anonymity in Feedback Assistant, after changes were made in recent years for GDPR compliance? In any case, putting your name in public is a bigger step than simply boycotting, and I'm aiming for maximum participation. I've put my own name on this, and some cranks have even speculated that I might get kicked out of the developer program for it, which I doubt, because it would make me a martyr and kill my popular software — not to mention that dropping several 0days on Apple didn't get me kicked out — but I suppose that's always a possibility.
In general, I don't think that petitions are particularly useful. I'm more in favor of action (though in this specific case, the boycott is technically inaction).
It might be worth establishing an official public dialog forum and discouraging people from individually communicating until a resolution is confirmed there in public. Right now it's on individuals to confirm that Apple improved things, which can only reasonbly be done by submitting more feedback (i.e. breaking the boycott).
I've personally stopped providing feedback via forms on cloud providers' websites due to similar unacknowledgement and general disinterest in improving developer experience, but haven't tried to organize anything about it.
Definitely true for traditional paid labor, but this isn’t that.
Nobody is leaving their paycheck behind if they stop using Feedback Assistant. Since the costs to participating in this strike are very low (for most people, participating in the strike is probably a lower cost than not participating in it), I could see a path to building up to an impactful strike over time, in a way that’s not possible in a traditional labor dispute.
Are there companies that do this well, at a scale approaching Apple’s?
I can think of lots of reasons why this is a “hard problem”, and how it’d be hard to staff. I also think they’re getting paid to solve this problem, and aren’t.
I generally think people should do /less/ work when reporting bugs because of this, but you should be careful and clear about what you do put in there.
I’ve stopped doing the second phase: packaging it up and submitting it to apple, because that’s shown itself to be an entirely negative experience.
If apple’s not going to spend the $$ on internal QA, and they’re not going to spend the $$ on developer relations, I’m not especially interested in donating my time to help them. I know I’ve seen a similar sentiment from other developers for years.
I think low quality / low content bug reports are usually worse than none, because they decrease the signal to noise ratio of bugs. Maybe if there was a better channel of communication, and I knew it’d be more interactive it’d be different.
There were plenty of teams that were very good about jumping on bug reports and getting right back to me. In fact, a decade or so ago at Apple this was more or less the rule.
My sense though is that engineering became overwhelmed with bugs especially as Apple itself became as successful as it has become.
"In the old days" a smaller team would have one of the engineers on the team screen Radars — maybe rotating to a new engineer every week or so. Engineers could quickly mark a bug as a duplicate of another (recognizing a familiar backtrace or symptoms) or might be able to guess at a diagnosis and send it straight to the engineer in charge of the (likely) relevant code.
A few teams I worked on were very good about daily "BRB"s (bug review board meetings). With a number of engineers in attendance, again, bugs were quickly dispatched to the right component, assigned to right engineer.
Again though, as Apple grew, I saw bug screeners on many teams more or less automatically flipping Radars back to the Originator if there was not a litany of documentation attached to the Radar. What build of the OS, what hardware, a full sample, system diagnosis.... It was frustrating when it was an obvious bug — maybe even a UI bug — that would take someone all of 30 seconds to repro. I somewhat sympathize though as traffic no doubt began to become a firehose of bug reports.
It seemed backwards to me though to put such a burden on the person who is simply trying to report the bug, trying to help you improve the software. Often in screening Radars the description alone was enough for me to know exactly where in the code the problem was. I didn't mind my time being spent at least scanning the Radar title and description. If it was not clear to me at that point, sure, flip it back for more info. The seeming rise of "auto-reject" is what began to irk me.
If it turns out there are too many Radars to keep the BRBs to an hour then there are issues elsewhere.
At the same time, I didn't mention it above, engineers need to be allowed time in the product schedule to fix these bugs. As probably everyone knows, when a bug is kicked down the road once (because of scheduling constraints: hey, we gotta ship the software at some point!) it becomes easier still to kick it down the road when the next release dat rolls around (we lived with the bug this long...).
I think engineers and users alike would love to see more bug--only releases of MacOS and iOS. People still talk about how wonderful SnowLeopard was simply because it was a bug-fix only (mostly?) release.
I think engineers and users alike would love to see more bug--only
releases of MacOS and iOS. People still talk about how wonderful Snow
Leopard was simply because it was a bug-fix only (mostly?) release.
Apple's dot zero OSX releases have always been pretty bad, so yes Snow Leopard and the last iteration of Tiger look great by comparison. As an outsider I don't have fond memories of filing bugs with Apple in that era. The general opacity combined with corporate disinterest discouraged me to the point where it's been years since I've even thought about filing a bug.I dread new iOS releases. Sure there are usually unwanted changes (e.g. text selection in iOS 13), but the bugs... iOS 16 completely trashed whatever database Siri uses to map text to speech, so using Siri to play a song is usually a miss. Most recently it's decided the name Ben is really the name "Mouse Face". That's left a fair bit of egg on my face as I interact with those two people in two very different contexts. Sure, I could file a bug, but it's just easier to stop using Siri (which was never great in the first place).
With Tiger I was trying to integrate LDAP (AD masquerading as OpenDirectory), and it turned out that OSX would just assign GID 0 to any LDAP backed user. To me that seems pretty fucking straightforward, obviously pretty severe. That bug report went nowhere (not even an acknowledgement) and if memory serves Leopard went out with the same issue.
I also had a polycarbonate MacBook for personal use around the same time. I ended up filling out the RAM slots and discovered that after a certain amount of uptime that playing DVDs would eventually cause a kernel panic. That bug report actually did get a response, but only one. I think the computer itself died before that got fixed.
As someone who went on to dick around with CalDAV and CardDAV, there were plenty of issues to be filed but it was never really worth the effort. But as with everything else, as bad as Apple is they're usually better than the competition. That's how I ended up replacing my recently deceased Intel MBP with a new ARM one.
So long as market share holds I don't think Apple's got much incentive to reform. Although given that Tim Apple seems hell bent on pulling a Gil Amelio (my new MacBook SuperproairMax 15.323456" with the all new M-Centris really truly pro max upper bound superlative CPU sure looks great on the shelf) who knows how much longer that'll hold.
The attitude was basically, if it doesn't affect us personally working inside Apple, we don't care. If our personal workflow and servers doesn't use those features (which I guess is the case for GID), it doesn't matter.
We don't know what Exchange is or why anyone would use a Microsoft product. What are they, idiots? We don't really care about Gmail. Why is their server not responding according to RFC Whatever? Google must be idiots.
Etc.
There were a very few number of developers, most were wasting their time making fake leather stitching for the UI because Jobs demanded it. Unit testing was quite poor. Code review was nonexistent.
With the calendaring stuff: I wrote a CardDAV server that's probably still lurking around on Github somewhere. The workarounds I had to implement for MacOS and iOS clients were beyond pale. For instance stuff would just get cached indefinitely and trailing slashes caused OSX to have a conniption fit. If you told me that the client implementations just hardcoded a bunch of stuff so it worked for Steve Jobs (and that nobody else used it) I'd believe you.
Eventually I did a brief stint at a consultant that was brought on to do some infra stuff for Apple, and that didn't do much to improve my impression. We got a bunch of servers from the basement with expired iLO licenses, and boy were we lucky to get that much.
The attitude was basically, if it doesn't affect us personally working inside Apple,
we don't care. If our personal workflow and servers doesn't use those features (which
I guess is the case for GID), it doesn't matter.
Honestly I'm not sure how to respond to this. If memory serves there was no way to uncouple group mapping, so this was part and parcel of Apple's push into the enterprise space (and in this case AD was behaving as an OpenDirectory server would've). Which is to say, their failure in that space was entirely a self-fulfilling prophecy. The more frustrating part was that an obvious security flaw was treated with such disdain, which encouraged me to stop caring about filing bug report with Apple (and it's lead me to keep the bluetooth modem off almost exclusively on my iPhone).That gig was actually mostly staffed with Apple alumni so there were 1st gen iPhones all around. Even the less esoteric stuff was simply not good. Obviously voice quality was shit (at least in San Francisco) compared to the CDMA feature phones of the day. One of the coworkers there worked on the mobile Mail.app before bailing for startup life. Autocomplete was a mess. Honestly, I rather enjoyed rubbing some salt into that wound.
What amazes me is that fifteen years on and Microsoft is still somehow worse (what with Windows being adware and all).
I think that was part marketing, snow leopard brought pretty sweeping architectural/internal changes: ARC, GCD, 64-bit kernel, so it definitely wasn't a pure bugfix release.
As for feedback.. if someone had a dev account or is linked to it, they should be flagged as more detailed/investigated
Prioritizing fixing old bugs over developing new features isn't a call an IC can really make so I'd kinda argue that the issue is either "overstaffed with designers+execs who spend engineer time on UI changes" or "understaffed with engineers in general" and not an issue with the mindset of the current engineers.
Apple seem to view external developers as a kind of infestation. The systems and processes they subject them to seem designed to actively discourage them.
Because the alternatives aren’t preferable. The indies who have been exclusively using and developing for Apple platforms for years know that Windows and Linux aren’t better¹, just a different set of annoying trade offs. Apple platforms aren’t perfect, but they are the least bad option in that context. They also used to be better in many regards, which makes the situation frustrating due to the wasted potential.
¹ At a personal preference level. There’s no judgement either way, you do you and use whatever you like best.
For Apple to correct course, they should ditch the ads and focus on superpowering MacOS and iOS. Right now it's hard for me to trust that Apple is giving me the best of all worlds.
I gave up on mine personally after the app installs were impossible due to some modal error in loops.
I'm not sure how they managed to do it but they are very strong on the marketing side, I'll admit that.
They used to (or still do?) have coding courses for kids at Apple stores, they have free learn to code resources (https://developer.apple.com/learn/), probably some more programs I'm not familiar with.
I don’t want to belong to any club that would have me as a member.
Sincerely yours, Groucho Marx.
(I feel incredibly old right now.)
Edited to add: Finally found the full form letter [1]. (I filed a copy back then and it still shows up languishing in Feedback Assistant even now!)
Also (IIRC) if you post on their dev forums and deal with e.g Quinn, they might ask you to file and provide a radar - but it's been a minute since I've interacted over there.
Before that it would be you'd ambush them at WWDC with your list of bugs
I feel especially vindicated when stuff like this surfaces.
Imagine being the richest company in the world and having the audacity to charge people for the privilege of being able to contribute to your platform.
It is absolutely insane, and nothing will convince me otherwise.
I maintain an open source macOS software and begrudgingly signed up for a developer account since I didn't want my users to have to suffer through the security settings screen. At least I got a donation program up a few years later so at least I'm not paying out of pocket anymore. Some of my peers/competitors (open source text editors) are still not signing their app (since they didn't feel like getting this sorted out) forcing users to have to go through the security settings which I think is a crappy situation.
[1] https://www.construct.net/en/blogs/ashleys-blog-2/safari-rel...
They have a very large number of basic features broken regularly, it's not only about cutting edge stuff. I suspect their testing practices are less than stellar.
It was pitching a lot of work into a hole: totally opaque.
That said - the long-term strategy doesn't appear to be Catalyst, but Swift UI.
but yea its pretty bad. i cant go 1 day without a blatant ui bug lightly using apple products at work
We do not need a website for that.
Simply send an email to Craig Federighi or even Tim Cook.
You can find their email addresses here → https://news.ycombinator.com/item?id=27320383
> Apple Feedback Assistant reports are not public. To help other developers discover existing reports, copy-paste your submitted Feedback Assistant report into a new issue. Make sure you include everything.
> This is similar to Open Radar, but it's easier to fill out the report and GitHub has better search. Also, Open Radar doesn't yet support Feedback Assistant.
> Instead of voting on issues opened here (which Apple won't see anyway), file a new Feedback Assistant report and copy-paste the contents of the report you found here and link to the original report. Apple encourages duplicates.
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!
Those look like a public mirror of some Radars filed at Apple, i.e. Apple already has that information. If enough developers stop submitting feedback (topic of this HN thread) and start posting bugs into a public repo FIRST, with a CC-BY-4.0 license allowing Apple to mirror the public bugs, then a boycott would have the positive side effect of showing-by-example how the feedback process could be improved.> nothing would happen
As a counterpoint, there is a public Bugzilla for Webkit bugs, where the keyword "InRadar" indicates whether the bug has been mirrored to Apple's internal bug reporting system. If enough developers boycott Apple Feedback, could they use a Bugzilla instance for iOS and macOS bug reporting? If enough Apple users start referencing Bugzilla URLs for iOS/macOS production issues and purchasing decisions, could that influence Apple?
https://bugs.webkit.org/buglist.cgi?bug_status=__open__&cont...
Yes, and they're specifically instructed to file TSIs if they need a workaround in the meantime. https://developer.apple.com/bug-reporting/
Should developers not have to do both? Sure. Should they ignore Apple's instructions and still expect to get help? Not sure.
I have also gone to a virtual dev lab during WWDC which was awesome. Lots of "free" help from an Apple engineer (basically 30 minute speed run of lot of questions about Apple Watch workout app development).
I have mixed experience with Feedbacks. I have filed dozens that I actually care about and maybe 10% were a decent experience. The rest were essentially ignored.
The feedback assistant is primarily for reporting bugs. Bugs that impact developers.
Two things that simply filing a feedback issue doesn’t seem to reliably do.
I’m suspect a concerted effort to get developers using their TSIs for bug reporting would backfire (stop refunding them? remove the program?), but I think it’s an interesting idea given how cheap the TSIs are for developers.
------------
Hello,
Thank you for contacting Apple Developer Technical Support (DTS).
We believe this issue is a bug. Please file a bug report via Feedback Assistant (https://feedbackassistant.apple.com). For more information on Feedback Assistant, visit https://developer.apple.com/bug-reporting.
------------
From here, typically the Feedback Assistant bug report will remain open. For years. With no acknowledgement.
I would happily pay Apple a developer rate to fix these bugs. Some of them are massive showstoppers in a large scale production application.
Wow that's pretty intense. Any examples of such show-stopping bugs?
1. Xcode 15's "Replace Container" feature replaces the app container with incorrect permissions that results in the app not being able to write to its container (ex. the documents directory). This is an important feature for debugging and flat out doesn't work.
2. Apple's AVPlayer has an API called MTAudioProcessingTap which allows you to get access to low level audio data. Since iOS 17.1, it is not possible to have more than one MTAudioProcessingTap running at the same time.
3. AVPlayer's `addPeriodicTimeObserverForInterval` function will randomly stop calling back to its observer, and never recover, when connected to an Apple TV via AirPlay on iOS 17.
Issue 1 makes debugging more arduous. Issue 2 stops my app from being able to crossfade audio together or play more than one audio stream at once. Issue 3 requires me to build my own time observer which is further technical debt, versus being able to rely on Apple's API.
I've spent hours debugging each of these and trying to find a workaround before resigning myself that it's a platform issue and relegating myself to abandoning that specific API or feature.
IMHO, it's the same amount of technical debt, regardless of who built it. In this case, the overall situation is worse: because you didn't build it, you can't fix it. If you have a dependency built by a benevolent provider, that may mean less work for you in the future, but it's still technical debt.
If you managed to create draft in old version (before random code change).
But it does not match with new version your feedback assistant crashes to blank screen. (JSON parse syntax error)
That means it is impossible to file new bugs...
1 second web page works but after that it is blank screen and nothing to do.
And the worst of it is the "Do you love our app?" dark pattern.