adfinis / timedctl

GNU Affero General Public License v3.0
5 stars 0 forks source link

Add options for non-billable and needs-review #16

Open gianklug opened 1 year ago

gianklug commented 1 year ago

Currently these options can neither be viewed nor set. I suggest to only make them editable via timedctl edit and display them in an extra column in each table.

gianklug commented 1 year ago

I need feedback there; I had a prototype but I'm not too sure on how this would be implemented in the most usable way.

┌──────────┬─────────────────────┬──────────────────┬───────────┬──────────┬────────┐
│ Customer │ Project             │ Task             │ Comment   │ Duration │ Flags  │
├──────────┼─────────────────────┼──────────────────┼───────────┼──────────┼────────┤
│ Adfinis  │ Example Project     │ Some Task        │ Something │ 6:00:00  │ NB     │
│ Adfinis  │ Example Project     │ Some Task        │ Something │ 0:45:00  │ NR     │
│ Adfinis  │ Example Project     │ Some Task        │ Something │ 0:15:00  │ CV     │
│ Adfinis  │ Example Project     │ Some Task        │ Something │ 1:00:00  │        │
│ Adfinis  │ Example Project     │ Some Task        │ Something │ 0:15:00  │        │
└──────────┴─────────────────────┴──────────────────┴───────────┴──────────┴────────┘

This example would just add a "flags" column (NB=Non-Billable, NR=Needs Review, CV=Customer Visible)


The reports / activity creation would just get a new question:

Do you want to set Non-Billable or Needs-Review?  (y/N):  y
Set Non-Billable? (y/N): y
Needs Review? (y/N): n

The same prompt could be added to the edit command.


I'm not a UX specialist and I'd like to hear the opinion of people using this project actively and would maybe even need these options in the future.

@eyenx @hairmare @weberval do you like this approach? Or do you wish for a different implementation?

hairmare commented 1 year ago

My guess is others have probably already used timectl more than me, so take my inputs with a grain of salt while i rummage through my storage in search of my "UX specialist" hat. The last time i worked in a team that rented an actual UX lab (and supporting services) is a looooong time ago :sweat_smile:

have you considered emojis :grin:

NB = 💸 NR = ❌ CV = 👀

emojis are probably a bad idea, but maybe adding some color could help communicate the intent better. Does moving the flags to individual columns make the table too wide? If you use abbreviations, you might want to always print the legend at the bottom of the table.

Instead of 3 y/n questions, maybe something checkboxy (akin to this textual demo) could reduce the amount of keystrokes to reach the actual options.

Accepting the defaults on such a widget could be a single Enter and you'd use Arrow-Up and Arrow-Down for navigation and Space for toggling. With that you wouldn't need the first "Do you want to set Non-Billable or Needs-Review?" question anymore and it might feel just as intuitive.