5 ms·
I maintained a commercial Bluetooth stack for several years. My opinion is that the stack is actually not too bad (although Low Energy complicated it). The prob
by rkangel 6y ago
I maintained a commercial Bluetooth stack for several years. My opinion is that the stack is actually not too bad (although Low Energy complicated it). The problem is that it has to be all things to all people.
There's discussions about codecs elsewhere on here - quality, latency etc. There is a lowest common denominator so that everything works for everyone but the information as to whether you're getting something else is hidden, both at purchase time and run time.
Two things that would help:
Manufacturers actually putting supported codecs somewhere in the purchase information. Why does tech specs on my Bose QuietComfort not have that information anywhere? If you Google you can eventually find a support question and answer.
Exposing runtime negotiation results to the user. In Windows when I'm connected to Wifi it shows signal strength and other basic info via the icon in the taskbar. When I'm connected to Bluetooth why is there not a display listing the profiles and codecs in use ("High Quality Audio mode via Aptx Low Latency", "Headset mode" etc.).
We actually need something similar for USB now as it has the same problem as Bluetooth - one transmission medium for a whole lot of different things all of which have to be able to negotiate to a common denominator. It happens a little bit with just the charging component (phone lets you know it's charging slowly if the charger can't negotiate up enough) - why isn't similar information provided somewhere for the rest of the USB features ("Connected to device X, can't enable feature Y as cable doesn't do Z").
- grandinj 6y agoThat's great for techies like us, but terrible for the 1000x more people who want stuff to "just work". As an example, Windows partially exposes that with my current setup and it's a right pain, when some apps (e.g. Zoom) decide they preferentially want to use some other bluetooth codec than the one I actually chose. Most people really just want one thing which says "headphones" and for the software/hardware to Just Work.
- camehere2saydis 6y agoMaybe most people are wrong after all. There's all this talk of ethics and of logical fallacies that's making the rounds, and then you have this failure to realize that non-techies are conditioned to see technology as some sort of black magic that you have to be a special kind of not-quite-person in order to be able to make sense of. No matter what spin you put on it, life in our society is not simple. Any kind of tool tends to work better if you're using it with some degree of understanding how it works. If only our industry would somehow magically stop enabling entitlement and complacency (and make it easier for users to "do their homework")... then maybe things would actually "just work" much more often.
- kyralis 6y agoYou're missing the actual logical result of life in our society not being simple: people do not have enough time or available energy given the rest of the demands on their life. Civilization has evolved toward specialization, and the basic expectation of specialization is that the output of specialists is useful to individuals in other specialties. It is foolish to expect or require everyone to become an expert on bluetooth configuration options to have some headphones that don't work or a mouse without latency spikes. This isn't entitlement; this is efficiency and the way society is expected to function. It is a very long time since we have expected everyone in our society to be an expert at everything.
- xg15 6y agoGood point - however, then at least have an option for specialists to get access to the info. I also believe we haven't yet explored all options to make certain "specialist" topics more accessible to the general public. E.g., I'm continually surprised how much the actual network traffic between apps/devices and their corresponding servers is hidden. I believe a simple visualisation about what apps/devices are talking with who would do a lot to at least get some basic understanding of what's going on. People seems to be very capable of learning concepts if they see personal relevance - e.g. teens know very well what the battery, wifi and signal strength indicators on their phones mean.
- 29083011397778 6y ago> e.g. teens know very well what the battery, wifi and signal strength indicators on their phones mean. I will disagree with this whole-heartedly. Full bars are meaningless, and dBm is hidden (on Android at least). What we see is whatever the OEM chooses, with actual signal strength hidden away.
- fest 6y agoAlso, RSSI is typically calculated from the successfully received frames. So you can receive a comfortable -60dBm signal.. for the most of the time.
- hossbeast 6y agoThere are better and worse ways to build the UI around this information, but to say it should be completely hidden from / impossible for the end user to find, is just outright hostile to the user. Do you think people would be happy if the wifi status icon just became a boolean "on/off"? Of course not. They are able to make differential decisions in light of the (limited) information presented. Empower users with information!
- rezonant 6y agoThere's a difference between making diagnostics and status info readily available and actually letting the user change the inner details. I think the point was that the OS could expose the result of negotiation so that it was easier to inspect later, either by a technical user or a support person helping a less technical user. I like the idea and hope some MS engineers are taking note.
- iso1210 6y ago> Most people really just want one thing which says "headphones" and for the software/hardware to Just Work. Sadly apple removed that option from phones, and other companies followed suit
- Gibbon1 6y ago> Exposing runtime negotiation results to the user. General peeve engineers hide this stuff from the user because they think they won't know what to do with it, it'll just confuse them, or it's ugly. My experience is this is completely wrong. Also I think a problem with USB and Bluetooth is mixing up the device profiles with the communication protocol. That's always a bad idea yet people keep doing it. Half these problems would go away if USB and Bluetooth were like Wifi/Ethernet. Just a packet level protocol. Also making Bluetooth a low power/datarate frequency hopper was a terrible mistake. The people responsible should have spent the rest of their lives shoveling hot asphalt.
- yencabulator 6y ago> Half these problems would go away if USB and Bluetooth were like Wifi/Ethernet. Just a packet level protocol. Every few years I have this thought: If, instead of <X> on <Y>, we had just put more effort into Ethernet (and just Ethernet), we'd probably have reached <Z> by now. Fiber Channel. USB. Thunderbolt. HDMI/DVI. SCSI/SATA. Bluetooth. BLE. Make wifi be ethernet over radio not the monster it is today. Of the above, only Ethernet has the good grace to be driven by (relatively) simple software. It's also the only one that isn't getting obsoleted by the next complex thing coming along.
- Gibbon1 6y agoOne pain in the ass thing I had to do was write a driver to support talking to MODBUS devices. MODBUS is a 40 year old register based protocol. It's not going away. Most all thr other mixed protocols of it's vintage are long long long dead.