lordi / tickmate

One bit journal
GNU General Public License v3.0
111 stars 35 forks source link

Protect journals from accidental messing up #39

Closed Self-Perfection closed 9 years ago

Self-Perfection commented 9 years ago

It seems currently there is no protection from user mistakes.

For example, in context menu of a track in "My tracks" dialog "Deactivate" and "Delete" items are close to each other and "Delete" command just deletes track without any confirmation. Thus it is relatively easy to miss desired menu item and instead of disabling track delete it.

Backup feature is not enough protection as it requires manual actions and cannot be triggered by schedule.

The second problem is a high chance for messing up records for past days. I suppose that previos days records should be protected somehow. Possible approaches:

  1. Changing tick for past days should ask for confirmation
  2. Editing ticks might be allowed for just one "active" date
    • Row of active date should be highlighted.
    • When app launches active date should be set to today.
    • Tapping on a tick on other day than active should display notification "Select this date before editing records".
    • A user can set any date as active by tapping on row header (the first cell in row with date info)
lordi commented 9 years ago

Thanks for the hints, these are very valid points. Confirmation for track deletion is a absolutely required.

For the second issue, another approach just came to mind:

  1. Highlighting all ticks of the last minute or so. This way the user can quickly see falsely placed ticks but would not be interrupted in his/her normal use.
Self-Perfection commented 9 years ago

3. Highlighting all ticks of the last minute or so. This way the user can quickly see falsely placed ticks but would not be interrupted in his/her normal use.

Nice idea! I like it more than my suggestions. But it requires careful implementation to avoid user confusion. Couple of notes on this approach:

  1. Highlighting should gradually fade out. It will help users to understand the purpose of highlighting and eliminates confusion if highlighting suddenly disappears after highlight period.
  2. If user notices mistaken tick and reverses it, highlighting should disappear instantly to indicate that now a tick in an original state. But it is not obvious how to make it work properly for multiple entries per day ticks. Consider touching multiple entries tick two times in a row. What is original state in this case? Is it -1 or -2 from current value?
lordi commented 9 years ago

The confirmation dialog has been implemented: 9fc3e184288398a42ee9d716719bd90b443f2aa1

lordi commented 9 years ago

With merge 69888f151f17b6dbbe2629d579eb2e7ef1ad4e18, there is a setting that would protect older ticks.