Imagine getting upset that an Occulus firmware update didn't work with a knock off HMD that lacked features of the original...
Imagine getting upset that an Occulus firmware update didn't work with a knock off HMD that lacked features of the original...
They're already doing that for some other things.
For instance, some (mostly cheap) Wifi access points are known to have buggy implementations of 802.11 that require firmware workarounds in phones and laptops. Manufacturers have to support these devices for the benefit of the consumer and to maintain their own reputation. Customers aren't expected to understand that it's some other piece of tech that's at fault.
Granted, it's a bit different since this is a separate device. But this is still one example of Apple (and every other phone manufacturer) supporting other's people buggy code for the benefit of the users.
What your describing is "interoperability testing", and it's ubiquitous in the communication standards world.
Standards sometimes aren't clear, sometimes there are multiple implementations of a feature before a standard is ratified (and a big user base with the now non-standard implementation), and sometimes bugs end up in silicon and firmware.
One company I worked with had a very large lab with hundreds of ethernet cards. A column of robots would cycle through each one and plug a network cable in, make sure the link was up and solid, then move on to the next.
I think this is fundamentally different than Apple supporting third party hardware.
Communication standards are designed to allow chipset a to talk to chipset b. Both have an obligation to get a link up. A failure to get a link up is a failure for both, from the customer perspective.
A closed, proprietary, custom hardware system has no such obligation. Unlike the communication channel, the risk is completely unbalanced. A failure for the knock off hardware design is just directed to Apple (as you see in the comment section here).
Sure, you can't really blame the customer since the knock off parts aren't easily detected or may have been installed by the previous owner. You also can't blame Apple since you've made a custom iPhone with mystery parts, and I think it's unfair to make them stop updating firmware/software so they don't break these mystery parts.
They should have a test to make sure they don't get left in a dust with an update.
This is also another good reminder to postpone the iOS updates as long as possible; I think it's been since v10 when the updates have had a less than stellar record.
How is it their responsibility to support third party hardware? And, where's the line for support?
If I make a very poor knock off screen with a design issue that is made apparent with an iOS update (say, incorrect implementation of a required spec, interface, timing, etc), why should Apple have to support a flawed design?
What if Apple included a feature in the hardware that but the software wasn't ready at release, but would be made available as a standard feature in an upcoming iOS update? Should Apple have to continuously fragment their codebase, resulting in some tree of hacks to support each new half-baked chipset?
To someone in the hardware and software world, this perspective is absurd.
If you could give one example of a company with a custom and proprietary system and chipset supporting third party knock offs I would be very interested. I've never witnessed this during my time in the hardware industry.