Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record "view time" for each annotation stage #124

Open
lucalianas opened this issue Nov 5, 2021 · 1 comment
Open

Record "view time" for each annotation stage #124

lucalianas opened this issue Nov 5, 2021 · 1 comment

Comments

@lucalianas
Copy link
Member

As well as the uptime of individual tools, we want to register how long a user stays on a single slide for each annotation stage (ROIs, clinical).
This way we're going to be able to capture the full "view time" without being limited to the simple time of "active" use of the interface tools.

Annotation steps will have a new field used to record, in seconds, the total view time.
Since a user can freely move from a slide to another during the review, view time have to be updated incrementally each time a user stays on the page of an annotation step.

@lucalianas
Copy link
Member Author

Since registering "view time" as a single field could be tricky, it's best to record this time frame as the a set of activity sessions by the user. Each session is a time frame used to register a continuous active time of him/her on the user interface.

Every session item should have the following attributes:

  • unique_id
  • ROI/clinical annotation step reference
  • session_start_time
  • session_last_update

of course, this means that two different session objects must be created in order to implement the annotation step reference as a foreign key into the DB.

The lifecicle of each session should be implemented as follow:

  • a new session is started when the user starts the ROI/clinical annotation process
  • every X seconds, a session_update event is sent to the server which updates the session_last_update field
  • if the user stops interacting with the interface for a pre-defined amount of time or leaves the annotation page (which includes moving to a different section of the software or closing the browser/panel) the session is closed and an optional session_close event is sent to the server (otherwise the last update event is considered as the last one of the session)
  • if the session was closed due to a prolonged inactivity by the user, when the interaction start back a new session is created and its lifecycle resumes from the first point

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants