Being a programmer I know how hard it can be to get software right. Sometimes it never “get right” and the software have to soar in the flux between working and not working.
I my case I have an Apple iPhone 6S, connected to several Bluetooth devices such as a Garmin 235 watch, a couple of cars and a couple of headsets.
Over the years I experience that the Bluetooth connections have more and more problems. For example I can see that my Garmin 235 watch suddenly has a severe battery problem if it looses the connection the phone. In fact it can drain an ordinary 7-10-day battery life in just some hours, if it looses Bluetooth. Other symptoms are like “hey, shouldn’t the phone be connected with my car now?” or “Ooops, there died the sound in the headset”. Often the solution is to turn off the Bluetooth on my phone, turn off the other device, and then restart everything again. Then everything may work fine … for a while!
Who is to blame? Very difficult to say! It can be a hardware, software or both problem – on both sides of the communication chain! Every Bluetooth enabled device have a physical Bluetooth-radio. The radio have some features that often can be controlled by it’s software, the Bluetooth-driver. Read more about Bluetooth-basics here if you are interested. The quality and reliability of both the radio and the software can of course greatly vary. In other words, you can have crappy hardware with shitty software alongside, and the result is a crappy Bluetooth device. Vise versa you can have top-notch radio with brilliant software, and of course you can have anything in the middle.
Then you want to fix your Bluetooth-problem and start to search the net. Hundreds of pages from forums and blogs suggest all kinds of solutions. All from “install this” and “upgrade that” to “reinstall” etc etc. Of course it is often very difficult to see if you have the exact same problem, and thus if the fixes will actually work for you. Often you end up trying out some of them, and sometimes it works, and sometimes it doesn’t. Perhaps you after a while experience SBM – or “Solved By Magic”? SBM happens when you have done lots of changes, and suddenly things seem to work, but you have no idea which of the tricks that actually nailed it! Believe me, over the years I have probably used hundreds of hours trying to fix hardware- and software problems.
The challenge is – for a layman: Does anybody know of a way to debug your Bluetooth-devices? Just being able to tell which of the components that is the cuprit would be great! I wish there was some kind of “Reference Bluetooth Checker” somewhere. Something that you could connect your device to. After a while, the checker could say how well the device has implemented Bluetooth or not. What if there was Bluetooth “middleman” radio that intercepted Bluetooth-communication between a communication chain, and analyzed the quality and reliability? By the way - I found the company NTS on the net, offering their Bluetooth Testing services. Seems to be a marked for such testing then.
Like it is now, Bluetooth is taking on more and more devices and it is becoming more and more important as a connection-protocol. Unfortunately its performace and reliability is sadly – in my view – degrading.