(I believe we actually reached 100, but many paper cuts were fixed without being reported or carefully tracked, and some individual paper cuts addressed multiple instances of a general of problem.)
What about Lucid?
At the Ubuntu Developer Summit last week in Dallas, the Canonical Design team; members of the papercutters team; and representatives from the Ubuntu community agreed to tackle one hundred paper cuts for Lucid. As an LTS (Long Term Support) release, Lucid is a fantastic opportunity for us to use the One Hundred Paper Cuts project to enrich the experience of LTS users by delivering a polished release that will stand the test of time. Bear in mind that paper cuts that go unfixed in Lucid will affect LTS users for years to come, so each opportunity to fix a paper cut is momentous. Luckily, very few disruptive changes are being introduced in Lucid, so we will be able to spend less time adjusting to major changes, and more time nailing the details.
Here are descriptions of the ten milestones structuring our effort to fix one hundred paper cuts for Lucid (see the Lucid series on Launchpad):
- Round 1 “Kibosh on Karmic” (2009-12-03)
- In Round 1, our goal is to fix ten of the fifteen paper cuts from the Karmic cycle that had patches attached but were not merged. After some discussion with Rick “Quickly” Spencer–the Ubuntu Desktop Team lead–we’ve established a more comprehensive workflow for landing paper cut fixes in Ubuntu: in the Lucid cycle, paper cuts with patches attached should be assigned to “canonical-desktop-team,” and “ubuntu-main-sponsors” should be subscribed to the bug report to prevent patches from languishing.
- Round 2 “Kibosh on Karmic” (2009-12-10)
- In Round 2, our goal is to fix the remaining paper cuts from the Karmic cycle with patches attached. Additional unfixed paper cuts from the Karmic cycle will be moved to this milestone to make an even ten.
- Round 3 “Kibosh on Karmic” (2009-12-17)
- In Round 3, we will finish fixing the leftover paper cuts from the Karmic cycle.
- Round 4 “Paper Jam: Empathy” (2010-01-07)
- Round 4 will be our first “Paper Jam.” A Paper Jam is a milestone where a majority of the paper cuts are taken from a particular domain of user experience. Our first Paper Jam will focus on Empathy; this milestone should contain paper cuts affecting Empathy’s user experience.
- Round 5 “Paper Jam: Gwibber” (2010-01-14)
- Gwibber is shipping by default in Lucid. Let’s help it make a great first impression.
- Round 6 “Paper Jam: Sound & Video” (2010-01-21)
- Movie Player, Rhythmbox, and maybe PiTiVi. These are very solid applications, so this milestone will be challenging!
- Round 7 “Paper Jam: F-Spot” (2010-01-28)
- With the removal of the GIMP from the default install, more weight is being placed on F-Spot’s shoulders — especially viewer mode.
- Round 8 “Paper Jam: Notifications” (2010-02-04)
- Fixing notification priorities and any other vagaries that pop up (ha!).
- Round 9 “Paper Jam: Compiz Settings” (2010-02-11)
- Clean up animations, make appearance consistent with Ubuntu’s look and feel, improve discoverability of Scale and other useful features, etc.
- Round 10 “Fin” (2010-02-18)
- Odds and ends.
As you can see, the One Hundred Paper Cuts effort for Lucid will look very much like the One Hundred Paper Cuts effort for Karmic, except that most of the milestones are organized around threads of user experience.
Documenting Design Decisions
In the Karmic cycle, it was often difficult to find the relevant design decisions buried in bug activity and comments. One important change to observe for the Lucid cycle is that paper cut design decisions should be documented separately on the Ubuntu wiki. When a paper cut needs an explicit design specification, append the following line to the bug description:
Design Spec: http://wiki.ubuntu.com/OneHundredPaperCuts/Spec/<bug id>
And document the design decisions there. Here’s an example spec for the unfinished Karmic paper cut, “Home Folder” has 3 different names. If you’d like to propose a solution, do not merely post a comment on the bug report; rather, please use the following template to record a solution in the design spec:
== Solution: <solution name> ==
=== Description ===
# Succinctly describe the solution.
=== Advantages ===
# List advantages of the solution.
=== Disadvantages ===
# Give at least one disadvantage of the solution.
=== Behavior Changes ===
# Specify behavior changes.
=== String Changes ===
# Specify string (text) changes.
=== Visual Changes ===
# Specify visual changes (e.g. icons).
If you agree or disagree with a proposed solution, feel free to add a bullet point to the appropriate Advantages or Disadvantages section. If you strongly disagree with a proposed solution and find it beyond remedy, please propose an alternate solution.
Sound good? Great, let’s do this!