Bugs are Not Issues

This is the lighting talk I would have tried to fit into 5 minutes at UDS; but because I’ll be going to the Libre Graphics Meeting in Montreal instead; I thought it better to post the talk on my blog and get you all interested in the subject.

We’re after the release of Ubuntu 11.04. What to think about the many, many bugs we’ve fixed…

Bugs are breaks in the intended function of the software.

Bug reports are little packets of information for developers, they help point out where their software is broken.

Bug discussions are comments after the report which contain a dialogue between the developers trying to fix the issue and the people who can test it and provide more information.

So what do you do if you have a problem, but you’re not sure if it’s a bug? Perhaps the system was always intended to work like that?

What we need in these instance are Issue Reports, these are little packets of information which describe in user context what the issues the user is having. They can result into either support requests, blueprints or bug reports. they’re a proto-step to many divergent paths for getting stuff done.

How do we deal with issue reports in launchpad? At the moment we mash issue reports into bug reports with special tags. We also spray them into answers, askubuntu, irc, mailing-lists and brainstorm randomly based on what the reporter knows and what the reporter weighs up on the issue.

So how would I see a user centric addition fitting into our existing Launchpad ecosystem? Basically like this:

What are your thoughts? Do you like the ideas and do you think they would improve flow of relevant information?

GroundControl Videos

I have finally managed to get the fabled groundcontrol instructional videos uploaded and linked into the website. For all those who are curious as to exactly what the point of groundcontrol is or didn’t quite know how to use it; I invite you to watch me explain and show how everything works:

http://ground-control.org/videos.html

Your comments are welcome.

Ask Ubuntu Review

I’ve been giving the Ubuntu Stack Exchange some attention and I wanted to do a little bit of a review. Firstly I’d like to thank Jorge Castro and other members of the community team for getting a tool in place to replace the failing launchpad answers functionality.

With that I do want to make a criticism. This site was pushed as a JFDI and as such it doesn’t really take into account the views of the larger ecosystem. What do I mean? well now we have to decide if we want to keep launchpad answers around, how projects/the ubuntu project will specify to go to askubuntu instead and how to transition existing data over, migration of data, who owns it and how access is guaranteed. This is all made harder by the proprietary and out sourced nature that the stack exchange service is being offered to us.

This is mitigated slightly by some help from Robert Cartaino of Stack Exchange who is excited to help us with our functionality and integration issues. It’s just not as ideal as I would like.1

The service it’s self is well thought out, with questions being editable, comments being useful and answers being constructive. The functional stepping stones that you go through as you get more reputation are interesting and beneficial, although missing is the functionality to have reputation per tag and have that shown in your answers to questions.

There isn’t much to the site over all, it’s clever design takes some good elements and mixes them together in just the right way to produce a clever output. It’s useful and seems to be a winner with the community. The ranking, badges and increasing reputation make the system more of a game and use the best elements of addictive research to keep people participating in the volunteer support site.

I did want to list all questions which has never gotten an answer, all I could do was list questions that had never had an answer accepted. Which is not quite the same thing. I also see there is a _lot_ of questions with answers without the answer being picked. Something we may have to do some future house keeping on.

The chat functions are a bit erroneous and should probably be integrated into irc somehow instead. But perhaps it’s just a place to do house cleaning so maybe it just needs putting in a better place than on every page.

So far the culture on AskUbuntu has been very good. I haven’t seen rudeness or condescension anywhere and people have been polite and helpful throughout even with really hard problems of hardware issues where a number of back and forths are required to sort them out.

Overall I think I’m happy with the Ask Ubuntu site. It’s too late to now back up and move to the FOSS solution so we’re stuck with what we got. But if we must be stuck using a proprietary system, at least let that system not suck. Which this one doesn’t at all.

1 Canonical tends to have a bit of a blind spot for making sure community and development tools are FOSS. Take Launchpad’s extended exile for instance. It’s all rather reminiscent of BitKeeper and the price we pay for not learning from that mistake.

Ground Control Ogg Videos

Hey guys, I’ve added a new video to the ground control website and I’ve decided to show ogg video using the html5 tag, what do you think:

Introduction Video

I designed how it lays out on the page in css and the X in the corner to close it. I could have shown a flv (flash video) since I uploaded it to blip.tv, but I can link to the ogv file.

The video choices work via Server Side Includes, nothing complex. But logical.

What are your thoughts on the video I did with my wife? Some say it’s a bit too long but I’m inviting everyone to submit their ground control videos, show me what you do with ground control and how it helps you get involved.

Use gtk-RecordMyDesktop and post here your results.

