M2Learn framework

Technology is becoming increasingly important in education and is becoming part of the day-to-day learning experience. During the last part of the 20th century, technologies related to communications and the Internet led to a revolution in some fields, such as the arrival of e-learning platforms.

More recently, over the past decade, the Web has evolved from Web 1.0, where most users held the passive role of mere readers, towards Web 2.0, where users have become active players, publishing their own content and interacting in social networks. However, besides the Social Web, many other new technologies are emerging as candidates that may have a deep impact on education, including games, augmented reality, new human-computer interfaces, and ubiquitous and mobile technologies [1]. As an example, the social web fosters student-teacher and student-student communication anytime and anywhere, not only in the classroom [2]. Collaborative environments are created where students participate in learning experiences within a social community [3].

On the other hand, currently video games can play a key role in the education of new generations. Most students are more familiar to play videogames and interactive computer programs than to receive lectures by a teacher. Mobile devices will positively contribute to the implantation of videogames within the educational environment from three perspectives: (i) stimulation of the everywhere and anytime learning; (ii) immersion in virtual immersive experiences fosters a better knowledge acquisition [4]; (iii) and its new human-computer interaction methods, i.e., motion sensors, tactile screens, location technologies, image recognition, etc., which stimulates students engagement in the learning activities [5].

Some of these technologies are not only being used for videogames, but also for creating augmented reality applications [6]. They merge virtual information with the real world, with very visual and attractive results, which make the students enjoy the learning experiences. In summary, mobile devices, with all their ubiquitous features (e.g., broadband wireless internet, context-awareness through geo-location, smart objects), will support the improvement of the learning experiences through the arrival of many other technologies [7] [8], allowing rich shared experiences from any place, at any time. Thus, new mobile learning projects should be designed from this perspective, based on strategies and architectures able to support this convergence of technologies, creating mutual synergies, and fostering student engagement.

This evolution is leading to new learning environments where applications must be aware of users’ needs to personalize the information and services provided depending on user context (i.e., geographic location, user profiles and preferences) and the contexts of other nearby users. These applications should offer communication and collaboration features that can be used to build social-based knowledge, should be integrated with existing learning platforms such as Moodle to allow gathering the student’s e-portfolio, and should use the existing services and knowledge (e.g., communication and collaboration methods, assessment, learning objects). Finally, these learning applications should interact with each other in a digital ecosystem of mobile applications and services through accepted standards, fostering interoperability and easy extension.

However, most mobile learning projects are isolated initiatives that do not make use of the existing knowledge and services in, for example, e-learning platforms, which currently centralize most knowledge and learning services of many educational institutions. The reuse of this services and knowledge could lead to a substantial development improvement.

The M2Learn framework offers an open and easy-to-use API that helps developers in the creation of new mobile and ubiquitous learning applications and empowers non-expert users to build up systems by themselves.

M2Learn encapsulates sensing complexity and synchrony issues, eases extensibility and simplifies hardware reusability through layering and service externalization, which also fosters scalability and extensibility. The framework supports the creation of applications in different programming languages such as Android, or those within the .NET Compact Framework: C#, C++, and Visual Basic.

Listen the following audio about mobile devices from Radio 3 (in Spanish):