For the complete documentation index, see llms.txt. This page is also available as Markdown.

Idle Time Detection & Time Tracking

Ango Hub keeps track of the time annotators and reviewers spend on their tasks.

This page explains time tracking in the standard Ango Hub labeling editor and how to configure Idle Time Detection in your projects.

Terminology

Tabs and Windows

Browser tabs and windows

Time Categories

There are two types of time shown in Ango Hub: active and idle.

Type
Description

Active

Time while the activity timer is running, including the period between the last detected interaction and the idle timeout. Activity does not have to change an annotation.

Idle

Time after the idle timeout has been reached, until activity resumes. A tab visibility change can also switch the timer to idle without waiting for the timeout; see the tab-switching limitations below.

The editor detects mouse movement, mouse clicks, keyboard input, scrolling, touch interactions, and focus events within its page. Activity in another application or the browser's address bar does not count as activity in the editor.

Reading an asset, watching a video, or listening to audio without interacting with the page can reach the idle timeout. The timer measures detected activity, not whether you are making annotation changes.

Active and idle durations are separate values. The idle timeout is a grace period: time before the threshold remains active time and is not reclassified as idle afterward.

How Time is Tracked

Timing starts when a task loads in the editor. When you click Save Save icon and the save succeeds, the active and idle time recorded since the last timer reset is added to the task's saved current-stage durations. The timer then resets and starts again.

When you submit a labeling task, or accept or reject a review task, the recorded durations are sent with the update. When the task moves to its next workflow stage, its current-stage durations are added to its totals and the current-stage counters reset to zero. Saving alone keeps the task in its current stage.

The Skip and Skip & Unassign actions also send the recorded durations with the task update.

Leaving a task without saving, submitting, or skipping does not save the time recorded since the last save. Time from earlier successful saves is retained. You do not need to add or edit an annotation for a Save or Submit action to record time.

The green dot in the top right of the editor indicates that the activity timer is running:

Green active-time indicator

After no activity is detected for the project's Idle Timeout (300 seconds by default), active timing stops, idle timing begins, and the dot turns gray:

Gray idle-time indicator

Detected activity resumes active timing. The indicator can take a fraction of a second to turn green again. The idle setting controls when timing changes; it does not display a separate inactivity dialog.

Switching Tabs or Applications

When the timer is active, switching to another browser tab normally starts idle timing immediately, without the usual grace period. Returning to the task and interacting with the page resumes active timing.

Switching to another application is different if the task's browser tab remains visible: losing window focus alone does not immediately start idle timing. The normal idle timeout applies if the editor receives no further activity. Minimizing or otherwise hiding the page can produce a tab visibility change instead.

Changing the Idle Time Threshold

To change when your project members are considered idle, navigate to Settings > General and set Idle Timeout in seconds. The field accepts values from 5 to 10,000 seconds. The default for a new project is 300 seconds (5 minutes).

The Idle Timeout setting is available for standard Ango Hub projects. 3D MSFT projects do not show this setting.

Idle Timeout in project settings

Click Save to apply the setting.

Idle Detection Examples

These examples assume a 5-second idle timeout, a task with no previously recorded time, and regular detected activity during each active period. Durations are approximate and omit loading, saving, and input-event delays. The tab-switch example assumes the visibility change is detected while the timer is active.

Scenario
Recorded durations

Work actively for 15 seconds, then save and leave.

Current stage: 15s active, 0s idle.

Work actively for 15 seconds and save. Reopen and leave without saving. Reopen again, work actively for 10 seconds, and save.

Current stage: 25s active, 0s idle. The unsaved visit is not included.

Work actively for 10 seconds, switch to another browser tab for 30 seconds, return and work actively for 10 seconds, then save.

Current stage: 20s active, 30s idle.

Work actively for 10 seconds, do nothing in the visible task tab for 30 seconds, resume activity for 10 seconds, then save.

Current stage: 25s active, 25s idle. The first 5 seconds without activity count as active time.

Work actively for 10 seconds and save. Reopen, interact with the page for 10 seconds without changing any annotations, then submit to the next stage.

Task total: 20s active, 0s idle. The new stage starts at zero.

Work actively for 10 seconds, switch to another application for 30 seconds while the task tab remains visible and receives no input, resume activity for 10 seconds, then save.

Current stage: 25s active, 25s idle, including the 5-second grace period.

Follow the previous scenario but submit instead of saving. Review actively for 5 seconds, then accept the review to advance to the next stage.

Task total: 30s active, 25s idle. Stage history contains 25s active / 25s idle for labeling and 5s active / 0s idle for review. The new stage's counters are zero.

Inspecting time spent on tasks

Open a task and select Task Info in the right sidebar. Under Task Information, two tabs show saved durations:

  • Stage Duration: Active and Idle time saved in the current stage.

  • Total Duration: Active and Idle time accumulated from stages the task has already left. Time saved in the current stage is added to these totals when the task advances.

These values are not live counters. After saving, click the refresh icon next to Task Information to load the latest saved values. Unsaved time from the current session is not shown in these fields. Blur time is not displayed.

Exporting Time Data

In an Ango-format export, duration is the current-stage active duration and totalDuration is the active duration accumulated across stages the task has already left. Stage-history entries contain the active duration for each recorded stage visit. These raw duration values are in milliseconds.

To include idle-time data, enable Idle Durations under Fields > Include in the export options. Enable Stage History as well if you need the per-visit breakdown. See Exporting Annotations.

For CSV reports grouped by task, stage visit, assignee, or date, use TPT Export. Its documentation explains the report columns and plugin-specific limitations.

Last updated