Ground Control 1.0 – Demonstration

Hey everyone, I’ve released version 1.0.6 of ground control into my PPA, this is a fairly stable Beta which I hope everyone will give a good testing.

For new users: Ground control is a project that hopes to bring the collaboration of launchpad and bazaar branches to every day users abilities. It does away with the need for a command line and has removed a lot of the complex distractions leaving a simplified workflow for users to follow. It uses all the existing libraries and practices of the community, so if you need to move back to the command line you can continue were you left off.

It’s also flexible enough to allow you to manage your existing bazaar checkouts via nautilus. If your want to.

To show you what it can do I have done a video (you have to click into my blog article to see it):

[blip.tv ?posts_id=3161227&dest=-1]

What I need now is more testing and perhaps a design review to make it easier to use. Let me know your ideas, thoughts and if you think this will be useful for getting course writers into the Ubuntu Learning project, comment below and bug reports here.

If you do have a problem and it crashes at some point, do create an empty file in your home directory called groundcontrol.log this will quickly fill up with a useful log of what’s going on and you can attach it to the bug report.

Update: I’ve made sure it’s available for both Karmic and Lucid releases.

Tags: , , , , , , , , , , ,

No Responses to “Ground Control 1.0 – Demonstration”

  1. Jono Bacon says:

    Martin,

    This is absolutely stunning, I am incredibly impressed! This is *exactly* the kind of thing we need to break down the barriers for development. This, combined with Quickly, Acire and Python-Snippets is *really* lowering the bar for awesome development. :-)

    Great work!!

    Jono

  2. Installed it from the PPA and gave it a spin. Great work! :)

  3. rickspencer3 says:

    OMG, can’t wait to try this!

  4. Yay Ground Control!

  5. ethana2 says:

    Fantastic! :D

  6. Shane Fagan says:

    I tried it and it crashed getting my details from launchpad :/

  7. Martin Owens says:

    Could you try and create an empty file in your home directory called groundcontrol.log this will quickly fill up with a useful log of what’s going on and you can attach it to a bug report in launchpad?

  8. Shane Fagan says:

    Sure but looking at the log it looks like its on launchpads end. Ill create a bug report

  9. Great post & summary, easy to translate! I’ll circulate this down south ;)

  10. Awesome! This is great for people on slower connections as well!

  11. Dan says:

    Wow. I love it. Just sent this out to our LoCo in Florida. Jono is right, this is really going to lower the bar for making contributions. Great work. Great work.

  12. Fabian Rodriguez says:

    Now we only need an extra box somehwere in there “Sign the code of conduct” :)

  13. Brandon Tomlinson says:

    Works great!

    Is there a way to change the default directory?
    ex: I use Documents/workspace for all my code stuffs.

  14. Dylan McCall says:

    This is really nice! I like the use of Nautilus’ notification bars to present an interface. I haven’t seen such a rich extension before (and it’s nice!), although I do worry a little about the flexibility of the approach, from a technical perspective. Is it possible to have more than a single button (maybe a menu) if need be?

    Ah well, maybe this kind of thing will encourage the Nautilus developers to focus completely on the extension interface for Gnome 3 :b

  15. Arky says:

    That’s really cool! Kudos

  16. Martin Owens says:

    It is! all you have to do is add an XDG_PROJECTS_DIR entry to your ~/.config/user-dirs configuration (right next to your existing ones for desktop and movies)

    Put in the directory you want.

  17. Andrew says:

    This is awesome man! I love the simplicity of it and you should be very pleased :-)

    One thing to note in a design review is not to use the notification bar too much (i.e. when there is nothing to do, hide it)

  18. Mind=blown!

    I have one question, though—is this compatible with having other stuff in my XDG_PROJECTS_DIR? For example, I have some schoolwork bound to an sftp location on a personal server. Will Ground Control leave it alone, or try to do funky things to it?

  19. Martin,

    Great work! I think this is a great application that will help shorten the learning curve to developing in Launchpad. It really is great to have tools like this, Quickly, and others that are helping everyone get into development and contributing.

    I’d like to make a comment about authentication though. The reason OAuth relies on the browser is because the browser is a client the user already trusts. So I wanted to see why you decided to request credentials from within Groundcontrol instead of relying on the browser.

    Thanks again, and I look forward to progress with Groundcontrol!

  20. jfanaian says:

    I apologize for not thinking about this when I posted my last comment, but part of your project is practically a Bazaar client for Nautilus. Have you considered branching that part of the code? It would be great for the Bazaar community to have a tool such as this that isn’t completely tied to Launchpad!

  21. mpt says:

    This is a brilliant idea and well-executed. There’s plenty of room for polish, but it’s a great start. Well done!

  22. Dinda says:

    Nice! so glad to see my whinging paid off! keep up the good work!

  23. Martin Owens says:

    It’s certainly possible to rip out the launchpad parts, it wouldn’t effect the rest so long as you could set sensible push locations.

  24. Martin Owens says:

    Web browsers aren’t trust worthy, it isn’t the browser’s code it’s self, but it’s what they’re capable of running and showing a user (i.e. anything). So long as it’s my reputation on the line for the correct handling and non-storage of passwords, it reduces risk and improves the workflow of the program.

    Of course if you have installed something from an untrustworthy source, then you’ve basically lost anyway, they’ve already had opertunity to run as root from the deb post inst and could easily escalate through social engineering.

  25. Martin Owens says:

    It sure is, it shouldn’t mess up anything else, it doesn’t take ownership, it just provides contextual functionality.

  26. mistrynitesh says:

    Looking at the demo video, it is obvious that it has a nautilus interface. Any scope for it being able to work on Kubuntu? May be a dolphin or konqueror interface?

    Does it work on Jaunty?

    One more question…
    Does it also have tools to update the local branches from repo, view the diff/status info, etc. that is usually done with bzr?
    Won’t spam the comments anymore :)

  27. Martin Owens says:

    1. It’s possible, but a kde developer would have to get involved. There are some logical parts which are gtk specific, but with time it could be made more generic.

    2. I don’t know, try it and tell me.

    3. It will eventually.

  28. Rick McBride says:

    Great stuff, Martin!

    I look forward to playing with this today.

  29. [...] good news, I just pushed up version 1.1.0 of ground control with lots of bug fixes and some of the simpler feature requests. We’re still looking for [...]

  30. I am impressed. With this bzr goes from “that annoying terminal thing I have to relearn every time I do some work” to “natural part of my worklfow”

  31. Seif Sallam says:

    This is amazing, but it would be very very very helpful if developers can create projects from here, not only use already created project.

  32. [...] Well, very recently my friend and yours Martin ‘doctormo’ Owens has released his Ground Control project which provides a graphical interface to the whole process by building it into the file [...]

  33. Bruno Girin says:

    Great tool, thanks! Just in case, you need more ideas for extra features, what about integrating this with quickly so that you can create a new project based on a quickly template and then share it on Launchpad in your own PPA? That would be one more way to link the dots for opportunistic programmers as Jono mentions in his blog post here: http://www.jonobacon.org/2010/01/30/connecting-the-opportunistic-dots/

  34. Vadim P. says:

    Amazing!

    I really hope this receives great support and becomes the default way of managing launchpad and bzr.

  35. Calvin W says:

    Very nice work here. Pretty solid code you’ve written, there are only a few bugs regarding window rendering, as can be seen in the video. I haven’t been able to find any others. :)

    As said above, maybe the notifications could be scaled down a little?

  36. Mike Waters says:

    Will this code work on a non-debian-based Gnome distro (Fedora, for example)?

  37. Martin Owens says:

    I can’t see why not, I’ve got the debian packaging separated out because I fully expect there to be other distributions that will want me to include packages for them. If there is some kind fedora person who can make an rpm package and use what ever the fedora equiv of the PPA is, I’d be happy to have the branch in the project.

    But as I’ve learned before, it’s not possible for Ubuntu to build rpms without serious amounts of messing about.

  38. bruno says:

    Hey Martin, this is amazing! Wonderful job.

  39. [...] all those that missed my demonstration blog entry, Ground Control is a desktop integration for your launchpad projects. It allows you to collaborate [...]

  40. Cb.Martin says:

    I just wanted to say thanks creating this superb project DrMo now maybe I’ll be able to collaborate finally.

  41. One word: brilliant.

  42. Mike says:

    Contributing to some projects is really too hard.

    Especially if you can’t run a program without installing, it already sucks big time.

    I hope you can achieve your goals, and many desktop apps will be made available via GC.

  43. Massimo Mund says:

    Really great work!

    This could really change the way software gets developed.
    Should be a sponsored project :D

  44. Aldo says:

    Martin, I’m using Ground Control 1.2.2 but encountered these strange behaviors:

    1. I was able to download a first project of mine for testing purposes, made a change but I was unable to make the commit;
    2. I downloaded a second project (not of mine) and GC made the project folder inside the first project (not in the root of “Project” folder, as expected);
    3. I deleted the folder of the first project (including the subfolder of the second one) and tried to grab another: it was impossible to download this third project and any other.

    Could be something strange in my configuration?

    Anyway, wonderful idea that makes Launchpad simply to use.

  45. Martin Owens says:

    Hey there!

    Thanks for giving it a try.

    Could you report this in a bug report on launchpad? That’ll make it easier to track.

    Also if you could generate a log file by creating a `groundcontrol.log` in your home folder and then running the problem through again.

  46. Francis Smit says:

    cannot get ground control will not install on lucid here’s the message:

    username@host:~$ sudo apt-get install groundcontrol
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    groundcontrol: Depends: python-lazr-restfulclient but it is not installable
    Depends: python-lazr-uri but it is not installable
    E: Broken packages

  47. Killer application! I’ll suggest to use it to all the new contributors in Getting things GNOME. Kudos to you.

  48. [...] Control 1.3 – Added Bug Fixing Yes, we got a great set of features in this release of ground control, as well as the regular set of fixes for problems that seemed to crop in last time. Thanks to [...]

  49. timmie says:

    Hi,
    the video looks great. I gonna try this.

    What about expanding this to include:
    * bzr-svn, bzr-git, bzr-hg to be abple to work with upstream?
    * try to hook it aslo to Trac hosted Projects?

    Best regards,
    Timmie