Difference between revisions of "Roadmap"

From Audacity Wiki
Jump to: navigation, search
(tweaks)
(Updated slightly. Mainly to remove references to wx284 as it's integrated now.)
Line 13: Line 13:
 
If Audacity were a one person effort, keeping the focus of Audacity narrow would be possible.  As it is a team effort, and different people have different ideas about what the essentials are, we don't have a choice.  We have to keep Audacity open to new features.  Most people's motivation for working on the software is to get it to do new things.
 
If Audacity were a one person effort, keeping the focus of Audacity narrow would be possible.  As it is a team effort, and different people have different ideas about what the essentials are, we don't have a choice.  We have to keep Audacity open to new features.  Most people's motivation for working on the software is to get it to do new things.
  
This brings with it some problems.  We need it to be easier to add experimental features without destabilising the core functionality.  The roadmap has us moving towards a more modular architecture and the Debug wx284 build already has some of this functionality.  To go with that, more functions for customising the user interface are being written, building on theming.  These changes will in many ways make Audacity more like CLAM, Praat, PD and MAX in its structure, but with a particular strength for audio applications that need to view and edit sound.
+
This brings with it some problems.  We need it to be easier to add experimental features without destabilising the core functionality.  The roadmap has us moving towards a more modular architecture.  To go with that, more functions for customising the user interface are being written, building on theming.  These changes will in many ways make Audacity more like CLAM, Praat, PD and MAX in its structure, but with a particular strength for audio applications that need to view and edit sound.
 
<br><br>
 
<br><br>
  
Line 21: Line 21:
  
 
Currently under active development.  See [[Release Checklist]] for details.  This will be released ''without html help being completed'' and with a note in the release notes.  The release notes will request help from the community in completing the help documentation and will give the URL of the wiki.
 
Currently under active development.  See [[Release Checklist]] for details.  This will be released ''without html help being completed'' and with a note in the release notes.  The release notes will request help from the community in completing the help documentation and will give the URL of the wiki.
 +
 +
==GSoC Alphas==
 +
Lots of development as part of GSoC.  Focus is on keeping things integrated and testing new features on multiple platforms early.  Continues until August 14th 2008.
  
 
==1.3.5 Beta==
 
==1.3.5 Beta==
 +
Because of the substantial changes during GSoC, and because of moving to wxWidgets 2.8.7 and modular architecture, we need at least one extra beta to get the 'wrinkles' out.  The alphas we've been having during GSoC will help, but in no way are they a large scale try out.
 +
 +
Even though not a true candidate for a stable release, we want this beta to have complete help (though not translated yet).  This should force us to do some 'housekeeping' tasks around help that we've been neglecting.  1.3.5 and hence 1.4.0 will be compiled with wxWidgets 2.8.7 (or later) with dynamic linking.  So - we need an updated installer for this too.
 +
 +
==1.3.6 Beta==
  
This is intended as a candidate for the 1.4.0 Stable release.  As well as help, help installation and complete translations, there will also be a LAME installer to go with this, subject to discussions on audacity-devel.  Also subject to discussion, 1.3.5 and hence 1.4.0 may be compiled with wxWidgets 2.8.4 with static linking.  That way when supporting the 1.4.0 release we won't be switching back and forth between wxWidgets library versions.
+
This is intended as a candidate for the 1.4.0 Stable release.  As well as help, help installation and complete translations, there will also be a LAME installer to go with this, subject to discussions on audacity-devel.   
  
 
==1.4.0 Stable==
 
==1.4.0 Stable==
Line 32: Line 40:
 
==1.5.x Beta==
 
==1.5.x Beta==
  
Released very soon after 1.4.0, 1.5.0 will have the currently disabled features of 1.3.4/1.4.0 re-enabled.
+
Released very soon after 1.4.0, 1.5.0 will have the currently disabled features of 1.3.4/1.4.0 re-enabled as well as enabling GSoC features.
  
 
* FTP
 
* FTP
 
* Theming (crude version)
 
* Theming (crude version)
 +
* LV2 Support
 +
* FFmpeg
 +
* On Demand Loading
 +
* Sticky Labels
  
We'll transition to wxWidgets 2.8.4.  We'll probably start using a common project file format for both Linux and Windows, making it easier for linux-only or windows-only developers to add files without breaking the other build.  Probably will use prebuild.exe which includes its own built in Lua script processor and can directly build MS project files and linux configs.
+
We'll probably start using a common project file format for both Linux and Windows, making it easier for linux-only or windows-only developers to add files without breaking the other build.  Probably will use prebuild.exe which includes its own built in Lua script processor and can directly build MS project files and linux configs.
  
 
Other features will be added as we increment 1.5.x versions.  All the ones listed here have already been started so are likely to happen:
 
Other features will be added as we increment 1.5.x versions.  All the ones listed here have already been started so are likely to happen:
Line 61: Line 73:
 
<blockquote>
 
<blockquote>
 
==Recruitment==
 
==Recruitment==
Post 1.3.4 we want to start a recruitment drive.  ''Add details here''.
+
Post 1.3.6 we want to start a recruitment drive.  ''Add details here''.
 +
 
 +
==Summer of Code 2008 Review==
  
==Summer of Code 2008==
+
When it's time, but certainly before the mentor summit, (Nov 2008?), we should have some kind of in-house review that goes well beyond the bullet points of the Google evaluation.  The way it's shaping up, (Jun 2008), GSoC has been excellent for usThat doesn't make it automatic that we want to participate again next year, even assuming we can, and if we do, we may do some things very differently.  When the time comes we should also use the Audacity forum to get user feedback/comments on how end users see things.
We need to discuss and plan Google [[GSoC Ideas|Summer of Code (GSoC) 2008]].  JC thinks we should get significant numbers of students interested ''prior'' to applying for mentor statusThis will increase our chances of getting the best students, as well as making it clear to Google that we're much more organised this year.
 
  
 
==Acquisitions and Mergers==
 
==Acquisitions and Mergers==
 
Look at ways to share code between projects more.  Greater use of plug ins and bridges to leverage code (Vamp, Ladspa, Jack, Octave, CSound, Postfish).  More extraction of framework code from Audacity for use in general wxWidgets projects.  Refactoring some Audacity algorithms to be derived from generic abstract algorithms - making them useful in other contexts and moving us closer to Mezzo.  Look at LibArdour for possibilities for code sharing.
 
Look at ways to share code between projects more.  Greater use of plug ins and bridges to leverage code (Vamp, Ladspa, Jack, Octave, CSound, Postfish).  More extraction of framework code from Audacity for use in general wxWidgets projects.  Refactoring some Audacity algorithms to be derived from generic abstract algorithms - making them useful in other contexts and moving us closer to Mezzo.  Look at LibArdour for possibilities for code sharing.
  
==Hackathon 2008==
+
==Hackathon 2008 or 2009==
 
Would be good!  Possibly will piggy back on a conference.  Consider LADSPA meeting, as it is a developer conference.
 
Would be good!  Possibly will piggy back on a conference.  Consider LADSPA meeting, as it is a developer conference.
 
</blockquote>
 
</blockquote>
  
 
[[Category:Feature Planning]]
 
[[Category:Feature Planning]]

Revision as of 11:00, 20 June 2008


Users who want to request new features for Audacity are very welcome to do so on our Feature Requests page. We also have several other pages where you can learn more about feature requests and planning.


On the audacity-devel  mailing list we have discussed two strategies:

  • Attempting to keep Audacity lean, simple and efficient. Not branching out into new applications. A focus on quality, stability and speed.
  • Turning Audacity into a more general purpose application. Adding new features for specific applications and interests. Experimental possibly problematic features in beta releases and stability but fewer features in the stable releases.

If Audacity were a one person effort, keeping the focus of Audacity narrow would be possible. As it is a team effort, and different people have different ideas about what the essentials are, we don't have a choice. We have to keep Audacity open to new features. Most people's motivation for working on the software is to get it to do new things.

This brings with it some problems. We need it to be easier to add experimental features without destabilising the core functionality. The roadmap has us moving towards a more modular architecture. To go with that, more functions for customising the user interface are being written, building on theming. These changes will in many ways make Audacity more like CLAM, Praat, PD and MAX in its structure, but with a particular strength for audio applications that need to view and edit sound.

Code Roadmap

1.3.4 Beta

Currently under active development. See Release Checklist for details. This will be released without html help being completed and with a note in the release notes. The release notes will request help from the community in completing the help documentation and will give the URL of the wiki.

GSoC Alphas

Lots of development as part of GSoC. Focus is on keeping things integrated and testing new features on multiple platforms early. Continues until August 14th 2008.

1.3.5 Beta

Because of the substantial changes during GSoC, and because of moving to wxWidgets 2.8.7 and modular architecture, we need at least one extra beta to get the 'wrinkles' out. The alphas we've been having during GSoC will help, but in no way are they a large scale try out.

Even though not a true candidate for a stable release, we want this beta to have complete help (though not translated yet). This should force us to do some 'housekeeping' tasks around help that we've been neglecting. 1.3.5 and hence 1.4.0 will be compiled with wxWidgets 2.8.7 (or later) with dynamic linking. So - we need an updated installer for this too.

1.3.6 Beta

This is intended as a candidate for the 1.4.0 Stable release. As well as help, help installation and complete translations, there will also be a LAME installer to go with this, subject to discussions on audacity-devel.

1.4.0 Stable

This will replace the 1.2.x line of development. On release of 1.4.0, only bugfixes and not new features will be added to the 1.4.x line.

1.5.x Beta

Released very soon after 1.4.0, 1.5.0 will have the currently disabled features of 1.3.4/1.4.0 re-enabled as well as enabling GSoC features.

  • FTP
  • Theming (crude version)
  • LV2 Support
  • FFmpeg
  • On Demand Loading
  • Sticky Labels

We'll probably start using a common project file format for both Linux and Windows, making it easier for linux-only or windows-only developers to add files without breaking the other build. Probably will use prebuild.exe which includes its own built in Lua script processor and can directly build MS project files and linux configs.

Other features will be added as we increment 1.5.x versions. All the ones listed here have already been started so are likely to happen:

  • Gui Plug-ins. These will be able to add items into the menu and extra items on the main panel. We've already got experimental versions of a hi-jacking plug-in which uses Audacity graphics and audio file processing for a completely different purpose, and of a plug in, the scripting plug in, that runs an extra thread to accept commands from an external channel.
  • Rivendell.
  • Scripting enhanced and available in linux too.
  • Improved theming support, e.g. gradient backfills. Plan is to use wxFormbuilder to configure the themes, so we have a Gui for theme building. JC is working with the wxFormbuilder team to create an option in it that generates the files we need.
  • New track types for graphical display of Vamp (analysis) Plug-in results.
  • New theme(s) from Greg Hardesty available.
  • Context sensitive help in preferences dialog, if local help files are available.

Also:

  • Many aim-tos carried forward from the previous list done.
  • Some features from the Feature Requests page done. Don't list them here! We'll probably start a new page with the same level of detail as the checklist page, and developers signing up for what they're working on.

2.0.0 Stable

First release which has the new theme enabled as the default, though it will have been seen before as an option.

Project Roadmap

Recruitment

Post 1.3.6 we want to start a recruitment drive. Add details here.

Summer of Code 2008 Review

When it's time, but certainly before the mentor summit, (Nov 2008?), we should have some kind of in-house review that goes well beyond the bullet points of the Google evaluation. The way it's shaping up, (Jun 2008), GSoC has been excellent for us. That doesn't make it automatic that we want to participate again next year, even assuming we can, and if we do, we may do some things very differently. When the time comes we should also use the Audacity forum to get user feedback/comments on how end users see things.

Acquisitions and Mergers

Look at ways to share code between projects more. Greater use of plug ins and bridges to leverage code (Vamp, Ladspa, Jack, Octave, CSound, Postfish). More extraction of framework code from Audacity for use in general wxWidgets projects. Refactoring some Audacity algorithms to be derived from generic abstract algorithms - making them useful in other contexts and moving us closer to Mezzo. Look at LibArdour for possibilities for code sharing.

Hackathon 2008 or 2009

Would be good! Possibly will piggy back on a conference. Consider LADSPA meeting, as it is a developer conference.