1 Introduction

Recently, researchers in the educational engineering area have been studying based on ubiquitous theme. For example, context aware ubiquitous learning (u-Learning), PDA Education Support Assistance (PESA), or Computer Supported Ubiquitous Learning (CSUL). Lots of education researching have constructed using mobile computing technologies such as mobile devices, QR-code, RFID tag and wireless sensor networks (Hwang et al. 2008; Ogata and Yano 2004). These learning takes place in a variety of learning space such as classroom, home and museum. Also, it provides the right information using the contextual data like location, surrounding objects and temperature (Liu et al. 2014).

Furthermore, many researchers have been focusing on effective learning using ubiquitous technologies. We have developed ubiquitous learning system called SCROLL (System for Capturing and Reminding of Learning Log) as well (Ogata et al. 2011). The system will support students to do their language learning. For example, international students take a photo, record some videos even upload a pdf file what they have learned in their daily lives. However, how to analyzing and visualizing is still a problem. This paper describes the information infrastructure for analyzing and visualizing learning logs in SCROLL with xAPI (Experience API) and LTI (Learning Tools Interoperability).

With xAPI, learning logs in SCROLL will be send to xAPI server, and available to check by students. Furthermore, students and researchers can analyze students’ learning behavior. With LTI, students and researchers can share their learning logs to other educational system or application. After learning logs have been send to xAPI and LTI, the logs will also be saved in LRS for more researching.

2 Related Works

2.1 SCROLL

With the evolution of the mobile device, People prefer to record learning contents using mobile devices instead of taking memos on paper. Most of the language learners have their own learning note. In this paper, learning log is defined as a recorded form of knowledge or learning experiences acquired in our daily lives.

SCROLL has been developed for supporting international students in Japan to learn Japanese language from what they have learned in formal and informal setting. It adopt an approach of sharing user created contents among users and is constructed based on a LORE (Log-Organize-Recall-Evaluate) model which is shown in Fig. 1 (Ogata et al. 2011).

Fig. 1.
figure 1

LORE model in SCROLL

SCROLL is a client-server web-application, which runs on different platforms including PC browser, SP browser and general mobile phones shown in Fig. 2. The server side runs on CentOS 7. It is developed by Java, Spring Boot 2 and Mybatis in server side. In frontend, it is developed by Javascript with Vue.js framework. Moreover, all application resources is containerized by docker. So every framework and technology idea is up to date. Therefore SCROLL is a high availability and high reliability system.

Fig. 2.
figure 2

The architecture of SCROLL

2.2 xAPI and LRS

xAPI is a simple, lightweight way to retrieve action records about learners into system and make the records as data for analyzing or to share these data across platforms. These records can be captured in a consistent format from any number of sources and they are aggregated in a learning record store (LRS).

The x in xAPI is short for “experience”, and implies that these activity providers are not just limited to traditional AICC- and SCORM-based e-learning. With xAPI we can track learners’ learning activities, usage of performance support tools, participation in online communities, mentoring discussions, performance assessment, and actual business results. The goal is to create a full picture of an individual’s learning experience and how that relates to her performance.

2.3 LMS and LTI

IMS Global Learning Consortium published the Learning Tools Interoperability (LTI) standard for defining the process of connecting two systems (Fig. 3), and how users will transition across these systems without having to authenticate once again with the destination system. During the LTI transition process, information about the user and the context in which the external tool was launched can be transferred from the source system to the target system.

Fig. 3.
figure 3

Learning tools with LTI

3 Implementation

3.1 Architecture of Data Tracking Module in SCROLL

Figure 4 shows the architecture of Data Tracking Module in SCROLL to build information infrastructure. After students log in SCROLL with LTI, SCROLL will save their user data that is managed by LTI. Therefore their learning logs will ready to share with other educational system, such as, LRS, moodle etc. After learners have logged in SCROLL, Learner Action Tracking Library will track grasped all learners’ action in SCROLL, such as “Write log”, “see all logs” and so on. Then, Learner Action Tracking Library will send learners’ action data to server side, which is a spring boot data streaming application, with JSON format.

Fig. 4.
figure 4