Ground Control 1.6 and Website

Hey everyone,

I’m pleased to announce the release of Ground Control 1.6, these feature features minor improvements and fixes but the main change is fixing the launchpad openid problem that stopped all new users of ground control from enjoying the integration.

I’m also pleased to announce the new ground control website which was very kindly designed by Brett Alton and produced by myself for this release. You can get the new version 1.6 from the download link on the website and please do use the Latest / PPA as the version in Lucid is 1.5 and still suffers from the launchpad openid login bug.

Any thoughts and comments please post them here, but any bugs please post them to the launchpad bug tracker.

Ground Control 1.5 – Custom Scripts and Bug Fixes

Dear opportunistic developer community, I’m proud to release version 1.5 of ground control. This new release features a lot of stabilisation and bug fixing. We’re now much more careful about showing buttons when your not online, so don’t be surprised if you don’t see any buttons and your not connected to the internet. Only some buttons are offline use.

Some of you may also not see any buttons because we had to remove the use of XDG_PROJECTS and now we need a .groundcontrol file to exist in any directory you want to see project buttons. Don’t blame us, Debian maintainers have been really harsh to the functionality of ground control and it’s basically because we do odd things to make it easier.

But also some extra features such as the custom buttons that project maintainers can opt into. If you look at the screen-shot on the right, you’ll see that the ground control branch has two new buttons that are unique to the ground control trunk branch and you won’t see them in any other project code base. They are in italic and say “Test This Branch” and “Make Release”, these two buttons are actually scripts which help developers build and release the code base and each code base is going to be different.

If you would like your project to be able to take advantage of these buttons you simply create a .gcfunctions file in the root of your code/branch and fill it with yaml content like the example below, make sure that the scripts you reference are functional and do what you need to. I’d also advise not having more than a few buttons at any given time.

Format of file .gcfunctions:
button_id:
  name: Button Text
  command: ./scripts/to/run.sh
  show-in: [any|code-locked,code-modified,code-modified,code-commited,code-mergereq,code-uploaded,code-none,code-checkout]
  offline: [False|True] (shows button if offline if True)

Example:
make_release:
  name: Make Release
  command: ./scripts/build/make_release.sh
  show-in: code-none
  offline: False
develop:
  name: Test This Branch
  command: ./scripts/build/set_develop.sh
  show-in: any
  offline: True

I hope you enjoy this release and I can be more certain now that more people will be able to enjoy it without problems. But if you do find yourself experiencing bugs, do hop over to the launchpad bugs report area and write down your issues. Be sure to include logs (create a ~/groundcontrol.log file in your home folder to contain the logs) and give all the steps you used to reproduce the problems.

Ground Control 1.4 – Coloured Diffs a Merging In

Hey everyone! I’m proud to release version 1.4 of ground control into the wild.

You can download the version 1.4 at my PPA or keep up with the daily builds of the ground control trunk (which may not always work)

So to the features in this release… We have exclent news for people like Benjamin of the ubuntu manual project, who wanted the ability to download a branch that’s owned by a group your a member of. It also should allow you to manage your project when your to primary developer.

We have the ability to merge in requests when you are the primary developer, this is marked by your branch directory having the same parent url as it’s push location. This merge request will show a list of branches with merge requests outstanding, so you don’t have to dog through and remember which branches have merge requests.

We also have a wonderful commit diff that you can see in the screenshot, what I’m done is I’ve reused the wonderful work done by the bzr-gtk developers and simply created one of their diffing windows inside of the commit window instead of making my own. This saved an aweful lot of development time, working out how to colour it in using your gedit preferences.

There are also a large number of other fixes which should help. but the majority of this release is for project managers and project owners to deal with the larger number of requests coming in thanks to ground control.

Do test and do let me know what you think, I enjoy hearing when people are using it and finding it useful.

Ground Control 1.2 – Merge, Pull and Ignore

For all those who reported that terrible missing branding bug that stopped you getting the code of your favourite projects, the new release of ground control should fix that. It’s also got a whole bunch of other fixes and improvements, including the ability to ignore new files in commits and merge/pull from the parent branch.

For all those that missed my demonstration blog entry, Ground Control is a desktop integration for your launchpad projects. It allows you to collaborate on bazaar branches if an effective and easy to follow way by removing or making smart most of the difficulties that stop contributors on the command line.

Do go check out the demonstration of version 1.0, it’s still got the core concepts and then you can download it via my ppa and enjoy checking out project code from nautilus.

Update: There was a configuration bug that’s now fixed, please try again if your attempt to use it got stuck ont he launchpad configuration.

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.