almarklein / timetagger

Tag your time, get the insight
https://timetagger.app
GNU General Public License v3.0
1.08k stars 98 forks source link

Support for teams (in some way) #142

Open almarklein opened 2 years ago

almarklein commented 2 years ago

TimeTagger is currently aimed at individuals. This allows it to be lean, because any features specific to teams is left out. This issue is to collect ideas for better teams support, and to set expectations.

I think that some sort of support for using TimeTagger in teams is feasible, but only in a way that maintains the simple/lean UI. Don't expect extensive "manager options", but think more in the line of collaboration as equal members in a team. A "team" could include anyone who you want to share with, possibly including clients. Also, you should probably not expect this feature soon, or at all. This is mostly to explore the options.

You can express your wish for this by commenting below, preferably with a use-case.

Ideas (brainstorm-like):

dzmitry-lahoda commented 2 years ago

timeline with multiple tracks will make things harder for me as I envision a timeline. for now the timeline is simple and good - I am one and one timeline. additionally, it fits better small screens. what can be done is different filters and visuals for not selected tags (like not include tag, but exclude tag filter; and not grey out, but invisible).

almarklein commented 2 years ago

timeline with multiple tracks will make things harder for me as I envision a timeline.

Yeah, also it does not scale to beyond 4 or so, so this particular option was probably a bad idea :)

boehs commented 2 years ago

I was just thinking about the first:

Enable sharing a subset of tags via a secret link. You can email that link to someone and they could see the work on those tags in a read-only way. Send it to your co-workers, manager, or client.

Probably also not too hard to implement.

almarklein commented 1 year ago

From someone interested in this feature:

I want to track the time invested in each project (joint hours of all team members - the total sum and per team member) and the total working hours of each team member. [...] if your “tags” can be managed from an admin account with some basic reporting capabilities that will work for us.

dzmitry-lahoda commented 1 year ago

Every tool which adds manager/admin makes tool no got for personal use.

So approach could be to ad allowance to consume some specific streams of my work by set of tags , e.g. foo.bar@baz.com can consume items tagged in #baz AND #work. Then there is separate view which will show timelines like not, but readonly with many columns. So less modifications to existing UI and similar to usual calendars sharing.

So if company wants to work with me, we settle on set of tags and I use these per person hired. If somebody will force tags on me, it will kill my own personal tag system.

This will work p2p too, as my firend will share with me, or me share with company and company to reshare with others(team).

Company can transform tag sets into its own tags, e.g. tag stream from me can be retagged as needed.

dzmitry-lahoda commented 1 year ago

So basically I just hate https://github.com/almarklein/timetagger/issues/142#issuecomment-1246426415

almarklein commented 1 year ago

First off, in this issue I try to get an idea of what support for teams can look like. Every person and team has (slightly?) different requirements and workflows. What works for you may not work for others, and vice versa.

So less modifications to existing UI and similar to usual calendars sharing.

I agree with you here, and also about that support for teams should not affect the 1-user UX. But I think what's mentioned in that comment does not contradict that. E.g. the company / team leader could define a tag, and then be able to view all records that include that tag.

dzmitry-lahoda commented 1 year ago

company / team leader could define a tag so I have tag foobar and they define foobar -> conflict?

dzmitry-lahoda commented 1 year ago

as soon as there is conflict defined by employer, tool is not longer mine way. also one employer told foobar and other foobar tell other thing - same tag.

may say - each client/contractor/employer will tell me "name_my_company_like" that.

but what either names be short or without Inc or use tickers from trading exchanges for their names?

or split my work in single company by teams somehow.

the way I can tell team lead - all work for you goes via this query of tags. that it.

dzmitry-lahoda commented 1 year ago

so i have my own brain in tags as in browser/anki/file system symbol links/timetager. if best case tags asked by team fit well to my system, but likely not. so as timetager user I would like to have tool which allows me in simplest case rename tags in stream to team. so really it can be 1. setup tag filter to detect. 2. setup tag renamings and tag merges or tag splits.

louis-lau commented 5 months ago

I can comment on how we currently use time tracking at the agency I work at.

Some fairly obvious manager functionality:
Every task belongs to a project (I suppose a tag in timetagger). Project managers should be able to have an overview of the time tracked by each user for a tag. This way they can track the project budgeted hours spent/left

Some employees work parttime and are paid hourly. Getting a report for a user should be possible, perhaps you should just be able to switch to another users timeline as well? A single report for multiple users would also be great.

Tags for things like projects would need to be managed centrally for the team to ensure consistency.

Some less obvious team stuff I use day to day:
We have an overview of everything everyone within the agency is currently working on (so only the things currently being tracked). Say I'm doing server maintenance, a colleague might see that and ask a server maintenance question as they know I'm doing things related to that anyway. We can also assume that if you're not in that overview, you're not currently working. There's also a "participate" button that copies the task from that user to me, which is great for things like meetings!

Avatars make people easy to recognize in this overview (not required of course), and sometimes we use statuses that are a little funny if we know it'll never reach a client :). It makes things more fun.

dzmitry-lahoda commented 5 months ago

@louis-lau thank for interesting feedback

Tags for things like projects would need to be managed centrally for the team to ensure consistency

this kills purpose of timetagger as effective tool allowing to mix personal time with one or more customers.

there are other centralized tools on market for you exists for sure :)

There's also a "participate" button that copies the task from that user to me, which is great for things like meetings!

what you mean by copies tags? will it mix with my tags? how centralized manager will start tracking copied tasks?

So to tbh hopefully something like timetagger will never became centralized hierarchical tool eliminating all flex of tags :)

louis-lau commented 5 months ago

this kills purpose of timetagger as effective tool allowing to mix personal time with one or more customers.

Not really. Only certain tags would be shared.

what you mean by copies tags? will it mix with my tags? how centralized manager will start tracking copied tasks?

I said task, not tags. Say I have a meeting with #client1, and my colleague Dave is also there, they could just copy that event to their timeline.

will never became centralized hierarchical tool eliminating all flex of tags

I didn't suggest that :). Just outlined how we use other tools as a team to provide feedback. I would just need a list of predefined tags shared with the team. I think that makes sense? Otherwise how would you actually use it as a team?

dzmitry-lahoda commented 5 months ago

thing is as soon as some manager centralizes and forces tags on me,

it immediately conflicts with my tags.

dzmitry-lahoda commented 5 months ago

task is just set of predefined tags

dzmitry-lahoda commented 5 months ago

i tried to describe it earlier.

but in short, i peek what tags to share, and it is job of manager to make tags map to team tags.

or tag mapping can be aligned collaboratively.

or even on export, view.

imagine some noisy customer with all task super severe and of high prio.

in my tags i will map all one ladder less. this is healthy.

dzmitry-lahoda commented 5 months ago

@louis-lau i used some tools before.

your description of flows seem like fits non tag first tools.

so imho tag first tool could have go other way, no centralized tag managment.

louis-lau commented 5 months ago

Sure but that's just like, your opinion. Just because support for teams could be added and I outlined my usecases for it doesn't mean it would be forced upon you. What are you talking about?

almarklein commented 4 months ago

@louis-lau thanks for explaining your use-case. That's very valuable to determine the direction TimeTagger could take.

@dzmitry-lahoda I understand your concern, but I can promise you that if/when I add support for teams, it won't affect the personal experience.

I don't know yet what it will look like, but I imagine it will feel much more as collaborative. A bit like you have a GH account for your personal projects and you use that same account to contribute to your employer's / client's projects.