ImproveUbuntu

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?

MeetingLogs/devweek1007/ImproveUbuntu (last edited 2010-07-15 20:44:30 by pool-71-123-28-183)