The CoreBluetooth interface can be restrictive, but the BLE functionality that it exposes is so consistent. That “just works” on a whole other operating system is incredibly valuable. Then you have Android where something for one phone doesn’t behave the same way on another phone, and all the work you pour into it gets you no closer to a functioning desktop app.
Heh, saw the title and instantly wondered if it was qdot as he recently [0] mentioned "yeah I wrote and manage our Bluetooth le library! It’s been one of the bigger regrets of my life", and this post is indeed linked there ;)<p>[0]: <a href="https://news.ycombinator.com/item?id=41021600">https://news.ycombinator.com/item?id=41021600</a>
Getting two imperfectly compatible BLE libraries from different OSs to work together involves guesses, prayers, and lots of hand waving of devices in the air. It’s like trying to learn Hogwarts spell casting with a wizard textbook missing half of every page.
"Also, if I don’t make the library async, less people on Hacker News will be mad at me, and that’s a number that should always go up, not down." - [insert some witty comment about reward functions here, I just love this line and wanted to promote it]