Keywords

1 Introduction

The use and integration of information and communication technologies (ICT) in the field of education is constantly increasing. In classrooms, a trend of a transition from traditional teaching methods to digital supported education can be identified [1]. There are some indications that the introduction of the latest ICT developments in classroom settings can improve the quality of teaching and learning [2].

Recent developments in the field of technology enhanced learning (TEL) have led to a renewed interest in new learning approaches and technologies that can be widely used and adapted for different forms of learning. Currently, mobile devices are used in everyday life activities. m-Learning has been defined as the process of learning with the use of mobile devices to access the educational resources, services from any place, and any time where the learner takes advantages of the learning opportunities offered by mobile technologies [3]. Mobile technologies can facilitate learning outside the classroom in order to enhance the learning experience [4]. Also, learning materials are no longer limited to traditional materials like books [5].

A challenge that arises with the growing role of mobile technologies in the field of education is the importance to provide end users, in particular teachers, with the possibility to author and deploy their own mobile applications [6] as they usually do not have the technical and programming skills to develop mobile applications suiting their requirements. So, one area of concern that developers and researchers are exploring is how to give end users the possibility to create and author their mobile applications.

M-learning activities offer also learners opportunities to independently explore processes that involve the gain of knowledge and own experience. Here, the context of the learner plays an important role in supporting the interactions between mobile devices and the environment in which the learning is taking place. By using contextual information, learners can be supported or advised via a mobile application in order to help them to find a solution for the given problem in the real world. Therefore, new ways of interpretation and the consideration of contextual information of mobile learners are necessary.

Currently, cloud-computing (CC) solutions are often used to overcome some of the limitations of mobile devices, desktop computers, or server systems, especially to improve accessibility and interoperability [7]. In this chapter, we explore and present how novel uses of CC can contribute with some advancement to the field of TEL. CC increases the flexibility of modern applications while at the same time improving security aspects, such as availability, data storage, or communication. Furthermore, one major aspect in CC solutions is the accessibility of the provided services through a standardization of interfaces.

With respect to learning scenarios, a different perspective to these abstracted features of CC services (referred to in this chapter as cloud services) provides new ways to conceptualize and deploy emerging services such as contextualization and flexible authoring tools.

Flexible and contextualized mobile applications can be used as entry points for value-adding functions both in formal and informal learning settings, remote and colocated situations and in synchronous or asynchronous scenarios. Using cloud-based services allows increasing flexibility, availability, and the accessibility of services through standardized methods, and additionally it allows the usage of off-the-shelf software, which saves implementation efforts and development time. Informal learning scenarios can particularly benefit from this approach, as it allows for an easier contextualization of the learning experience, which is still a hot topic, in the domain of m-learning.

In this chapter, we address how the field of TEL has been affected by CC technologies by reviewing several studies and applications. The benefits of using cloud-based services for the development of new personalized m-learning applications and services are described. In Sect. 2, we provide arguments about using CC technologies for developing flexible and personalized m-learning applications and services. Section 3, first presents and discusses relevant efforts connected to the use of CC for educational purposes, and already existing cloud-based services for supporting the development of m-learning applications for students and teachers. Second, we provide a few examples on how to support the contextualization of learners by using mobile devices and CC capabilities. The following Sect. 4 describes our cloud-based solutions is contextualized service. Section 4 follows by describing the proposed services provided by a contextualized service with several examples on how they can be used for developing m-learning applications. In Sect. 5 we describe two scenario examples in order to investigate the advantages and benefits of using cloud-based services for suggested contextualized approach. Section 6 concludes the chapter by providing a summary and a discussion of ideas for future directions of research and development.

2 Motivation

Currently, CC solutions have been focused more on the using CC capabilities to create a learning environment for a specific lab, course, assignment, or lesson [8] rather than adding new possible capabilities by using existing ones [7]. For instance, using the CC power for processing vast amount of data about the learner’s situation, scalability for supporting a large amount of students, flexibility in using different available services—all these together provide new opportunities to create a learning environment that will be adapted to the current learner’s needs and situation.

These examples are not only taking the advantages of the ubiquity of the CC to support m-learning but also shows additional functions and services that can be implemented and used to improve TEL activities [9].

One of the main advantages of using CC technologies together with mobile devices is to enhance the computational capabilities of these resource-constrained units in order to provide rich user experiences [10]. Therefore, the enrichment of the learner’s experiences and activities it demands the development of personalized CC services.

2.1 Cloud-Based Services for Teaching

