Bluetooth

Differences between revisions 37 and 38
Revision 37 as of 2014-04-29 15:36:13
Size: 9629
Editor: mpt
Comment: + "Discoverability" (bug 1268047)
Revision 38 as of 2014-04-29 16:32:03
Size: 10345
Editor: mpt
Comment: adapt for non-headset devices
Deletions are marked like this. Additions are marked like this.
Line 93: Line 93:
{{attachment:phone-bluetooth.png}} {{attachment:phone-bluetooth-pair.png}} {{attachment:phone-bluetooth-device.png}}
Line 108: Line 106:
Whenever a headset is currently paired, the main “Bluetooth” screen should consist of a “Connected headset:” section listing that headset, followed by a “Connect a different headset:” section alphabetically listing any others detected. Whenever a headset is ''not'' currently paired, the screen should consist only of the latter section, labelled “Connect a headset:”. Either way, the list should update every ten seconds, with a spinner showing opposite the label whenever scanning is in progress. It should show placeholder text “None detected” if necessary. {{attachment:phone-bluetooth.png}} {{attachment:phone-bluetooth-pair.png}} {{attachment:phone-bluetooth-device.png}}
Line 110: Line 108:
Each headset label in the “Connect a (different) headset:” section should end in an ellipsis, if the headset does or might require interaction to pair it. While pairing is in progress, the headset’s icon should be replaced by a spinner. If a headset requires legacy pairing or passkey SSP, a ‘PIN for “{headset name}”’ or ‘Passkey for “{headset name}”’ dialog should appear, with an extra-large PIN/passkey field that uses a number-based keyboard. With legacy pairing, the default contents of the field should be “0000” (because this is the most common headset PIN), selected for easy deletion or replacement. If pairing is successful, the “Bluetooth” screen should scroll to the top, so that you can see the headset’s list item slide up to comprise the “Connected headset:” list — replacing any previously paired headset, which should be disconnected automatically and slide down to rejoin the “Connect a different headset:” list. ''Erratum: “Detected devices:” should be “Connect another device:”.''
Line 112: Line 110:
Choosing a headset in the “Connected headset:” section 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 “Signal:” strength of the device (with a one-minute sparkline graph and “Excellent”/“Good”/“Fair”/“Poor” text). If you choose “Disconnect”, that button should become insensitive, the “Signal:” value should be replaced by a spinner and the word “Disconnecting…”, and one second later you should be returned to the main “Bluetooth” screen to see the “Connected headset:” sliding down to join the other “Connect a headset:” items. Whenever a device is currently paired, the “Bluetooth” screen should contain a “Connected devices:” section listing those devices, and the following section should be “Connect another device:”. Otherwise the screen should list just “Connect a device:”.

In all these lists, each device should have an icon representing the type of device it is, and its display name, ellipsized in the middle if too long to fit. This is both because the names of similar devices may differ only at their ends, and because an ellipsis at the end means something else. Specifically, in the “Connect a device:”/“Connect another device:” list, the name should end in an ellipsis if the device is of a type that always requires entering a PIN (that is, not a headset, keyboard, or mouse).

The “Connect a device:”/“Connect another device:” list should contain placeholder text “None detected” when appropriate, for example when entering the screen. The list should update every ten seconds, with a spinner showing opposite the label whenever scanning is in progress.

==== Pairing ====

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

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 “{headset name}”’ or ‘Passkey for “{headset name}”’ dialog should appear, with a PIN/passkey field that uses a number-based keyboard.

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

==== Examining and disconnecting ====

Choosing a device in the “Connected devices:” section 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 “Signal:” strength of the device (with a one-minute sparkline graph and “Excellent”/“Good”/“Fair”/“Poor” text). If you choose “Disconnect”, that button should become insensitive, the “Signal:” value should be replaced by a spinner and the word “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.

This is the home of Ubuntu’s Bluetooth team. Join up to help us 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:

Partial specification

