Live data from Hacker News

AirPods libreated from Apple's ecosystem

github.com

81–90 of 479 posts

Re: AirPods libreated from Apple's ecosystem

#81
post #62

Earlier quoted context omitted.

You mean the language that approximately nobody uses outside XCode, which requires you to register an Apple developer account to function? The same language that only switched to an OSS license after they realized nobody wanted to contribute to a proprietary language? Swift is OSS, but it's not a great example to illustrate your point.

Swift went open source the day it was released. I don’t think Apple needs outside contributors. I think it has enough resources that it would be okay Darwin’s underlying code was BSD license and didn’t require releasing source code.

Just because the license doesn't require it doesn't mean they aren't a leech.

Re: AirPods libreated from Apple's ecosystem

#82
post #31

Earlier quoted context omitted.

I'm convinced it's impossible to implement the BT spec without MANY of these kinds of bugs popping up. Apple mercy-killed Adobe Flash, we should be asking they do the same to Bluetooth. I'm sick of living in a reality where no one thinks to make something better. It has to be possible.

Mercy killed? Flash was great. There were so many inventive games and animations in that era. Apple didn’t mercy kill anything - they just removed a threat to their walled garden ecosystem using their anticompetitive position, but dressed it up as a security issue.

As someone who did a bunch of work on Ruffle a while back, "mercy kill" is almost the correct word. There's about a decade it spent rotting before the actual kill, and Apple's not the one who fired the final shot. I've heard stories from both the Apple and Adobe side on this, but basically both companies wanted Flash on iOS and neither of them were capable of actually shipping a good version of it.

Apple begged Adobe to ship a working Flash mobile build at least four times and each time they rejected it for all sorts of various UX or performance issues. At one point Apple asked for and was delivered Flash Player source code, which they reportedly couldn't get to compile. Adobe tried to brand Flash as an open standard, and then went over Apple's head by just shipping an AIR runtime that could be packaged into an IPA and submitted to Apple. Jobs then wrote the infamous "Thoughts on Flash" letter, which was really there to justify going scorched-earth and banning all third-party development tools. This only lasted for about three months before the Obama DOJ threatened to sue[0].

Also, Steve Jobs was probably pissed off that he couldn't get the CEO of Adobe on speed-dial. At that point in time everyone involved with shipping iPhone software was in his contacts and in regular contact with him. Google logo looks weird on the phone screen? Have Jobs call Page and get it fixed in 10 minutes.

As it stood after that moment, Flash was a viable development platform for iPhone apps and remained so for many years. This is entirely separate from its use in the browser. Practically speaking, you have probably played plenty of Flash games on iOS without even knowing it, because all the hard work of building touch-friendly UX and a performant UI was shunted over to the developers of individual games rather than trying to make, say, the core Flash rendering model GPU capable[1].

Adobe then shipped Flash Player for Android to huge fanfare, and it sucked just as hard as it did on Apple's dev iPhones and was unceremoniously canned a year later.

At this point it was obvious Flash Player needed a rewrite, even within Adobe, so they announced "FP Next" along with an AS4 language for new movies to run in. Except the Adobe execs were angry about the cost so they tried to shake down their customers for the funds. They wanted any cross-compiled 3D engine code to have to pay a revshare to Adobe. Everyone jumped ship to Unity, so Adobe canned the revshare requirement... and FP Next/AS4, the thing that was supposed to modernize Flash's aging codebase.

And then right after Adobe starts disinvesting from Flash, a bunch of CVEs land and all the browser vendors pushed hard to actually, once and for all, excise plugins from the browser. That was the actual mercy kill, but it was preceded by almost a decade in which all the people who knew how Flash actually worked didn't have the budget to fix it, and all the people who wanted it fixed didn't have the expertise to do it.

[0] For the record, Obama was the guy who saw Zuckerberg illegally buying Instagram to keep people from moving off of Facebook and said "sure thing, wave it through".

[1] There's an AS3 project called Starling that gives you hardware rendering by pre-rendering a bunch of assets in advance into bitmaps, which kind of betrays the whole point of Flash. But I also can't imagine Adobe doing it any other way as the Flash renderer was both highly optimized and bespoke.

Re: AirPods libreated from Apple's ecosystem

#83
post #43

Earlier quoted context omitted.

It doesn't seem obvious to me that this is actually a bug in the Android implementation, it seems like this is due to AirPods violating the spec and requiring a special handshake before responding to standard requests. It doesn't seem reasonable to expect Android to work around a device that appears to be intentionally breaking the spec for vendor lock-in purposes: the possibility of them just OTAing an update that b…

Apple have been ‘extending’ the Bluetooth stack for quite awhile. They introduced some BLE features before the spec was finished (I think some 3rd party hearing aids were also compatible). I haven’t used non apple earphones for awhile but the seamless connectivity performance of AirPods would suggest this was done for performance, not to deliberately lock in devices. This 2020 paper is great at breaking down some of…

> They introduced some BLE features before the spec was finished

In their defence, they went with Lightning shortly before the USB-C spec was finalized. Then, to avoid their customers being screwed over by constantly changing the connector, they kind of had to stick with it for a decade.

