0

Project aliases

Published by Matthew Revell February 12, 2009 in General

It’s not unusual for a project to be known by more than one name. Y’know, like Superman and Clark Kent. Or maybe something a bit more subtle, such as PostgreSQL/Postgres.

You can help people find your project in Launchpad, whatever name they know it by, thanks to project aliases.

Give it a whirl:

To request an alias for your project in Launchpad, ask us using Launchpad Answers. If the alias you’re requesting isn’t well-known, we’re more likely to give it to you if you let us know the background.


1

Triage in the Launchpad suite

Published by Curtis Hovey February 10, 2009 in Bug Tracking

We in the Launchpad team are changing the way that we triage bugs reported against the Launchpad suite of applications.

The Wishlist importance will no longer be used. Clearly the term is not about importance. It would be nice to convert bugs into blueprints, but the two applications need to achieve feature parity before that can happen. Bugs that describe new behaviours will be tagged as a “feature”. This means that closing the bug requires more than adding missing test coverage and fixing bad logic — the feature needs specification too.

There is a distinction between the Confirmed and Triaged bug status, namely that any user can confirm a bug, but only a project member can state the bug is in the application’s code. Many bugs in the Launchpad suite of applications are implicitly in the Triaged state because the Launchpad team members have set the importance.

Changes to current bugs:

We want to clarify the meaning of Critical, High, Medium, and Low by expressing their definition in practical terms. Some teams do not think Medium is distinguished from Low, so will not use it. The teams that do use Medium importance will use it to create a pool of bugs for release planning — the bugs may be escalated to High or targeted to a release without a commitment to complete them.

Critical
The bug dramatically impairs users. Users may lose their data. Users cannot complete crucial tasks. The feature is needed to encourage adoption or prevent abandonment of the project.
Synonyms: essential; now, stop everything else; must do
The work is immediately assigned to a engineer. It is his top priority to fix. Team members help the engineer to plan and do the work. The work is released as soon as it is deployable; in the case of a bug, it is released outside of the release schedule.
High
The bug prevents users from completing their tasks. The feature provides new kinds of tasks or new ways of completing tasks.
Synonyms: expected; important; now; can do; should do
The work is assigned to a engineer to be completed in the next 3 releases. The engineer may choose to do other work if he believes it is within the scope of the high priority work.
Medium
The bug is an inconvenience for many users. The feature provides new ways of completing tasks.
Synonyms: preferred; someday; last; try; want to do
The work is not scheduled, though it is intended to be completed. When the work is assigned, it may also be scheduled, but there is no commitment to complete it for the stated release. The engineer may choose to postpone the work in favour of more important work.
Low
The bug is an inconvenience to users, but it does not prevent them from completing their tasks. The feature is a convenience to users.
Synonyms: optional; someday; last; may do
The engineer may assign the work to himself while working on high priority work because the high work provides an opportunity to complete the low priority work at less cost. If the low work in any way jeopardises the high priority work, the low work is unassigned. The engineer is thus certain that the work can be fixed quickly and without difficulty. A corollary to this rule is that low work that is assigned to a engineer must be “in progress” or “fixed” states.

You can read A Practical Guide to Launchpad Bug Triage to learn more about the reasons for these changes.


5

Simplifying dput.cf for multiple PPAs

Published by Cody Somerville February 9, 2009 in PPA

If you’ve ever contributed to a Debian-based distribution or used the neat Launchpad PPA services then you’ve probably used dput before. We use dput to upload packages to a Debian repository such as the Debian Archive, Ubuntu Archive, or personal archives such as a Personal Package Archive on Launchpad. Getting the hard work you’ve done to the archive for the whole world to enjoy is an important part of a packager’s work flow and should be easy as possible. This is probably why dput is so popular – it does its job and stays out of the way.

However, recently while adding support to dput for uploading packages via sftp, I realized that one’s dput configuration file can get rather lengthy and messy. Being the Lazy Engineer (TM) that I am, I decided to fix this problem. What I noticed was that you needed to configure an upload target (aka host) for each PPA you might want to upload to but all the configuration stanzas for PPAs were exactly the same except for a part of the path. In fact, it seemed like a number of the stanzas for other archives in my dput configuration file were the same except for the same spot. Wouldn’t it be nice if I could just have a single configuration stanzas for these cases and only need to supply an argument for dput to automagically do the right thing? I thought so which is why I’ve added a new feature to dput that allows you to have an upload target “template” where you can pass a single argument to the target specified that will be used to fill in the missing pieces.

So, instead of having a .dput.cf file in your home directory that looks like the following:


[my-ppa]
fqdn = upload.launchpad.net
method = ftp
incoming = ~cody-somerville/ppa/ubuntu
login = anonymous