There are a number of cloud-based services that provide opportunities for teachers to create virtual desktop environments with preconfigured software and learning resources [8]. Those services provide an access to different software applications (e.g., Scilab, R) in order to flexibly organize a learning environment for any group of students. However, there are no cloud-based services that can provide opportunities for teachers to design their own learning scenarios (e.g., field trips) and deploy them in a cloud as an m-learning application and finally distribute it among students. Moreover, not all teachers have knowledge about how to configure cloud environments for a certain learning environment. We think that cloud-based solutions should be more flexible in terms of easy and fast configuration of learning scenarios for teachers, and to deploy them as mobile applications for students.

There are many cloud-based services that provide ubiquitous computer power, processing, and storage capabilities together with different software applications to support learning environments suitable to a certain student’s learning task [11]. However, few research efforts have been carried out toward supporting an adaptation of cloud-based learning services to the current learner’s needs and situation in order to improve the learning performance. Furthermore, it is desirable to support the convenient format representation of learning materials, to define learning problems/difficulties and to evaluate the learning progress. We think that the most salient CC features (e.g., scalability, high availability, flexibility) provide opportunities to create highly personalized services that can be beneficially used both for teachers and learners.

2.2 Benefits of Using Cloud-Based Services

In this subsection, we describe some of the benefits for learners and teachers with regard to mobile applications running in a CC environment:

  • Learners can run different software applications on their mobile devices anytime and anywhere. Teachers can provide different software applications available in a cloud environment without additional installation efforts and cost. Additionally, teachers can test a variety of apps from different providers to find out which ones are best for them.

  • Teachers can create learning repositories for sharing learning resources among students; learners have access to these resources anytime and from any device [10]. Additionally, it saves the cost of learning materials [12]. Since, students and teachers can share learning e-books, video tutorials with each other in a cloud.

  • Using CC technologies can increase learners’ engagement and interactions with m-learning applications by enhancing features and functionalities of mobile devices [13].

  • Students might use different portable devices during the learning process therefore m-learning applications should be accessible on all of them. Cloud-based services provide the possibility to run learning applications on multiple devices (e.g., tablets, mobile devices, etc.), as long as the device has an internet access [10, 13].

  • Scalable storage capacity and processing power allow developing m-learning applications to support large numbers of students [2, 1416].

One of the possible drawbacks of using CC in the field of TEL is that it requires specific technological skills to configure different learning environments for a lesson, study, and lab that not all teachers may have [17].

The suggested cloud-based solutions we are proposing, namely the web-based framework and the contextualized service pose new challenges. In the case of the web-based framework, the system should be used by a significant amount of users. Since no programmer needs to be involved in the process of generating mobile applications, the potential of the existence of a massive amount of applications is given. One potential solution to address this issue is the deployment of the components, in this case, the mobile application, in a cloud-based system. As mentioned before, cloud-based systems provide benefits with respect to scalability and reliability.

In the case of information contextualization, the processing of huge amount of contextual data requires additional computational resources, storage capacity, and flexible algorithms for analyzing these data sets. A cloud-based solution allows providing richer/more detailed descriptions of the user’s context by using additional cloud-based services together with the power of CC (e.g., Amazon Elastic Map and Reduce service). Furthermore, it allows using contextual data from different m-learning scenarios for providing recommendations based on historical data. To address the challenges mentioned above the following research questions have been formulated and they serve as the foundations that guide our efforts:

  • How can a cloud-based solution improve the contextualization approach for mobile users in learning scenarios?

  • Which cloud-based services can be used for supporting a contextualization approach for mobile users in learning scenarios?

In the next section, we present an overview of related research efforts in this domain.

3 Related Work

Traditional m-learning applications have limited access to learning resources [13, 18], limited offline data usage support, data sharing, and social-technical issues for teamwork [19]. Cloud-based learning applications can help to solve/overcome these limitations. For example, a rich mobile multimedia cloud-based service enables access rich multimedia content from any mobile device or platform [15].

Using a service-oriented system, “Teamwork as a Service” [19], allows improving and facilitating social collaboration and learning activities for learners’ team, and the Microsoft Mobile Apps provides possibility to use offline data when there are network issues. Additionally, the applications provide much richer availability of services in terms of data size, faster processing speed, and saving battery life [13].

Context-aware m-learning applications require processing a vast amount of contextual data as well as to store this contextual data for further processing. Therefore, context-aware m-learning applications can benefit of using CC technologies [12, 14]. For example, the Amazon Elastic storage can be used for collecting and storing sensor data gathered from mobile devices while Microsoft Azure Machine Learning Service can be used for processing and analyzing a historical contextual data in order to make recommendations to the learner and to support him/her in different context situations.

One of the main advantages of CC capabilities is in supporting context-aware learning activities for both individuals and in groups of learners. Here, the context data should be collected and processed from several learners’ mobile devices to provide a real-time feedback to the group of learners. Such m-learning applications can use cloud-based services to monitor, e.g., a mood in the group, the performance of the group, the communication, and learning flow in the group while they performing of a certain learning activity, how students interact with a learning material [20] by using, e.g., educational and learning analytics service [21]. Current context-aware m-learning applications do not have enough computation power and resources to support context-aware learning activities for groups of learners.

