• Home
  • About
  • Blog Archives
  • Contact Me
  • FAQ
  • The Big 101
Subscribe: Posts | Comments | E-mail

jonobacon@home

Posted on February 4, 2010 - by jono

Project Awesome Opportunity

Desktop Opportunistic Developers Ubuntu

In the continued interests of making Ubuntu a rocking platform for opportunistic developers, today we formulated the plan for Project Awesome Opportunity. The goal is simple: build an opportunistic development workflow into Ubuntu. You will install one package from Universe and your Ubuntu will be hot-rodded for opportunistic application development, making development more fun and more accessible for a glorious itch scratching smackdown.

At the heart of the project is Ground Control by Martin Owens and Quickly by Rick Spencer and Didier Roche. I have been thinking about the challenges of how we build a great first incarnation of a platform optimised for opportunistic developers, and it struck me that we can divide the first set of tasks into three broad areas:

  • Creating a Project – we need to help opportunistic developers ramp up as quickly as possible: they feel the itch and they are ready to scratch right away.
  • Collaborating on a project – it should be really simple grab code, create a contribution and submit it to the project.
  • Fixing a Bug – bugs are at the heart of software projects, and we should optimize the bug fixing process making it a doddle for opportunistic bug fixing developers to grab some code and make it work.

A key part of this workflow which I designed yesterday is the Fixing a Bug component, and this is something I am really passionate about us trying to deliver in the Lucid timeframe. This is not a formal project that my team is working on, this is something that I am focused on in my spare time and coordinating with Ground Control author and rock star, Martin Owens.

Let me explain how it works:

Opportunistic development lives in the Projects/ directory in your home directory. When you load this directory in Nautilus, you see this:

Ground Control places three buttons that identify the key use cases we are keen to satisfy. When the user clicks the ”Fix Bug” button the following dialog box appears

For the first cut of this feature a bug number is required, but the feature could also include a search box for finding bugs and even potentially have an option on the Launchpad project page saying ”Fix a bug on your desktop” (or some other descriptive term) and when you click that link, Nautilus opens up and is fed the bug number.

When a bug number is submitted, Ground Control will create a branch that the bug affects (typically trunk) into your Projects/ directory. You can then go and hack the code:

When a source file in the branch is changed (and ultimately the coder fixes the bug), we now see an ”Upload Fix” button:

At this point the branch has the fix committed, so the coder clicks the button and then sees this dialog box:

This dialog box asks for the following:

  • The first box is the content that goes into the commit message.
  • The second box is the content that goes into the merge proposal.
  • The third box is optional additional characters for the branch name.

When the user clicks the OK button, the following process occurs:

  • Bazaar commits to the local branch.
  • The branch is pushed to the branch location specified.
  • The branch is added to the bug report.
  • A merge proposal is made.

So, I fleshed this idea out over the last few days and documented it and had a chat with Martin Owens who created Ground Control, and he has committed to finish off the current feature set of Ground Control and creating the Fix a Bug feature in the next two weeks. Martin has volunteered to invest a significant amount of time and effort into solving this problem in Ground Control, and I am going to be working to grow awareness of the project, handle the packaging in Universe, and help to get more people involved in testing and translations. See the Create a Project, Collaborate and Fix a Bug blueprints for this feature. Feel free to subscribe to them to track progress.

For this feature to flourish and for us to rock the socks off opportunistic developers everywhere, we are going to need your help, particularly with testing and where possible bug fixes. Here are the main ways in which you can help:

  • Fixing Bugs – Martin is largely a one man band on this project and he needs help fixing Ground Control Bugs. If you are interesting in helping, see the bug list here and get involved. He will love you and I will hail you. :-)
  • Testing – Testing is critical to this project. We have a tight timeframe on this, so we need you to help. How do you test? Simple, grab the dailly PPA of Ground Control set up by the awesome Nathan Handler, test it and report bugs.
  • Moral Support – Martin Owens is doctormo on Freenode. Ping him and tell him he is awesome. He and I hang out in #ubuntu-community-team: buy him a virtual beer.

So that is the goal. Let’s see if we can rock it and fire up more opportunistic developers.