[xubuntu-ppa]
fqdn = upload.launchpad.net
method = ftp
incoming = ~xubuntu-dev/ppa/ubuntu
login = anonymous

….

I can simply have the following:


[ppa]
fqdn = upload.launchpad.net
method = ftp
incoming = ~%(ppa)s/ubuntu
login = anonymous

To upload to my PPA now, I’d type: dput ppa:cody-somerville/ppa <changesfile>

To upload to the Xubuntu Developers’ ppa, I’d type: dput ppa:xubuntu-dev/ppa <changesfile>

Once Launchpad supports multiple PPAs per user or team, simply replace “ppa” with
the name of the PPA. If you’re lazy, you can modify your .dput.cf to have the
ppa part automatically entered for you until then.

Anyhow, I hope you enjoy. Cheers!


1

PPA page performance improvements

Published by Julian Edwards in Cool new stuff, Launchpad Performance Week, PPA

Last week was the first of some Launchpad Performance Weeks that we’re embarking upon. The Soyuz team worked hard on improving the performance of the PPA page, which had a tendency to be very slow or even time out on PPAs that have a lot of binaries published.

The more observant of you will have noticed that the PPA page on edge is now using asynchronous requests to fetch both the “Repository disk usage” section, and the package information section that is expanded when you click on the triangle at the left of each source package row. This means that the initial page load time is a lot quicker! There’s still some more speed we can get out of the page by reducing the query load that it places on the database server, and we’ll deliver that change soon.

We also fixed a smaller snafu — as part of the webservice work that we’re doing, we managed to accidentally enable a URL that let you view the main Ubuntu repository as if it were a PPA page. These links nearly always timed out because of the size of the Ubuntu archive, so that URL will now redirect to the /ubuntu page on Launchpad instead.

Also in the pipeline is a major overhaul of the PPA page. Watch out for that soon!


0

Drizzle is people

Published by Matthew Revell February 6, 2009 in Projects

Interesting post from Jay Pipes, one of developers working on the Drizzle project:

“To paraphrase the late Charlton Heston: ‘[Drizzle] is people!’

“Recently, I’ve seen the fruit that transparent, open source development bears. This fruit takes the form of engaged, motivated, and humble individuals who wish to make their mark on a project.

“Whether it’s on IRC on #drizzle, the drizzle-discuss mailing list (now with 354 active members), or via the platform which Launchpad.net provides our community, I’ve seen new developers scrambling to pick up blueprint tasks, tackle bugs (minor and major), and stamp their footprint on the code base.

“With each new face comes an entirely new perspective, a new angle, a different set of skills and experience. And I’m taking the time to chat and learn with each of them. It’s a humbling experience for me, as I learn from each person who visits the ever-growing IRC channel and mailing list. It doesn’t matter if it’s the sage advice of folks like MySQL’s Mats Kindahl, Bernt Johnsen and Roy Lyseng, or database veteran Jim Starkey. It doesn’t matter if the new face is a college student wishing to help in any small way they can. Everyone makes a difference in their own way.”


4

Spring RTS available via PPA

Published by Matthew Revell in Projects

Spring is a free software real-time strategy game engine that’s available for Ubuntu via the Spring Team’s PPA.

From the Spring About page, it features:

  • Large battles limited only by the power of your computer; support for up to 5000 units.
  • Large, highly detailed maps in which to wage those battles, fully 3D with deformable terrain, forest fires, dynamic and reflective water, and custom skyboxes.
  • Several camera modes, allowing for anything to be viewed from almost any angle.
  • Fully 3D combat in land, sea, and air, with realistic weapon trajectories (physics engine).
  • Many different Games, made just for Spring.
  • Complex 3rd party AIs, some of which are quite good.
  • An extremely powerful GUI, designed to minimize unnecessary micromanagement.
  • Frequent additions and bugfixes.

There’s more on Spring’s website.


2

Introducing Launchpad performance weeks

Published by Matthew Revell February 3, 2009 in Launchpad Performance Week

Over the next few months we’re turning our attention to making Launchpad sing; not so much Edith Piaf, more the note struck by a perfectly tuned Ferrari.

This month — actually, this week — and again in April and June, we’re holding Launchpad Performance Week (LPW)!

LPW is all about tackling those pages in Launchpad that keep us waiting.

As you’d expect, performance is something we’re working on all the time but we’re approaching Launchpad Performance Week slightly differently. You know how the longer you play Tetris the faster the blocks fall? Well, we’re kinda doing the same thing with LPW. Each month we’re going to tighten our definition of “slow” so that we bring more and more pages onto our radar and then fix them!

Soft and hard timeouts

