Completed Proposal Non-grayed-out editing commands

From Audacity Wiki
Revision as of 15:54, 8 May 2017 by Galeandrews (talk | contribs) (Reply to Bill and Peter about why we need to tread carefully to avoid a repeat of the situation we had before autoselect. Added a dialogue #4 that I would support.)
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to not gray out the editing cammands tha relu uopn a selection when no selection is present.
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.

  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

The Problem

Now that we have addressed for 2.1.3 the issue of grayed-out commands while in Pause mode there remains the issue of grayed-out commands when no selection is present.

Users are often confused that their editing commands can appear grayed-out and inoperable. This occurs when they issue a command that relies on the presence of a selection and they have not made a selection.

We addressed this problem earlier by adding the "Select all if none selected" preference with the default setting of "on". This mitigated the problem in that the user always had an automatic "selection" even if they had not explicitly made one and thus the commands were not grayed-out if this remained "on", but it did little or nothing to educate the user about the importance of selections in Audacity - plus it made the GUI more opaque that it need be. This is exacerbated as when such an automatic select all in in force as the GUI does not apply the dark gray background to the selected waveforms to indicate the selection with a visual cue.

Further if the user has turned off the "Select all if none selected" a while back and forgotten about it they can then get confused by the graying out and lack of action and can't figure out what to do (and the current GUI is of no assistance in this situation).

Users really do need to learn about making selections, it is one of the fundamentals of Audacity usage.

Proposed Feature

Do not gray-out the commands if a command is invoked that requires a selection with no selection present, then we pop an informative help message to the user telling them to make a selection.

This would be both easily "discoverable" and at the same time educational - and would make for a much clearer GUI.

We could even add a Help button in the dialog to take the user the the page on Selecting Audio in the Manual (like the one we have in the new Timer Record setup dialog).

Developer/QA Backing

  • Bill 06May2017: -1
    Too complicated. Anyone using an editor of any kind (word, graphics, or audio) should understand “select, then act” or “noun, verb”.
    I thought I might support it without the complicated modeless dialog that stays on the screen while the user makes a selection (instead a modal dialog that says, in effect: "Hey dummy! Make a selection first!"), but I remain convinced that menu commands that cannot be executed should be disabled.
  • Peter 07May17: +1 I now just want to see an error message or an error dialog - in order to educate the user. Like James, I'm in favour of the Alternative 1 wording and think the Help button is essential.
  • James 07May2017 +1
I'm in favour of the Alternative 1 wording and think the Help button is essential. The user can learn about default options after learning the essential immediate points, which are (a) that they need to select and (b) how to select. I don't think the point about users switching off the preference and forgetting they have is one we should lose much sleep over. Such users will at least know point (a), and if it is two users of the same machine, one will probably be giving advice/help to the other. I think best is to require the user to do two steps - select the audio and then apply their effect. Otherwise they might get into the habit of doing things in 'the wrong' order.
  • Gale 07May2017: -1
I agree a lot depends on us actually having a Help button (why is this so hard?) and moreover on users bothering to read the help. The naive never bothered to read the Help before we had autoselection so why should they read it and understand it now, even if we point them to the right place?

The autoselection works for the naive recording a USB turntable but is too coarsely implemented and so can lead to a selection being replaced by "all". Therefore the knowledgeable object to it. If we fixed autoselection, I see almost no need for this proposal. Is it not better people remain in ignorance and record their tapes and records than give up in frustration when blocked by a modal message they can't be bothered to deal with? Giving up in frustration happened before we had autoselection, and it will happen again if we have a modal message with zero help on the message about how to select (particularly, how to select all, which most of the naive will want).

  • Bill 07May2017: Gale wrote: "Is it not better people remain in ignorance and record their tapes and records than give up in frustration when blocked by a modal message they can't be bothered to deal with?" My answer is: No, it is not better. Users should learn to select then act. If we must enable menu commands that do nothing then we should tell the user why that command will do nothing. By all means give them a help button. If they are "frustrated" by having to learn to use the software properly, I have little sympathy.
    • Gale 08May17: I believe Bill was not around when we were inundated with dozens of users per week that just wanted to select all the track as shown in the USB turntable manual, and were defeated by a greyed out menu. That is why we implemented select all on none and why we cannot just leave the menu greyed.

      Bear in mind that Audacity is still bundled with many hundreds of USB tape/LP gizmos and a good proportion of these are older users with little prior computer experience and little patience. Many don't want to select anything other than all of one track. People don't usually fade in speech tapes.

      Giving such people a modal dialogue with no way to select all and not telling them inline how to do it will very obviously create problems for them and us, just not on the scale of a greyed out menu.

      Educating people who want to partial select is a separate issue. Those people can use the Help button in the proposed dialogue and read more.

  • Peter 07May17: A Help button shouldn't be hard, a link to the Manual (selection page) as we have with Timer Record and Analyze Contrast.

    Gale is trying to make this proposal depend upon auto-selection (or an improved version of autoselection). This should not be the case - this is a relatively simple proposal that simply states IF the user has no selection AND tries to effect an action that depends on having a selection THEN we pop an error messge (simple or complex).

    This proposal does not depend at all on how the selection is made either manually or automatically.

    If we wish to discuss extending autoselection then this should be done a different proposal or discussion thread - not this one.

    • Gale 08May17: This proposal is only related to autoselection In the sense that you/Steve argue a reason we need this Proposal (and thus naturally, autoselect off by default) is because autoselect loses user's selections. I merely argue that improving autoselect would be a valid alternative to this Proposal so that it did not get in the way of knowledgeable users who mainly want to partially select. Improving autoselect also benefits users who want the feature because it saves them a very great deal of time.

      I was happy to be neutral rather than oppose this Proposal while we proposed a dialogue that helped the most naive without making them read things online. Do we really think the naive will take in

      Steve actually wanted a modeless dialogue before, which made it easier to help the user, but at the cost of extra complexity. I think a modal dialogue could work, but I oppose one that says (translated) "Dummy, we're popping this message you did not ask for because you did not select any audio. And we are not even going to tell you how to select all, which you, as a dummy, probably want to do. Just go RTFM".

      "Cannot apply Reverb effect: No audio selected" is untrue, as worded. If you turn (what would be off-by-default) select-all on, you can do just that. It *is" possible to pop quite complex messages on users without making them RTFM. The warning for importing uncompressed files works really well. Partly that is because we force default back to copy in, but I don't recall anyone saying they could not understand that dialogue. Why? Perhaps because the dialogue seems relevant, and perhaps this proposed dialogue will seem somewhat relevant and so can take some reasonable words of encouragement and help. Contrast that with Save Project where users have a preconception they are exporting, so don't read the message.

      See Alternative 4 (a modal example that would satisfy me and encourage learning for the timid).

      Is this Proposal still that users who already have autoselect on can keep it on? If we force autoselect off, the naive for whom autoselect works now but they don't know why will see this as a "bug" introduced in 2.2.0.

  • Steve 08May17: +1 for the 'simple' solution of making "Select All if none..." an off by default option, with a "Alternative 1" style educational message if a user attempts to apply an effect without a selection.
  • Bill 08May2017: +1. Changing my vote so we can move forward with the "Alternative 1" style dialog, which is similar to what is presented when the user tries to "Apply" a RTP effect without a selection. This should also allow changing the default setting of "Select all if none..." to off.

Use Cases

  • Many reports on the Forum of confusion caused by Grayed-out commands
  • Users are particularly confused when they have an automatic (and invisible) Select All present and then they hit the Delete or Cut commands and all their audio disappears.


  • A pop-up modal "reminder"
    • "Please select some audio for <name of command> to act on, then try again."
  • Add a Help button in the "reminder" dialog to take the user the the page on Selecting Audio in the Manual
  • User makes the audio selection that they want (not our guess, which we acknowledge will frequently be wrong) and clicks the OK button.
  • On clicking OK, the "reminder" closes and the effect UI pops up (or for effects with no UI, the effect is applied).
  • We should probably retain the existing "Select all if none selected" preference, but turn it "off" by default for first installation and for reset of audacity.cfg. All other existing users would have their .cfg unchanged.
    • Add a FAQ for "How do I get the automatic "Select All" for any users who lose this functionality as part of a re-install with a reset and can't find the Preference.
  • We may need to add advice in the message telling the user that they would need to use Preferences to turn off automatic selection if and when no longer required. As after checking the auto-selection checkbox in the meassge than they will not see the message again.

GUI Examples

Alternative 1: A message about what went wrong with a button for further help if needed. (message box title - No Audio Selected):

Cannot apply Reverb effect: No audio selected.

Select the audio that you wish to apply Reverb to,
then try again.

[Help] [OK]

Alternative 2: A modeless version of 1. (message box title - No Audio Selected):

Cannot apply Reverb effect: No audio selected.

Select the audio that you wish to apply Reverb to,
then press "OK" to continue.

[Help] [Cancel] [OK]

Alternative 3: A message that offers full project selection and the opportunity to make that automatic in future.

No Audio Selected for Action

Select some audio for <action> to act on, for example by click and drag, then click OK.

Or choose options for selecting the entire project then click OK.

[_] Select entire project now
[_] Enable Preference to auto-select entire project for action

[Help] [OK ] [Cancel]
  • The message names the selected effect/generator/analyzer/command.
  • The OK button remains grayed out until there is an audio selection.
  • The Cancel button closes the dialog and cancels the effect.
  • The Help button opens an appropriate page in the manual.

We do not explain in the dialog how to make a selection. The few users who can't guess can click on Help. Verbose messages believed to be counterproductive

When a selection is subsequently made, the OK button becomes active, and clicking on it will:

  1. Close the message dialog.
  2. Launch the selected (named) effect or command.

Alternative 4: A modal message about what went wrong, example how to select all to get out of jail fast, with a button for further help if needed.

No Audio Selected

Cannot apply Normalize. Select the audio for Normalize to use (for example, Ctrl + A to Select All), then try again.

Press 'Help' to learn more about selections and how to autoselect.

[Help] [Cancel] [OK]

Ctrl would be replaced with Command on Mac.

Select All on None

  • Effects and Analyzers not to be grayed out when no slection is present.
  • Default setting for select-all-on-none would be set to disabled, rather than removing that setting entirely.

Previous Feature Requests relating to this proposal