Bluetooth icon

In the Bluetooth indicator across form factors, and in the System Settings quick access area, 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)”.

(The exception to this is when Bluetooth is off on the phone, where the indicator hides completely to save space.)

None of these icons should be colored, because they are likely to persist in the menu/status bar for a long time, and none of the states need altering.

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

Should we also/instead distinguish whether a Bluetooth device is currently being used? For example, waiting for a headset to pair before making a call.

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.

Use cases

  • Connect a Bluetooth USB dongle
  • Verify that Bluetooth is working on the computer
  • Set up a Bluetooth headset
  • Stop using a Bluetooth headset
  • Set up a Bluetooth mouse
    • Variation: No other mouse is connected
  • Stop using a Bluetooth mouse
  • Set up a Bluetooth keyboard
  • Stop using a Bluetooth keyboard
  • Set up a Bluetooth printer
  • Stop using a Bluetooth printer
  • Transfer files between two computers over Bluetooth
  • Set up a Wii Remote as a joystick
  • Stop using a Wii Remote
  • Turn off Bluetooth to save power

See also

Phone

Initially, the phone will allow use of Bluetooth headsets only. It will be extended to allow other device types later.

System Settings

phone-bluetooth-icon.png phone-bluetooth-switch.png

Whenever any device is paired, or if any device was paired the last time Bluetooth was turned off, 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

(bug 1268047)

bluetooth-on-undiscoverable.phone.png bluetooth-on-discoverable.phone.png

The way of making the phone discoverable should be by navigating to the System Settings “Bluetooth” screen, with Bluetooth on, for more than one second. To indicate this:

  • 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.
  • Whenever Bluetooth is on and you have been on the screen for a second or more, the status text should be “Discoverable”, opposite the visible name of the device.
  • If you navigate back to the System Settings overview, the status text should change to “Not discoverable”, without a spinner, and System Settings should pause for one second (so that you can see this) before returning to the overview.

Devices

phone-bluetooth.png phone-bluetooth-pair.png phone-bluetooth-device.png

Erratum: “Detected devices:” should be “Connect another device:”.

Whenever a device is currently paired, the “Bluetooth” screen should contain a “Connected devices:” section listing those devices, and the following section should be “Connect another device:”. Otherwise the screen should list just “Connect a device:”.

In all these lists, each device should have an icon representing the type of device it is, and its display name, ellipsized in the middle if too long to fit. This is both because the names of similar devices may differ only at their ends, and because an ellipsis at the end means something else. Specifically, in the “Connect a device:”/“Connect another device:” list, the name should end in an ellipsis if the device is of a type that always requires entering a PIN (that is, not a headset, keyboard, or mouse).

The “Connect a device:”/“Connect another device:” list should contain placeholder text “None detected” when appropriate, for example when entering the screen. The list should update every ten seconds, with a spinner showing opposite the label whenever scanning is in progress.

Pairing

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

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 “{headset name}”’ or ‘Passkey for “{headset name}”’ dialog should appear, with a PIN/passkey field that uses a number-based keyboard.

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

Examining and disconnecting

Choosing a device in the “Connected devices:” section 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 “Signal:” strength of the device (with a one-minute sparkline graph and “Excellent”/“Good”/“Fair”/“Poor” text). If you choose “Disconnect”, that button should become insensitive, the “Signal:” value should be replaced by a spinner and the word “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.

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.

Bluetooth device battery charge

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

Future work

In future, Ubuntu Touch should allow connecting other types of Bluetooth device.

phone-bluetooth.mockup.jpg

phone-bluetooth-pair.mockup.jpg

Errata:

  • “Enable” should be “Bluetooth”.
  • “Paired devices” should be “Connected devices:”.
  • “Available devices” should be “Connect another device:”.
  • All the “Connect another device:” device names should be followed by an ellipsis, because they open dialogs.

Links


CategoryUbuntuTeams

CategoryBluetooth

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