Difference between revisions of "Proposal Improvements to the Timer Record time data-entry spinbox controls"

From Audacity Wiki
Jump to: navigation, search
(Use Cases: #Users find the spinner data-entry for time values to be confusing and un-natural, causing incorrect entry values.)
(Details: Improvements to the time data-entry spinbox controls)
Line 14: Line 14:
  
 
==Details==
 
==Details==
*'''Optional forced Save and/or Export on Timer Record completion:''' add tools to optionally auto-save/export and optionally close down the computer and/or input stream.  Would require extensions to the setup dialog box.
+
'''Improvements to the time data-entry spinbox controls'''
**An option to auto-save and/or auto-export at successful completion of the recording event, to a user-specified name and location (and specified format for export). Would need to be specified at event set-up which would require extensions to the setup dialog box.
+
* Simplified spinner controls for time entry with hh:mm only ''(I doubt that anyone uses seconds except when testing)''.
**Optionally close Audacity on successful event completion.
+
*hh (and mm) to be a single field rather than separate digits of units and tens.  Thus the up/down arrows would operate on hh (and mm) as an entity.
**Optionally shut down the computer on successful event completion.
+
*No ripple-through interaction from the hours field to the date field.
**Optionally disconnect the internet stream (if appropriate) on successful event completion.
+
*No ripple-through interaction from the minutes field to the hours field.
*'''Peter 24Feb15:''' <font color="gray"><strike>For 2.1.0 Vaughan has provided an automatic Save on TR completion if the user has Saved the project prior to starting the timed recording, otherwise on completion the user is invited to make the save.   This interface need a little more work for the next release as the behavior is somewhat opaque and not very discoverable. </strike></font>
+
*The minutes field to be limited to its logical maximum of 59 minutes.
*'''Peter 22Mar16:''' Mark Young has been working on implementing the changes requested in this proposal with an extension to the Timer Record dialog box giving access to the new options for Automatic Save, Automatic Export and completion action. This makes the automatic save much more "discoverable". There is no explicit option for disconnection from an internet stream that a recording may have been made from, but if the user chooses "Shutdown System" or "Restart System" as the completion option then the webstream will de facto be  disconnected.
+
*The hours field to be limited to its logical maximum of 23 hours.
 +
** '''Gale:''' There are at least two cases where the Start and End spinboxes interact unintuitively with Date:
 +
*** You cannot type a spinbox character that results in a time in the past; the input is ignored and the selected digit is advanced. In particular there is a clearly expressed expectation that setting hours to the past would advance the date forwards.  
 +
*** The hour spinbox increments the date perfectly in a forwards direction by typing or up arrow (even incrementing by a day and changing hours to "07" if you have 21 hours and increment the "2" to "3"). However incrementing hours backwards with down arrow does not move the date backwards when you reach "00" hours (even if the previous day would still be a time in the future); moreover a further down arrow from "00" hours zeroes all the digits.
 +
*** The above are not apparently bugs but arguably reasonable behaviour for TimeText controls as used in Selection Toolbar. Perhaps these are not good behaviours in a Timer and may suggest using another type of control integrated with the date. Or perhaps time controls should increment date backwards and a time in the past can be set, but it greys out OK.  
  
 
*'''Waiting for Start dialog enhancements:'''
 
**Under "Waiting to start recording at: dd-mmm-yy hh:mm:ss", add duration and scheduled stop time:
 
*** Recording duration: hh:mm:ss
 
***Scheduled to stop at: dd-mmm-yy hh:mm:ss
 
**Add post completion actions selected:
 
*** Automantic Save Enabled:  Yes/No
 
*** Automatic Export Enabled:  Yes/No
 
*** Post Timer Recording Action:  <action(s)>
 
**Remove "Elapsed Time: hh:mm:ss".  It adds nothing is of no real clue to the user.
 
**Rename "Remaining Time: hh:mm:ss" to "Recording will commence in: hh:mm:ss"
 
 
 
*'''Add a Confirm dialogue when the user uses Stop/Spacebar/Esc:'''
 
**Effected (while Waiting or Recording) to prevent accidental stoppage.
 
** Simple Yes/No two-button dialogue
 
** "No" to be the default
 
***Thus two accidental presses on the space bar cannot halt the ongoing Timer Record.
 
{{note|'''Peter 01Apr16:''' The recording/waiting can easily be accidentally stopped while waiting or recording by a single press of the spacebar.  This is due to the fact that focus is on the "Stop" button in the dialog. }}
 
 
 
*'''Error handling (or warning) on potential disk full situation'''
 
**When a single Timer Record event is created ''(or set of Timer Record events if the multi-event feature is added)'' that would exceed the potential remaining available record time that Audacity calculates ''(and which would lead to a full disk and a failed recording)'' generate either an error message (or possibly a warning to enable the user to free up disk space).
 
**Would need to be further invoked if the '''Ability to change the event times''' as below is implemented
 
 
 
*'''Ability to change the event times:'''
 
**Add the ability to change (extend or shorten) the recording stop time during recording.  Would require a modification to the "Audacity Timer Record Progress" dialog box.
 
**Add the ability to change (extend or shorten) the recording stop time or the start time while waiting to record.  Would require a modification to the "... Waiting for Start" dialog box.
 
***This is less critical than the ability to change while the recording is ongoing as the user has the workaround of Cancelling the waiting Timer Record dialog and setting up a fresh Timer Record.
 
**Would need to invoke the "Error handling (or warning) on potential disk full situation" if and when that is implemented
 
 
 
*'''Controls:''' Timer Record to facilitate availability of all the normal set of Audacity recording controls:
 
#use of the Mixer Toolbar sliders to adjust the signal level
 
#drop markers/labels with Ctrl+B and Ctrl+M,
 
#zoom in/out,
 
#pause and un-pause recording ''(Note that this merely temporarily interrupts the recording; it does not extend the recording time)'',
 
#change the track size,
 
#rename the track,
 
#change the waveform display type.
 
 
 
*'''Add a Timer Stop to be available for manually initiated recording.'''
 
**Provide a '''Timer Stop''' to be available for a manually initiated recording to be stopped after a settable time, possibly implemented by making the Timer Record dialog available after recording has been initiated.
 
**Presumably this could be implemented by providing access for the user to the Timer Record setup dialog while a recording is active.
 
 
 
<font color="gray">
 
*<del>'''Re-size the "Progress" box smaller'''</del>
 
**<del>The "Progress" box is un-necessarily wide at 22 cm</del>
 
**<del>Reduce the width of the "Progress" box to 10.5 cm to match the width of the "Waiting for Start" box'''</del>
 
**<del>This would still leave the progess bar wide enough to be useful (cf. progress boxes for Effects and Analyze tools which are only about 8.25 cm wide).</del>
 
***This has been completed.
 
</font>
 
 
 
*'''Ability to minimize the Timer record Window'''
 
**Timer Record to behave like a proper Windows window so that it can be minimized to the Applications bar with the minimize button in the Audacity window. 
 
***'''Gale:''' Bug [http://bugzilla.audacityteam.org/show_bug.cgi?id=104 104] relates to this.
 
***'''Gale:''' It would be quite odd on Windows to be able to minimize an app having a modal window ''(though Ubuntu allows it)''. So making Timer Record dialog modeless (for the current project) would be one solution.
 
 
 
*'''Improvements to the time data-entry spinbox controls'''
 
** Simplified spinner controls for time entry with hh:mm only ''(I doubt that anyone uses seconds except when testing)''.
 
**hh (and mm) to be a single field rather than separate digits of units and tens.  Thus the up/down arrows would operate on hh (and mm) as an entity.
 
**No ripple-through interaction from the hours field to the date field.
 
**No ripple-through interaction from the minutes field to the hours field.
 
**The minutes field to be limited to its logical maximum of 59 minutes.
 
**The hours field to be limited to its logical maximum of 23 hours.
 
*** '''Gale:''' There are at least two cases where the Start and End spinboxes interact unintuitively with Date:
 
**** You cannot type a spinbox character that results in a time in the past; the input is ignored and the selected digit is advanced. In particular there is a clearly expressed expectation that setting hours to the past would advance the date forwards.
 
**** The hour spinbox increments the date perfectly in a forwards direction by typing or up arrow (even incrementing by a day and changing hours to "07" if you have 21 hours and increment the "2" to "3"). However incrementing hours backwards with down arrow does not move the date backwards when you reach "00" hours (even if the previous day would still be a time in the future); moreover a further down arrow from "00" hours zeroes all the digits.
 
**** The above are not apparently bugs but arguably reasonable behaviour for TimeText controls as used in Selection Toolbar. Perhaps these are not good behaviours in a Timer and may suggest using another type of control integrated with the date. Or perhaps time controls should increment date backwards and a time in the past can be set, but it greys out OK. 
 
 
 
<br>
 
<font color="gray">
 
*<del> '''Remove the Cancel button from the Progress box''' </del>
 
*<del> ''(Fixed by Vaughan for v2.0.1.)''</del>
 
**<del> Simply remove this button from the box</del>
 
**<del> The box has a de facto cancel already in the '''X''' in the top-right corner</del>
 
**<del> A second de facto cancel is available by use of the '''ESC''' button</del>
 
**<del> User can achieve the same effect by using the '''Stop''' and then optionally deleting the recorded track if required (this is safer). </del>
 
</font>
 
  
  
 
===GUI Examples===
 
===GUI Examples===
 
TBP
 
TBP

Revision as of 16:34, 2 April 2016

Proposal pages help us get from feature requests into actual plans. This page is a proposal to improve Timer Record
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 Problems

The Timer Record TimeText controls do not interact intuitively with the Date controls.

Proposed Features

  1. Improvements to the time data-entry spinner controls.

Developer/QA Backing

  • Peter Sampson:

Use Cases

  1. Users find the spinner data-entry for time values to be confusing and un-natural, causing incorrect entry values.

Details

Improvements to the time data-entry spinbox controls

  • Simplified spinner controls for time entry with hh:mm only (I doubt that anyone uses seconds except when testing).
  • hh (and mm) to be a single field rather than separate digits of units and tens. Thus the up/down arrows would operate on hh (and mm) as an entity.
  • No ripple-through interaction from the hours field to the date field.
  • No ripple-through interaction from the minutes field to the hours field.
  • The minutes field to be limited to its logical maximum of 59 minutes.
  • The hours field to be limited to its logical maximum of 23 hours.
    • Gale: There are at least two cases where the Start and End spinboxes interact unintuitively with Date:
      • You cannot type a spinbox character that results in a time in the past; the input is ignored and the selected digit is advanced. In particular there is a clearly expressed expectation that setting hours to the past would advance the date forwards.
      • The hour spinbox increments the date perfectly in a forwards direction by typing or up arrow (even incrementing by a day and changing hours to "07" if you have 21 hours and increment the "2" to "3"). However incrementing hours backwards with down arrow does not move the date backwards when you reach "00" hours (even if the previous day would still be a time in the future); moreover a further down arrow from "00" hours zeroes all the digits.
      • The above are not apparently bugs but arguably reasonable behaviour for TimeText controls as used in Selection Toolbar. Perhaps these are not good behaviours in a Timer and may suggest using another type of control integrated with the date. Or perhaps time controls should increment date backwards and a time in the past can be set, but it greys out OK.


GUI Examples

TBP