Archive for the ‘General’ Category

Continuous deployment in Launchpad

Tuesday, October 5th, 2010

It currently takes an average of two weeks for new changes that have been developed for Launchpad to become live on the Launchpad site.

We’re working on changing this and making the way we deploy Launchpad simpler and more reliable at the same time.

In the first generation of this, we are targeting changes that do not alter the data model, and we’re aiming for a delay of 12-16 hours. Longer term we’ll be aiming for a few hours.

If you are a ‘beta‘ user of Launchpad, this has one primary, and very important change: the ‘edge’ site is going to be removed. We now have a process for validating changes that would previously have been validated on edge using a new staging site. The edge site previously received unvalidated updates and would from time to time have issues as a result. If you are not a ‘beta’ user, then nothing should change for you at all, except that you will notice site changes more often, with no downtime, rather than once a month after downtime.

Sometime in the next few weeks the redirect to ‘edge’ will be removed (it only affected beta users). Instead of a redirect to ‘edge’, the main website will offer you any unreleased functionality, and the ‘disable edge redirect’ link will turn off that functionality for a moderate time period. Following that we will put in place a redirect from ‘edge’ to the normal ‘launchpad.net’ across all of the ‘edge’ servers, and move the servers to the main site server farm.

Everything in Launchpad

Friday, September 17th, 2010

Over the summer, Jono and I have been compiling a list of all the features in Launchpad.

While the help wiki and the heads of various members of the Launchpad team are a pretty good guide to everything that’s in Launchpad, we haven’t had a canonical, comprehensive, list of Launchpad’s features. Obviously having that one page makes it easier to keep track of what’s there and to think about what Launchpad is and what it isn’t.

So, what do we consider to be a feature? Really, it’s anything where someone can interact with Launchpad or where bugs can live. Simple as that.

If you think something’s missing from this list, or needs more explanation, please do go ahead edit the wiki page.

Launchpad’s feature list.

What’s your favourite project in Launchpad?

Tuesday, September 14th, 2010

You’ve probably seen the featured projects list on Launchpad’s home page:

featured-projects

As you can see, there’s a wide variety of projects in that list, and each of them is an excellent example of how Launchpad can help free software projects. However, we’ve had pretty much the same projects in that list for a few months now so perhaps time to give some of the other 19,444 Launchpad projects a slot in the list.

So, it’s over to you: leave a comment here nominating which Launchpad-using project(s) you want to see in the featured projects list. If you have time, let us know why.

Recent posts from Planet Launchpad

Friday, September 10th, 2010

Just a quick look at some of the recent posts to Planet Launchpad:

Assigning bugs to someone else, or not

Thursday, July 29th, 2010

Recently, we changed the way assigning bugs works on Launchpad. It used to be that anyone could assign anyone else to a bug. This was open to abuse as you can imagine. Bug 511269 was filed about the potential problems with this, and we recently changed Launchpad so that only bug supervisors can assign a bug to someone else.

You can still assign a bug to yourself, but this does keep you from assigning someone to a bug to draw their attention to said bug. In the end, this is a good thing, though, as people should only be assigned bugs who are going to be responsible for working on them.

Now there is one issue with this change. Projects that had not established a bug supervisor for the project will find their developers can no longer assign bugs to each other. The easy fix for this is to create a bug supervisor team for your project and have the people working on your bugs assigned to this team. We do realize this might be a bit heavy weight for some projects, so we’ve opened bug 603281 about this issue.  A fix for this — only requiring bug supervisor permissions if bug supervisor is defined — should be appearing on Launchpad soon.

Testing new designs on Launchpad users

Wednesday, July 21st, 2010

Recently, I’ve been working with Charline, from Canonical’s design team, to talk to Launchpad’s users about how Launchpad fits into their work and what they think of new features we’re planning.

You may have seen my requests for participants on identi.ca and Twitter 🙂

In the past, someone working on a new, or improved, feature would mock-up some ideas and post them to our development mailing list. A good discussion would result but often, not always, people who use Launchpad, rather than develop it, wouldn’t see the implementation until it was available in their browsers.

Sometimes, this meant that minor, avoidable, mistakes were made. Other times it meant that somewhat eccentric workflows made it into production and dampened the impact of what was, otherwise, a cool new feature.

Improving bug subscriptions

