Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancement - make date and time equal the last entry's if too recent and too different from current time #242

Open
aleqx opened this issue Oct 11, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@aleqx
Copy link

aleqx commented Oct 11, 2023

Sometimes I need to enter multiple values later, and the app resets to current date and time, which means I need to change both date and time every single entry. I do understand why the default is current date&time.

It would be useful if the default was smarter, i.e. if the last entry was too different from current date&time and was made only a few minutes ago, then default to last entry's date&time, else the current date and time.

This will preserve current behavior for most usage, but would also help when adding multiple values in a row from older measurements.

@SamAmco
Copy link
Owner

SamAmco commented Oct 15, 2023

Hi, thanks for the feedback. I understand the use case, but I think I would solve this slightly differently just because I think there's a good chance users would not understand this behaviour and later report it as a bug or start accidentally tracking things in the future without realising it.

I think at some point I should add the ability to insert data points directly from the tracker history screen and perhaps this dialog could have an option for adding multiple data points somehow. Needs some thought.

@SamAmco SamAmco added the enhancement New feature or request label Oct 15, 2023
@aleqx
Copy link
Author

aleqx commented Oct 18, 2023

I'm not sure I understand your comment. Future dates wouldn't be possible. Also, the current behavior wouldn't be affected. Several apps do exactly that to make it easier to add several data points in a row from a past timestamp (e.e.g yesterday). I thought my explanation was already clear but I can try to re-explain

if age_of_last_input_seconds < 120 and last_datapoint_timestamp_seconds < current_timestamp_seconds - 4*3600:
   show_time_of_last_entry()
else
   show_current_time()

Numbers are just examples. It just requires to also keep track of the timestamp entries are made at, not just the timestamp of the datapoint, e.g. I can make 5 entries in a row now (today) of 5 datapoints that were collected 3 days ago.

@hirvinen
Copy link

hirvinen commented Jun 7, 2024

I think this sort of default behavior does not make sense for all use cases, even though it makes very much sense for some use cases. My idea for this is related, which is why I am not posting it as a separate feature request.

Start time selection helper

  1. Next to the time selector, add a button "End of last entry", or something like that.
  2. Clicking on it would change the time to the end time of the last entry.
  3. Also, because accidentally clicking on it might be annoying, upon clicking the button should be changed to "Now".
  4. Alternatively, a better UI fit might be a toggle "use end time of last entry", which should disable the manual time input if selected.

Duration setting helper

  1. Next to duration input, add a button "until now", clicking on which would update the duration input with the values "(now) - (start time)"
  2. Possible enhancement to this behavior: If another entry, with a time after the currently input start time exists, instead of(or in addition to it, as some people might be cool with overlapping entries), show a button "until next entry", which would then fill in the appropriate duration to fill in the gap.

Helper for filling in gaps:
This goes well beyond the behavior of the new entry work flow itself, but would be really useful for some use cases, and would partially share code with the above features:

  1. This first is a separate, probably a lot smaller to implement UI enhancement: For duration type trackers, calculate end time and display (optionally) also that in tracker item list.
  2. Add a feature for adding an item in that list view, based on existing items. A few alternatives come to mind:
  3. Optionally display gaps between entries as separate rows, and add a button "add entry here" on each, but deciding or implementing good UX for that might be tricky or too much work.
  4. Probably a better solution would be something along the lines of just adding a plus button to each row, which would launch the new entry input, with the start time already set to the end time of the item you clicked. I.e. a "add new entry just after this" button.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants