The pity is that BLE on Android has sucked, horribly badly, consistently. Google needs to have their hardware have a minimum level of support for basic stuff, and then we can talk.
In contrast, Apple's BLE implementation is robust and works well for since the iPhone 4S, and reliably on all the newer platforms
I'm currently working on my 3rd Android-BLE project and it's incredible how bad those APIs (and of course the vendor's implementations) are. An inconsistent pile of .. well, nothing nice. I don't get why they have no interest in fixing that..
Could you please elaborate on where the suckiness lies? Was it particular devices, or particular phone manufacturers? Or was it something wrong with the Android BLE APIs?
Everywhere possible:
1) Different levels of support on different hardware
2) Doesn't support half the BLE spec (Peripheral)
3) Limited functionality on the Central side, only supported 4 Peripherals last time I checked
5) Buggy in general
Just like we don't trust Apple to build cloud services that don't suck, we don't trust Google to build a consistent hardware/OS experience across Android. This is stuff that is not sexy, but it has to be done, and it's exactly what you expect to be done by a company that doesn't have 30+ years in building their own hardware + OS.
In contrast, Apple's BLE implementation is robust and works well for since the iPhone 4S, and reliably on all the newer platforms