Hacker News new | ask | show | jobs
by alickz 209 days ago
Also if the README is to be believed the following are also hidden behind an Apple DID (not driver):

- Multi-device Connectivity

- Accessibility Settings and Hearing Aid

While the following are exclusive to Apple devices for market reasons:

- Receive Battery Information

- Set/Receive ANC Modes

- Set Adaptive Audio Noise settings

- Receive In-Ear detection Status

- Personalized Volume (use at your own risk - might randomly boost volume to some high level)

- Conversational Awareness

- Ear Detection

- Siri (Voice assistant on long stem press)

- Hold and Press configuration

- Head Tracking (for Spatial Audio and Head Gestures)

- Rename AirPods

https://github.com/kavishdevar/librepods/issues/20

I imagine limiting such features to Apple devices is more about incentivizing the Apple Ecosystem than quality or software concerns

2 comments

I wonder how well that conversation detection works. Does it really help in a loud environment?

As a neurodivergent person I lack the innate human skill to filter voices out of a cacaphony of noise so loud bars etc are hell. There also the "talking with earphones in is rude" but that's an issue that can just be explained.

Needing root to enable it is a major deal-breaker though :( and moving to an iPhone is impossible for me. Too much stuff that's not supported.

Or Apple just doesn't want to bother with the nightmare of supplying and supporting an app to do all those things on other platforms, and in particular, there are regulatory approvals around the "hearing aid" feature that would pretty much require a specific device.

They have a basic app for some of their other devices like the Beats line. One other thing you simply can't do without pairing AirPods with an Apple device is enrol them in AppleCare One.

You're commenting on a post where a random guy provides this "nightmare of supplying and supporting an app" in his spare time, except he actually has to work around Apple's malicious obfuscation and standards non-compliance, so it would actually be way easier for Apple to do it themselves.
Except if you read the page this links to, for Android you need a rooted device only and you want Apple to make software with those requirements.
From what it says, a rooted device is required because Apple made them behave differently depending on the host. Apple wouldn't have needed a rooted Android device to support all the features.
Are you saying this would the first time an unpaid open source effort has done something a big company declined to do because of the operational costs they face?
It is in fact significantly harder for Apple. Because nobody expects random spare time GitHub project to work perfectly. Or even very well. Apple’s reputation, and trillion dollar market value, is based on the idea that their stuff works perfectly.
good god man, just accept that this is objectively an EXTREMELY easy thing to do for anyone. Yes theoretically there are things that are easier for OSS devs than large companies, THIS AIN'T ONE OF THEM.

Ugh, trillion dollar market value doesn't mean they are incapable of making a basic android app. Check their move to ios app if you have any doubts.

It doesn’t matter how frustrated you get or how many times you write capital letters, Apple is a private company and can do exactly what they want to do. If you would like Apple to do your bidding, acquire a controlling interest - it’s public so there’s nothing stopping you.
> acquire a controlling interest - it’s public so there’s nothing stopping you.

Except for the biggest obstacle of it all in capitalism: capital.

If that's the only way anyone can try to change companies' behaviours we are in a lot of trouble :)

Welcome to this argument which is about how easy/hard it might be for a company to implement this particular feature.

The argument about whether they ought to is in some other thread I imagine, you might have lost your way. I don't own their airpods so in this particular instance, IDC about the outcome.

Caps for emphasis, not frustration.

It's not so much an idea, it's more of an illusion. One that Apple marketing spends billions to maintain.
Are you aware they are maintaining multiple complete OSs, and multiple versions of each? With drivers for hundreds of components? The scope of AirPods on Android is laughable in comparison.
You're responding in a sub-thread where others have specifically called out the fact that you can't get battery status from AirPods on non-Apple platforms. This is, to my knowledge, a feature that is supported natively by the Bluetooth stacks on every mainstream OS and requires no "apps" at all. For example, I can connect my Bluetooth mouse to my Linux machine and it happily reports the state of the battery.

Care to offer a justification for why this is the case without resorting to "the multi-trillion-dollar behemoth can't be bothered to build an app"?

Because what's the point in having 'fuck you' money if you never get to say 'fuck you?'
The multi battery levels thing is native proprietary on every platform since there is no Bluetooth spec for more than one battery level and even that just uses uint8.
As I posted elsewhere in the thread, this is incorrect. The Bluetooth Battery Service spec allows for a single device with multiple batteries and individual battery reporting for each. [0] They even give the example in that doc of earbuds which are one “logical device” but two physically separate pieces, each with its own battery.

