The Feature Requests Pipeline

From Audacity Wiki
Revision as of 07:35, 3 September 2008 by Galeandrews (talk | contribs) (add note about sysop-added FRs)
Jump to: navigation, search

The Pipeline

  • Users add their requests for new features to the Feature Requests page. We ask them to follow some fairly detailed instructions in editing and voting for features so that we can keep them in some order. We attempt to keep it reasonably organised, editing out inessential text, and factoring out the more detailed suggestions to Feature Planning pages of their own.
  • We also receive feature requests at our feedback e-mail address, and on our Forum. We add these to the Feature Requests Wiki page too, although requests from the Forum are normally added to Pending Feature Requests for review before addition to Feature Requests itself.
  • A small number of users create Use Cases which have groups of related features. These would make Audacity better suited to some specific application - such as wildlife recording. These are particularly helpful in motivating the addition of new features.
  • Developers create Projects pages for a feature they are, or that they plan to be, working on. Often these project progress pages are accompanied by background notes pages where comparison of options is done.
  • Developers write their feature with a conditional #define, so that it can be enabled in experimental versions.
  • After discussion, some of the features under development are incorporated into the Roadmap and slated for a definite release number.

The GSoC Variation

  • In GSoC there are outline project proposals on the GSoC Ideas page. Less defined ideas or those with no obvious mentor currently live on More GSoC Ideas. Students use these proposals as a starting point for their own ideas.
  • The students' proposals and ideas get detailed comment and refinement via the Google GSoC app.
  • The students must maintain a project progress page during the GSoC period whereas this is optional for other developers.
  • Students write their feature with a conditional #define, so that it can be enabled in experimental versions.
  • Depending on maturity of the feature, after GSoC is complete, the feature is enabled in the next beta release after GSoC.