PaperCuts

Want to help with the Hundred Paper Cuts project? These are the remaining paper cuts that need some love: http://tr.im/xNS9

Dev Week -- Paper cutting 101 -- djsiegel, ted, seb128 -- Thu Sep 3rd, 2009

13:00:58 - 13:54:42 UTC (Reformated from original IRC chat.)

Hello, everyone! I hope you are enjoying UDW and learning a lot. Now it's time for Paper Cutting 101.

I will begin by giving a little bit of background information about the hundredpapercuts project, and then point everyone to some useful information about the progress of the project so far. Then, if seb128 or any other paper cutters are up to it, they can jump in and go into more detail about how paper cuts get fixed. Else, we can go straight to questions.

So, for Karmic, the Ayatana Project together with the Canonical Design Team is focusing on fixing some of the “paper cuts” affecting user experience within Ubuntu. The ayatana project convenes in #ayatana, so if you stop by there, you'll likely be able to jump right into a papercut discussion.

Briefly put, 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 (and Kubuntu too!). You can find a more detailed definition at: https://wiki.ubuntu.com/PaperCut

Here is an excellent example of a paper cut that has been fixed for karmic: https://bugs.edge.launchpad.net/hundredpapercuts/+bug/147230 The bug is the behavior of compiz viewport switching plugin and how it responds to scrolling. By default, if you scroll with your cursor of your desktop (or other sensitive areas) in Jaunty, your workspaces just start whizzing by at a dizzying pace. Clearly, this negatively affects user experience in the default ubuntu install.

I once saw a friend new to Ubuntu activate this by mistake while using her trackpad. She literally had to turn away from the computer because it made her dizzy. So, the fix for this was trivial -- change the default value of the switch-on scroll feature to false instead of true.

Now, if you look at that bug report, you'll see that it was fixed in round 2. Our goal is to fix 100 paper cuts for Karmic, and to help us tackle the problem, the 100 paper cuts planned for Karmic were split into 10 milestones or "rounds" as we have been calling them. This is the tenth week of the project, so we are in the middle of the tenth and final milestone. You can see an overview of the ten milestones and the progress made so far here: https://edge.launchpad.net/hundredpapercuts/karmic

Now, the milestones are not hard deadlines, so don't worry that none of them are complete. Well, worry a little bit, but not too much Wink ;) Here are the 43 paper cuts that are marked Fixed Committed/Released: http://tr.im/xNSQ At first glace, we appear to be a little less than halfway to our goal of 100 paper cuts. But, there are also 15 paper cuts currently marked In Progress: http://tr.im/xNSY And 50 (plus a few spare paper cuts for good measure) that are not yet fixed: http://tr.im/xNS9 So, this is the important link ^

Most of these 50 remaining paper cuts that are neither marked In Progress nor Fixed are actually pretty far along. Many of them have preliminary patches, good progress upstream, and merge proposals.

So, I would say that 80 out of 100 paper cuts are fixed or have a peer reviewed fix available and are awaiting a merge upstream or into Ubuntu. So, big thank you to everyone in here who has helped!

