One Hundred Papercuts

Revision 37 as of 2009-11-16 20:02:27

Clear message

Karmic Cycle

For Ubuntu 9.10 “Karmic Koala,” the Canonical User Experience and Design team, together with community members participating in the Ayatana project, attempted to identify and fix one hundred “paper cuts.” Briefly put, a paper cut was defined as a trivially fixable usability bug that the average user would encounter on his/her first day of using a default installation of Ubuntu Desktop Edition.

Process

The One Hundred Paper Cuts project was announced at UDS Karmic in Barcelona and proceeded in the following five phases.

Phase 1

The preliminary definition of a paper cut was blogged about and posted on the Ubuntu wiki:

  • Put briefly, a paper cut is a trivially fixable usability bug that the average user would encounter on his/her first day of using a brand new installation of Ubuntu Desktop Edition.

    If you prefer a more detailed, itemized definition, a paper cut is:

    • A bug, or an unintended problem occurring within an existing piece of software,
    • the presence of which makes a computer more difficult or less pleasant to use,
    • that is easy to fix,
    • that the average user would encounter during his/her first day of using...
    • ...Ubuntu Desktop Edition* as configured by a default installation.

    If a potential paper cut fails to meet any of the criteria above, it is not a paper cut.

The community was invited to report paper cuts and to identify existing bugs as paper cuts in Launchpad:

  • We need your help! Help find paper cuts on Launchpad by searching through existing bugs. If you find a bug that you believe to be a paper cut, here’s how you add it to the project. First, click the “Also affects project” link on the existing bug report... Then add the project “hundredpapercuts” to the report.

Project details were publicized on Ubuntu members' personal blogs, aggregated on Ubuntu Planet and Planet GNOME, and announced on the Ayatana and Ubuntu-devel mailing lists.

Phase 2

Within a few weeks, over 1,600 bugs were added to the “papercuts” project in Launchpad. A new team named named papercutters was formed to triage incoming bugs and generate a set of confirmed bugs which had been checked against the definition of a paper cut:

  • Many of these paper cuts call for trivial patches, requiring little design consideration or user testing. Some of the paper cuts would benefit from the involvement of the Canonical User Experience and Design team, so the milestones outline a schedule for Design team participation.

    Guide to paper cut statuses:

    • Confirmed: the bug has been reported as a paper cut and was checked at least once against paper cut criteria.

    • Triaged: the bug has design feedback on it, and is ready to be worked on.

    • Invalid: the bug is not a paper cut, and should be replaced within its milestone. Please mark incomplete and discuss instead of marking invalid.

    • Incomplete, In Progress, Fix Committed, etc. mean what they usually mean.

    If you feel like fixing a paper cut, please assign it to yourself. If you can conduct user testing or other research, that would really help make progress on the trickier paper cuts. Some people have been blogging about paper cuts, and have even been conducting user testing with their readers, or informal surveys in the comments. Others are busy writing patches.

The papercutters team initially consisted of the Canonical User Experience and Design team, but five members of the community were eventually added to the team after demonstrating a strong understanding of the project through bug triage work.

Phase 3

Ten weekly milestones, beginning the final week of June and ending the final week of August, were scheduled, with ten paper cuts allocated to each milestone to establish the preliminary set of one hundred paper cuts to fix in the Ubuntu 9.10 release. This series of milestones was intended as a schedule for the Canonical Design team to observe when collaborating with Ubuntu developers and the community, allowing the Design team to focus on a small set of paper cuts each week; these milestones were never intended to be deadlines for fixing bugs. Celeste Lyn Paul was added to the papercutters team to assist in allocating an additional Kubuntu paper cut to each milestone so that the Kubuntu project could also benefit from the paper cuts effort.

Phase 4

Each week, a new milestone and therefore a fresh set of ten paper cuts would become the focus of attention. The Canonical Design team would sometimes provide design direction when it was needed in the form of mockups or simple behavioral specifications as comments on bugs, but most effort was spent finding individuals capable and willing to work on implementing fixes, as paper cuts by definition require very little specialized design work. As closer attention was paid to paper cuts within each successive milestone, often a paper cut would become contentious, or it would become apparent that a paper cut was not easy to fix, so the offending paper cut would be marked Invalid and replaced within its milestones with another unallocated, Confirmed paper cut.

At the end of each week, a progress report was published that discussed the paper cuts examined that week and celebrated the progress of any paper cuts that had been fixed:

Results

Fixed Paper Cuts

  • 63 paper cuts tracked during the cycle were fixed in Karmic!

  • An additional 13 paper cuts that were not part of the Karmic series were fixed.

  • 63 tracked paper cuts + 13 untracked paper cuts = 76 paper cuts fixed!

  • 5 paper cuts dealing with focus issues in Network Manager, and 8 paper cuts dealing with the Startup Applications settings dialog were fixed, but were tracked as bug tasks, or not tracked at all. That's an additional 13 paper cuts fixed unofficially.

"Almost Fixed" Paper Cuts

12 paper cuts gained patches but were not merged.

Unfixed Paper Cuts

23 paper cuts were not addressed.

Fixed Kubuntu Paper Cuts

9 Kubuntu paper cuts were fixed (1 was scheduled but not fixed).

Notes

  • The Banshee project was inspired to run their own paper cuts initiative. If Ubuntu migrates to Banshee as the default Music Jukebox application, we will inherit those paper cut fixes. Like Banshee, a few other upstream projects started paper cut initiatives of their own.
  • Fedora's Fit & Finish project very closely resembles the Ubuntu Paper Cuts project.

  • Discussion surrounding a proposed Nautilus paper cut reinvigorated upstream efforts to improve Nautilus usability. This work should land in Lucid and have a tremendous, positive impact on user experience.

Dealing with Paper Cut Bugmail

Use the following snippet with imapfilter to move incoming hundredpapercuts bugs to IMAP folder "Launchpad/hundredpapercuts/bugs":

my_account = IMAP {
  ...
}

inbox = my_account.INBOX

messages = inbox:match_header("X-Launchpad-Bug: product=hundredpapercuts;")
inbox:move_messages(my_account["Launchpad/hundredpapercuts/bugs"], messages)

(You will need to install imapfilter and configure it to run with cron).

Plans for Lucid Cycle

Paper Cut Threads: "Deep Cuts"

  • Compiz settings (animations, behaviors)
  • Notifications (priorities and Do Not Disturb)
  • Empathy
  • Music Player(?)

Patched Paper Cut Pipeline

  1. Paper cut gets a patch attached.
  2. UX checks off on experience.
  3. Subscribe “ubuntu-main-sponsors” and assign to "canonical-desktop-team"
  4. Desktop team helps submitter work with upstream and simultaneously apply patch to Ubuntu.

Psychological effect of marking paper cuts invalid. Paper cut escalation: How we discourage hundreds of comments.