Dev Week -- Improving Ubuntu In An Evening -- vish -- Thu, Jul 15th, 2010
(01:00:43 PM) vish: Hi everyone, I'm Vishnoo and I'm here to talk about how to improve Ubuntu in an evening . (01:01:05 PM) vish: I hope you are enjoying UDW and learning a lot. (01:01:21 PM) vish: Often when we introduce Ubuntu to someone and they are developers, they are surprised by Ubuntu being a community project and that they can get involved ! (01:01:45 PM) vish: One of the first things a new Ubuntu developer wants to know is how they can help and make a difference in Ubuntu OS. (01:02:10 PM) vish: Often the quickest, easiest way to do this is Hundred Papercuts Project (01:02:31 PM) vish: I will begin by giving a little bit of background information about the HundredPapercuts project, and why you should know + care about this project. :) (01:03:11 PM) vish: as always , please feel free to ask questions as you see fit , if you have questions as we go, ask on #ubuntu-classroom-chat by prefacing them with QUESTION: (01:03:38 PM) vish: So... for Karmic, the Ayatana Project together with the Canonical Design Team focused on identifying some of the “paper cuts” affecting user experience within Ubuntu. (01:03:54 PM) vish: Which we continued for Lucid and are doing it again for Maverick! (01:04:41 PM) vish: You maybe wondering what a papercut bug is? (01:04:49 PM) vish: Briefly put, A papercut is: (01:05:10 PM) vish: "a bug that will improve user experience if fixed, (01:05:19 PM) vish: is small enough for users to become habituated to it, (01:05:28 PM) vish: and is trivial to fix." (01:05:45 PM) ClassBot: abhijit asked: can be do papercut for my lucid or I need to do it only for next proposed release? (01:06:05 PM) vish: abhijit: we usually fix for the next development release (01:06:29 PM) vish: the changes are string changes or UI changes which we cannot do after a UIF (01:06:32 PM) vish: !UIF (01:07:16 PM) vish: abhijit: UIF == User Interface Freeze (01:07:29 PM) vish: ok.. carrying on.. ;) (01:07:44 PM) vish: A paper cut is a 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!). (01:08:01 PM) vish: You can find a more detailed definition at: https://wiki.ubuntu.com/PaperCut (01:08:23 PM) vish: Traditionally the goal is fixing 100 bugs per cycle! (01:08:35 PM) vish: [which includes 10 Kubuntu bugs , why 10 for Kubuntu? Well , it has a smaller team and as kubuntu folks like to put it, "KDE's already awesome!" ;p ] (01:09:04 PM) vish: The ayatana project convenes in #ayatana, so if you stop by there, you'll likely be able to jump right into a papercut discussion. (01:09:16 PM) vish: Now for a few examples which have been fixed in the past year: (01:09:25 PM) vish: Have a look at : http://img441.imageshack.us/img441/2964/compiz.jpg (01:09:33 PM) vish: What do you see wrong about that image? (01:09:57 PM) vish: any guesses? (01:10:21 PM) vish: matttbe: getting closer.. (01:10:55 PM) vish: matttbe: right! (01:11:08 PM) ***vish throws virtual candy to matttbe :) (01:11:19 PM) vish: Now have a look at : http://img22.imageshack.us/img22/3686/metacitycompositor.jpg (01:11:34 PM) vish: can everyone spot the difference , now? (01:12:08 PM) vish: Sc10: exactly! these are things users often dont notice (01:12:19 PM) vish: When you are working on something, the active window has to be on top and not the panel. When the window is on top it should not have a shadow on it! (01:12:37 PM) vish: That was fixed as part of the papercuts. (01:12:53 PM) vish: Another example: https://bugs.launchpad.net/hundredpapercuts/+bug/388949 (01:13:01 PM) vish: This fix will be released for Maverick (01:13:18 PM) vish: On the desktop if you right click , you will see an option 'Clean Up by Name' (01:13:42 PM) vish: If you were/are a windows user you'd probably recall an option "Desktop Clean Up wizard" ? (01:14:13 PM) vish: Now since the names are too similar a new user will often confuse the functions. (01:14:38 PM) vish: It has now been re-named to "Organize Desktop by Name" (01:15:01 PM) vish: That was a simple bug right? all it needed was a renaming of an existing function! (01:15:30 PM) vish: want more examples? ;) (01:15:48 PM) vish: moving on.. (01:16:15 PM) vish: saji89: yes simple changes (01:16:23 PM) vish: Now, why should you care about these trivial bugs? (01:16:45 PM) vish: If you are new to Ubuntu and eager to start working on Ubuntu , (01:17:20 PM) vish: this is the best way to get started! (01:17:30 PM) vish: the bugs are simple changes (01:17:46 PM) vish: helps you get familiar with the coding practices followed and gets you ready for handling bigger bugs in the packages. (01:18:00 PM) vish: it takes you just a day to make the impact! (01:18:14 PM) vish: And the change you make will be in the *default* install of the next release! (01:18:23 PM) vish: This is a very rare opportunity for a new member , to make changes in a default install. (01:19:10 PM) vish: <saji89> asked : So, how do we know where the specific change is to be made? (01:19:46 PM) vish: saji89: the bugs will be filed in the applications , you need to dig into the source and just change it (01:20:21 PM) vish: Now , not that this is only for new members . ;) (01:20:37 PM) vish: Anyone can fix a papercut , all one needs to think is "what can I improve in Ubuntu today?" Head over to the triaged list of papercuts and submit fixes! (01:21:14 PM) vish: Sounds simple right? (01:21:33 PM) vish: Now let's getting into how to fix these bugs: (01:22:11 PM) vish: <saji89> asked : So, This digging into source invloves BZR, and such things isn't it? (01:22:49 PM) vish: saji89: if its an Ubuntu specific bug , then yes , you need to bzr branch the Ubuntu branch and submit a merge (01:23:21 PM) vish: saji89: if its an upstream Gnome-bug then patches for the git code would be the best way (01:23:42 PM) vish: saji89: similarly debian == submit patch to debian :) (01:24:44 PM) vish: Now let's getting into how to fix these bugs: (01:24:44 PM) vish: This is the schedule for maverick https://launchpad.net/hundredpapercuts/maverick (01:24:45 PM) vish: The 100 paper cuts planned for Maverick are split into 10 milestones or "rounds" as we have been calling them, (01:24:50 PM) vish: or even "themes" (01:25:25 PM) vish: these milestones are like themes so that it is easier for a developer , who is say.. interested in Nautilus to find those related bugs and fix them. (01:26:20 PM) vish: has everyone seen the scheduled list ? (01:27:20 PM) vish: Now, the milestones are not hard deadlines, so don't worry that all of the bugs are not fixed yet. (01:27:34 PM) vish: Well, maybe worry a little bit ;) (01:27:47 PM) vish: And head over to the list of triaged bugs: https://bugs.launchpad.net/hundredpapercuts/+bugs?field.status%3Alist=TRIAGED (01:28:29 PM) vish: <mythos> asked: so we take a bug and hope, that it is easy to fix? (01:28:56 PM) vish: mythos: there is not a question of hoping here , the bugs are usually trivial.. (01:29:10 PM) vish: as i showed examples earlier , the changes are trivial (01:29:46 PM) vish: often in the rush for new features , developers for the little things (01:30:03 PM) vish: mythos: We have what is called the GNOME Human Interface Guidelines : (01:30:09 PM) vish: http://library.gnome.org/devel/hig-book/stable/intro.html.en (01:30:32 PM) vish: Often there are certain areas in an application which dont follow those guidelines, ex: https://bugs.launchpad.net/ubuntu/+source/shotwell/+bug/592661 (01:30:52 PM) vish: as you can see in that bug , the menu item "File" should not exist (01:31:09 PM) vish: since it is a photo manager , it should be a Photo menu (01:31:31 PM) vish: mythos: so , there is no hoping.. are we clear on that .. the fixes are trivial :) (01:31:44 PM) vish: well , most of the time.. ;) (01:32:37 PM) vish: if it turns out to be too large a problem we have often closed bugs.. (01:33:38 PM) vish: alrighty.. continuing from the triaged list: https://bugs.launchpad.net/hundredpapercuts/+bugs?field.status%3Alist=TRIAGED (01:34:11 PM) vish: as you can see there are a hundred odd bugs still waiting. (01:34:39 PM) vish: See any bug that interests you? (01:34:57 PM) vish: If you are truly committed to fixing it, you can assign it to yourself . (01:35:11 PM) vish: After assigning it to yourself, read the launchpad bug report and any upstream reports. (01:35:34 PM) vish: Then ask yourself, what does this paper cut need before it can be considered fixed? (01:35:58 PM) vish: Make a list, then start addressing those work items. (01:36:20 PM) vish: dont forget to Mark the bug as "In Progress" (01:36:37 PM) vish: <chilicuil> asked : so, does it really matter to use bzr?, or can I just upload a debdiff? (01:37:12 PM) vish: chilicuil: as i mentioned earlier , if the bug is Ubuntu specific , then a branch will do. else debdiff (01:37:30 PM) vish: <saji89> asked: So, when we are in need of some help, ehich irc channel shall we contact? (01:37:56 PM) pjarnahom is now known as pjarnahomzz (01:38:18 PM) vish: saji89: #ubuntu-bugs, #ubuntu-motu, #ubuntu-desktop on IRC. Or just add a comment on the bug. That works too. (01:38:36 PM) vish: saji89: thats if you need assistance in fixing the bugs.. (01:38:49 PM) vish: also , a (01:39:03 PM) vish: #ayatana of course (01:39:56 PM) vish: saji89: the Ayatana Mailing list might be used as well , you you want to discuss the suggested design solution (01:40:44 PM) vish: now , if you look at : https://launchpad.net/hundredpapercuts/+milestone/maverick-round-9-sc-metadata (01:41:50 PM) vish: you can see the bugs there are just about updating the descriptions (01:42:02 PM) vish: mythos: thats simple right? :) (01:43:03 PM) vish: we just need to make a patch to fix these bugs once they have patches with the appropriate description , these have to be sent upstream to debian as well (01:43:46 PM) vish: since it is easier for the debian maintainers when we have the patches with an appropriate description (01:44:28 PM) vish: If any of you attended the shadeslayer's Packaging like a Ninja session, or pedro_ and nigel's patch forwarding sessions you are in a great position to help with paper cuts . (01:45:32 PM) vish: If there is anyone in attendance interested in fixing a paper cut for Maverick. I encourage you to join #ayatana . (01:45:44 PM) vish: Also, pick one of the remaining paper cuts and claim it! Check on its status upstream. (01:46:28 PM) vish: If it needs a patch, create one. Update the patch if necessary! (01:46:59 PM) vish: As i mentioned earlier , these are trivial issues and fixing them gives an OS a polished feel. We need to fix these and there are several such issues which can be addressed. (01:47:25 PM) vish: We want everyone to enjoy Ubuntu as much as this guy > http://www.youtube.com/watch?v=G1-Q_8EbB8A&feature=related (01:47:54 PM) vish: We need to make more people go "Oh! Ubuntu!" ;) (01:48:52 PM) vish: Often there is one problem on papercut bugs! , too many suggestions! (01:49:13 PM) vish: 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?" (01:49:52 PM) vish: Then a bunch of other people chime in with "+1". (01:49:55 PM) vish: And the existence of the alternate suggestion confuses whoever is working on the bug because they lose confidence in the first solution. (01:50:20 PM) vish: The bottom line is, there will almost always be more than one way to fix a paper cut. (01:50:42 PM) vish: 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. (01:51:09 PM) vish: Remember, the goal is to improve user experience in subtle ways, not to find the perfect solutions to these problems. (01:51:45 PM) vish: Often times, paper cuts don't get fixed because endless discussion of minutia. (01:52:05 PM) ClassBot: Nervengift asked: who decides? (01:52:36 PM) vish: Nervengift: there is a team , the Papercutters team , which takes care of such bugs (01:53:10 PM) vish: it consists of the Canonical design team + community members who have shown design skills in the past (01:53:48 PM) ClassBot: Rhonda asked: So the approach is to settle for something potential subpar because it is the simplest solution offered? (01:54:08 PM) vish: Rhonda: if the fix is subpar , then truly it aint a fix :) (01:54:33 PM) vish: the fix needs to address the problem *and* be the simplest approach (01:55:08 PM) vish: 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. (01:55:47 PM) vish: If people are passionate about alternate solutions, let them craft those solutions and get them in the 100 paper cuts for the next cycle. (01:56:06 PM) vish: But if we can view user experience in Ubuntu as a spectrum. (01:56:20 PM) vish: The goal is to make measurable, *incremental* improvement on 100 issues . (01:57:31 PM) vish: people are fixing simple bugs and have gotten so good at it that Upstreams have taken notice of them , ex: (01:57:33 PM) vish: http://castrojo.tumblr.com/post/785661804/papercutter-profile-marcus-carlson (01:58:03 PM) vish: Marcus, has now been given GIT commit access to nautilus too.. and all from fixing papercuts :) (01:58:17 PM) vish: does anyone know Nautilus-elementary? (01:58:41 PM) vish: well , it all started because of this guy! (01:58:58 PM) vish: his patches were the foundation for N-E :) (01:59:34 PM) vish: alrighty.. almost time up! , so anyone have any question?