Graham Binns has been working on some designs for an improved way to subscribe to bug reports in Launchpad. This is something we hear about a lot and also complain about ourselves: currently, Launchpad offers too little control over how much email the bug tracker sends.

We want to get this right and so we decided that this would be one of the first feature improvements that we’d put through our new mock-up testing process.

Bug subscriptions mock-up from round 1

Bug subscriptions mock-up from round 1

Here’s how it worked: Graham sent me his mock-ups and I invited six Launchpad Bugs users to come and tell me what they thought. Each person had an hour, during which I asked them to imagine they were using the mocked-up pages to complete certain tasks. I recorded what they said, while Graham made notes.

This worked better than we could have hoped. Not only did we get to see what worked, what was confusing and what was just plain stupid, we got to hear about how this feature would fit into other people’s lives, giving us an even better idea of how the feature should work.

Based on what the participants said, I wrote a list of recommendations, which Graham used to refine the mock-ups.

Ciemon Dunville during round 1

Ciemon Dunville during round 1

The following week, another set of people came along for round two, in which pretty much the same thing happened except we were using Graham’s new mock-ups.

The interesting thing was that, by and large, these sessions were over much quicker than those of the first round. The points of confusion from the first round had been, mostly, ironed out. We had confirmation that the first round worked and the new designs were much easier to work with.

Of course, the new design is almost certainly not perfect but it’s an awful lot better than it would have been were it not for the simple process of sitting down and asking people what they thought.

You can read the full report of both rounds on the Launchpad dev wiki.

Future testing

This is something we’ll be doing a great deal more of. Right now, I’m looking at ways that we can involve a wider range of Launchpad users (i.e. not just people who happen to be able to make it to Canonical’s London offices during work hours). That could mean working remotely, doing more of this at UDS and other events, or even visiting different places specifically to test a feature or two.

If you’re interested in participating, let me know. If you want to follow the progress of this testing, join our launchpad-dev mailing list.

Launchpad EPIC 2010 photo

Friday, July 16th, 2010

The Launchpad and Bazaar teams have been in Prague this week. More on what we got done in later posts. For now, here’s a photo!

The Launchpad and Bazaar teams in Prague

The Launchpad and Bazaar teams in Prague

Take the Launchpad user survey!

Wednesday, June 23rd, 2010

There are all sorts of different ways in which we in Canonical’s Launchpad team keep in touch with people who use Launchpad: informal conversations on IRC, attending Ubuntu Developer Summits, formal user research and so on.

We want to hear from as many people who use Launchpad as possible. To help get there, I’ve created a survey with five questions. Tell us what you like about Launchpad, what you don’t and what sort of work you do in Launchpad:

Take the Launchpad user survey!

Faster pages

Friday, June 11th, 2010

I am happy to report that caching rules I put in place on many pages last week are effective. I did not want to announce that pages were faster until I could see read a week of oops reports to verify that the slow pages owned by the Launchpad registry team were no longer listed as problems. I am honestly surprised that all the slow pages I changes are not listed. I expected to make a reduction in timeouts between 50% and 80%. This looks like a 100% success. I know it is not 100%, but I think this means that milestone, series, and project pages load quicker and you are seeing fewer timeouts.

Launchpad pages now have access to memcached to store fragments of pages. Parts of pages that are costly to generate are cached for minutes or hours depending on how often the data can change. In the case of distro series pages, architecture data changes every few months so the cache rules are 6 hours. Milestone pages were a challenge to cache. Active milestones cache bugs for 10 minutes, Inactive milestones cache for 3 hours. The milestone summary of statuses and assignments cache for 1 hour. If you do not know this, you may suspect there is a bug in launchpad, or wonder if you did not update a bug as you thought. We need a mechanism to expire change when data is changed.

We are now adding cache rules to other pages to improve page load times.

Launchpad Montreal meet-up

Tuesday, May 25th, 2010

Come and meet some of the Launchpad team next week in Montreal!

From around 7.30pm on Wednesday the 2nd of June, we’re going to be at RĂ©servoir (map), which is at:

9 DuLuth Est.
Montréal
H2T 3L4

I’ll be there, along with Launchpad team leader Francis Lacoste, Launchpad Strategist Jonathan Lange and Launchpad Ombudsman Karl Fogel. Come join us for a drink and a chat.