In order to investigate in more details which existing cloud-based services and applications can be used in m-learning domain, several studies together with cloud service providers have been reviewed and they are described in the following subsection.

3.1 Classification of Cloud-Computing Services and Applications

CC offers different available services, software applications, and resources for processing a huge amount of data, reducing cost, and increasing flexibility and mobility of information [13]. The widely used technologies, such as social networks together with mobile sensors data, CC, and Internet connectivity makes it possible to provide personalized learning through mobile device [10]. Up to now, several cloud-based services have been suggested to adapt the delivery of learning objects (LOs) on mobile devices including text-to-speech solution for learners in the move [22], support of geo-collaboration for situated learning activities [13, 23].

The work carried out by [23] uses combinations of different cloud services to support new forms of TEL activities with adaptation to the learner’s style. The current solutions are based on using learning analytics techniques [24] for processing students’ learning activities to predict learner’s performance or issues by, e.g., monitoring the logs in a cloud. Other challenges described in [10] address problems related to learners that can combine various applications on their mobile devices (e.g., calendar, editor, notes) to configure a personalized cloud learning environment that utilize content and services available from the cloud for their individual needs.

Based on the cloud services classification provided in [7] we describe below already existing cloud-based services and applications and how they can be used in m-learning scenarios.

Cloud-based Communication Services. They are utilized for supporting learner–teacher and learner–learner interactions on a remote or colocated mode. Learners use different types of collaboration, and therefore, use different applications or tools to satisfy their needs and goals. For example, for group/team collaboration the most used technologies either social networks applications (e.g., Facebook Chat, Twitter) or chat-based applications (e.g., Skype, Viber, WeChat) for interaction between their group/team members. For asking questions about a certain problem/issue or answering with a solution for the given problem/issue usually a question and answer sites (e.g., stackoverflow.com, mathoverflow.net) are used by learners, and for collaborative paper working a set of tools (e.g., the Google Apps for Education Suite [25]) can be used to simultaneously communicate and work in the team/group.

For learner–teacher communication learners usually prefer to use email services (e.g., Mailbox, CloudMagic Email) or learning platforms’ forums (e.g., Moodle forum). In case of m-learning scenario the mentioned above communication services can be used either through cloud-based mobile applications (e.g., ZOOM Cloud Meetings, the Google Apps for Education Suite is available for tablets and phones) or cloud-based mobile services (e.g., Push notifications). The efforts carried out by [26] show that cloud-based communication services can help teachers to know the current learner situation and to improve the communication between them.

Cloud-based Repository Services. They are used to store, share, and retrieve learning materials or resources in the cloud. The most popular examples of such services, just to mention some of them, are Dropbox, OneDrive, Box, Amazon Cloud Drive, Google Drive that available on iPhone and Android mobile platforms. Learners can use these tools to perform different tasks. For example, Dropbox is used for sharing, accessing different types of files between other learners, while the Box application supports additionally a group work, including assigning tasks and tracking file versions for each team member. This example can be used, e.g., to evaluate the contribution and the performance either of the group of learners itself or individual learner in the group. Such services allow accessing the large number of LOs via mobile through Internet at anywhere and anytime.

Hence, depending on the file size of LO and Internet connection it might take some time to get it. Therefore, such services as DropBox, OneDrive, Google Drive offers offline accessing and viewing files on the mobile device due to Internet connectivity issues. But those files that should be accessed in offline mode should be specified in the application in advanced and in online mode. This offline feature allows for learners learning in anywhere (e.g., sitting in the train, in the park) and anytime with their mobile devices. The added value for teachers is to share the learning resources among a large number of students/learners; tracking both the learner’s individual contribution, task’s responsibility, performance, and the group work of learners itself. The added value for learners is to accessing the learning resources and sharing their own resources, materials, and works between other learners.

Cloud-based Single-Specialized Services. They are utilized for learning or working on a task that is related to a specific application domain. For example, for learning supported by audio or video stream processing or for playing and creating digital content anywhere and anytime with a mobile device. Two of the most known single-specialized services are the AutoCad 360, which offers viewing, editing, and sharing AutoCAD files via a mobile device.

Other examples are the Adobe Slate, Premiere Clip, and Voice Services, which allow learners turn any document into a visual storytelling that can be used in museums or field trips. In addition to sharing, and editing a video/audio files, the CyberLink’s Mobile App Zone provides the possibility to take a picture of live presentation lecture slides and turn them into PDF files on the mobile devices. An additional example is the Quick Graph application for visualizing plots with high quality 2D and 3D mathematical expressions.

Cloud-based Processing Services. They allow analyzing and processing big data sets with different processing algorithms and methods. Such services allow to support learners in real-time during the performing of a certain learning activity through monitoring learners’ interactions with a learning environment and a mobile device. Another example is to analyze and process the log files after a learning activity is finished in order to investigate and understand the workflow and its outcomes by using, e.g., learning analytics services.

This feature enables teachers to analyze the weak and strong aspects of a certain learning activity and offers the possibility to improve it. This could also lead that students can get real-time feedback and support that helps them to successfully perform learning activities. Most of the above described cloud-based services provide an API that can be used as an additional service or combination of services to develop novel custom cloud-based applications for m-learning scenarios.

3.2 Mobile Cloud-Computing Services and Applications

Mobile CC is the combination of mobile application, CC, and Internet connectivity aiming to enhance computational and interactional capabilities of mobile devices toward rich user experience [10]. Many cloud providers offer a huge variety of services for mobile devices called as “Mobile back end as a Service” (e.g., Microsoft Windows Azure Mobile Services, AWS Mobile Services). The main available services for development of mobile cloud-based applications are presented in Table 1.

Table 1 Examples of mobile cloud-based services

The examples of mobile back end as a service described in Table 1 allow for developing and deploying web-based, native, or hybrid mobile applications and running them on multiple devices. Learners can have different mobile platforms to use cloud-based m-learning applications. Furthermore, if the Internet is temporally unavailable, learners still can continue working on their mobile devices locally and the changes made will be synchronized in the cloud when Internet will be available.

The Push Notification service allows to easily pushing data to the right users at the right time on the mobile devices. Notifications can be sent to a single device, or a group of devices based on their subscriptions.

Depending on the learning scenario this service can be used to support individual learner or group of learners while performing a certain learning activity. In addition to the Push Notification service, IBM’s BlueMix mobile cloud service offers a number of services that can be used to develop m-learning applications.

For example, the Language Identification service allows detecting the language in which input text is written while the Machine Translation service enables to translate text from one language to another. This latest service can be useful for supporting a multi-language communication on forums where a student can write a text message on his/her native-speaking language and its language will be automatically identified and translated to the student’s receiver native-speaking language.

Service providers can add and expand their service offerings. Multiple services from different providers can be integrated easily through the cloud to meet today’s complex user demands and increase users’ engagements with m-learning applications.

3.3 Advantages of Mobile Cloud-Computing Services

In this subsection, we describe how mobile cloud-computing services can be used to support learning activities, to overcome obstacles related to m-learning and to enhance learners’ engagement with m-learning applications:

Context-aware learning. Supports context-aware learning activities for learners. For example, providing learning resources for learners by recommending the appropriate content to users based on an intelligent analysis of the learners’ behaviors and their learning outcomes [27]. The CloudAware framework offers context adaptation features through Jadex middleware with a combination of agent-, service-, and component-oriented engineering perspectives [28].

Another interested feature for mobile application development is the creation of a function that is executed in response to an event (e.g., notifications, messages, image uploads) and it has been introduced in AWS Lambda Adds. Those functions are written in NodeJs framework that invoked in synchronous manner and receive the context information of the application data (e.g., name, build, version, and package), device data (e.g., manufacturer, model, platform), and user data (e.g., a client id) as part of the request. This feature allows to easily create rich, adaptable and personalized responses to in-app activities.

Security. The mobile application security service provides or blocks any devices and/or users by using additional user authentication [29]. Moreover, it provides possibility to configure the access, sharing settings and protect personal data. Most CC providers offer flexible and reliable backup and recovery solutions [30].

Accessibility. The m-learning systems typically include different kinds of multimedia resources helping learners to be more engaged and interested in collaboration [31, 32]. The efforts carried out by [32] provide the Learning Cloud framework, where users can work on different operating systems for mobile devices, and in that way students and teachers can access the cloud-based platform simultaneously from any location, at any time.

Another study carried out by [31] has used a cloud-based learning platform to support distance learning and to provide an increased quality of e-learning. In m-learning scenarios like field trips, where students are taking photos by using their mobile cameras to collect some information and data about the learning environment, it is necessary to have some storage capacity and search/retrieve mechanism.

Here, for example, the photos can be stored and processed directly into the cloud instead of mobile device [33]. There are also advantages for teachers having cloud-based applications to manage everything from documents to students’ attendance and grades [34]. For example, with the TeacherKit application teachers can organize classes and manage students’ activities easily. With the SchoolTube application teachers can upload educational videos for students.

Another example is the Edmondo application where teachers, students, and parents are connected to collaborate on assignments, discover new resources, and more. However, there are still no cloud-based services that provide possibilities for teachers to design their own m-learning applications and to distribute them to students on multiply mobile platforms.

