mathisdt / trackworktime

Android app to track your work time via WiFi or location and categorize each recorded intervall by a predefined client/task and a free text.
https://zephyrsoft.org/trackworktime
GNU General Public License v3.0
138 stars 30 forks source link

Task semantics and home screen widget #160

Open hungerburg opened 3 years ago

hungerburg commented 3 years ago

Tasks is a nice feature, it makes for some complications though, so it might merit documentation, thinking out loud:

The app interface is up to the task (pun intended), "Start new period" will use the currently selected task for the Clock-In event. Perhaps the current active task should be highlighted in some way too, e.g. having two stars next to it in the list?

Not so from the home screen widget. I find that mostly useful to quickly clock out for a break and clock in when taking up work again. Is it more likely, that I continue with the last task, or that I start the default/empty task? What if the date changed in-between?

How not to overly complicate the UI? Perhaps, make switching tasks or hints require pulling up the app and make the home screen widget strictly for breaks and having a day (stop tracking); so instead of the "New" button, put in its place a toggle that reads "Break" and "Continue" (like "pause" on a tape recorder?), where "continue" always would continue the task last started, so should be clear semantics and could even be abused for night breaks, while "Start/Stop" can remain not specified regarding tasks.

What do you think of it? That should keep the UI lean, but maybe requires some thinking from user side. (Less so, if the task name was written on the widget header though.) And yes, some finicky programming too ;)

So much for loud thinking!

mathisdt commented 3 years ago

Thanks for your ideas! I think the UI indded could be designed better, from my viewpoint there could be a widget (maybe another one while keeping the current one unchanged?) with a task selection possibility.

hungerburg commented 3 years ago

Thank you, I am quite fond of my idea too :) A task selector also was my first idea. In the android docs I read, that a widget cannot open a popup, it would have to send an intent to the app, which would then present a dialogue; but that seemed overworked, as opening the app myself to switch task is not much of an effort. Still, I do not see much sense in the New button now, that is, in creating an unlabelled event, so the idea came, to use it for break/continue, pause/unpause. Perhaps though, I miss something, perhaps the idea makes sense.

mathisdt commented 3 years ago

A new event is not unlabelled, it uses the default task. And perhaps a carousel/spinner for the tasks makes sense in a new widget - this way a popup for task selection would not be necessary.

Of course, nothing speaks against adding multiple widgets, one for every use case.

WildOrangutan commented 3 years ago

Spinner is not supported for widgets. Maybe widget could simply have two buttons to roll between tasks, like "next task" and "previous task".

hungerburg commented 3 years ago

As I see it, from the exports, the "New" button in the wizard switches to "unspecified" (no value in text column), so a use case would be, to start at task from the app, later hit "New" in widget (no feedback though), to mean, task finished, go back to regular.