This entry was posted on Thursday, February 4th, 2010 at 9:46 pm and is filed under Desktop, Opportunistic Developers, Ubuntu. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

22 Comments

We'd love to hear yours!



  1. Visit My Website

    February 4, 2010

    Permalink

    Will Daniels said:

    A really excellent project I think! One of the scariest things for a developer new to the FOSS world is not really knowing the conventions and established workflows for getting involved…at least it was for me, and still is to some degree because I forget things quickly nowadays :D

    It all seems quite simple and logical once you get used to things, so we quickly forget how complicated launchpad looks when you first encounter it, not knowing which packages deal with what, finding which source packages each binary package gets built from etc…even how to make a patch file, so anything that helps integrate, guide and streamline that process is a great step forward IMHO.

    And I’m sure the more experienced contributors will appreciate the little things like not having to remember the bug numbers and having the LP “book-keeping” done all in one shot.

    Always nice to see also when free software projects start playing to their strengths instead of playing catch-up :)

    Nice work, I look forward to trying this out!

    Reply


  2. Visit My Website

    February 4, 2010

    Permalink

    MTecknology said:

    AWESOME! That little tool looks amazing.

    Now we just need to get more developers willing to have a project on Launchpad; whether they develop with it or not.

    Reply


  3. Visit My Website

    February 5, 2010

    Permalink

    Evan Sanders said:

    Great work! This sort of thing is exactly why I keep coming back to Ubuntu. You guys just GET IT.

    Reply


  4. Visit My Website

    February 5, 2010

    Permalink

    Brett said:

    Have you read David Siegel’s post on “fixing a bug”?

    http://davidsiegel.org/improving-bug-workflow-for-opportunistic-programmers/

    Reply


  5. Visit My Website

    February 5, 2010

    Permalink

    MementoMori said:

    I think there still are big problems preventing new people to work on projects.

    When you checkout a new project (maybe you have a little of spare time and desire helping) the first thing you probably think is: “where should I start??”

    I think projects should ship an UML description to help people navigating sources and do better (and quicker) fixes and better (and quicker) implementations…

    Reply


  6. Visit My Website

    February 5, 2010

    Permalink

    Mike Rooney said:

    Very cool indeed! I suspect lowering the barrier to entry along with encouragement for new developers will help a lot more bugs get fixed.

    One thing missing from this workflow that David mentioned is the ability to build and test the fix. It would be cool if there was a button that could spit out a .deb file for your package and allow you to make sure it works as expected.

    Reply


  7. Visit My Website

    February 5, 2010

    Permalink

    bonz said:

    Awesome!

    Reply


  8. Visit My Website

    February 5, 2010

    Permalink

    Jonathan Jesse said:

    Question: Seems that these are a bunch of great tools to further Ubuntu and GNOME development but would great to see tools work just as well under KDE and Kubuntu as well.

    Is it too hard to port over to KDE/Kubuntu? I’m not a programmer so I don’t know the answers to these questions

    Reply


  9. Visit My Website

    February 5, 2010

    Permalink

    DeeJay1 said:

    Yay, someone got i18n working THX! I’ll start translating it right away!

    Reply


  10. Visit My Website

    February 5, 2010

    Permalink

    a-non-e-moose said:

    some cool stuff you’ve got there. And while I know you are a ubuntu guy I really wonder if it’s really such a great idea to make this so ubuntu centric (bazaar, launchpad etc). Developers and people with an urge to scratch their itch use all kind of distros, in fact I always seen ubuntu as more of a ‘users distro’ than a ‘geek hacking C in the middle of the night distro’.

    Reply


  11. Visit My Website

    February 5, 2010

    Permalink

    ulrik said:

    wrong button order in dialogs ;-)

    Reply


  12. Visit My Website

    February 5, 2010

    Permalink

    bruno said:

    Beautiful! That little tool looks amazing. I look forward to trying this out!

    Reply


  13. Visit My Website

    February 5, 2010

    Permalink

    Ross Peoples said:

    This is a terrific idea! I have considered fixing bug myself, but found the process to be overwhelming. This would greatly help people like me that want to help fix bugs but find the bug fixing process scary.

    Also, as a couple of people have mentioned, there needs to be a way to test the fix before submitting it. Once you figure this out, you’ll have an end-to-end solution.

    Nice job!

    Reply


  14. Visit My Website

    February 6, 2010

    Permalink

    seifsallam said:

    wow, thats amazing, but will this project support git and github, or its just for Bazaar and Launchpad

    Reply


  15. Visit My Website

    February 6, 2010

    Permalink

    Jon Nordby said:

    Very nice to see you putting this on the agenda, it’s sorely needed. I’m hoping that this will turn out to be something that many distros/projects can use and not limited to Ubuntu+GNOME+Launchpad.

    Reply


  16. Visit My Website

    February 7, 2010

    Permalink

    Aleks said:

    This has got to be one of the most interesting ideas I’ve ever seen.

    I can’t wait to see it come to fruition!

    Reply


  17. Visit My Website

    February 7, 2010

    Permalink

    Brett said:

    And if anyone wants to see this in action with Ground Control: http://doctormo.wordpress.com/2010/02/06/ground-control-1-3-added-bug-fixing/#comment-5454

    PPA: https://launchpad.net/~doctormo/+archive/groundcontrol

    Reply


  18. Visit My Website

    February 9, 2010

    Permalink

    Jonathan Lange said:

    Man, this is something that the Launchpad team have been thinking about since September.

    I’m very glad that you & doctormo have done something about it and that Launchpad actually makes it possible for this stuff to happen.

    Your people should talk to my people. :)

    Reply


  19. Visit My Website

    February 10, 2010

    Permalink

    binarylooks said:

    The whole “I don’t want this for kde” thing makes me sad. I feel less and less part of the ubuntu community. Please do something about this Jono, you are currently losing people and creating a lot of frustration. Maybe a small clarification post for us kubuntu guys?

    Reply


  20. Visit My Website

    February 14, 2010

    Permalink

    Jon said:

    Wow, this has inspired me to get 9.10 on my machine. I’ve been looking for an easy way to start contributing and I think this just might spur me on.

    Reply


  21. Visit My Website

    March 4, 2010

    Permalink

    Robert Collins said:

    Does look nice.

    Reply