As additional evidence, there are "AirPods-like" earbuds on the market such as the Sony WF-C700N, which have no problem reporting three battery levels over standard Bluetooth on e.g. Linux.

[0] https://www.bluetooth.com/wp-content/uploads/Files/Specifica...

  The Bluetooth Battery Service spec allows for a single device with multiple batteries
As of version 1.1 of the battery service which was finalized at the end of 2022. Given Bluetooth's track record, who knows what kind of interoperability landmines exist.
Man, HN really likes to make excuses for Apple.

No, implementing multiple instances of the Battery Service to report battery state for several batteries has been there since the 1.0 spec. [0]

This spec was released in 2011, five years before the first AirPods were released.

Doing what several commenters claimed was impossible has in fact been possible with native Bluetooth for a decade and a half.

[0] https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?d...

So they refuse to report anything useful rather than make use of the single battery level. Amazingly every other brand of Bluetooth earbuds manage to report a useful battery level despite them having a separate battery in each side.
The Bluetooth spec only supports one battery status. AirPods have three batteries. Is 1 < 3 a satisfactory enough answer to you?

On the subject of the multi-trillion-dollar behemoth, Apple is a private company. If you have the capital, you can acquire a controlling interest and then they’ll work on whatever you like. Until then, you’re out of luck.

> The Bluetooth spec only supports one battery status. AirPods have three batteries. Is 1 < 3 a satisfactory enough answer to you?

No, it's not. The Bluetooth Battery Service spec allows for a single device with multiple batteries and individual battery reporting for each. [0] They even give the example in that doc of earbuds which are one “logical device” but two physically separate pieces, each with its own battery.

> On the subject of the multi-trillion-dollar behemoth, Apple is a private company.

Apple is, by definition, a public company.

> If you have the capital, you can acquire a controlling interest and then they’ll work on whatever you like. Until then, you’re out of luck.

No. Anticompetitive behavior such as tying (what I would argue is happening here) can and should always be subject to examination, criticism, and possible litigation by the public.

[0] https://www.bluetooth.com/wp-content/uploads/Files/Specifica...

Always this sad argument that X is a private company and they can do what they like.

Companies are not acts of God or nature. They are a private company operating on a society that allows it to exist because it is believed to be the for the public good. The public has very much the right to question it's practices, and if they are anti consumer, monopolistic, or a list of other things, to correct them. Shareholders be damned.

So what's your argument then? Companies can't release a product unless each and every feature works with their competitors products? By that logic most of the software and hardware you use today simply would not exist.

Like a lot of parts of the (especially earlier revisions of) Bluetooth spec the battery status took a slapdash approach to defining things. Look at anyone who's used Bluetooth on Windows to see what a nightmare interoperability still is. So Apple released ear buds that implement poorly defined parts of the spec but otherwise work with third party bluetooth devices, and that's bad?

Yikes.

Meanwhile, the Bluetooth SIG released an update at the end of 2022 that actually starts to require some sort of standardization. You know who's name was on that little update? Big bad awful anticompetitive Apple.

Yeah, there are two batteries, the one in the earbuds and the one in the container. There's no way in BLE to transmit both values - and choosing either one is lying to the user about something.

It's not uncommon (at least for me) to have a low earbud battery level (because I've just binged Slow Horses) or a low container battery (because I've just charged the earbuds from the container for the third time and drained the container). There's a suggestion above that you should "just choose the lowest one because 99% of the time that's what you're interested in", except that's not true in the second case.

I'm fairly sure that if you could report both, then Apple would report both using this hypothetical standard method, but since you can't, and there's no easy way to just "choose one" without misleading the user about something, they choose to do it properly, even though that means it's an Apple-only thing.

See my other replies in this thread — it’s totally possible to do with standard Bluetooth, yet Apple doesn’t do it. So your “fairly sure” assumption that Apple would make use of this feature if it existed seems to be wrong.
What "other platforms" are you talking about? Just an Android app would suffice. It's not a huge deal for a company worth trillions, especially if the features are already there and they're just blocking non-Apple products. If they deliberately do that, it makes you think they don't really care about their customers and are more interested in locking people into their ecosystem.