Cloud services for learning scenarios can be used for both in formal and informal learning settings, remote, and colocated situations and in synchronous or asynchronous scenarios [35]. The combination of different cloud services, sensors information, storage capacity, and cloud computation power provides new opportunities to develop flexible and highly personalized cross-platform m-learning applications.

3.4 Limitation

In this section, we presented an overview with regard to the possibilities and potential that different CC environments and methods can have within the field of TEL. We are aware that a lot of different applications and services are listed within this section. To describe each one of them in more detailed fashion would be out of scope of this chapter, therefore, we leave it to the reader to investigate the mentioned applications/services/methods and leave the description at the current abstraction level.

4 Contextualized Cloud-Based Services and Web-Based Authoring Framework

In order to address our research questions, we present in this section two cloud-based solutions that are strongly connected. We present first a flexible Web-based Framework to enable teachers to compose and deploy their own mobile applications to perform m-learning activities. Additionally, we present a Contextualization Service that has been developed in order to improve the content delivery of LOs. This service allows adapting the representational format of the learning content and the mobile UI to the current context of the user.

4.1 Web-Based Framework

There are learning activities that are connected to tasks that include data collection, analysis and visualization; our framework offers to take advantage of the internal sensors available at modern mobile devices. The fact that the framework is realized in a cloud-based environment, tackles the previously mentioned challenges in terms of scalability and reliability. The presented web-based framework, mLearn4web, comes with an authoring tool, where teachers can design mobile applications for instance for field trips scenarios. Additional to the authoring tool, mLearn4web consists of two more components that are all purely based on web-technologies: a mobile component to perform learning activities and a visualization component that offers analyzing methods of the data that has been generated by the mobile component.

A major challenge in the field of TEL is the fact that teachers often do not have the technical skills that are required to create applications that can fit their pedagogical needs. Often, they need to consult with researchers and/or developers to create or adjust applications to their specific requirements, which are not only inconvenient for the teachers but also generate additional work for researchers/developers.

Therefore, the mentioned authoring tool allows designing mobile applications by using simple and well-known interaction methods like drag and drop. In our case, the mobile applications consist of a number of screens and the authoring tool can modify the content and functionalities within a screen. The authoring tool is divided into three areas: a screen area; a content area; and an element area. In the screen area, users can add/delete screens and change their appearance order by dragging a screen to a new position. Users can add functionalities and content to screens of a mobile application by dragging predefined elements from a list to the content area. This includes the access of certain internal sensors of mobile devices like camera, microphone, or Global Positioning System (GPS).

Furthermore, it is possible to add the following elements: an instruction that allows providing text information; a text area that allows users to enter text on a mobile device; a multiple choice element where it is possible to pose a multiple choice questions and the user can pick an answer at the mobile device; a numerical input field; and a date input field that allows to enter a date in the proper format. Figure 1 illustrates the functionalities of the authoring tool.

Fig. 1
figure 1

Screenshot of the authoring tool

The authoring tool allows even nontechnical skilled users to easily generate mobile applications that have the functionalities fitting their needs. After the design process is finished a mobile application is automatically deployed and available as a web application. The fact that all components are based on web-technologies allows the easy deployment in CC environments like OpenShift. Since no developers/researchers are involved in the process, the potential of having a huge amount of mobile applications is given. Therefore, the mobile application is deployed in a CC environment. Figure 2 shows examples of how the mobile application looks like.

Fig. 2
figure 2

Examples of the mobile application

We have conducted several studies [3638], and the outcomes of our efforts indicate that teachers without technical knowledge could generate and deploy mobile application fitting their specific needs.

Of particular interest is the fact that even though some teachers had troubles in the beginning to deal with the functionalities of the framework, managed at the end to design and deploy mobile applications and repeated the process without having much troubles [36]. This shows that the system is not only easy to use but also has a high learnability factor.

The third component of mLearn4web (Fig. 3), the visualization component, processes data that is generated during the usage of the mobile application. This allows teachers and students to reflect upon learning activities performed with the mobile application.

Fig. 3
figure 3

The visualization component of mLearn4web

Datasets that are generated by the mobile application can be brought into context to each other. For instance, if GPS data and a picture are collected at the same screen, it is likely that they are contextually connected. Therefore, a map is offered, where the marker shows the picture that is also available. However, there is more potential for presenting contextualized information.

It is, for example, possible to use existing web services to gather more information and to aggregate to the data generated by the mobile application. For instance, if GPS data is available, it is possible to add information about the surrounding environment or weather to the visualization.

4.2 Contextualized Service

The Contextualized Service is a service that provides personalization for mobile applications to the current context of the user. Particularly, it supports personalized interactions with a mobile device in order to meet the user’s needs and goals. The main goal of personalization is to improve the user experience by taking advantages of contextual information in order to provide adequate services.

