M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Premio ATOS-Origin eMadrid 2011 a la Mejor Tésis Doctoral
Autor: Sergio Martín Gutiérrez
Directores: •Dr. Manuel A. Castro Gil•Dr. Juan Peire Arroba
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Summary Objective:
Simplify and facilitate the development of mobile and ubiquitous context-aware apps interconnected to e-learning standards and platforms
Result: M2Learn: Open Source Framework aimed to facilitate and simplify the
development of mobile and ubiquitous learning applications Contributions
Identification of meta-trends in educational technologies Identification of requirements that a framework for mobile and
ubiquitous learning must address Creation of an open framework that fulfil such requirements
Multiple sensor management Context-awareness and service discovery Interoperability with external platforms, services, and tools through a distributed
service-oriented architecture Centralisation of the student’s e-portfolio in the e-learning platform
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Index
1. Introduction and Motivation
2. State of the Art of Mobile and Ubiquitous Learning Frameworks and Middleware
3. Design of a Framework for the Development of Mobile and Ubiquitous Learning Applications: M2Learn
4. Experimentation1. Evaluation
2. Experimentation
3. Dissemination
5. Conclusion
Sergio Martín - [email protected] -
Introduction & Motivation
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Many technologies have already changed education (e-learning)
Many others are currently influencing (or are willing to influence)
Motivation
Sergio Martín - [email protected] -
Education
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Motivation This scenario is leading us towards new digital
learning ecosystem where applications must:
Sergio Martín - [email protected] -
Be aware of users’ needs to personalise the information and services provided
Foster social interaction
Follow e-learning standards
Be integrated with existing LMS to:•gather student’s e-portfolio•reuse the existing services and knowledge
Foster interoperability
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Motivation The development of these new environments is
difficult for many researchers because it requires:
Sergio Martín - [email protected] -
Understanding of many different protocols
Dealing with distributed schemas, processes,
platforms, and services
Learning new programming languages
Interacting with different hardware sensors and
drivers
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Help developers to overcome these technological barriers and to facilitate the creation of advanced mobile learning projects focused on:
M2Learn
The goal
State of the Art
- State of the Art of Mobile and Ubiquitous Learning Frameworks and Middleware -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
1. Comtext [Zanela, 2009] Implemented features:
Communication/Collaboration (Skype & Mindmap) Ad-hoc assessment system Location & Interpreting: GPS, Cell towers & WiFi Reminder
No implemented features: Service Discovery Context management & sharing Open source API or mashup opportunity E-learning standards Interoperability with LMS RFID or other sensors
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
2. Chen’s framework [Chen, 2007] Implemented features:
Context-management No implemented features:
Service Discovery Context-sharing Open source API or mashup opportunity E-learning standards Interoperability with LMS Location, RFID or other sensors Communication & Collaboration
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
3. AGORA [Arrufat, 2008] Implemented features:
Communication & Collaboration (Chat & photo sharing) No implemented features:
Service Discovery Location, RFID or other sensors Context management & sharing Open source API or mashup opportunity E-learning standards Interoperability with LMS
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
4. Sharing Middleware [Belimpasakis, 2008] Implemented features:
Service Discovery Context sharing Learning standards (Dublin Core) Feeds (ATOM) API available
No implemented features: Location, RFID or other sensors Context management Open source Interoperability with LMS
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
5. Mobile Management System [Liu, 2007] Implemented features:
Interoperability with own LMS (chat, faq, bulletin board) No implemented features:
Location, RFID or other sensors Context management and sharing Open source API or mashup opportunity E-learning standards Service Discovery
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
6. Gang and Zongkai’s Framework [Gang, 2005] Implemented features:
Learning standards (LOM) Location Context management
No implemented features: RFID or other sensors Context sharing Service Discovery Open source API or mashup opportunity Interoperability with LMS
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
7. Tan’s Framework [Tan, 2009] Implemented features:
Location: GPS Interoperability with own platform for sharing photos
No implemented features: RFID or other sensors Learning standards (LOM) Context management & sharing Open source API or mashup opportunity E-learning standards Service Discovery
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning-oriented frameworks
8. Basaaed’s Framework [Basaaed, 2007] Implemented features:
Open source E-learning standard Context management
No implemented features: Location, RFID or other sensors Context sharing API or mashup opportunity Interoperability with LMS Service Discovery
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Learning Oriented Frameworks
Frameworks
Features
[Zanela, 2009]
[Chen, 2007]
[Arrufat, 2008]
[Belimpasakis, 2008]
[Liu, 2007]
[Gang, 2005]
[Tan, 2009]
[Basaeed, 2007]
Collaboration x x x x
Communication x x x x
Content support x x x x x x x
Assessment x x
Scheduling x
Learning standards x x x
Interoperability with e-learning platform x
Location x x x
Identification x x
Other sensors x x
Ease of adding new context sources x
Context management x x x x x
Service discovery x x
Context sharing x
Feeds x
Openness x x
Mashup support x
API available x
Design
Service 2 Service 3Service 1
Platform
M2Learn
Service Manager
Context Manager
M2Learn Framework
Context-Hub Wrapper
API
Geographical Database
DomainArea Manager
Context-HubService Channels
Calendars, LOMs, QTI,
RSS,...
Client-side
Server-side
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
User’s Context Compilation
Sergio Martín - [email protected] -
User’s Context
Location data• GPS• WiFi• Cell Towers
RF Identification data
Other sensors data
(e.g., motion)
Interpreting Contextual dataProfile
Moment
Other user’s context
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Client-side. Context Manager
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Connects the Context-Hub Service to send own context and get others’ context
Context-Hub Wrapper & Context-Hub Service
M2Learn
Service Manager
Context Manager
M2Learn Client-side
Context-Hub Service
Context-Hub
Wrapper
API
1) sendContext(context) 2) getContext()
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Context-Hub Wrapper & Context-Hub Service
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Client-side. Service Manager
Sergio Martín - [email protected] -
Calendar Wrapper Gets events for today, this week, this month, all
LOM Wrapper IMS-QTI Wrapper RSS Wrapper Contextual Service Directory Wrapper Channel Wrapper
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Contextual Service Directory
M2Learn
Service Manager
Context Manager
M2Learn Client-side
ContextualService
Directory
Service Directory Manager
Context-Hub
Wrapper
API
1) publishService
4) List of services (XML)
CSD DBService
Publisher
2) getServiceList
3) Check DB5) deleteService
getId2AreaServicegetCoord2AreaServicegetServiceListgetServiceListByAreagetServiceListByProfilegetServiceListByType
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Access external web services following an API List/read/write/reply/delete operations
Some of the implemented channels are chats, forums, wikis, blogs, and assignments.
ChannelManager
M2Learn
Service Manager
Context Manager
M2Learn Client-side
Channel Service
Channel Manager
Context-Hub
Wrapper
API
ForumsChatsBlogsAssignments
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Moodle Forum Channel Service
M2Learn
Service Manager
M2Learn Client-side
ForumChannelLMS
Channel Manager
API
Moodle DB
Moodle
1) readMessage
2) checkDB
3) Message (XML)
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Other services/channels developed Chat Blog Assignments Submission
Sergio Martín - [email protected] -
Experimentation
Experimentation
- Evaluation -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Comparison Related Work vs M2Learn
FrameworksFeatures
[Zanela, 2009]
[Chen, 2007]
[Arrufat, 2008]
[Belimpasakis, 2008]
[Liu, 2007]
[Gang, 2005]
[Tan, 2009]
[Basaeed, 2007]
M2Learn
Collaboration x x x x xCommunication x x x x xContent support x x x x x x x xAssessment x x xScheduling x xLearning standards x x x xInteroperability with e-learning platform x xLocation x x x xIdentification x x xOther sensors x x xEase of adding new context sources x xContext management x x x x x xService discovery x x xContext sharing x xFeeds x xOpenness x x xMashup support x xAPI available x xTOTAL IMPLEMENTED FEATURES 7 6 3 6 6 4 7 4 18
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Features implemented in each framework or middleware
Sergio Martín - [email protected] -
[Zanela
, 2009]
[Chen, 2
007]
[Arru
fat, 2
008]
[Belimpasa
kis, 2
008]
[Liu, 2
007]
[Gan
g, 2005]
[Tan, 2
009]
[Basaee
d, 2007]
M2Learn
0
2
4
6
8
10
12
14
16
18
20
API available
Mashup support
Openness
Feeds
Context sharing
Service Discovery
Context management
Ease of adding new context sources
Other sensors
Identification
Location
Interoperability with e-learning platform
Learning standards
Scheduling
Assessment
Content support
Communication
Collaboration
Frameworks and Middleware
Num
ber o
f fea
ture
s
Experimentation
- Experimentation in a Mobile Programming Course -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Experimentation in a mobile programming course Pilot of a 7 month-long postgraduate distance
learning course on mobile programming Participation of 3 students Two experiences were conducted using the
M2Learn framework within the course: Mobile and Context-Aware LOM Loader With
Communication Features through Moodle Mobile Context-aware Microblogging through Moodle
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Mobile and Context-Aware LOM Loader With Communication Features
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Source code
Sergio Martín - [email protected] -
M2LearnManager myM2l = new M2LearnManager(Username, userId);ChannelWrapper foro = new ChannelWrapper(URL, IdForum);
Code for instantiation and configuration of the Mobile LOM Loader
URL = myM2L.getServiceManager().getChannelServiceByType("lom-lab");LOMWrapper miLOM = new LOMWrapper(URL);webBrowser1.Navigate(new Uri(miLOM.ResourceURL);
Code for writing comments and sending them to the Moodle Forum
foro.writeElement(message);
Code for loading the learning object and showing it in the screen
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Educative applications: Mobile microblogging
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Source Code
Sergio Martín - [email protected] -
M2LearnManager myM2learn = new M2LearnManager(Username, userId);ContextManager context = myM2learn.getContextManager();ChannelWrapper twitter = new ChannelWrapper(UrlServer,userId);
string area = context.getContext().address.fullAddress;twitter.writeElement(name + "@" + area + ": " + message);
Code to instantiate the required modules for the Mobile Twitter
Code to post messages to Mobile Twitter
M2Learn: Framework for Development of Mobile and Ubiquitous Learning ApplicationsMean Var Std Dev
M2Learn decreases the time and effort dedicated to location management in comparison
with .NET. Thus, it increases productivity.
6.00 0.66 0.81
M2Learn location management is easier to learn than .NET. 5.06 1.56 1.25
The lower technological barriers of M2Learn give me more motivation and encourage me to do
more things.
6.00 0.00 0.00
M2Learn fosters my creativity. 5,6 1.56 1.25
The access to existing services in educational platforms (blog, forum, chat, Learning object,
etc.) saves me time because I don’t have to create them from scratch.
6.60 0.22 0.47
The integration of educational services is useful to gather the student e-portfolio 5.60 0.89 0.94
M2Learn facilitates the creation of collaboration/communication applications based on location. 6.60 0.22 0.47
I would recommend M2Learn. 6.30 0.89 0.94
M2Learn is easy to learn. 6.60 0.22 0.47
M2Learn is suitable for learning. 6.30 0.89 0.94
I miss some functionalities. 3.00 0.00 0.00
The documentation is suitable. 5.60 1.56 1.25
The integration of educational standards such as LOM facilitates the creation of m-learning
applications and fosters interoperability with other educational systems.
6.00 1.00 1.00
M2Learn improves my ability to develop mobile applications. 5.3 1.55 1.24
Satisfaction survey
Results are in general very good, with a small deviation.
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Conclusions Stats with 3 students are not valid for solid
conclusions but provide a glimpse of the advantages that M2Learn offers to both developers and students: M2Learn accelerates the development of mobile
applications by facilitating the development of advanced applications with little effort
M2Learn is useful for education because its location API is easier to learn than traditional APIs and because it fosters learning engagement and motivation
Sergio Martín - [email protected] -
Experimentation
- Dissemination -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
M2Learn Open Development Community http://code.google.com/p/m2learn
Manuel Castro - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Documentation API documentation: Describes each class,
method and attribute of the client-side framework. Created in 2 different formats: Web site: This format allows integration in the project
web site and supports on-line queries CHM Help file: This format is easier to distribute as all
the information is contained in one file. Support for several programming languages
C#, C++, and Vbasic Examples: Examples aid developers in the
development process, facilitating the initial steps of learning the system
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Web site-based documentation
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
CHM-based documentation
Conclusions
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Contributions of the Thesis1. Identification of meta-trends in educational
technologies
2. Identification of requirements that a framework for mobile and ubiquitous learning must follow
3. Design and implementation of a framework that address such requirements
1. Multiple sensor management
2. Interoperability with external platforms, services, and tools through a distributed service-oriented architecture, including e-learning platforms
3. Centralisation of the student’s e-portfolio in the e-learning platform
4. Support for e-learning standards (LOM and IMS-QTI)Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Other Contributions
5. Evaluation and comparison with other frameworks: No other framework or middleware covers as much
features as M2Learn
6. Experimentation in a mobile programming course: Mobile and Context-Aware LOM Loader With
Communication Features through Moodle Mobile Context-aware Microblogging through Moodle
Sergio Martín - [email protected] -
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Problems Found Difficulty in following all the advances,
technologies, and news in the emerging field of mobile computing
Sergio Martín - [email protected] -
Vs
M2Learn: Framework for Development of Mobile and Ubiquitous Learning Applications
Future Work Development of the M2Learn client side for other
platforms (e.g., Android, iPhone) Implementation of new projects based on M2Learn Growth of the Open Community Development of server-side services for other LMS
(e.g., dotLRN, Sakai) Development of tools for educators rather than for
developers Security and privacy policies Detection of people’s emotions and intentions through
more advanced sensors, supporting more advanced context management
Sergio Martín - [email protected] -
¡Gracias por su atención!
“Twenty-first century learning is not confined to a geographical location, or a particular space designated for learning purposes.”
(Colley, 2007)
Autor: Sergio Martín Gutiérrez
Directores: •Dr. Manuel A. Castro Gil•Dr. Juan Peire Arroba