GNOME Bugzilla – Bug 740229
improve UI for Bluetooth tethering
Last modified: 2015-10-23 17:34:10 UTC
Using Bluetooth to tether with mobiles is really awesome for a lot of reasons and we should aim to improve our support for it. One of the nicest things about it is that I can leave it on on my phone all the time and it uses almost no power. It also uses less power on both my phone and laptop when it is in use. I also don't need to mess with passphrases or SSIDs in order to use it (although I do have to go through Bluetooth pairing) Although the underlying support in bluez and NetworkManager is rather solid and very reliable, Bluetooth support in gnome-shell is currently hurting for a number of reasons, most of which are pure UI. I think we should try to fix some of them. == 1 The first problem is the overall design concept. NetworkManager considers each capable Bluetooth pairing to be a separate device and gnome-shell faithfully lists them as such. That means that if I have two phones paired, I will see in the network menu: v Wi-fi Select Network Turn off Wi-Fi Settings v Phone 1 Use as internet connection Mobile Broadband Settings v Phone 2 Use as internet connection Mobile Broadband Settings This makes sense in a way because there is technically nothing to stop me from using two phones to connect to the Internet at the same time. On the other hand, this seems a bit weird from the perspective of the user who is probbably thinking that Bluetooth is another type of thing like Wi-Fi and only wants to have one connection through it at a time. I think it might be nice if this were reorganised so that there were a single Bluetooth toplevel item and the available devices were grouped under it. We might consider keeping it possible to establish multiple connections at the same time but I'm not sure if this is really useful... One thing that we should not do is to create a "Select Network" dialog like we now use for Wi-Fi. That makes no sense for a number of reasons: - unlike Wi-Fi, we only list paired devices which means: - the list is static - the list is short - Bluetooth connections are never automatically established and the number of clicks required with the dialog is too high to do every time == 2 Bug 740227 results in multiple copies of the connection showing up under each device. == 3 There is a Bluetooth section in the menu: v Bluetooth Turn off Bluetooth Settings This menu is only visible when Bluetooth is enabled (ie: it cannot be used to turn Bluetooth on). That means that if I disable Bluetooth then I need to go into the control center in order to re-enable it. That's pretty annoying. It's understandable that a lot of people don't really use Bluetooth and don't need to see this item here, but I think a good heuristic for if we should show it or not could be to check if the user has paired any devices. If there are any devices paired then the item should always be visible so that Bluetooth can be enabled without opening the control center. This Bluetooth menu is where I propose merging the individual device sections mentioned in part 1. We could also consider moving one copy of the "Mobile Broadband Settings" here if the user has paired any devices that can be used as such. == 4 The status menu shows all paired Bluetooth devices that are capable of being used as modems, even if only theoretically. This includes my Nexus 7, for example, which doesn't have a SIM card. I may theoretically want to use its Wi-Fi to establish a network connection and then Bluetooth tether my laptop to it, but that seems slightly ridiculous. I think the only thing that can be done here is to have UI somewhere (probably in the control center) for "Use this device to connect to the Internet" and hide the devices that this hasn't been enabled for. == 5 There are two icons in the top bar for Bluetooth and Mobile Broadband and they are confusing. One is the Bluetooth logo and it seems to come on whenever there is an active Bluetooth connection (ie: in-use data channel between me and someone I am paired with). The other looks like a picture of a cellphone with arrows on either side like ">*<" and seems to appear when I am using my phone for Bluetooth tethering. If I don't use Bluetooth for anything other than tethering then these two things are almost exactly the same (although they appear to blink on during different phases in the connection process) and that's a bit confusing. == 6 There is almost no indication of failure when it happens -- only silence and no connection. One thing that is a common cause of failure is that the "Allow Bluetooth tethering" option is off on my phone. It would be nice if there were some sort of message to explain to the user why the connection failed or if we don't know the exact reason then some general helpful reminder like "Ensure that your phone supports it and the option is enabled". As an extra bonus (but not sure we can do something about this in gnome-shell) is that Airplane Mode's interaction with Bluetooth and Wi-Fi is quite confusing. Turning off Bluetooth, then hitting my rfkill switch and then hitting it again will result in Bluetooth being switched back on. Same with turning off Wi-Fi from the status menu when Bluetooth is also off (now the Airplane Mode icon appears). When turning off Airplane Mode by the status menu, Bluetooth will be re-enabled again as well. I'm actually not sure what my expectation is here, but it seems like something is weird when performing and reversing an action is producing side-effects.
(In reply to Ryan Lortie (desrt) from comment #0) Hey Ryan, thanks for this. I agree with much of it. ... > == 1 I quite like this idea. Feel free to file a bug for it. > == 2 > > Bug 740227 results in multiple copies of the connection showing up under > each device. Thanks for fixing that! > == 3 ... > If there are any devices paired then the item should always be visible so > that Bluetooth can be enabled without opening the control center. In bug 723848, I've argued that we should always show the Bluetooth menu if there's Bluetooth hardware present. Feel free to chime in. > == 4 > > The status menu shows all paired Bluetooth devices that are capable of being > used as modems, even if only theoretically. ... I've discussed this with Bastien. One thing you would lose with the approach you're advocating is having zero configuration to set up internet over bluetooth. Also, you could argue that the real bug is the device being incorrectly identified as internet-capable. That said, I can see your point. > == 5 > > There are two icons in the top bar ... these two things are almost exactly the > same ... I might be wrong here, but I *think* that the little phone icon is a fall back for when we can't get signal strength information from the device - ideally we would show an icon with bars, which would be much more useful. It's certainly possible to be connected over bluetooth and not use the mobile broadband capability. So, the additional little phone icon does seem to have utility to me, though - it indicates that you're using internet over bluetooth. > == 6 > > There is almost no indication of failure when it happens Yes I agree: see bug 756437. > As an extra bonus (but not sure we can do something about this in > gnome-shell) is that Airplane Mode's interaction with Bluetooth and Wi-Fi is > quite confusing. ... I think that's covered by bug 748476. I'm closing this, but please file bugs for any of the issues that aren't already covered.