BlogProduct UpdatesIntervals on Time Entries

Intervals on Time Entries

January 29, 2016 · 4 min read

While we are working on a new version of Everhour, we are doing our best to bear in mind all change requests and ideas we’ve been asked for. But sometimes a feature might be more complex than people think. And by first and foremost I mean usability point rather than some engineering problem.

One of such features stands as “Show time intervals next to the reported time”. This topic has been in high demand on our forum.

In the following article I’m going to provide you with some scenarios that (hopefully) explain the complexity we are referring to and how we’re going to address them in the new version.

Use cases

Let’s assume that our user is working on kind of email marketing campaign and has outlined the following plan for today:

Mailchimp Campaign Sample

First of all, let’s consider the easiest scenario when he approaches tasks strictly one by one. Click “Start timer” when he undertakes the task and “Stop timer” only when the task is fully completed.

09:00-10:00 – Prepare Data for the list
10:00-11:00 – Create Appropriate List Segments to Ensure Relevance & Import
11:00-11:45 – Unique A|B Split Campaign Template
11:45-12:45 – Campaign Message/Header
12:45-13:00 – Accurate Social Media Links & Analytics
13:00-14:00 – Launch
14:00-14:30 – Test Campaign to Myself and Stakeholders
14:30-14:45 – Corrections & Acceptance
14:45-15:00 – Schedule the Campaign

Indeed, in such a case the daily report view looks nice, correct and informative.

Scenario 1

But let’s change our script to make it more realistic.

Let’s assume that our user interact with other team members, and of course they may need some time to respond back – prepare some data or assets – thus, our user may need to stop working on one task and temporarily switch to something else, to avoid idling, and at some point return back and continue.

Real case

How should we handle that? Create a new entry each time he click Start / Stop timer? We believe it’s not the best idea.

15m 09:00-09:15 – Prepare Data for the list
15m 09:15-09:30 – Create Appropriate List Segments to Ensure Relevance & Import
15m 09:30-09:45 – Unique A|B Split Campaign Template
45m 09:45-10:30 – Prepare Data for the list
45m 10:30-11:15 – Create Appropriate List Segments to Ensure Relevance & Import
15m 11:15-11:30 – Unique A|B Split Campaign Template
1h 11:30-12:30 – Campaign Message/Header
15m 12:30-12:45 – Unique A|B Split Campaign Template
15m 12:45-13:00 – Accurate Social Media Links & Analytics
1h 13:00-14:00 – Launch

Or we may treat time interval and reported time separately. I.e. showing when the task was started and when was the last activity. But that also sounds confusing.

1h 09:00-10:30 – Prepare Data for the list
1h 09:15-11:15 – Create Appropriate List Segments to Ensure Relevance & Import
45m 09:30-12:45 – Unique A|B Split Campaign Template
1h 11:30-12:30 – Campaign Message/Header
15m 12:45-13:00 – Accurate Social Media Links & Analytics
15m 13:00-14:00 – Launch

Also, please don’t forget that user can report time manually, not only via timer. For instance, I can report  “Lunch time” which I forgot to add during the day. In such a case, we will not have an exact time interval. In best case we can rely on an entry creation date. And selecting intervals via dropdown will complicate the process greatly.

In addition to reporting, time could be edited. For example user can do it in case he forgot to stop timer and left for launch. Updated record doesn’t have an exact interval, furthermore, it can overlap the existing one. Therefore, he may need to change intervals for all subsequent tasks as well.

Team administrator can edit time entries on behalf of other company employees. For example preparing a report or invoice for the past week he could notice something wrong or the entry could have an inordinate amount of time and he may decide to change that. In this case, again, we lose the accuracy of time intervals.

 Solution

In the light of above, we believe that showing just Start/End ranges for each activity is not enough.

Instead, we aim to store and display a complete history of updates by task – When it was created, when estimated, when someone started to work on it, who it was, when it was re-estimated, when time was corrected, etc.

We will show this nicely either in a popover or on a separate task details page.

Out thoughts

Anyway, that’s our take on things and we are ready to listen to your thoughts.

Everhour Product Owner & a tireless driving force of the company. Constantly in search of new opportunities, responsible for the growth strategy as well as the team’s motivation and integrity.