Data flow in SCROLL

Data Streaming application will get learners’ action data with web API, and produce to kafka topic as data streaming. Action Data Collector is a data streaming sourcing component to receive streaming data in kafka’s topic at real time. Action Data Collector will also aggregate and transform data into a appropriate format to next topic in kafka.

Learner Action Data Sinker is a data sinking component in SCROLL data tracking module. Learner Action Data Sinker is a data consumer to kafka topic. When there are new data produced by topic, Learner Action Data Sinker will get the data and save the data into database, without any transformation process.

xAPI Data Sinker is also a data sinking component in SCROLL data tracking module. xAPI Data Sinker can receive streaming data from kafka topic and send data to LRS with appropriate formatting.

3.2 LTI with SCROLL

Figure 5 shows the login flow chart in SCROLL with LTI.

Fig. 5.
figure 5

Login flow in SCROLL with LTI

  1. 1.

    Learners access to SCROLL login page, and login.

  2. 2.

    SCROLL login module begins authentication flow and calls LTI user API and Person API to get learners’ LTI data.

  3. 3.

    LTI system does a callback to SCROLL authentication API to send learners’ data to SCROLL.

  4. 4.

    SCROLL server saves learners user data and person data to database.

  5. 5.

    SCROLL server redirect to SCROLL index page, and finish authentication and LTI login flow.

There are lots kinds of learners learning data in LTI user API and person API, shows in Table 1.

Table 1. LTI user API and person API variables

With LTI user API and person API, SCROLL will get learners’ learning data in LTI. Besides a lot of learning situation data, such as current learning course and so on shown in Table 2. With these data, SCROLL can also analyze learners learning situation in other LMS and even provide SCROLL learning data for other LMS.

Table 2. LTI APIs for LMS

3.3 xAPI with SCROLL

When learners use SCROLL to learn, Learner Action Tracking Library will grasped almost all of learners’ action.

Figure 6 shows the data flow and data format transformation in server side data streaming application.

Fig. 6.
figure 6

Data format transformation in Data streaming application

  1. 6.

    Learner Action Tracking API receive JSON data from Learner Action Tracking Library.

  2. 7.

    Then transform JSON data into binary data stream and produce the data stream to kafka topic. Data in kafka topic is always ready to be consumed. We call this data streaming as Action Data Record.

  3. 8.

    Learner Action Data Sinker and xAPI Data Sinker are always listen to kafka topic. When new Action Data Record is produced, Learner Action Data Sinker and xAPI Data Sinker will receive new data record.

  4. 9.

    Learner Action Data Sinker will transform Action Data Record into a database data format and sink to Learner Action Database.

  5. 10.

    Besides, xAPI Data Sinker will transform Action Data Record into JSON format to post to xAPI.

For example, when learner open all logs function in SCROLL, Learner Action Tracking Library will grasped three kind of data, including who, what, where and when. With this three kind of data. SCROLL can analyze learners’ learning habit. as we all know, SCROLL can analyze learners’ learning habit and recommend more appropriate learning content. SCROLL is very helpful for the learners and they benefit from the context-based recommendation and learning-style based prompting well. the parameters is shown in Table 3 below.

Table 3. Tracking data type

Figure 7 shows a example of xAPI JSON format. Like this, SCROLL Data Tracking Module will track learners behaviors in SCROLL and send data to xAPI.

Fig. 7.
figure 7

xAPI request JSON example

3.4 SCROLL with LRS

With xAPI, SCROLL Data Tracking Module can send learners’ data to LRS. Figure 8 shows how learners using SCROLL to store there learning experience into LRS. Learners use SCROLL to learn, SCROLL send their learning data to LRS. LRS not only show what learners’ learning in SCROLL, but also can allow learners to analyze their learning situation.

Fig. 8.
figure 8

Learners use SCROLL to learn and analyze

4 Conclusion

This paper described the how SCROLL grasp students’ learning behavior learning logs and the information infrastructure to combine with LTI and xAPI, witch for analyzing and visualizing in LRS.

In the future, we will consider that recommend educational content with analytics result and feedback content with visualizing.