Difference between revisions of "Roadmap"

From Audacity Wiki
Jump to: navigation, search
(Added 1.3.5 to Roadmap)
 
(93 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:Audacity Devel}}<br>
+
{{Note|1= The roadmap has been moved to [https://github.com/audacity/audacity/wiki/Roadmap GitHub]<br> This page is obsolete and retained only for historic interest.}}
 +
 
  
 
{| style="background:#EEEEFF" width=90% align="center"
 
{| style="background:#EEEEFF" width=90% align="center"
Line 6: Line 7:
 
<br>
 
<br>
  
On the {{external|[http://lists.sourceforge.net/lists/listinfo/audacity-devel audacity-devel]}} mailing list we have discussed two strategies:
+
==How Features Get Planned==
 +
* See ''"[[The Feature Requests Pipeline]]"''
 +
<br><br>
 +
 
 +
__TOC__
 +
 
 +
=Overview=
 +
 
 +
Experience shows that a normal roadmap with dates and planned sequence of version numbers and what they will contain is completely out of the question for Audacity.  We don't have a single person running the show.  In any case the classic choice:
 +
 
 +
<div id="fixeddates"></div>
 +
  "Scope, Schedule, Quality - Pick Two"
 +
 
 +
applies to Audacity.  Roadmaps that attempt to control all three are not realistic.  Our current choices are to '''release often''' to a fixed date chosen in advance '''(Schedule)'''. We also choose to focus on removing bugs '''(Quality)'''.  
  
* Attempting to keep Audacity lean, simple and efficient.  Not branching out into new applicationsA focus on quality, stability and speed.
+
You could argue that there isn't any roadmap for Audacity.  Instead different team members may or may not argue here for their views as to how development should happen going forward.
* 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 functionalityThe 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.
+
=The Release Schedule=
<br><br>
+
===Beta releases===
 +
* We stopped doing beta releases with 1.3.14 in December 2011.  We'd found that releasing betas encouraged us to continue to release betas and not to strive hard enough for a stable releaseAs a result our release plans (for team) are now only about releasing stable version.  We do post snapshots, alphas, of what builds off the GitHub main development branchThese are for testing and not regarded as suitable as official releases.
 +
* To provide experimental work in progress, we now have [[Preview Versions]] where an individual is taking responsibility for the quality.  These all come with a warning to export audio to wav after recording, since the new features may be unstable.
 +
 
 +
===2.x.x series===
 +
* 2.0.0 March 2012 to 2.0.6 in September 2014 were stable releases.
 +
* 2.1.0 March 2015 to 2.1.3 in March 2017 were stable releases.
 +
* 2.2.0 was released Nov 2017.
 +
 
 +
We have a full [[Audacity Versions|history of versions]] on this wiki.
 +
 
 +
=Roadmap according to James=
 +
 
 +
These are [[User:James|James Crook's]] views...
  
=Code Roadmap=
 
 
<blockquote>
 
<blockquote>
==1.3.4 Beta==
+
== Stable Releases ==
  
Currently under active developmentSee [[Release Checklist]] for detailsThis will be released without an html help package being available and with a note in the release notesThe release notes will request help from the community in completing the help documentation and the URL of the wiki.
+
* Audacity head should be stable/releasable at nearly all times - and in particular should compile on all three platforms.  Destabilising changes should be worked on and fixed in a branch first.  It's changes outside our control such as being forced to upgrade to wx3 or arrival of Win10, or changes in Mac Sierra that can thwart that goal.   
 +
* Aim for relatively frequent releases.  If new features aren't ready, we switch them off rather than delay while they are refined.   
 +
* Big new features should be in '''plug-ins'''That makes it so much easier to keep Audacity stable. Cleanspeech, Karaoke and Timer record should become Audacity plug-ins.
  
==1.3.5 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.
+
== Features ==
  
==1.4.0 Stable==
+
* {{done}} Option of '''help''' in the preferences dialogs. Ideally context-help taken directly from the manual, but a help button that takes you to the manual is enough as a starter.
 +
* {{todo}} Improvements to scrolling and zooming behaviour for close up work.  Our code is fast enough to do an '''oscilloscope style display''' on P700+, but for that to work well some changes are needed in how we select audio and how we choose to scroll.
 +
* {{todo}} I'd like to see '''discontinuous selections''' implemented.  This would be a lot cleaner than 'labelled region' operations.  It would also drive the code structure that fixes whitespace versus silence issues.
 +
* {{done}} '''Re-organisation of menus'''.  These (in my opinion) have grown to be large and confusing.  They are partly to blame for the save-export confusion in many users.  Making the options under the menu items more powerful reduces the number of menu items we need.  ''Discussion at [[Completed Proposal Menu Reorganisation]] and related sub pages.''
 +
* {{todo}} '''Fix multi-tool mode''' so that it can drag clips.  This got broken by the introduction of multi-clips making multi-tool mode much less useful.
 +
* {{done}} Enhancement to screenshot tool so as to '''screen-capture modal dialogs''' and menus for the manual.
 +
* {{todo}} The over-due '''TrackPanel refactor'''.  We need to make it easy for plug-ins to plug-in new track types.
  
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==
+
== Increasing Satisfaction in Participation ==
  
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.
+
* Listen for and invite feedback from new contributors. For example the need for better internal documentation in the code was highlighted by both 2009 GSoC students.
 +
* Get across to new contributors that this is a do-ocracy. In general the person who does the work on something decides how it should be.
 +
* Help people increase their own productivity. Spot cases of people pulling in opposite directions early. Turn queries into FAQs. Turn e-mails into documentation. Turn tests into features. Turn closed bugs into development policies.
  
* FTP
 
* Theming (crude version)
 
  
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.
+
== Infrastructure ==
  
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:
+
''We need to look at these...  What we do is up for discussion...''
  
* [[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.
+
* {{done}} Bug tracking - ''Bugs are now in Bugzilla, with search page at [[Bug Lists]]''  
* [[Rivendell]].
+
* {{todo}} Translation infrastructure.
* [[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 Plug-ins|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:
+
 +
</blockquote>
  
* 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==
+
=Roadmap according to Peter Sampson=
 +
{{note|I would like to put this stake in the ground for a few Proposals and Feature Requests that I would dearly love to see implemented as they would greatly improve the usability, discoverability and usefulness of Audacity to our users. }}
 +
* {{todo}} '''Peter:''' [https://wiki.audacityteam.org/wiki/Proposal:_Rationalizing_where_new_tracks_are_created_to_aid_usability_and_consistency Proposal: Rationalizing where new tracks are created to aid usability and consistency] - '''''we had bugs for part of this but closed them in favor of this proposal'''''
 +
*'''Searchable Manual''' - this is long overdue
 +
*'''FFmpeg integration''', bundled in Audacity
 +
*'''Spaceometer'''
 +
 
 +
==Existing Proposals==
 +
#[[ToDo: Unstick 'Stuck In a Mode']] - remove the bear-traps
 +
#[https://bugzilla.audacityteam.org/show_bug.cgi?id=1462 Bug #1462] Timer Record does not check that there is sufficient space for Export
 +
#[[Proposal new Zoom Toolbar]]  a new Zoom Toolbar with more features, such as zoom presets, and add a zoom maximum >and zoom normal button
 +
#[[Proposal: GUI Custom Resets for Toolbar Layouts]] - GUI mechanism from within Audacity to enable the user to save and restore settings for Toolbar layout
 +
#[[Proposal Locking and/or Hiding Pan and Gain sliders]] - to avoid accidental unintended nudges
 +
#[[Proposal Timer Record Improvements Phase-2]] - access to the controls and timer changes while Timer Record is active (recording or waiting)
 +
#[[Proposal Graphic indicator of optimum recording level on the waveform display]] improve the User Interface relating to the Metering and Monitoring functionality in Audacity
 +
#[[Proposal DC Offset removal]] and '''not''' [[Proposal DC Management]] - usabilty, encourages proper processing order
 +
#[[Proposal: Improvements to Scrubbing - Phase-3]]
 +
#'''Effects Categorization''' (31 votes) - now that [[Completed: Proposal Binding Effects to Hot-Keys|Proposal Binding Effects to Hot-Keys]] is implemented
 +
#[[The Multiproject Wormcan]] I strongly favour option 2: Single recorder/player mode
 +
 
 +
 
 +
===Done for 3.0.0===
 +
* {{done}} [[Proposal Unitary Project]]: To provide a single "container" for Audacity Projects rather than the AUP file and data being separate.
 +
 
 +
===Done for 2.4.1===
 +
*{{done}} '''Timer toolbar'''-  ''large audio-position timer toolbar''
 +
 
 +
===Done for 2.4.0===
 +
#P4 ENH [https://bugzilla.audacityteam.org/show_bug.cgi?id=1833 1833] - Stop in Export Multiple does not actually stop the exports
 +
 
 +
===Done for 2.3.3===
 +
None
 +
 
 +
===Done for 2.3.2===
 +
# LAME integration - now built-in into Audacity
 +
#Select button in Track Control Panel
 +
#Nyquist Plug-in Installer
 +
#mod-script-pipe provided with Audacity, on Windows and Mac
 +
#Size restrictions on WAV and AIFF exports
 +
 
 +
===Done for 2.3.1===
 +
# [[Completed Proposal WAV exports to have Format Options]] It is hard for users to find the "non-standard" WAV exports such as 24-bit and other more obscure WAV exports
 +
 
 +
===Done for 2.3.0===
 +
* '''Transcription toolbar speed slider''' to operate in real time adjusting the playback speed while playing
 +
** '''Transcription toolbar''' renamed as '''Play-at-Speed toolbar'''
 +
 
 +
===Done for 2.2.2===
 +
# [[Completed Proposal Improvements to Export progress dialogs]] Because we use a common dialog for Export and Export Multiple we should have a form of words that is applicable to both and accurate in both cases
 +
 
 +
===Done for 2.2.1===
 +
# [[Proposal: Waveform and clip colors]]: Assign different colors to individual tracks, clips or regions.
 +
 
 +
===Done for 2.2.0===
 +
#Revised menu structure from [[DarkAudacity]]
 +
#[[Completed Proposal Help button for Preferences & Effects, Generators and Analyzers]] a proposal to provide help to users of preferences, effects, generators and analyzers
 +
#[[Completed Proposal Non-grayed-out editing commands]]
 +
 
 +
=Roadmap according to A.N.Other=
  
First release which has the new theme enabled as the default, though it will have been seen before as an option.
 
</blockquote>
 
=Project Roadmap=
 
<blockquote>
 
==Recruitment==
 
Post 1.3.4 we want to start a recruitment drive.  ''Add details here''.
 
  
==Summer of Code 2008==
 
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 status.  This 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==
 
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==
 
Would be good!  Possibly will piggy back on a conference.  Consider LADSPA meeting, as it is a developer conference.
 
</blockquote>
 
  
 
[[Category:Feature Planning]]
 
[[Category:Feature Planning]]

Latest revision as of 10:44, 13 April 2022

The roadmap has been moved to GitHub
This page is obsolete and retained only for historic interest.


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.


How Features Get Planned



Overview

Experience shows that a normal roadmap with dates and planned sequence of version numbers and what they will contain is completely out of the question for Audacity. We don't have a single person running the show. In any case the classic choice:

 "Scope, Schedule, Quality - Pick Two" 

applies to Audacity. Roadmaps that attempt to control all three are not realistic. Our current choices are to release often to a fixed date chosen in advance (Schedule). We also choose to focus on removing bugs (Quality).

You could argue that there isn't any roadmap for Audacity. Instead different team members may or may not argue here for their views as to how development should happen going forward.


The Release Schedule

Beta releases

  • We stopped doing beta releases with 1.3.14 in December 2011. We'd found that releasing betas encouraged us to continue to release betas and not to strive hard enough for a stable release. As a result our release plans (for team) are now only about releasing stable version. We do post snapshots, alphas, of what builds off the GitHub main development branch. These are for testing and not regarded as suitable as official releases.
  • To provide experimental work in progress, we now have Preview Versions where an individual is taking responsibility for the quality. These all come with a warning to export audio to wav after recording, since the new features may be unstable.

2.x.x series

  • 2.0.0 March 2012 to 2.0.6 in September 2014 were stable releases.
  • 2.1.0 March 2015 to 2.1.3 in March 2017 were stable releases.
  • 2.2.0 was released Nov 2017.

We have a full history of versions on this wiki.

Roadmap according to James

These are James Crook's views...

Stable Releases

  • Audacity head should be stable/releasable at nearly all times - and in particular should compile on all three platforms. Destabilising changes should be worked on and fixed in a branch first. It's changes outside our control such as being forced to upgrade to wx3 or arrival of Win10, or changes in Mac Sierra that can thwart that goal.
  • Aim for relatively frequent releases. If new features aren't ready, we switch them off rather than delay while they are refined.
  • Big new features should be in plug-ins. That makes it so much easier to keep Audacity stable. Cleanspeech, Karaoke and Timer record should become Audacity plug-ins.


Features

  • Done.png Option of help in the preferences dialogs. Ideally context-help taken directly from the manual, but a help button that takes you to the manual is enough as a starter.
  • ToDo.png Improvements to scrolling and zooming behaviour for close up work. Our code is fast enough to do an oscilloscope style display on P700+, but for that to work well some changes are needed in how we select audio and how we choose to scroll.
  • ToDo.png I'd like to see discontinuous selections implemented. This would be a lot cleaner than 'labelled region' operations. It would also drive the code structure that fixes whitespace versus silence issues.
  • Done.png Re-organisation of menus. These (in my opinion) have grown to be large and confusing. They are partly to blame for the save-export confusion in many users. Making the options under the menu items more powerful reduces the number of menu items we need. Discussion at Completed Proposal Menu Reorganisation and related sub pages.
  • ToDo.png Fix multi-tool mode so that it can drag clips. This got broken by the introduction of multi-clips making multi-tool mode much less useful.
  • Done.png Enhancement to screenshot tool so as to screen-capture modal dialogs and menus for the manual.
  • ToDo.png The over-due TrackPanel refactor. We need to make it easy for plug-ins to plug-in new track types.


Increasing Satisfaction in Participation

  • Listen for and invite feedback from new contributors. For example the need for better internal documentation in the code was highlighted by both 2009 GSoC students.
  • Get across to new contributors that this is a do-ocracy. In general the person who does the work on something decides how it should be.
  • Help people increase their own productivity. Spot cases of people pulling in opposite directions early. Turn queries into FAQs. Turn e-mails into documentation. Turn tests into features. Turn closed bugs into development policies.


Infrastructure

We need to look at these... What we do is up for discussion...

  • Done.png Bug tracking - Bugs are now in Bugzilla, with search page at Bug Lists
  • ToDo.png Translation infrastructure.



Roadmap according to Peter Sampson

I would like to put this stake in the ground for a few Proposals and Feature Requests that I would dearly love to see implemented as they would greatly improve the usability, discoverability and usefulness of Audacity to our users.

Existing Proposals

  1. ToDo: Unstick 'Stuck In a Mode' - remove the bear-traps
  2. Bug #1462 Timer Record does not check that there is sufficient space for Export
  3. Proposal new Zoom Toolbar a new Zoom Toolbar with more features, such as zoom presets, and add a zoom maximum >and zoom normal button
  4. Proposal: GUI Custom Resets for Toolbar Layouts - GUI mechanism from within Audacity to enable the user to save and restore settings for Toolbar layout
  5. Proposal Locking and/or Hiding Pan and Gain sliders - to avoid accidental unintended nudges
  6. Proposal Timer Record Improvements Phase-2 - access to the controls and timer changes while Timer Record is active (recording or waiting)
  7. Proposal Graphic indicator of optimum recording level on the waveform display improve the User Interface relating to the Metering and Monitoring functionality in Audacity
  8. Proposal DC Offset removal and not Proposal DC Management - usabilty, encourages proper processing order
  9. Proposal: Improvements to Scrubbing - Phase-3
  10. Effects Categorization (31 votes) - now that Proposal Binding Effects to Hot-Keys is implemented
  11. The Multiproject Wormcan I strongly favour option 2: Single recorder/player mode


Done for 3.0.0

  • Done.png Proposal Unitary Project: To provide a single "container" for Audacity Projects rather than the AUP file and data being separate.

Done for 2.4.1

  • Done.png Timer toolbar- large audio-position timer toolbar

Done for 2.4.0

  1. P4 ENH 1833 - Stop in Export Multiple does not actually stop the exports

Done for 2.3.3

None

Done for 2.3.2

  1. LAME integration - now built-in into Audacity
  2. Select button in Track Control Panel
  3. Nyquist Plug-in Installer
  4. mod-script-pipe provided with Audacity, on Windows and Mac
  5. Size restrictions on WAV and AIFF exports

Done for 2.3.1

  1. Completed Proposal WAV exports to have Format Options It is hard for users to find the "non-standard" WAV exports such as 24-bit and other more obscure WAV exports

Done for 2.3.0

  • Transcription toolbar speed slider to operate in real time adjusting the playback speed while playing
    • Transcription toolbar renamed as Play-at-Speed toolbar

Done for 2.2.2

  1. Completed Proposal Improvements to Export progress dialogs Because we use a common dialog for Export and Export Multiple we should have a form of words that is applicable to both and accurate in both cases

Done for 2.2.1

  1. Proposal: Waveform and clip colors: Assign different colors to individual tracks, clips or regions.

Done for 2.2.0

  1. Revised menu structure from DarkAudacity
  2. Completed Proposal Help button for Preferences & Effects, Generators and Analyzers a proposal to provide help to users of preferences, effects, generators and analyzers
  3. Completed Proposal Non-grayed-out editing commands

Roadmap according to A.N.Other