If any of you attended the packaging for small bugs sessions earlier in the week, or Ara's Mago session, you are in a great position to help with paper cuts if these kind of usability problems interest you. The packaging *or* small bugs sessions I'm sure there are many of you with a new set of skills who are eager to cut your Ubuntu development teeth, and the list of remaining paper cuts is the *perfect* place to do this (http://tr.im/xNS9)

So, that is information about the project, a comprehensive status update, and an advertisement for the project to solicit some new developers. Are there any questions so far?

  • c_korn asks, "so I have to know the solution of the bug already to decide whether it is a papercut?"

No, but that information can help you rule out bugs that are not paper cuts. When reporting a paper cut against the project, you should check the candidate bug against the working paper cut defintion here: https://wiki.ubuntu.com/PaperCut The best paper cuts are ones whose solutions are immediately apparent. If you do not know the solution, please, report the issue. People more familiar with the affected software will help confirm it (or not).

  • frandieguez asks, "did you search for new interface improvements on other OS?"

The hundred paper cuts project is focused on fixing small problems, not on making improvements in general. So we did not explicitly evaluate other OSes to discover issues in Ubuntu.

  • frandieguez follows up, asking if we looked to other OSes to solve some of the paper cuts.

frandieguez, do you have a specific example in mind? In the example paper cut I gave, it's obvious that we did not need to look to other systems to decide that prominent features that make users nauseous are bugs. And the solution in that case, to disable viewport switching on scroll, was just apparent. frandieguez, right, paper cuts is about fixing small bugs, and does not deal with new features *at all* From the definition, " new feature is not a paper cut; a paper cut is a problem with an existing piece of functionality, not a new piece of functionality. If a bug involves adding something to an interface (e.g. a new button), it's probably a new feature and not a paper cut."

Is there anyone in attendance interested in fixing a paper cut for Karmic? I encourage you to join #ayatana on irc.ubuntu.com. Also, pick one of the 50 remaining paper cuts and claim it Check on its status upstream. If it needs a patch, create one. Update its status if it is in progress or fixed.

Like I said, it seems that at least 80 of these are fixed or need a small nudge. If you can be that nudge for a couple paper cuts, it will have a huge impact on user experience in Karmic.

  • tedg asks, "How do I claim a paper cut?"

Well, if you are truly committed to fixing it, you can assign it to yourself (I believe). Do not assign it to yourself if you aren't going to work on it immediately, otherwise people will assume you are working on it so the bug may end up being ignored. After assigning it to yourself, read the launchpad bug report and any upstream reports. Then ask yourself, what does this paper cut need before it can be considered fixed? Make a list, then start addressing those work items.

  • plumstead21 asks, "From looking through some of the outstanding paper cuts it seems that many have stalled because of a lack of consensus on the way forward. What happens to them if consensus can't be reached?"

One "problem" on the paper cuts as that people will discuss them ad nauseum. So they may appear to be stuck due to lack of "consensus". When in fact, people are just having a prolonged discussion. If there are bugs that do look stuck because they don't have a clear direction, you should bring them to the attention of the "papercutters", a team created to pay attention to paper cuts. We hang out in #ayatana.

  • dlightle, "is there a standard procedure someone goes through when resolving a papercut when multiple solutions may exist? for example, in your workspace switching, disabling the scroll versus doing so with a modifier key (such as CTRL)"

(good questions, guys!) So, here is a common way for a paper cut to stall: the bug is reported, a simple solution is proposed, someone begins working on a fix, then a new person joins the discussion and says "what if we create a new keyboard shortcut?" Then a bunch of other people chime in with "+1". And the existence of the alternate suggestion confuses whoever is working on the bug because they lose confidence in the first solution.

The bottom line is, there will almost always be more than one way to fix a paper cut. And people will always jump in the discussion and propose an alternative approach. In the case of paper cuts, it's often best to take the simplest solution.

Remember, the goal is to improve user experience for Karmic in subtle ways, not to find the perfect solutions to these problems. Often times, paper cuts don't get fixed because endless discussion of minutia. But if we can view user experience in ubuntu as a spectrum. With out goal being to make forward progress with our goal* then we can accomplish more than viewing bugs as binary -- either fixed or not. Bugs are records of usability problems affecting people, in this case people are different -- some are experts, some are new to ubuntu.

The goal is to make measurable, incremental improvement on 100 issues for karmic. So if you see a paper cut with a long, drawn out discussion, let it play out, but remember that at some point we should pick a good solution and commit to it for Karmic. If people are passionate about alternate solutions, let them craft those solutions and get them in the 100 paper cuts for Karmic+1.

  • AntoineLeclair asks, "I'm totally new to packaging, fixing bugs in Ubuntu and projects that aren't mine in general. Where do I ask for help if I found how to fix a bug/papercut?"

Well, attending the UDW sessions is a great start. seb128, can you help answer this?

  • seb128: #ubuntu-bugs, #ubuntu-motu, #ubuntu-desktop on IRC. Or just add a comment on the bug. That works too.

Paper cuts are the perfect bugs for new contributors to start with. Many of them require a very small diff, and the rest is packaging and testing and PPAs.

Each week, I blogged about the paper cuts fixed, you may find these updates fun to read if you're a usability geek: http://davidsiegel.org/?s=progress+report&searchsubmit=Find And many people inside and outside the community are discussion the project. Here's over 1,300 blogs about it: http://tr.im/xO1Q

Any final paper cuts questions?

  • dlightle asks, "Is the papercut concept and/or the 100 papercuts new starting in karmic?"

The concept is not new, but it's a new effort for ubuntu. We had a paper cut effort for GNOME Do (http://davidsiegel.org/paper-cut/) and it resulted in one of the best releases to date.

Well, thank you all for attending this session. And feel free to try your hand at fixing some of the remaining cuts! http://tr.im/xNS9

Overview

For Karmic, the Ayatana Project together with the Canonical Design Team will focus on fixing some of the “paper cuts” affecting user experience within Ubuntu. Briefly put, 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. You can find a more detailed definition at: https://wiki.ubuntu.com/PaperCut

MeetingLogs/devweek0909/PaperCuts (last edited 2009-11-01 14:58:13 by petr-bug)