Completed Proposal Non-grayed-out editing commands

From Audacity Wiki
Revision as of 16:57, 9 May 2017 by Galeandrews (talk | contribs) (Replies to Peter)
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.

      • Peter 09May17: I do not see autoselect removing any selcctions I have made - and that is not the reason for this proposal. The reason for this proposal is to help educate uses in the need for and usage of selection by popping the educational message if a user attempts to apply an effect without a selection.
      • Gale 09May17: Steve has frequently complained about Autoselection removing selections, including in his recent message about the user who moved focus into Selection Toolbar. With Autoselection on, make a selection, click in the application background to deselect the track, then apply an effect. Or see your Use Case in this Proposal about clicking Delete twice in error.

        There is currently only a fairly minor issue with some novices not knowing they can click and drag to make a partial selection. To educate them in the way you want, we make it harder for those who only need a full selection and for whom currently, autoselect does it for them. That is why those equally noob users need to be told inline how to select all and to be told that an autoselection method exists.

      • Peter 09May17: The Alernative-1 error message is indeed correct as worded. If you have autoselect turned on then you will never see this message.
      • Gale 09May17: The Alternative-1 message gives no mention of the Autoselect feature, so it is at best misleading. You have chosen to turn autoselect off by default despite it has saved countless user support requests, so I think the message should mention that the feature exists (user has to click Help to find out about it).
      • Peter 09May17: As someone who spends a lot of time WTFM I naturally want to encourage folk to RTFM. There is no onus on any user to click the Help button if thay dont't want to. And it is generally acknowledged in User Interface design circles that overlong verbose messages are counter-productive. But we can always extend our message here later if we think that is required (based on RL user feedback). and BTW "just RTFM" is just what we are proposing for Prefs dialogs and EGAs.
      • Gale 09May17: I answered your point about verbose messages already. Alterrnative-4 is by no means verbose or complex compared to the warning about uncompressed formats. I have no idea what RL and EGA are. My point is that those who figure how to select all after reading the message might not read the Help at all and so be denied autoselect which is currently on by default. IMO, those who can't partially select (whom I assume are the target of your message) are just as timid as those who can't Select All. Both need encouragement to read help, if we we need this proposal at all.
      • Peter 09May17: This proposal aways stated (in the Details section) that existing users would not have their pre-existing setting for autoselect changed - unless, that is, they choose the reset option on installation of manually purge their audacity.cfg file. For clarity I repeated that in the "Select All on None" H2 section at the bottom of this proposal.
  • Steve 08May17: +1 for the 'simple' solution of making "Select All if none..." an off by default option, with a "Alternative 1" style
  • 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 new page on Selecting Audio 101 in the Manual.
  • On clicking OK, the "reminder" closes
The following two items would only apply if we decided to use a modeless dialog for the "reminder":
  • 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 will 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.
If we use an extended message with a checkbox to turn on autoselect, 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 message than they will not see the message again.
  • Gale 09May17: I added two words to Alternative 3 to help with that, but a modeless dialogue is no longer part of this proposal AFAIK.

GUI Examples

Alternative 1: A modal dialog 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 Tracks Behaviors Preference to autoselect 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 it 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 selection is present.
  • Default setting for select-all-on-none would be set to disabled, rather than removing that setting entirely.
  • Turned "off" by default for first installation and for reset of audacity.cfg (either chosen during installation or manual reset). All other existing users would have their audacity.cfg seeting for this option unchanged.

Previous Feature Requests relating to this proposal