DBluetooth in Ubuntu is powered by BluezGnome (official]). You can join Ubuntu’s Bluetooth] 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]. For help using Bluetooth in Ubuntu, see Ubuntu].

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 /!\ undefined

Function

Phone

Tablet

PC

Connect a Bluetooth USB dongle

{X}

{X}

/!\

Verify that Bluetooth is working

(./) indicator, settings

/!\

Set up Bluetooth headset/speakers

(./) settings

/!\ indicator, settings

Switch to a different headset

(./) settings

/!\

Stop using headset/speakers

(./) notification bubble

Set up a Bluetooth mouse/touchpad

(./) settings (pocket PC only)

{X}

/!\

– No other mouse/touchpad is connected

(./) prompt

{X}

/!\

Stop using a Bluetooth mouse

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

{X}

/!\

Set up a Bluetooth keyboard

(./) settings (pocket PC only)

{X}

/!\

– No other keyboard is connected

(./) prompt

{X}

/!\

Stop using a Bluetooth keyboard

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

{X}

/!\

Set up a Bluetooth printer

{X}

{X}

/!\

Stop using a Bluetooth printer

{X}

{X}

/!\

Transfer files using Bluetooth

{X}

{X}

/!\

Set up a Wii Remote as a joystick

{X}

{X}

/!\

Stop using a Wii Remote

{X}

{X}

/!\

Turn off Bluetooth to save power

(./) indicator, settings

(./) indicator, settings

Bluetooth icon

{attachment: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:

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].)

Phone

System Settings

Access

{attachment: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:

To indicate this (bug Bug:1501630):

{attachment: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.

{attachment: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.

{attachment: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.

{attachment: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)

{attachment:system-settings-top.phone.png}

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

Listing devices

{attachment:bluetooth-settings-off.phone.annotated.png}

{attachment: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 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 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

{attachment: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 Bug:1489505). While pairing is in progress, the list item for the device should have a spinner at its trailing end (bug 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 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

{attachment:bluetooth-settings-device-manual.phone.png}

{attachment: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

{attachment:phone-bluetooth-menu.png}

When Bluetooth is on, the] 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

{attachment: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.

{attachment:bluetooth-menu.png}

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

{attachment: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 .

Ayatana Indicators Wiki: AyatanaIndicatorBluetooth (last edited 2021-02-09 14:03:03 by localhost)