Have questions or want to learn more? Contact Us or Leave a comment

  • Thanks for the eloquent response to this feature request. I am looking forward to v2. Where can I sign up to receive product updates regarding that release date?

    • Hello Lauren. If you received an email about this blog post, then you already subscribed for future updates 🙂

      http://eepurl.com/bNcVwj – early access subscription.

      • I only received an email because I’d commented on a feature request for this particular feature in the past. I signed up at that link; thanks. 🙂

  • Adam Waller

    First off, I am thrilled to see the progress in this area! I understand the complexity challenge on the usability side, and the detailed audit record is a brilliant step in addressing it. This also provides a clear audit trail of *how* the time was adjusted, which can be important, especially when it carries financial implications.

    I wanted to suggest a further improvement that I believe would probably satisfy 95% of the feedback related to the “Time Segments” suggestion. – A Timeline View. Let me illustrate this a couple different ways.

    Based on my own experience, and in reading the comments on this suggestion, it seems that the majority of people would use this feature to ease the reconstruction of time spent. In real life, interruptions happen all the time. My boss suddenly calls me in for a meeting. I get back to my desk, and two hours later, realize my tracking was timing something totally different. The audit history helps, but I still have to stop and do the math to figure out how much needs to be added and subtracted from the various projects I should have been timing. It works, but it is still tedious.

    Let me give another example. One arena that relies heavily on a timeline based approach is the video editing industry. Across the spectrum of video editing software packages, you find various approaches to adjusting segments on a timeline. Of note, in Microsoft Movie Maker targeting novice users (read: simple usability) you have two view options. A storyboard view, and a timeline view. Storyboard shows a simple list of clips, while the timeline shows the actual segments scaled across a timeline.

    What I am suggesting for EverHour is to add a Timeline view (in addition to the existing task list view). This gives you the best of both worlds. The simplicity of a condensed task list with hover audit trail, and for those who want the timeline, one-click access to a timeline where they can dynamically adjust the time allocation with the simplicity of drag and drop. (Using the same concept we see in Google Calendar.)

    Below is a simple mock-up of a concept that I think would be intuitive and easy to use. Time segments would be listed vertically, like they are in Outlook or Google Calendar, and color-coded to a legend of task names on the right. On the left you would have a scale option where you could adjust segments to fill from 1 hour to 5 minute segments, depending on your preference. Clicking between connected tasks would adjust both, while highlighting one would allow you to drag either boundary. (We can borrow design concepts from video timeline editing.) Selecting blank areas would allow you to choose or create a task.

    I believe that this timeline view option would dramatically improve the usability of adjusting/correcting time reporting, and give EverHour a significant edge over other competing products.

    • Tyson Cecka

      This is also what I would be looking for in the addition of time intervals. The two trickiest things I do right now with Everhour is 1) figure out how much time I have to subtract from a timer that was running when I was doing something else, and 2) figure out how to get all the time to add up to the right amount per day if I am entering it all in after the fact.

      Our team is looking to switch from YAST which is the only simple visual timeline view I could find for time tracking. It really helps a lot when editing time so that you don’t make a mistake and report yourself working on two things at once. Having this functionality in Everhour would be fantastic and make the switch easy.

    • Hello Adam,

      WOW, appreciate your feedback. Enjoy reading detailed and thoughtful comments!

      The idea is clear and we will keep it in mind. In any case, we cannot spend time on it right now. There are number of more important tasks.

      In addition, it does not solve all problems. For example, if the admin edits time on behalf of someone else, how can he know the exact time interval?

      • Adam Waller

        Hi Mike, regarding the admin edits, there are a couple trains of thought in this regard. In most cases user groups will be working with either timeline OR totals when it come to adjusting timelines. A simple solution is to lock the editing so that AFTER a timeline is edited in timeline view, the time entries for that user/day can ONLY be adjusted from the timeline. For those that don’t use the timeline, they can simply adjust the time up and down as they do now. Those that use the timeline (for that day) will need to make the additional decision about which segment they are going to change.

        A second approach would be more technically complex, but still potentially feasible. When reducing time, sort the day’s segments by size, and reduce, starting from the largest segment until the reduction is fully reflected.

        Time additions could potentially be more complicated. In most cases, adding the new time at the end of the last recorded segment would work fine, but you could have some cases where someone pulled an all-nighter, and the addition would have to be split up to fill the existing gaps.

        Personally, I think the first approach would be the better one to take, as it reduces the complexity (and development costs) and leaves a reasonable limitation that would only affect a very small subset of actual use cases. (Where a team is using timelines AND supervisory adjustments, and even then, we are only talking about a few more clicks to adjust on the timeline instead of adding time directly on the project.)

        I don’t think this “limitation” would really be a problem when I think of it from the perspective of an end user. If I was using the timeline to organize how I used my time, and my supervisor adjusted it, I would want to see whether they were asserting that I came in late, or took too long on my lunch break. If I am recording my time with that level of accuracy, I wouldn’t want someone indiscriminately adding or removing time from work days without making conscious decisions about where and when that change was taking place.

  • Hi Mike,
    I think the solution you chose is the one that can handle most scenarios in the best way. I find using a popover for showing task details is a really good idea too, talking about usability.
    Maybe the only issue is how to handle the case in which you have lots of details… will the popover be easy to look at? Limiting items number could be a solution.

    • Hi Matteo,

      Honestly we haven’t thought much about the design yet, just identified the basic concept, that we should store changes history and further display it somehow. We’ll come up with something keeping in mind the potential amount of data 🙂