Difference between revisions of "Roadmap"

From Audacity Wiki
Jump to: navigation, search
 
(102 intermediate revisions by 3 users not shown)
Line 1: Line 1:
If you want to add a new feature to this list and haven't discussed it on audacity-devel, it belongs in [[Feature Requests]], not here!
+
{{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.}}
  
=Code=
 
==1.3.4 Beta==
 
  
Currently under active development. See [[Release Checklist]] for details.  This is intended as a candidate for the 1.4.0 Stable release.
+
{| style="background:#EEEEFF" width=90% align="center"
 +
|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 [[:Category:Feature_Planning|feature requests and planning]].
 +
|}
 +
<br>
  
==1.4.0 Stable==
+
==How Features Get Planned==
 +
* See ''"[[The Feature Requests Pipeline]]"''
 +
<br><br>
  
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.
+
__TOC__
  
==1.5.x Beta==
+
=Overview=
  
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.
+
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:
  
* FTP
+
<div id="fixeddates"></div>
* Theming (crude version)
+
  "Scope, Schedule, Quality - Pick Two"
  
We'll transition to wxWidgets 2.8.4We'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 buildProbably will use prebuild.exe which includes its own built in Lua script processor and can directly build MS project files and linux configs.
+
applies to Audacity. Roadmaps that attempt to control all three are not realisticOur current choices are to '''release often''' to a fixed date chosen in advance '''(Schedule)'''We also choose to focus on removing bugs '''(Quality)'''.  
  
Other features will be added as we increment 1.5.x versionsAll the ones listed here have already been started so are likely to happen:
+
You could argue that there isn't any roadmap for AudacityInstead different team members may or may not argue here for their views as to how development should happen going forward.
  
* Plug ins.  These will be able to add items into the menu and extra items on the main panel.
 
* Rivendell plug in.
 
* Scripting plug 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:
+
=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.
  
* Many aim-tos carried forward from the previous list done.
+
===2.x.x series===
* 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 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.
  
==2.0.0 Stable==
+
We have a full [[Audacity Versions|history of versions]] on this wiki.
  
First release which has the new theme enabled as the default, though it will have been seen before as an option.
+
=Roadmap according to James=
  
=Project=
+
These are [[User:James|James Crook's]] views...
  
==Recruitment==
+
<blockquote>
Post 1.3.4 we want to start a recruitment drive.  ''Add details here''.
+
== 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}} 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.
 +
 
 +
 
 +
== 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}} Bug tracking - ''Bugs are now in Bugzilla, with search page at [[Bug Lists]]'' 
 +
* {{todo}} Translation infrastructure.
 +
 
 +
 +
</blockquote>
 +
 
 +
 
 +
=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=
  
==Summer of Code 2008==
 
We need to discuss and plan Google [[SummerOfCode|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.
 
  
  
 
[[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