Hardware applet
19. November 2007
When playing with my new bluetooth hardware I was very pleased that it was supported out of the box. Anyway, I also missed something that would give me some indication that the hardware is working. (e.g. the first I did was to check dmesg)
When you look a Windows, they have those tiny notifications telling you that the new hardware was detected (or that it is not working or whatever). I think we should also have something like that. We now have HAL und dbus and I shouldn’t be that difficult to implement though I have no idea how this works in details. So take this as a proposal or tell me that it already exists (I didn’t find it):
There should three modes of operation:
1. Hardware is plugged in and supported
- Tell the user “Detected xy – new hardware is now working” (alexl pointed out that we should not do this as it is obvious. I would prefer to have this notification for the first time the hardware is attached).
- Propose some common operations: Open files for an USB-Stick, F-Spot for a digital camera, gnome-scan for a scanner, etc. Of course with a notification and not with an ugly centered dialog like Windows.
2. Hardware is supported but needs configuration
- Show enough information that the user can complete the configuration
- If there is no wizard to do this in a user friendly way, at least point the user to a (distro-specific) tutorial or at a place where he/she probably could find help.
3. Hardware is unsupported
- Point the user to a distro-specific update tool to search for a driver (=> PackageKit comes in mind…)
- If there is really no driver, ask the user to report a feature request, based on the device id. This should be saved in a database to see which drivers are needed by many people.
The most obvious case are of course USB devices but maybe also stuff like pcmcia and bluetooth could be detected that way. I think this would make hardware support on linux a lot more user-friendly. Personally I neither have the knowledge nor the time to implement that but maybe someone likes the idea!
19. November 2007 at 16:06
Hardware that works should not be reported. Thats just obnoxious as it will keep notifying forever even when you know it works. Its like windows telling you you inserted a thing, you’re likely aware of this since you just inserted it.
Reporting that something works just emphasizes that the default is that things doesn’t work.
Anyway, we totally should report when things that doesn’t “just work” are added though.
19. November 2007 at 16:16
Hi Alex!
I see your point so maybe I should change that to “Notify the user the first time he inserts the hardware, not any time”. When I plugged in my Bluetooth adapter it would have been really nice if the OS told me that I has detected it and is supporting it. Of course doing that every time is a mess.
Thanks for that idea!
Johannes
19. November 2007 at 16:56
I’d refrain from proposing possible actions for detected devices. It’s what gnome-volume-manager is for 🙂
19. November 2007 at 17:03
Patrys, does gnome-volume-manager handle scanners, phones and bluetooth keyboards correctly and is it meant to do so? The README states that it is only “volume related”.
19. November 2007 at 17:39
The way Windows constantly makes those popups is driving people nuts. “HELLO, YOU STUCK IN THE USB STICK AGAIN!” – so? Usability is to expect those happen only when they produce some actual value. Usually hardware should just work and configure itself. Also, learn from the first common steps in using the hardware. Software must keep out of the face, always.
19. November 2007 at 18:34
I have to say I agree with the sentiment that “You added hardware!” alerts are bad. Those alerts are one of the most irritating little things that Windows has. I agree that there should be some default action taken when a piece of hardware is first installed / inserted and can be used. In your bluetooth example, opening up the bluetooth applet and asking to pair with a device, that might be useful. It has the effect of saying “hey, your stuff is working.” without the wasted attention and mental bandwidth consumed by a message that just says “Hey, your stuff is working.”, it has a purpose beyond delivering that message.
About the only time I would consider a message like that to be useful is if something were plugged in and the system didn’t know what to do with it. “You just inserted a USB device that is unsupported.” might, might be useful, but even that would have to subtle.
Don’t fall into the popup alert trap!!!
19. November 2007 at 18:48
Check out gnome-device-manager. The aim is to split this into a daemon which handles exactly what you describe using HAL.
GIT Repository:
http://gitweb.freedesktop.org/?p=users/david/gnome-device-manager.git;a=summary
Screenshots:
http://www.flickr.com/photos/davidz/488722220/
Packaged in openSUSE’s Build Service.
19. November 2007 at 23:18
I think many people commenting are not familiar with windows XP. Those notifications that seem to cause a number of people so much ire only happen on the very first instance of a device being detected/configured for use. To notify that a device has been configured is logical! In Ubuntu when a new printer is detected it does the very same thing as windows does for a number of hotpluggable devices — report that it has been configured with a popup balloon! And in the case of Ubuntu this has generally been seen as a usability enhancement!
For devices under Linux distro’s not to report their functionality is more important than under Windows in some respects. This is because many devices do not appear in a central location (Computer), for example scanners do not appear anywhere in the standard nautilus.
All subsequent plug-in’s under windows XP result in zero notifications.
What windows does do on subsequent plug-in’s, is create a tray icon for removable devices, this is handy, because you can easily unmount devices with minimal clicking out of focused windows. Also of great use is a system sound that accompanies a device being plugged-in. This is handy also!
Perhaps a sound for success and a sound for failure to configure a device would be better than notifications. But surely the more feedback from the system the better for new users who may or may not know where to check if a device has been connected and configured properly for use.
20. November 2007 at 1:46
Take a look at hermes that was written by Guadalinex:
http://forja.guadalinex.org/guadalinexv4/apps/hermes/trunk
20. November 2007 at 3:45
When I’m plugging BT dongle in, bluez-gnome starts, and the BT icon appears on notification area.
When i’m plugging the pen-drive/CF card reader, something (gnome-volume-manager ?) is opening nautilus with files stored on device.
What other notification do you want?
OK information that something is not working, because you did not installed some stuff/compiled kernel module may be usable, but IMO much more important is to make more stuff “just working TM”. Why? Because it is what make my windows friends jealous from time to time. 😉
21. November 2007 at 0:46
Perhaps showing a notification every time you plug in some hardware is annoying. But what about showing a systray/panel icon when something is plugged in? It’s low-key and non-obnoxious. It would also allow the user to quickly “eject” the device, etc. The interface would just have to be less annoying than Windows’ 😉
22. November 2007 at 16:21
While I agree that it would be annoying to get a prominent notification every time a device is plugged in (this should only be done for the first time that a device is seen), I think that it is still useful to include some kind of notification: sound or icon or whatever else is non-intrusive but still visible/audible by those who are interested in the notification.
The main problem is that after plugging in some USB devices or pairing some Bluetooth devices, it can still take some time before they are really ready to be used (several seconds). If you start an application that uses that device before it is ready, you can get some annoying error messages (*). This can be avoided by letting the user know when the device is ready to be used.
So it is still useful to have some kind of non-obnoxious notification every time you connect some device.
(*) Note: One could suggest that the application should just retry after a while instead of displaying an error message, but this is not a good strategy. In many cases, the application does not know that it is dealing with a removable device. And even when it does, it has no way to be sure that the device will become available after a short time. For some types of devices, retrying automatically can cause some undesirable side-effects, such as if you connect a mobile CD or DVD drive via USB or Firewire and the tray closes automatically every few seconds while you are trying to put the DVD in the tray.