We first talked about our vision of the new API support and the goals we want to achieve with it. Then the previous post detailed practical examples where administrators could find significant help to address content management issues with our new endpoints. This - last piece - will talk through those capabilities that let you access and extract viewership data from Studio.
In case you missed the previous snippets, I highly recommend you to look into those. On the other hand, one might ask ‘why are you folks working with the API specifically and not this and that?’. I owe some clarity that I missed in the first post. Reworking and expanding our API is not only about giving a new way to interact with Studio content through a remote interface.
When we build solutions, we use the very same API under the hood. Some are publicly accessible, some remain private. When you create a new collection in Studio, it is using the Create a new collection endpoint that you can access publicly as well. If we were to build an interface for admins to help manage content across the entire account - which we soon will - then the engineers would first sit together and start to figure out the endpoints we need in order to pass the necessary data between Studio’s UI and the databases in the background. The powerful search endpoint detailed in the previous blog post is the foundation of such an interface.
Essentially, our API is an early phase support to solve problems programmatically today and the foundation of what’s coming to Studio tomorrow. This is why we invested into extracting media insights as well.
Today it enables customers to extract viewership data and import it to the tool of their choice so that they can build dashboards to display them. Tomorrow these dashboards will be accessible within Canvas so that educators with no affinity to using an API can access module and course level data as well.
The example above is just a simple dashboard to show completion rate for each video by student in the course Introduction to Psychology as well as their average completion rate. The output format is standard CSV, so I could display them in any spreadsheet with no effort.
Have you thought of similar dashboards displaying student viewership and would come handy in Studio or Canvas? Feel free to comment here or drop me a message. I would LOVE to hear from you!
All accessible data under Media Insights in Studio can be queried via the API as well.
Overview: metrics on Views, Time Viewed, Unique Viewers and time charts for Unique Viewers and Number of Plays
Viewers: tabular data on the Viewers (name, role, e-mail address, completion rate)
Perspective: a perspective is a view of a certain media depending on the Canvas resource it is embedded in. The same media embedded in two different Canvas Pages (even if those are in the same course) will produce two perspectives and therefore different Insights data will belong to those. Any number of perspectives can belong to the same media. A special perspective is when a media is accessed from within someone’s Library in Studio. The Get media insights overview for a perspectiveendpoint can be used to access Insights data of one specific perspective by providing its ID.
Media: once collecting all necessary perspective IDs for a media, these Insights can be accessed on media level. In order to remain flexible and be able to satisfy custom demands, there is currently no specific endpoint for this however, the Get perspectives belonging to a media lists all different perspective IDs for a certain media and can be used along with the previous endpoint. Aggregation of Insights data for the different perspectives needs to be scripted on the API consumer’s end. (Please note that you cannot find media ID from Studio’s interface and that needs to be obtained programmatically. One of the recommended ways to obtain a media ID is to use the Canvas course ID found in the URL as the collection_id in Get data of a collection. If you use the ID from the response in List media in a specific collection then you essentially list each embedded media’s id in a given course)
Course: asMedia Insights can be valuable to interpret on the course level, Studio provides a script that gets all the Insights data of all perspectives of a course and combines them into two CSV files. The Get viewership insights of all the videos in a course script is a quick and easy way that expects a Canvas course ID and provides course level data as the described output.