Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: increase-hwdb-participation
Packages affected: hwdb-client, ubiquity
Summary
Increase participation in the Ubuntu Hardware Database.
Rationale
In order to collect better data about hardware support in Ubuntu, we want more users to contribute their hardware data to the Ubuntu Hardware Database.
Users should be invited to participate when they boot a pre-release live CD and when they install Ubuntu (whether the installation is successful or not).
Use cases
- The Ubuntu development team would like to have better information about hardware on which installations consistently fail, or on which certain classes of bugs are consistently reported.
Scope
Significant changes to hwdb-client are discussed in hwdb-overhaul rather than here.
Design
We will add a post-installation update-notifier notification which appears on the live session desktop and immediately after new installs prompting the user to contribute to the hardware database; It is possible to disable this by means of debconf preseeding for the benefit of automatic installations (key hwdb-client/notification). Also, this notification will not be shown if the user already has a ~/.hwdb state file.
Code
In order to do this properly, update-notifier needs to support two additional fields in the notification description fields:
GettextDomain: If present, update-notifier uses dgettext() to translate the field instead of the inline Name-Locale fields.
DisplayIf: If this points to an existing executable script, the notification is only shown if the script exits with zero.
Title: If present, update-notifier uses this text as dialog title and notification text instead of the default packging related ones.
hwdb-client then:
ships a postinst file that checks for the debconf preseeding key hwdb-client/notification and only installs the notification if it should not be supressed.
ship a notification display test script that exits with zero iff neither /var/lib/hwdb-client-common/no-notification nor ~/.hwdb exists.
- ensures in the packaging that the translatable parts of the u-n notification are copied to the PO template at build time.
oem-installer should create the flag file /var/lib/hwdb-client-common/no-notification.
Tests
- When booting a live CD you should get an update-notifier notification (light bulb in system tray and a bubble pointing to it). When clicking on it, you should get a window with an explanation of hwdb, where to find it, and a button to run it.
- When installing a clean system, the same happens on first login.
When installing a system with a pre-existing /home that already has ~/.hwdb, you will not get this notification.
When installing a system with hwdb-client/notification=false preseeded, you will not get this notification.
Future work
If something goes wrong while dealing with removable devices, the relevant UI should ask the user to re-submit to the hardware database with that removable device plugged in as well as asking them to file a bug.
apport should offer to submit a hardware database entry if this has not already been done, and inform the user of the ID so that they can quote it in their bug report if they want to do so.
Discussion
I think more people will participate if they see their contribution somewhere on the web, similar to http://popcon.debian.org/ . When these data are used for statistics, people tend to "vote" for their hardware by submitting their profile.