Comments (4)
T does not allow you to continue a timer you have stopped. For me, I would definitely like this to be a feature.
from app.
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?
from app.
From a UI perspective, I would suggest this should be as simple as allowing people to press 'play' 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
from app.
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
from app.
Related Issues (20)
- Question: Adding Bloc HOT 18
- Feat: Deploy `Flutter Web App` to `GitHub Pages` HOT 30
- Chore: Optimising `Flutter Web App` Page Load Time [Smoke and Mirrors] 🪄 HOT 2
- Research: How to "Reduce unused `JavaScript`" in `Flutter` Web App? HOT 13
- Feat: UI/UX for "Complete" in Single Player Mode
- Feat: `Capture` == `Edit` Mode Screen + Functionality
- [Bug] CI is not running the patching files properly HOT 1
- ReferenceError: IN_PROCESSING_REQUESTS is not defined HOT 7
- Feat: `Date` + `Time` Picker
- Feat: Setup `Bloc` in `App`
- refactor: Splitting code in layers
- Deploy `Flutter` App in `iOS AppStore` and `Android PlayStore` HOT 36
- chore: Deploying to web is not working
- Chore: Google Play -> Creating a developer account for an organization HOT 21
- Google Play Content Ratings HOT 1
- Chore: Google Play App Setup Checklist HOT 4
- Google Play App Setup -> App Access HOT 2
- Google Play App Setup -> Data safety HOT 3
- Google Play App Setup -> Delete Account URL HOT 2
- Super Editor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from app.