Internal Projects & Tags in Everhour 2
We continue working on Everhour 2 and as we have been doing in the past, I’d like to share beforehand the details of yet another important problem that exists in the current implementation, as well as a fairly good solution that we consider for the upcoming release.
Prehistory of Tags
Initially, there were neither synchronizations nor tasks in Everhour. Everything was super simple, create a project and start reporting time with a comment:
- working on Checkout page design 2h
- Skype meeting 30m
- team training 1h
However, when you have lots of records, you obviously want to group them. And it’s not possible by a free text, whereas having just totals by project, a member, or a date maybe not be enough. That’s why we’ve added tags.
- working on Checkout page #development 6h
- Skype #meetings 30m
- #internal team training 1h
Tags can be appended at any position of the comment, so they often become an integral part. Which is very convenient in terms of input and reading, but not easy in managing.
If you rename a tag, the note may lose its original meaning. Besides, some notes may have only one word, a tag, and it can’t be removed.
Thereby, very soon we faced a number of serious questions with tags, both concerning technical and usability points.
Then we started to integrate with third-party apps.
Why should I copy/paste a note about what I’m doing, when it’s already in my task? It makes more sense if I simply refer to it and start the timer.
In addition, external tasks have many useful attributes that can be used in reporting. Tags are among them. As soon as I time track a task, the report will automatically include all the necessary information.
But now Everhour has tags and each third-party apps has its own tags.
It seems right if tags management takes place where assignments, deadlines, etc. are configured. Why tags should be managed elsewhere?
In addition, there is no reason to select a tag at the moment of reporting time. It makes no sense to add extra tags on the side of the time tracking app. If you constantly keep adding a tag, why not just add it to the task itself?
I’d mention that tags like #billable / #non-billable, #invoiced / #not-invoiced could be used as a temporary solution, but the paramount problem has to be addressed differently.
We admit that there are users who will claim that they absolutely need internal tags, but in our opinion, it’s an unnecessary complication of the system. Besides, it’s a considerable waste of time in terms of development and maintenance. We can focus on more important features.
The simplest conclusion from the above – we should get rid of internal tags. If all projects and tasks are managed in third-party apps, everything sets back in its place. The majority of our users (and our target) are companies that use at least one third-party tool for project management and simply are looking to supplement it with a good time tracking (invoicing) system.
However, in some cases tags may still be needed. To define this, let me quickly explain another topic.
Internal Projects
We distinguish 2 types of companies as our primary clients:
-
Company manages 100% of projects and tasks in external systems like Trello, Asana, Basecamp, or Pivotal. If the employee wants to report a “meeting,” it should be a separate task for it.
-
Company manages only part of tasks in the external system(-s), but whatever reason is, managing there all tasks is not convenient. For example, developers may find Pivotal or Github sufficient, but it’s an obvious overhead for the accountant, support, or sales manager. They just need a separate project with atomic ongoing activities to report.
In the first case, everything’s great. I connect Everhour with a third-party app and all my projects, tasks, meta-information is automatically synchronized and kept up-to-date. In case of creating a new project or task – I can immediately report time to it, any changes made, like project renaming or adding a tag, are automatically reflected in the reports. I do not create projects, tasks, or tags in Everhour.
Now, how about the second case? It is obvious that we need some sort of internal projects in Everhour, which aren’t connected to any third-party tool, but the reported time should be available in reports along with the projects and tasks from external systems.
Reporting “free text + time” isn’t an option, we are losing grouping opportunities, therefore (new feature !!!) in the new Everhour version creating an internal project, I have to create some basic tasks in it.
For example, an “Internal” project and a task like sales, pr, hacking, vacation
{Project + Task + Time + (optionally) Extra note}.
For example: “Internal: Sales 2h working on design quotation”
And this is where we have to return back to our original topic with tags.
Tags are very useful in reports. They can be used in filtering, grouping, etc. In order to operate with all time entries, it should be possible to include the same tags into tasks from internal projects since they must also be considered in totals.
However, it won’t work as before. Tags have to be pre-assigned to tasks, not added at the moment of reporting time.
So, that’s our take on things and we are ready to listen to your thoughts.
Do you think internal projects and tags are useful? If not, why? Have we missed something important? Does mentioned above sound usable and straightforward?