People will complain if they push features that are ahead of the spec, and they'll complain if they let the spec be finalized before they use it. Being guided by "What's the best we can do for UX, assuming out users are our users in every product category we enter" seems to be their reasonable middle ground.

Re: AirPods libreated from Apple's ecosystem

#84
post #66

Earlier quoted context omitted.

is there evidence it’s for vendor lock in purposes? airpods have a pretty stellar connection for bluetooth, wouldn’t be surprised if there were performance reasons for them going off spec

Specifications are there for a reason... Why use Bluetooth at all if they don't actually use it properly?

You can still connect AirPods to an android device using Bluetooth, you just don’t get the seamless connection or support for Spatial Audio that use the extended protocols

Re: AirPods libreated from Apple's ecosystem

#85
AirPods are my favourite headphones by a mile. I’d love to get microphone mode working on Linux without the audio sounding terrible.

I’d also be curious if anyone can offer insight on why the range is so much better when paired with my iPhone than my computer.

Re: AirPods libreated from Apple's ecosystem

#86
post #66

Earlier quoted context omitted.

is there evidence it’s for vendor lock in purposes? airpods have a pretty stellar connection for bluetooth, wouldn’t be surprised if there were performance reasons for them going off spec

Specifications are there for a reason... Why use Bluetooth at all if they don't actually use it properly?

> Why use Bluetooth at all if they don't actually use it properly?

Because they needed a way to get audio to the AirPods wirelessly and to work with their devices? That’s a pretty good reason to use Bluetooth.

I doubt they got together and tried to scheme a way to break Bluetooth in this one tiny little way for vendor lock in. You can use the basic AirPod features with other Bluetooth devices. It’s just these extended features that were never developed for other platforms.

HN comments lean heavily conspiratorial but I think the obvious explanation is that the devs built and tested it against iPhone and Mac targets and optimized for that. This minor discrepancy wasn’t worked around because it isn’t triggered on Apple platforms and it’s not a target for them.

Re: AirPods libreated from Apple's ecosystem

#87
post #83

Earlier quoted context omitted.

Apple have been ‘extending’ the Bluetooth stack for quite awhile. They introduced some BLE features before the spec was finished (I think some 3rd party hearing aids were also compatible). I haven’t used non apple earphones for awhile but the seamless connectivity performance of AirPods would suggest this was done for performance, not to deliberately lock in devices. This 2020 paper is great at breaking down some of…

> They introduced some BLE features before the spec was finished In their defence, they went with Lightning shortly before the USB-C spec was finalized. Then, to avoid their customers being screwed over by constantly changing the connector, they kind of had to stick with it for a decade. People will complain if they push features that are ahead of the spec, and they'll complain if they let the spec be finalized befor…

both scenarios speak to either an incredible impatience, or deliberate incompatibility to tie people to their ecosystem.

Re: AirPods libreated from Apple's ecosystem

#88
post #66
post #43

Earlier quoted context omitted.

It doesn't seem obvious to me that this is actually a bug in the Android implementation, it seems like this is due to AirPods violating the spec and requiring a special handshake before responding to standard requests. It doesn't seem reasonable to expect Android to work around a device that appears to be intentionally breaking the spec for vendor lock-in purposes: the possibility of them just OTAing an update that b…

is there evidence it’s for vendor lock in purposes? airpods have a pretty stellar connection for bluetooth, wouldn’t be surprised if there were performance reasons for them going off spec

I doubt it’s for any reason at all. The obvious explanation is that they just developed and tested these extra firmware features against Apple devices because that was the product decision. Since nobody was tasked with targeting Android they might not have even noticed that it wasn’t perfectly spec-compliant if those states were never encountered, nor expected to be encountered.

Re: AirPods libreated from Apple's ecosystem

#89
post #43
post #2

A cool project, when you want to use AirPods outside of Apples ecosystem. Sadly, you have to use a rooted android device with a small patch due to a bug in the Android Bluetooth implementation. https://issuetracker.google.com/issues/371713238

It doesn't seem obvious to me that this is actually a bug in the Android implementation, it seems like this is due to AirPods violating the spec and requiring a special handshake before responding to standard requests. It doesn't seem reasonable to expect Android to work around a device that appears to be intentionally breaking the spec for vendor lock-in purposes: the possibility of them just OTAing an update that b…

when you’ve worked long enough in any given industry you know that all companies "violate" standards to satisfy requirements of their product management.

Re: AirPods libreated from Apple's ecosystem

#90
post #7

Earlier quoted context omitted.

That is such a typical bug report to a large company. A user who spent a lot of time debugging and finding the root cause of an issue, and a few faceless peons at the large company spending a few minutes on it, realizing it’s not a priority, and abandoning it.

Ah, when "open source" means begging an advertisement company to bless your code changes...

Not really. There wasn’t a true patch attempt submitted, as far as I can see. There was some helpful info about how commenting out a couple lines could work around the issue, but doing a real engineering evaluation to check spec compliance and make sure it’s all covered in the Bluetooth testing infrastructure is a much bigger task.
Post reply on HN