Bluetooth

Bluetooth in Ubuntu is powered by BluezGnome (official site). You can join Ubuntu’s Bluetooth team to help make Bluetooth ROCK in Ubuntu, working together with upstream to test it and make it work out of the box. There’s also a mailing list of Bluetooth-related bugs. For help using Bluetooth in Ubuntu, see Ubuntu Help.

How you can help out: bugs, testing, package interesting new apps.

The rest of this page is an archived design specification for Bluetooth features in Ubuntu, as it developed from 2012 to 2016.

Use cases

(X) not possible (./) defined Warning /!\ undefined

Function

Phone

Tablet

PC

Connect a Bluetooth USB dongle

(X)

(X)

Warning /!\

Verify that Bluetooth is working

(./) indicator, settings

Warning /!\

Set up Bluetooth headset/speakers

(./) settings

Warning /!\ indicator, settings

Switch to a different headset

(./) settings

Warning /!\

Stop using headset/speakers

(./) notification bubble

Set up a Bluetooth mouse/touchpad

(./) settings (pocket PC only)

(X)

Warning /!\

– No other mouse/touchpad is connected

(./) prompt

(X)

Warning /!\

Stop using a Bluetooth mouse

(./) settings, automatic (pocket PC only)

(X)

Warning /!\

Set up a Bluetooth keyboard

(./) settings (pocket PC only)

(X)

Warning /!\

– No other keyboard is connected

(./) prompt

(X)

Warning /!\

Stop using a Bluetooth keyboard

(./) settings, automatic (pocket PC only)

(X)

Warning /!\

Set up a Bluetooth printer

(X)

(X)

Warning /!\

Stop using a Bluetooth printer

(X)

(X)

Warning /!\

Transfer files using Bluetooth

(X)

(X)

Warning /!\

Set up a Wii Remote as a joystick

(X)

(X)

Warning /!\

Stop using a Wii Remote

(X)

(X)

Warning /!\

Turn off Bluetooth to save power

(./) indicator, settings

(./) indicator, settings

Bluetooth icon

bluetooth-icons.png

In the Bluetooth indicator across form factors, and on the System Settings overview screen, the current Bluetooth status should be represented by an icon:

  • If Bluetooth is off, a skeletal Bluetooth icon, with accessible label “Bluetooth (off)”.
  • If it is on, a lozenge Bluetooth icon (fixing bug 761766), with accessible label “Bluetooth (on)”.

  • If a device is paired, a lozenge Bluetooth icon between two arrowheads, with accessible label “Bluetooth (paired)”.

Each of these should always be full color when used in System Settings or dialogs, and always monochrome when used in the menu bar or status bar. (Though when Bluetooth is off on a phone, there is no icon at all.)

Phone

System Settings

Access

bluetooth-access.phone.png

The main screen of System Settings should have a “Bluetooth” category.

In addition, whenever (a) any device is paired, or (b) a device was paired the last time Bluetooth was turned off, or (c) you have not left System Settings since the last time Bluetooth was on, the quick access area should contain a “Bluetooth” switch. The switch itself should temporarily be replaced by a spinner whenever Bluetooth is turning on or off.

Discoverability

Bluetooth pairing happens between devices that are unpleasantly referred to as “master” and “slave”. On both devices, Bluetooth must be on, and the “slave” device must also be discoverable.

Ubuntu could have a toggle for whether your Ubuntu device is discoverable. But that would constantly consume power. And if you are wanting to connect a new device, you will almost always either have the System Settings Bluetooth screen open. So we can use that interaction itself for discoverability, instead of having a separate switch that you might not know to turn on (or might forget to turn off).

Furthermore, for interference reasons, when Wi-Fi Display is in use, you can continue an existing Bluetooth connection, but not browse or start a new one.

Therefore, your Ubuntu device should be discoverable when all of the following are true:

  • Bluetooth is on
  • Wi-Fi Display is not in use
  • the System Settings “Bluetooth” screen has been open, or the Bluetooth menu has been open, for more than one second.

To indicate this (bug 1501630):

bluetooth-on-wi-fi-display.phone.png

Whenever Bluetooth is on, but not discoverable because Wi-Fi Display is in use, the status text should be “To connect to other devices, turn off Wi-Fi Display first.”, with a “Wi-Fi Display Settings…” button to navigate to the Wi-Fi Display screen.

bluetooth-on-undiscoverable.phone.png

Otherwise, whenever Bluetooth is on but you have been on the screen for less than one second, the status text should be “Not discoverable” opposite a spinner.

bluetooth-on-discoverable.phone.png

Once you’ve been on the screen for a second or more, the status text should change to “Discoverable”, opposite the visible name of the device.

bluetooth-on-undiscoverable-exit.phone.png

If you navigate back to the System Settings overview, the status text should change immediately to “Not discoverable”, without a spinner, and System Settings should pause for one second so that you can see this.

↓ (1 second)

system-settings-top.phone.png

After one second, System Settings should return to the overview.

Listing devices

bluetooth-settings-off.phone.annotated.png

bluetooth-settings-on.phone.annotated.png