Examples of contextualized services are location based services [39] that provide useful and relevant information to the current users’ location; contextualized knowledge services [40] for supporting learners in a personalized and adaptive way by using the context information; contextualized learning services [41] for providing a personalized feedback in learning support. Based on our previous research work [42], the contextualization of learners could vary from one learning scenario to another.

Unlike in a traditional learning environment, in an m-learning environment, interactions with the learning applications are performed across a variety of contexts. Thus, it is important to identify the learners’ needs, goals, and expected outcomes to provide them with contextualized services. For example, in a location-related learning scenario the relevant content should be provided to the learner at the right place and time (e.g., museums, field trips). Below we describe three features that personalized m-learning applications should have while providing a contextualized service.

Contextual Content Representation. This feature allows adapting the format of LOs to the current learner’s situation. We describe the learner’s situation by contextual data gathered from mobile sensors, additional external Web Service API’s, social networks and store it in a database in the cloud. Utilizing a cloud service with large storage capacity for collecting, storing, and processing the contextual data provides the possibility to use not only real-time contextual data but also historical users’ contextual data that can improve the prediction of the format of LO that is best suited to the current context of the learner.

For predicting the relevant content of the LO the proposed flexible rich context model (RCM) [42] has been used. The main difference of having RCM on the cloud is that allows to store and process a vast amount of contextual data, to support a large number of mobile users and to use additional cloud-based services to enrich the contextual data. This feature can be used in different m-learning scenarios to provide convenient support to the learning processes anywhere and at anytime.

Contextualized User Interface. This feature allows adapting UI elements of a web-based mobile application to the current context of the user (e.g., light/dark colors in the themes, predictable input form elements, and adaptable UI elements). This allows making the interaction with a mobile device adaptable to the current context of the user.

For example, provide convenient volume of the mobile device (e.g., make it lower/upper) by taking into account the noise level of the device environment and position of the device, user’s activity, place, and time. Another good example is an application called Star WalkFootnote 1 application, which uses mobile camera, compass, location, and augmented reality that allows learning and exploring the information about the universe by holding the phone at the night sky. Another example can be a contextualized keyboard for learning chemistry through mobile application (e.g., ChemCalcFootnote 2) or for having personalized keyboard application called SwiftKeyFootnote 3 that delivers smart predictions and fast typing. Another example is a personalized application launcher that organizes the application bar with the most used mobile applications in a certain time, place, and day (e.g., the user is at a school then the application bar shows only thus applications that was often used by user at the school).

Contextual Notifications. This feature allows users to make their mobile devices more personalized according to their current needs and interests. For example, a student is interested on buying a particular thing, and then the application sends him/her the discounts/offers related to this object, depending on the users’ leaving place for taking into account the delivery costs or using the local shops. Additionally, reminders of duties, course schedule, etc., can be sent as notifications to the mobile device in a suitable format (e.g., the voice notification, the image notification, and the text notification). In the case of m-learning scenarios, this feature can be used for guiding students in learning environment such as field trips or visits to thematic parks or museums. The described three features above can be implemented as a set of micro-services and integrated in the micro-service architecture as shown in Fig. 4.

Fig. 4
figure 4

The proposed architecture overview for contextualized service

It is shown in Fig. 4 that each feature is implemented as a micro-service and it has its own database in order to use it independently from the scenario point of view. The micro-services architecture is an approach for developing an application or service as a set of small independent services [43]. The main advantages of using a micro-service approach are scalability (e.g., scaling a certain feature instead of whole application), maintainability (e.g., easy to maintain since each micro-service implements a single feature/functionality), flexibility in distribution of the resources for each micro-service (e.g., the single function as analyze contextual data will need more computational recourses then the collect contextual data function) and extendibility in adding features/functions by increasing/adding/implementing micro-services.

Then, different features provided by the contextualized service can be used independently from the scenario point of view. For example, one learning scenario can use only the contextual content representation feature while another one only contextual notifications depending of the nature of the activity. Furthermore, the service is flexibly in a way that allows adding new features as an independent micro-service and uses it in combination with others. The proposed service is deployed in a cloud environment for supporting contextualization of mobile users in real time. In our case, the RCM has been utilized [42] to support these features.

4.3 Rich Context Model

The RCM we are using is a model that handles the rich context of a mobile user. Here, the rich context is a data set received from different mobile sensors available on the device. Moreover, this data can be enhanced by using external Web Services (e.g., Google Places API) to retrieve more detailed information about the context of the mobile user (e.g., weather condition, nearby services) [42].

An example of different context dimensions and mobile sensors that can be used in different m-learning scenarios is given in Table 2. There is no use for sensors if the data will not be processed and analyzed. Context analysis techniques allow processing these data and providing a meaningful interpretation. The available contextual data is evaluated by the use of a multidimensional approach that provides richer representation of the user’s context [44]. Each dimension describes a property of an entity or the entity itself, where the entity can be an object, a person, or a situation.

