3 ms·
I've always had this hunch that the Bluetooth protocol is somewhat underspecified - if you just implement the spec, you're going to have something that mostly w
by m12k 4y ago
I've always had this hunch that the Bluetooth protocol is somewhat underspecified - if you just implement the spec, you're going to have something that mostly works in the happy case, but you gotta do a bunch more to make it work consistently under less-than-ideal real world conditions (which companies like Jabra and Apple then tend to do). Any hardware people wanna chime in and tell me if I'm close or not?
- Paul_S 4y agoYou're not. When something in bt doesn't work it's caused by two things: a regular bug in the stack, or a feature of the spec that was implemented incorrectly which comes from ambiguous wording in the spec or simply the fact that it's several thousand pages long. This is usually not a problem if you have two devices using the same stack talking to each other but normally that's not the case.
- byteflip 4y ago100%. Interoperability is the complexity. You’ll find old popular devices for example that are slightly different in behavior to the “norm”. It could be straight up incorrect behavior or maybe something more subtle. Do you drop support for those devices or change your behavior dynamically based on the device? Would your customers complain if you did drop it? Can you identify the device reliably? What if they update their software/behavior in the future - would your workaround break? Does your BT software stack even give you enough control to do fix it? Does your hardware/software vendor give you enough support to fix things if you can’t do it yourself? How many other devices did you test against? It was painful but fun to work on.
- shakna 4y ago> I've always had this hunch that the Bluetooth protocol is somewhat underspecified Absolute opposite. The blutetooth spec is one of the most hideous, largest specs you have ever laid eyes on. The full spec, very heavy, very particular, is in excess of a thousand pages. If you "just implement the spec", you have an enormous team and budget. But, you'll still end up in a hole, because not everyone agrees with what the spec is actually saying, because it's too complicated, and too large. So there are parts which are in direct competition with each other, leaving you to have to guess an answer - knowing that there is no market agreement for what is the "right" answer.