The “Bluetooth” switch and discoverability text may be followed by between zero and three lists of devices. In order:

  1. “Connected devices:”, if any devices are currently paired or automatically pairing. If a device is automatically pairing, it should have a spinner at its trailing end. On a pocket PC, as long as hardware keyboards and pointing devices can be used only on an external display, this list should be followed by the caption, “A keyboard, mouse, or touchpad can be used only when an external display is connected.”.
  2. “Connect a device:”/“Connect another device:”, if Bluetooth is on and you are not currently using Wi-Fi Display. If no devices are detected that are not already paired or automatically pairing, the list should contain only placeholder text “None detected”. The list should update every ten seconds, with a spinner showing opposite the label whenever scanning is in progress (bug 1272317).

    1. If a device is of a type that Ubuntu Touch does not currently work with, it should be present (so that you don’t think there’s a problem with the hardware) but greyed out and with a ⛔ no entry icon (bug 1419866).

    2. Otherwise, if a device is of a type that usually doesn’t require entering a PIN (for example, a headset, keyboard, or mouse), it should have no special formatting or visual style.
    3. If the device is of a type that does require entering a PIN, its name should end in an ellipsis (because further input will be required).

  3. “Connect automatically when detected:”, if any devices have been remembered with that setting.

Each list should be sorted alphabetically. Each item should include an icon representing the device’s Bluetooth profile, or a generic Bluetooth icon for an unknown profile. Because an ellipsis at the end of an item indicates further input required (entering the PIN), any device name too long to fit in the list item should be ellipsized in the middle.

Pairing manually

phone-bluetooth-pair.png

Erratum: The PIN field should default to empty, not 0000.

Tapping a device in the “Connect a device:”/“Connect another device:” list should begin pairing (bug 1489505). While pairing is in progress, the list item for the device should have a spinner at its trailing end (bug 1488885).

If the device is of a type that usually has the PIN “0000” (a headset, keyboard, or mouse), Ubuntu should try this first. If that doesn’t work, or for any other kind of device, a ‘PIN for “{device name}”’ or ‘Passkey for “{device name}”’ dialog should appear, with an empty PIN/passkey field that is numeric if appropriate. “Pair” should be disabled whenever the field contents are the wrong length. When you choose “Pair”, the dialog should stay open in the standard progress state until pairing is complete, in case you entered the wrong PIN/passkey and need to correct it.

If pairing is successful, the “Bluetooth” screen should scroll to the top, so that you can see the device’s list item slide up to join the “Connected devices:” list (bug 1542368). If the newly-connected device is a headset, and a headset was already paired, that previously-paired headset should automatically be disconnected, sliding down to rejoin the “Connect another device:” list, so that you never have more than one headset paired at a time.

Disclaimer: Requirements for actual use of storage or other kinds of Bluetooth device are not yet defined.

Examining and disconnecting

bluetooth-settings-device-manual.phone.png

bluetooth-settings-device-automatic.phone.png

Choosing a device in the “Connected devices:” list, or the “Connect automatically when detected:” list, should navigate to a screen with the device name as its header. It should contain a key-value table showing the “Name:” (full and wrapped to multiple lines if necessary), “Type:” (with icon), and “Status:” — “Connecting…”, “Connected”, “Disconnecting…”, or “Disconnected”.

When “Status:” is “Connected:”, it should be followed by “Signal:” with a one-minute sparkline of signal strength and “Excellent”/“Good”/“Fair”/“Poor” text.

When “Status:” is “Disconnected”, it should be followed by “Last connected:” with the date and time that the device was most recently connected.

Finally, the screen should have a “Connect automatically when detected” checkbox, and if the device is currently connected, a “Disconnect” button. “Disconnect” should be insensitive whenever “Connect automatically when detected” is checked (because the device would immediately reconnect after disconnecting).

If you choose “Disconnect”, that button should become insensitive, “Status:” should change to “Disconnecting…”, and one second later you should be returned to the main “Bluetooth” screen to see the device sliding down from the “Connected devices:” list to the “Connect a device:”/“Connect another device:” list.

If you uncheck “Connect automatically when detected” for a device that is not currently connected, the device’s details should not be deleted until you navigate to any other System Settings screen, so that you have an opportunity to undo the setting before the screen itself disappears.

Indicator and menu

phone-bluetooth-menu.png

When Bluetooth is on, the indicator icon should appear in the status bar. When Bluetooth is off, to save space the Bluetooth indicator should not be present at all.

For reassurance about whether a device is still paired, the Bluetooth switch should be followed by an insensitive item, with icon, for each currently-paired device.

“Bluetooth Settings…” should open the Bluetooth screen of System Settings.

PC

bluetooth-menu-setting.png

At the bottom of the “Bluetooth” panel in System Settings should be a checkbox, “Show Bluetooth status in the menu bar”. It should be checked by default for a new user account, but should be sensitive only when there is a powered Bluetooth card or dongle.

bluetooth-menu.png

Whenever that checkbox is sensitive and checked, a Bluetooth menu should appear in the menu bar.

bluetooth-menu-title.png

The menu should begin with “Bluetooth” and “Visible” switch items. Whenever “Bluetooth” is off, “Visible” should be both off and insensitive.

After a separator, “Send Files to Device…” should open a “Choose Files to Send” file picker, followed (if you select files) by a dialog for choosing which device to send the files to. And “Show Files on Device…” should open the dialog for choosing which device to browse. Both items should be insensitive when Bluetooth is off.

If any devices have been paired and not forgotten, these should be listed following another separator, with an icon for each.

Finally, after another separator, “Set Up New Device…” should open the setup assistant, and “Bluetooth Settings…” should open the Bluetooth panel of System Settings.

Bluetooth device battery charge

When known, the battery charge for a paired Bluetooth device should be represented in the battery UI on both PC and phone.


CategoryUbuntuTeams CategoryBluetooth

Bluetooth (last edited 2017-06-19 09:37:24 by mpt)