GuidedProjectRegistration

Not logged in - Log In / Register

Revision 2 as of 2009-01-15 22:32:49

Clear message

Guided Product Registration

Guided product registration describes tasks and stories aiming to streamline and assist in the process of registering new projects. This includes easily creating various related artifacts such as teams and mailing lists, and in improving the discoverability of relationships between these artifacts.

When discussing guided product registration, we're really targeting two types of users. Guided registration targets novice Launchpad users who may not be aware of all the options open to them, and may not have a clear understanding of the data model and artifacts that can make their use of Launchpad for project management more efficient. For these users, we will guide them through the registration process, likely making assumptions and using defaults in order to give them a common, easy-to-understand project structure. Such users will of course be able to later customize and tailor these artifacts as they become more aware of what Launchpad can provide them.

Expedited registration targets experienced Launchpad users who have a fairly good understanding of the kinds of things they want for their project, and just want a streamlined workflow for creating these artifacts. This process should aim to reduce the click count for creating projects, while allowing for inline selection of additional detail through JavaScript reveals.

Guided

Expedited

  Users: <project>-users    [X] include ml [X] Link: [contact-address]
  Devs:  <project>-dev      [X] include ml [X] Link: [bug-contact]
  Ann:   <project>-announce [X] include ml [X] Link: [news]
  Bug:   <project>-bugs     [X] include ml [X] Link: [bug-contact]
  Code:  <project>-commits  [X] include ml [X] Link: [commits]
  Other: <project>-_______  [X] include ml [X] Link: []

JavaScript

For all the u/i proposals here, it is assumed that the user will be using a JavaScript enabled browser. Everything described here can already be accomplished through the normal project and team creation workflows, so there's almost no new functionality here. What is new is the way these options are presented to the user. To take maximum advantage of the possibilities, we'll be using JavaScript extensively. A non-JavaScript user will be able to accomplish everything in this proposal, albeit less conveniently (well, in exactly the same way they can currently do it).

Data model

As mentioned above, for the most part we do not need to change the data model to accomplish these goals. There is one thing however that we should do as part of this spec that will (IMO) greatly improve the usability of Launchpad.

We will provide for optional links between teams and projects.

How often have you gone to a project page and wondered what teams exist that relate to this project? When you're looking for a way to participate, you naturally want to find the related teams and mailing lists, but this is currently fairly difficult. If the teams share a name with the project, you might get a lucky guess. Or your search might turn up something useful. Or you might be able to follow the windy trail from project owner to the teams they're members of. Ultimately though, because these relationships are not explicit, this is all left to luck, chance, and The Googles.

Wouldn't it be nice if a project owner could (optionally) link specific teams with the project? Then on the project page you would see an explicit list of related teams. Similarly, from the team page, you would see a link to the related project. This makes these relationships (which already exist implicitly) explicit and easily discovered. As a new user looking to participate in the project, there's much less guesswork in finding the channels for this participation.

Therefore, it is proposed that we create a foreign key link from team (really Person) to project (sorta really Product). This is a database schema change.

Open questions:

Stories

Here then are some stories exploring the various tasks and breakdown of work to implement the above vision.

As a team owner, I would like to be able to associate my team with a project so that it is easier for me and others to see the relationship and learn how to participate in the project.

Story points: ??

As a Launchpad user I would like to be able to view which project a team is associated with when viewing the team index page, and which teams a project has associated with it when viewing the project page, so that I can more easily decide how I want to participate in the project.

As a project owner, I would like to be able to make and break links from my project to various teams, so that I can more clearly communicate to users what these relationships are.

Guided project creation

As a novice Launchpad user, I would like to be guided through project creation so that I can get started with Launchpad without having to understand everything or hunt through a thousand clicks.

More to come

TBD

Here are some related specs (copied from the old wiki) and links to other blueprints 'n stuff.