Table 2 Example of context dimensions and mobile sensors in m-learning scenario

This enables the RCM to consider various data types of the contextual information and to use different approaches to evaluate and analyze the data. Another example of what can be achieved with the RCM is the identification of a context similar to the user’s current context in order to provide relevant recommendations. In addition, a suitable format for the representation of the learning materials can be recommended with the RCM by taking the environmental context information into account. Here, the LOs in different formats are described by contextual information provided in Table 2 and represented in multidimensional vector space model (MVSM) as shown on Fig. 5.

Fig. 5
figure 5

Context representation in MVSM

Then, in order to define the best-suited format of a LO, the distance between the vector of the current context of the user and the vectors at the MVSM is calculated by using the combination of different metrics similarity (cosine distance, Euclidean distance, Jaccard distance, etc.). The vector that has minimal distance to the vector of current context of the user defines the best-suited format of LO.

The context information has various data types, and therefore, different metrics similarity or algorithms should be considered to process this data. As an example, we used the combination of different metrics and algorithms that are shown in Table 3.

Table 3 Examples of usage different metrics and algorithms for processing contextual information

Having a generic approach for context modeling is very important, because different learning scenarios may have dissimilar properties describing an entity itself and therefore different dimensions in a context model.

A technical infrastructure to support this is outlined in Fig. 6. The major task performed by this infrastructure is to provide a certain abstraction for the context dimensions in order to allow an automatic and flexible configuration in the RCM.

Fig. 6
figure 6

Architecture overview for RCM configuration

In this architecture, the Context Modeling component is responsible for defining the context dimensions that should be used for a certain scenario. The web-based application proposed to configure these context dimensions and can be used by an expert. We define an expert as a person (e.g., teacher) that has a wide body of knowledge in relation to subject matter that is at the core of the learning scenario in which the contextualized service will be used.

The developed web application allows visually adding/removing context dimensions and subdimensions. After adding all the required dimensions into the scenario, the expert can export the context modeling results into a JSON file. This JSON file is an input for our contextualized approach and it is required for the usage of the contextualized Service. Then the Context Model Configuration block has an abstraction for the context dimensions and it is responsible for the configuration of RCM. After the RCM is configured it is used for collecting, storing and processing contextual data. We think that an expert in a certain learning scenario should define the context dimensions as he/she has best knowledge about it. This makes our contextualized service flexibly in terms of supporting different context models for learning scenarios.

The model supports different recommendation types, e.g., relevant LOs and convenient representational format of LOs, and can therefore be extended by others types of recommendations. Additionally, it supports different levels of granularity of the context. This is achieved by the flexibility of the RCM to include/exclude the context dimensions. It supports using priorities for different contextual information. The latest is achieved by using additional weights for each context sub-dimension according to the user’s preferences. This in theory allows the RCM to provide better and more convenient services for mobile users. The main difference between our RCM and similar approaches is the flexibility that it allows for describing a complex contextual situation. Our approach has the potential to improve the usability of mobile devices in order to enrich the current context of the users.

For some learning scenarios it might be the case when an expert does not know which context dimensions should be considered in order to achieve good recommendation results. We suggest two possible solutions (a) to perform a pre-study in order to identify and evaluate the necessary context dimensions used in our context model. Since the proposed approach uses the comparison of the current context of the user with objects that were consumed by others in a similar context situation, the pre-executed study should be performed in order to have the database of different context situations; (b) to collect contextual data for different context’s situations and apply machine learning algorithms (e.g., vector support machine) to define which contextual data should be used to classify different contexts’ situations for a certain learning scenario.

5 Scenario Examples

This section presents two scenario examples: (a) using the mLearn4web framework in an m-learning scenario and (b) using the Contextualized Service with the LnuGuide mobile application.

The mLearn4web is a web-based framework that allows users without programming skills to design and deploy m-learning activities [36]. The LnuGuide is mobile application that supports exchange students while they are explore the university facility services on the campus. The purpose of these designed scenarios is to outline the advantages and benefits for learners and teachers while using the mLearn4web framework with the Contextualized Service in a cloud environment.

5.1 mLearn4web

The mLearn4web is a web-based framework designed in [37] for creation and deploying m-learning activities. It consists of three main components: an authoring tool that was described in Sect. 4.1, a mobile application and a visualization tool. These components can be used to support the three phases that are described in [45] which together provide one of the most prominent examples of a m-learning activity: a field trip. The authoring tool offers support for the “pre-trip phase,” where the preparation of the field trip takes place.

