Background
The SlideWiki project aims to provide various modules where analysis of user activities data can be performed.
The goal for this discussion page is to decide on how the relevant analytics modules will be integrated in the SlideWiki platform and general architecture, and setup the relevant Epics and User Stories, so we can facilitate coordination of the efforts for each module as they are going to be handled by members of the development team. Initial planning from the June Teleconference has set specific assignments for each module as documented in google docs here: https://docs.google.com/document/d/1mlzI40EnhOh3yApwBG1Z1aFyC2amAthr8CzE7w69iTA/. Based on this document we are also proposing the action items at the end of this page.
For the usage and learning activites data it has been proposed that we use an existing and well defined model for representation, which is the xAPI (or Tincan API). For the collection of such data we need to deploy and maintain a Learning Record Store (LRS). It has been proposed to use the open source product, Learning Locker.
The slidewiki platform service will then be able to send any data relating to activities performed by registered users to the LRS. This will be performed via the activity-service in such a way as do decouple the event triggering with the event handling. The platform (or possibly any other service) will simply prepare the event using a custom model and send it as an activity to the activities-service. Then, the activities service will have proper handlers for each activity type that will transform it to a properly defined xAPI event and forward it to the slidewiki LRS. Alternatively, the xAPI-service could receive the activity data and the transformation and forwarding would be performed there.
The Slidewiki LRS could be further exploited by receiving user activity data external to Slidewiki, e.g. from a Learning Management System (LMS) that would integrate with Slidewiki content.
The user activity data stored in the LRS will in turn be available to the various analytics modules we aim to provide, namely:
- User Profiling & Skills Recognition (ATHENA)
This task will first extend the current Slidewiki user profile with properties for skills, preferences, etc. These properties will be inferred by user activity data (stored in LRS). Also it will provide a skill recognition method for learners segmentation and enrichment of their profiles. - Content Recommendation (UPV)
This task will set up a content recommendation module that will provide content (e.g., decks, slides, etc) recommendations based on user profiles. These recommendations will be available in slidewiki UI (for example, you-may-also-like recommendations) - Advanced Analytics (InfAI)
This task will provide learning analytics methods (regression, prediction, trend analysis, etc) wrt the slidewiki learners activity and performance. It will combine activity and usage data (stored in LRS) with the learners’ profiles and learning content (stored in Slidewiki’s db) for extracting insights such as:- Individual's’ performance (e.g., course progress) prediction
- Early Alerting for educators interventions, etc….
- Interactive Visual Analytics (ATHENA, mainly Stavros)
This task will provide an interactive web-based (based on JS & HTML5 viz libraries) module for the user to visualize, explore and analyse SlideWiki activity data. It can provide simple usage reports and stats as well as more complex visual operations, such as faceted browsing, multidimensional analysis, roll-up, drill down and analytic window functions, trend visual analysis, graph analysis, timelines, etc.
In accordance to the microservices architecture we have adopted, each analytics module should expose a microservice that would handle:
- Retrieving relevant data from the LRS and preparing them for analysis
- Defining and implementing the methods involded with user data analytics
- Providing an API for clients to request and retrieve results for each analysis method
Also, as part of the efforts regarding each analytics module, the data collection module should be updated with specific requirements with regards to which types of user activity data should be collected. By data collection module what is meant is:
- the LRS instance that we are going to be using as the SlideWiki user activity data store
- the definition of user activity data we wish to collect; this could done on the platform service level if directly communicating with the LRS, or on the proxy service we might use for data collection as proposed above
- the slidewiki platform service methods/components via which data collection will be performed for the specific activity data type
Action items
- Setup the SlideWiki LRS instance ( Learning Locker ) Benjamin Wulff, Allan Third
- Define the process by which activity data will be (a) required by an analytics module, (b) defined and modeled, and (c) transmitted by the platform service Benjamin Wulff, Kostis Pristouris, Dejan Paunović, and Ali Khalili
- Specify a service for User Profiling and Skills Recognition Kostis Pristouris, Marios Meimaris, Abi James
- Specify a service for Content Recommendation Soledad Valero
- Specify a service for Advanced Analytics (there is interest by INFAI regarding this, Antje Schlaf, Roy Meissner or Kurt Junghanns could provide more info)
- Specify a service for Interactive Visual Analytics Stavros Maroulis
- Specify development for a platform module for Interactive Visual Analytics Stavros Maroulis
- Provide a way for user activity data from an LMS to be collected in the SlideWiki LRS Allan Third