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

Re-Start an (existing) Timer? #30

Closed
nelsonic opened this issue Feb 17, 2015 · 4 comments
Closed

Re-Start an (existing) Timer? #30

nelsonic opened this issue Feb 17, 2015 · 4 comments
Labels
discuss Share your constructive thoughts on how to make progress with this issue help wanted If you can help make progress with this issue, please comment! priority-3 Third priority. Considered "Nice to Have". Not urgent. question A question needs to be answered before progress can be made on this issue

Comments

@nelsonic
Copy link
Member

As a user should I be able to continue a timer I have stopped/paused?
Or should the act of starting always create a new timer?

p.s: I don't know if this is MVP or Post MVP... #help ...
@iteles @NataliaLKB @FilWisher do the "other options" allow you to continue a timer you have stopped?

@nelsonic nelsonic added enhancement New feature or enhancement of existing functionality question A question needs to be answered before progress can be made on this issue help wanted If you can help make progress with this issue, please comment! discuss Share your constructive thoughts on how to make progress with this issue MVP labels Feb 17, 2015
@NataliaLKB
Copy link
Member

T does not allow you to continue a timer you have stopped. For me, I would definitely like this to be a feature.

@nelsonic
Copy link
Member Author

I like the idea of being able to re-start a timer. @iteles were you able to discover if "existing" timing apps have this feature (and a simple UI for it)?

The simplest possible timer record would contain:

{
  "person":"string",
  "desc":"string",
  "st":"timestamp",
  "et": "timestamp"
}

This is simple both for our team building the initial UI and for other developers using the API.
if we want to be able to _re-start_ (using the same record) we would need to either:

a) store the elapsed time and increment it (in which case we would update the et (end time) when ever the person taps stop. (which means we lose the data for the previous et)

{
  "person":"string",
  "desc":"string",
  "st":"timestamp",
  "et": "timestamp",
  "total":"integer"      // running total of seconds spent on this timer/task/activity
}

_OR_
b) If the timer has multiple starts and ends we could store them in a series (array)

{
  "person":"string",
  "desc":"string",
  "st": [ "timestamp1", "timestamp2", "timestamp3" ],
  "et": [ "timestamp1", "timestamp2", "timestamp3" ],
  "total":"integer"      // running total of seconds spent on this timer/task/activity
}

But this requires our UI people to write _logic-in-the-views_ e.g: check if st is an "array"

if(record.st instanceof Array) {
  // show the timer as a series of starts and stops
} else {
  // display a "simple" timer
}

_OR_
(And I don't like this, but I'm just illustrating how it can get complex/ugly fast...!)
c) store a series of rst (restart time) and pt (pause time) entries in the original record...
this could be done numerically (e.g: rst1 and pt1)
e.g:

{
  "person":"string",
  "desc":"string",
  "st":"timestamp",
  "rst1":"timestamp", // re-started time
  "pt1":"timestamp",  // paused time
  "et": "timestamp",
}

I don't find any of these to be an elegant solution... anyone else got ideas?

@iteles
Copy link
Member

iteles commented Feb 19, 2015

From a UI perspective, I would suggest this should be as simple as allowing people to press 'play' play-icon-blue-small on an existing timer from wherever you are in the app (as long as you're looking at a timer record, you can decide to pick up that activity again and restart the timer).

The simplest "options" (the only ones worth considering) allow for a 'restarting' of timers from the homepage - the today view - and deal with this in one of two ways:

  • (T) Hitting restart copies your timer information and starts a new timer with all the same details but new timestamps (and creates a new log in your today view)
  • (H) Hitting restart keeps the existing timer going and discards start and end time information

What we have to determine is how important is it to our people to record the timestamp of every entry vs just the total amount of time allocated to an activity (irrespective of when it was started and stopped).
I have some thoughts on this but would love to hear some other opinions first ;) @NataliaLKB @FilWisher @nelsonic

@nelsonic nelsonic changed the title Re-Start A Timer? Re-Start an (existing) Timer? Feb 19, 2015
@iteles iteles added priority-3 Third priority. Considered "Nice to Have". Not urgent. and removed MVP enhancement New feature or enhancement of existing functionality labels Nov 13, 2019
@nelsonic
Copy link
Member Author

We will not be allowing people to "re-start" a timer.
But given that we can link as many timers to a given item,
the person can easily accumulate multiple work sessions against the same item
and the UI will display the cumulative time.
See: #265

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue help wanted If you can help make progress with this issue, please comment! priority-3 Third priority. Considered "Nice to Have". Not urgent. question A question needs to be answered before progress can be made on this issue
Projects
None yet
Development

No branches or pull requests

3 participants