← Back to context

Comment by ankit219

20 hours ago

Are we learning the wrong lessons? Integrated always works better than modular components. Here, Apple is being asked to enable their versions of software for third party devices, which do not have the same hardware assumptions as Apple did. (Apple will not release the exact hardware spec for airpods anyway). This means the newer version will be designed modularly, with some tradeoffs to enable the "same" kind of access to third party. Then there is a caveat that it there is even a bit of experience change from 1st party to third party access, it will be complained about and investigated. so, the way fwd is designing with third party in mind, and that almost always leads to bloat and substandard experience for end user.

Probably better would have been just simpler access, even if not the integrated experience like. But that would lead to complains from third party manufacturers.

The lesson being learned is that Apple could’ve avoided all this trouble if they had used or produced standards for the connection between their components. The whole concept of a gatekeeper was created in response to Apple-likes being difficult and simply hostile to interop opportunities even though they’re defacto the phone company and there is no way around them.

So if the solution is not optimal, that circles back to Apple who are responsible for coming up with a solution that works. Then choosing to prioritise platform lock-in is a business strategy, leaving regulation the only recourse.

  • A company making an integrated experience would inevitably provide a better experience/performance than a company asked to build for 100s of devices with different spec. That Apple did not want to open it up is a separate discussion.

    My contention is this: expecting a third party provider to be able to provide the same experience as the first party is an impractical goal. Even pushing companies towards that means a lot of second order effects where everyone ends up like Intel or Windows for that matter. We already have android on that level.

    You can have a reasonable requirement where Apple should not be able to block other companies from providing similar services based on an iphone. But clearly the directive here is that Apple's competing products should not be better based on better integration, which can only go in one direction. Apple degrades its own products to comply. Yes, competition wins, but consumers lose. In this case specifically - consumers who would want to choose Apple, better experiences would not be able to simply because Apple cannot ensure the level of software/hardware alignment as it works today if the same software is written with modular hardware in mind.

    • > You can have a reasonable requirement where Apple should not be able to block other companies from providing similar services based on an iphone.

      This is what the requirement is. The EU isn’t demanding that Apple provide the same experience for 3rd Party and 1st Party products. It only requires that Apple allow 3rd Parties access to the same capabilities as 1st Party products, so 3rd Parties could build 1st Party quality experiences.

      Nobody is asking Apple to degrade their own products. They’re just demanding that Apple don’t artificially degrade other people’s products.

      > That Apple did not want to open it up is a separate discussion.

      This is the only point of discussion here. Because all the EU requires is that Apple open up their internal protocols so others can implement them.

      2 replies →

    • > Apple degrades its own products to comply

      Apple makes a choice here, they don’t degrade anything they just choose to be difficult and to have to be forced to do the right thing by “whomever has enough money to sue us”.

      If you’re a user of Apple devices, I don’t know why you’re defending them because noting this corporation does is meant for you once they double dip on you buying their hardware and then signing up for their services.

    • > A company making an integrated experience would inevitably provide a better experience/performance than a company asked to build for 100s of devices with different spec

      This isn't given. For example the company that makes smart light switches doesn't provide a code entry pad and the company that makes the alarm doesn't provide a light switch. If they were interoperable I'd have a better system. Futhermore they'd both sell more widgets, as I'm holding off on further units in case I find a better third option and end up disposing of my current ones.

    • > A company making an integrated experience would inevitably provide a better experience/performance than a company asked to build for 100s of devices with different spec. That Apple did not want to open it up is a separate discussion.

      I disagree, this is not a given. Usually the opposite is true.

      Meaning, properly designed APIs and protocols for public use are more robust than one-off private protocols. Because there are expectations.

      Apple could be malicious and make the API stupid, but if they were genuine then they wouldn't. They would make a good API, which is much more likely, I think, when the API is public versus some secret private API.

      1 reply →

    • > We already have android on that level.

      You're missing the point. Apple isn't in trouble beacuse of user's choice between iPhone and Android. They're in trouble because of 20-50 headphone makers who Apple prevents from truely competing Apple for 2 billion iPhone users.

      It's the same with all of these issues Apple (and Google) are running into. It's not about the user's choice to buy iPhone or Android. It's about 100s of thousands of businesses ability to reach those billions of users without a gatekeeper.

      1 reply →

  • There is no “produced standard” to allow three Bluetooth devices - each headphone and the case - to register as one Bluetooth device or to automatically register a Bluetooth device to all devices using the same cloud account.

I disagree with the premise. For me, "works better" means that I can swap out one of the devices in my fleet with a different brand and still have a functioning setup.

But even ignoring that, I think your claim can be true while forcing Apple to be compatible is still the right thing to do, because optimizing for personal convenience and user experience only is not the best outcome if it comes at the expense of market failure due to vendor lock-in.

Big disagree that integrated always works better than modular writ large, but in any case maybe they could just hire this guy to do it? https://github.com/kavishdevar/librepods

  • Its mostly true when the integrating company cares for the user experience. Which apple clearly does.

    The example you shared is the opposite. I am imagining a kernel today written in a manner that airpods would be able to use it to extract the max out of it. Now, it has to support 10 other third party pods, so at the minimum, kernel would be more generalized.

    • I guess if apple changes the way it works completely it would be different, with the kernel and such but like

      Aren’t peripherals inherently modular kind of definitionally?

      You should check that GitHub, it makes AirPod functionality mostly agnostic. The warts could (in some world) be mere bug reports for the manufacturer firmware team.

      Personally, I think the Bluetooth standards suck a big one even recognizing how good it’s gotten and I _almost_ resent apple for not pushing this out as anither standard.

      1 reply →

The components are modular under the hood, they have to be. Apple just doesn't let you take advantage of it.

iOS has a daemon that reads your notifications and ships them to Apple Watch. They have a daemon that scans for AirPods and gives you UI to pair them. But you as an app developer cannot do any of those things. There was no public API for notification stream access, scanning for specific Bluetooth devices, floating UI widgets, or even just persistent daemons. All of those capabilities more or less exist on Android, which is why multiple smartwatch ecosystems have been built on top of it while iOS only supports the first-party option.

Back in the 2000s, when Apple was just getting into mobile devices, the app development landscape was far less bleak. iTunes on Windows could happily index your entire music and video collection and sync it to an iPod and there was nothing Microsoft could do to stop them. Everything is just finding the appropriate file and connecting to the appropriate USB device to transfer it. And that's more or less how things still work today, except now on smartphones all of that is put into isolated containers and walled off behind private APIs.

  • modular does not mean in terms of how the library is architected, but in terms of how many vendors/customers it needs to support. Airpods' hardware is built and then kernels are written in a way to compliment each other and get the most out of the system. With another set of headphones with a different chip, there is a very good chance that code written today would not be optimal because other builders could manufacture different things based on the same spec. You cannot bring everything to software, nor can you have hardware doing everything. Tradeoffs would be needed.

    The issue comes in second order effects. If third party headphones are given access and then the experience is not as good, they complain that Apple hasnt open up the spec enough, and it just results in Apple being forced to be modular in their approach.