Include "time spent" info in requests table in Canvas Data

Idea created by James Ashby on Jun 18, 2019
    Open for Voting
    • Steven Schwamenfeld
    • Rob Ditto
    • James Ashby
    • Marcus Williams
    • Joseph Sarmiento

    The Page Views API has a field called interaction_seconds that gives an approximation of how long the user spent on the page. Even though it's an approximation, this data is still really useful. But it's not available in Canvas Data. There should be an equivalent field added to the requests table so schools can build reports on this.


    (Note: the requests table already has a field called interaction_micros which is different: it's equivalent to the render_time component of the Page Views API object.)


    Reporting on the time students spend on content is already in high demand. See Student Activity Report: Student Time Log. While Canvas is working on developing that feature, why not let schools build their own dashboards with this data that's already being recorded?


    Another similar idea is Total time in Canvas Data, which is asking about seeing the logout times for sessions. While this would be useful for determining the overall time a student spends in Canvas, it doesn't help with answering a question like "Which module item in my course had the highest average viewing time?" And again, while it would be nice to have Canvas build a report providing this info, my idea is that the interaction_seconds data is already collected in the page views object available via the API, so why not simply expose that through Canvas Data as well so admins can build their own reports now instead of waiting for Canvas to create them?


    One other useful reference is The Problem with the Requests Table, which succinctly points out, "All of this [data in the requests table], doesn't tell us whether the user was truly active, or help us mimic the Total Activity calculation Canvas uses."