Bluetooth

Differences between revisions 1 and 57 (spanning 56 versions)
Revision 1 as of 2006-10-05 17:29:15
Size: 528
Editor: i577B2DE2
Comment:
Revision 57 as of 2014-06-23 18:50:59
Size: 12716
Editor: mpt
Comment: + "Connect automatically when detected" list
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This is the Home of the Bluetooth team. This is the home of Ubuntu’s [[https://launchpad.net/people/bluetooth|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 [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-bluetooth|mailing list of Bluetooth-related bugs]]. ''For help using Bluetooth in Ubuntu, see [[https://help.ubuntu.com/community/CategoryBluetooth|Ubuntu Help]].''
Line 3: Line 3:
== Vision == How you can help out:
Line 5: Line 5:
We're going to
 0. make Bluetooth ''ROCK'' in Ubuntu.
 0. work together with Upstream.
 0. test Bluetooth.
 0. make it work out of the box.
 * Important now: [[https://launchpad.net/people/bluetooth/+packagebugs|Bugs]]
 * merge Packages with Debian Unstable.
 * package [[/NewApps|interesting new apps]]
 * finish off [[/TODO]] list
 * Cheerlead
 * Testing: [[/TestPlan]]
Line 11: Line 12:
<<Anchor(specification)>>
= Partial specification =
Line 12: Line 15:
== Work to be done == <<TableOfContents()>>
Line 14: Line 17:
This list shows how you can help out:
 * Important now: [https://launchpad.net/people/bluetooth/+packagebugs Bugs]
 * When Edgy+1 has opened:
  * merge with Debian.
  * package interesting new apps.
 * Cheerlead
 * Test
== Use cases ==

{X} not possible (./) defined /!\ undefined

|| '''Function''' || '''Phone''' || '''Tablet''' || '''PC''' ||
|| Connect a Bluetooth USB dongle || {X} || {X} || /!\ ||
|| Verify that Bluetooth is working ||<-2> (./) indicator, settings || /!\ ||
|| Set up Bluetooth headset/speakers ||<-2> (./) settings || /!\ indicator, settings ||
|| Switch to a different headset ||<-2> (./) settings || /!\ ||
|| Stop using headset/speakers ||<-3> (./) [[Sound#primary-output|notification bubble]] ||
|| Set up a Bluetooth mouse || {X} || {X} || /!\ ||
|| – No other mouse is connected || {X} || {X} || /!\ ||
|| Stop using a Bluetooth mouse || {X} || {X} || /!\ ||
|| Set up a Bluetooth keyboard || {X} || {X} || /!\ ||
|| – No other keyboard is connected || {X} || {X} || /!\ ||
|| Stop using a Bluetooth keyboard || {X} || {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 ||<-2> (./) indicator, settings || (./) indicator, settings ||

<<Anchor(icon)>>
== Bluetooth icon ==

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:bluetooth-icons.png}}||

In the Bluetooth indicator across form factors, and in [[SystemSettings#phone-quick-access|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 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, [[#phone-indicator|there is no icon at all]].)

||<tablestyle="clear:both" style="border:none">||

<<Anchor(phone)>>
== Phone ==

<<Anchor(phone-settings)>>
=== System Settings ===

==== Access ====

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:bluetooth-access.phone.png}}||

[[SystemSettings#phone|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 [[SystemSettings#phone-quick-access|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.

||<tablestyle="clear:both" style="border:none">||

==== Discoverability ====

(bug Bug:1268047)

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

The phone itself should be discoverable when — and only when — you are on the System Settings “Bluetooth” screen, with Bluetooth on, for more than one second. This saves needing a separate switch for discoverability, that you might not know to turn on, or might forget to turn off.

To indicate this:

||<^ style="border:none">{{attachment:bluetooth-on-undiscoverable.phone.png}}||<^ style="border:none">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.||
||<: style="border:none">↓||
||<^ style="border:none">{{attachment:bluetooth-on-discoverable.phone.png}}||<^ style="border:none">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.||
||<: style="border:none">↓||
||<^ style="border:none">{{attachment:bluetooth-on-undiscoverable-exit.phone.png}}||<^ style="border:none">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.||
||<: style="border:none">↓||
||<^ style="border:none">{{attachment:system-settings-top.phone.png}}||<^ style="border:none">After one second, System Settings should return to the overview.||

==== Listing devices ====

||<^ tablestyle="float:right;margin:0 0 1em 1em" style="border:none">{{attachment:bluetooth-settings-off.phone.annotated.png}}||<^ style="border:none">{{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.

 2. “Connect a device:”/“Connect another device:”, if Bluetooth is on. 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).

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

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

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

||<tablestyle="clear:both" style="border:none">||

==== Pairing ====

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-bluetooth-pair.png}}||

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.

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

||<tablestyle="clear:both" style="border:none">||

==== Examining and disconnecting ====

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-bluetooth-device.png}}||

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.

||<tablestyle="clear:both" style="border:none">||

<<Anchor(phone-indicator)>>
=== Indicator and menu ===

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-bluetooth-menu.png}}||

When Bluetooth is on, [[#icon|the indicator icon]] should appear in the [[StatusBar|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.

||<tablestyle="clear:both" style="border:none">||

== 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 [[MenuBar#system-status|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 [[Power|the battery UI]] on both PC and phone.

||<tablestyle="clear:both" style="border:none">||

= Links =

 * BluezGnome
 * http://www.bluez.org/
 * http://doc.ubuntu-fr.org/materiel/bluetooth
 * https://help.ubuntu.com/community/BluetoothSetup
 * http://packages.ubuntu.com/feisty/gnome/bluez-gnome
 * http://www.michaelwood.me.uk/wordpress/2007/03/26/bluetooth-on-ubuntu-linux/
Line 23: Line 181:
[:CategoryUbuntuTeams][[BR]][[BR]]
[:
CategoryBluetooth]
[[CategoryUbuntuTeams]]<<BR>><<BR>>
[[CategoryBluetooth]]

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

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

(X)

(X)

Warning /!\

– No other mouse is connected

(X)

(X)

Warning /!\

Stop using a Bluetooth mouse

(X)

(X)

Warning /!\

Set up a Bluetooth keyboard

(X)

(X)

Warning /!\

– No other keyboard is connected

(X)

(X)

Warning /!\

Stop using a Bluetooth keyboard

(X)

(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 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)”.

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

(bug 1268047)

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

The phone itself should be discoverable when — and only when — you are on the System Settings “Bluetooth” screen, with Bluetooth on, for more than one second. This saves needing a separate switch for discoverability, that you might not know to turn on, or might forget to turn off.

To indicate this:

bluetooth-on-undiscoverable.phone.png

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.

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.
  2. “Connect a device:”/“Connect another device:”, if Bluetooth is on. 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.
    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

phone-bluetooth-pair.png

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.

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

Examining and disconnecting

phone-bluetooth-device.png

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.

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.

Links


CategoryUbuntuTeams

CategoryBluetooth

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