First off, we need to look at how Launchpad handles timeouts. Let me turn to Ursula in the Launchpad QA team.

“In Launchpad we have two types of timeout: soft and hard. Both help us to measure Launchpad page performance, and also to set limits of how long a page could take to load. Hard timeouts occur when a page takes more than this pre-defined limit to load. When it happens, Launchpad aborts the load and generates an error report, which we call an OOPS, showing the user an error page with the OOPS ID on it.

“On the other side, a soft timeout is more a warning for the Launchpad team rather than an error itself. When Launchpad successfully loads a page, it measures how long it took to load and checks if the soft timeout limit was exceeded. If so, Launchpad generates an OOPS report and lets the Launchpad team know that that page may be a potential problem.

“This month we’ve reduced both timeout limits on edge by five seconds. That means we’ll see more timeouts on edge, so we’ll become aware of more slow pages and be able to optimize them.

“Next time we do a Launchpad Performance Week, we’ll decrease the timeout limits even more, meaning more slow pages are exposed and we can keep working to make them faster, aiming to improve the whole Launchpad experience.”

What you’ll notice

So, each time we reduce the timeout limits more pages will hit the timeout limits on edge. We’ll fix those during the Launchpad Performance Week so that they come within the new soft timeout limit.

However, there is a chance that one or two pages may hit our hard timeout limit on edge and so fail to load. If you’re in the Launchpad beta testers team — or like to use Launchpad’s edge environment for any other reason — you may want to switch to using production Launchpad during that time.

If any pages do hit the hard timeout limit — and that would only happen on edge — then we’ll aim to get them fixed within 24 hours.

Either way, the main changes you’re likely to see are speed improvements and, possibly, small changes in the way that those pages work. We’ll always aim to maintain the same level of functionality in a page but we may find creative ways of making the page more responsive, such as loading some of the data asynchronously.

When we’re doing it

The first Launchpad Performance Week is now. You can expect to see updates on this blog and also a round-up of what we achieved sometime next week.

We’re planning the next LPW for the week starting 6th April, with another starting June 1st. Although we may move that depending on how this week affects people.


1

Launchpod 16: talking about Launchpad 2.2.1

Published by Matthew Revell February 2, 2009 in Podcast

Launchpod: the Launchpad team podcast!

Host: Matthew Revell.
Theme: Obscurity by Barry Warsaw.

The Launchpad team released Launchpad 2.2.1 last week. Here’s a closer look at what’s new.

Download ogg vorbis file.

Podcast feed.


0

Launchpad 2.2.1: signed PPAs and easier translation exports for upstream projects

Published by Matthew Revell January 29, 2009 in Releases

The Launchpad team are proud to announce Launchpad 2.2.1, our first release of 2009!

In 2.2.1 we’ve introduced:

Read on for details of what’s new!

Signed PPAs

If you’ve recently installed software from a Personal Package Archive, your package manager may have told you it doesn’t recognise the PPA’s public key.

That’s because we’ve added a key to each PPA in Launchpad, allowing you to verify you’re downloading from the archive you expect.

Our screencast shows how to add a PPA’s key to your system.

Help new translators find their way

The ease with which newcomers can make translations is one of the reasons many projects choose Launchpad.

If you’re in a translation team, you can help new translators pick up the style and rules of the project(s) you’re working on by linking to your translation style guide directly from the relevant translation pages.

Take a look at our blog post for details.

Upstream projects: easily integrate translations made in Launchpad

Thousands of people use Launchpad to help translate Ubuntu. Many projects whose software is in Ubuntu also have their own translation efforts outside Launchpad.

In the past, translations made in Launchpad weren’t always easy for upstream projects to integrate back into their own translations.

We’ve added a new translation export option that provides only those strings that have changed since we last imported the project’s own translations. This should make it much easier for projects to take and use translations made in Launchpad.

See our help page for more.

Full details of 2.2.1

To get the full details of the Launchpad 2.2.11 release, visit its milestone page.

If you come across a bug, please report it!


2

Translations style guides

Published by Administrator January 28, 2009 in Cool new stuff, Translations

Finding the right balance between open access and quality control is an ongoing challenge both for translations groups and the Launchpad Translations developers.

Launchpad already gives projects the flexibility to choose what level of openness versus control that they want for their projects, through different permissions policies. While that allows you to decide who can translate and who should review new translations, until now it hasn’t been particularly easy to introduce new and drive-by translators to your way of doing things.

Now, if you’re in a translation team, you can set a link to an externally hosted translations style guide. Simply go to the translations tab of your team’s page to set the link.

Once set, a link to your style guide will appear on each translation page for which your team is responsible, meaning you have a greater chance of getting suitable strings from new translators.


Previous Entries
Next Entries