Leave a Reply


Here's your chance to speak.

Click here to cancel reply.

  1. Name (required)

    Mail (required)

    Website

    Message

  • Ad Ad Ad Ad
  • Prepare For Awesome

  • Recent Articles

    • Rest Well, My Friend
    • Incredible Stories Of Free Software and Open Source
    • On Zareason
    • This Friday: Rockridge Ubuntu Global Jam In Berkeley
    • Rocking The Application Indicators
    • Articulating IRC Contributions Concisely
    • Revisiting Ethos
    • Getting More Developers Interested In Participating In Ubuntu
    • 11.04 Ubuntu Developer Summit Announced
    • Help Colin Get His Kids Back
  • Recent Comments

    • Gerv on On Zareason
    • Deborah Lang on Facebook Account Disabled
    • duanedesign on Rest Well, My Friend
    • YADev on Application Indicators In Python
    • Navneeth on Incredible Stories Of Free Software and Open Source
    • Christoffer Holmstedt on Getting More Developers Interested In Participating In Ubuntu
    • Tachyon Feathertail on Getting More Developers Interested In Participating In Ubuntu
    • Neil Wilson on Getting More Developers Interested In Participating In Ubuntu
    • flipefr on Getting More Developers Interested In Participating In Ubuntu
    • Christoffer on Getting More Developers Interested In Participating In Ubuntu
  • Flickr Photos

  •  

    February 2010
    M T W T F S S
    « Jan   Mar »
    1234567
    891011121314
    15161718192021
    22232425262728
  • jb@h Rockstars This Year

    • ethana2 (34)
    • Zac (18)
    • nixternal (17)
    • Tachyon Feathertail (15)
    • James Duncan (13)
    • Mackenzie (13)
    • Tom (12)
    • Bruno Girin (11)
    • Jimbo (11)
    • Adam Williamson (10)
© 2008 jonobacon@home - At home with Jono Bacon, Community Manager and Author