The mobile application offers support to the actual field trip. The visualization tool supports the “post-trip phase” in which the debriefing and analysis of the field trip takes place. In this field-trip scenario, these are the units of interest for the RCM. For instance, in the “pre-trip phase” the teacher defines which kind of data should be collected in a certain learning activity. Then, these collected data (e.g., images, location, textual comments, numerical values) could be considered as a part of the contextual information and stored at the RCM.

Here, the RCM will represent the collected data by contextual information as described in Table 2. Then, the result of the contextualization will be the delivery of interested and relevant information about the learning environment to the current context of the learner. For instance, when the learner will reach a certain place, the application will show the most relevant objects and data gathered by other learners in the similar context situation. This might allow for learners to find out more information about the learning environment or do not miss important and useful pieces of information that are related to a location/place. This information can be delivered with the help of contextual notification services provided by the contextualized service.

In order to tackle the issues related to scalability, we have deployed the mLearn4web in a cloud environment. Having the mLearn4web application in a cloud allows automatically deploying the resulting designed m-learning activities into the cloud. This may turn out to a powerful and flexible framework for the provisioning of (potentially ad hoc) learning scenarios.

5.2 LnuGuide

M-learning activities can be designed for guiding mobile learners [46] to gain information about current learning environment and how to work in it. For instance, students can learn how to use the different services at the university library (e.g., registration at the library, using the library card, etc.) if he/she is on site.

Another example might be that students can be guided to learn how to print and scan articles by using the university printing system. The LnuGuide m-learning scenario was designed and developed for exchange students to get familiar with campus and prominent institutions and services on it [42]. The LnuGuide activity contains three stations (e.g., University Library, Administration Building and a café on campus) where students can get useful information to facilitate his/her “student life” (e.g., obtain the library or student card, to be able to scan and print at Library, etc.). Each station provides a number of tasks, where for instance the app will provide information on how to scan documents at the library including instructions that the user should easily be able to perform.

In this particular scenario, the contextualization of learners is supported by recommending a convenient format of learning material that is suitable to the learner’s current context. Each learning material has been represented by different formats (MP3, PDF, PPTX, MP4) and described by contextual information in the RCM. Here, the following three main context dimensions were used: personal, device and environment context.

Additional cloud-based services as Speech to Text and Text to Speech (Table 1) Services can be used to provide convenient representation format of LO to mobile device instead of having and storing the LOs in an audio format (e.g., MP3). The LnuGuide application requires having reliable Internet connection during the performed learning activity. Therefore, the cloud-based offline support service can be used to overcome this issue and increase the student’s concentration level on performing a certain task without interruption (e.g., Internet connection not available).

Additionally, the exchange students come form different countries and therefor specks different languages. Then by using a Language Identification Cloud Service, the LnuGuide application can be adapted to the students’ native specking language. Moreover, the analyses of log files can be replaced by the use of rich analytics cloud services for monitoring the students’ performance. These described features provide possibilities to improve the usability and personalization of the LnuGuide application.

5.3 Responses for the Research Questions

In order to address the research questions formulated in the beginning of the chapter two scenario examples of using (a) the mLearn4web framework and (b) the Contextualization Service in a cloud were proposed. These examples show that the cloud-based solutions have the potential to improve the contextualization approach by adding new available cloud services to provide more highly personalized applications.

Furthermore, storing more contextual data to improve recommendations, by monitoring user’s interactions with application to increase their engagement with the app and the understanding of users’ current needs can also help to increase the level of personalization. Additionally, it allows using different algorithms (e.g., machine learning algorithms) for processing contextual data and providing recommendation to the user in real time.

The described examples also show that the most useful cloud-based services, such as the Learning Analytics Service, Logging Service, and Monitoring Service provide new opportunities for designing novel services. All of them provide the possibility to gather more information about the current context of the learner in order to provide him/her better recommendations.

6 Conclusions

This chapter described and discussed different cloud-based services and solutions used for educational purposes. These can provide contextual support for mobile learners. Additionally, we presented the most popular cloud-based applications and services used by teachers and learners. Overall, this chapter presented (a) a flexible web-based framework, mLearn4web, to enable teachers to compose and deploy their own mobile applications to perform m-learning activities and (b) a contextualized service to improve the content delivery of LOs on mobile devices. This service allows for adapting: (1) the learning content and (2) the mobile UI to the current context of the user. For the realization of the contextualization approach, a RCM deployed in a cloud-based environment has been utilized. The combination of the two cloud-based approaches described in this chapter provides a powerful flexible framework that can enhance the learning experience for both, teachers and students.

Our future efforts toward the refinement and improvement of contextualized services include the development of additional m-learning applications with a focus on personalization and the use of data analytics to increase students’ motivation, performance, and engagement. Current CC technologies and services offer new possibilities for supporting the contextualization of users and for providing personalized and adaptable services and applications that can enhance m-learning activities.