Tuesday, 13 March 2012

mLearning #research focus: new features of #html5 for future offline #mLearning


Chillian researchers from the Universidad de Chile, Santiago have a wonderful and useful research paper focusing on new features of html5 and how they can be used for situated learning scenarios. The full paper can be found here (English) at page 252 of the mLearn2011 proceedings. The authors of the paper are: Nelson Baloian, Jonathan Frez, Marc Janser, Gustavo Zurita.

It is a long paper that is both theoretical, technical and practical = great combination. And I gladly share some of the paper's content here.

What I found of immediate interest was their list of new, useful html5 features related to offline mLearning and semantic features - really nice:

HTML5 provides a number of new features that almost all yield to the possibility to enrich HTML sites either by new communication mechanisms or by new presentation techniques. In the following the three most important new features with respect to mobile learning scenarios will be presented shortly:

Canvas: With the new CANVAS implementation HTML5 provides the possibility for an easy and flexible provision of 2D graphics. Therefore, the new CANVAS object provides e.g. the possibility to draw simple lines, circles and rectangles. Furthermore, images can be added to a canvas that can be moved, rotated and scaled. Furthermore, simple graphical functionality like transparency can be used. All these functions are available over simple JavaScript commands.

WebSockets:
Historically, a website was only able for uni-directional communication from the website to the server. The only way to receive data from the server was implementing pull methods (ex, AJAX). This changed with the implementation of WebSockets, since this approach allows for bi-directional communication. In order to be able to receive data send over a WebSocket, the website needs to implement the different JavaScript-Callback methods:
 onopen: gets called when the WebSocket is openend.
 onmessage: gets called when a message arrives over the socket.
 onclose: gets called when the WebSocket connection is closed.
The onmessage method works just like a push call from the remote server.

Web Database: HTML5 provides an implementation of SQLite that allows associating a Web application with a local database and load remote data into it.

LocalStorage: consists in a hash table with 10Mb capacity to store values; these data are related to the Web application in online and offline mode.

FileSystem, manifest and offline mode: The key of developing web applications is the combined use of FileSystem and the Manifest file. FileSystem is an API that provides an independent file system from other applications and user files. Manifest is a declaration of which are the files that make up the application by local references to them. The Manifest is used by browsers to download these files and load them to a local filesystem, allowing offline operation.

Geolocation: Given the capacity of current mobile devices, there are many applications that use the georeference api, HTML5 provides this api that allows to know the coordinates of the access device, so its possible integrate the information. The data available are: latitude, longitude, altitude, accuracy, altitude accuracy, heading, speed.

WebWorker: is a simplification to work with threads in a web environment, since the browser controls the threads; it is not possible to manipulate from Javascript. However, a WebWorker permits simultaneous and asynchronous operations, regardless of the strands of the browser.

Semantic elements : Allow roles different visual components of HTML, for example assign a header role to a div, and footer to another. Thus it is the device's browser that allocates positions screen as character of it.

WebGL: In addition to the new 2D capabilities provided by the HTML5 CANVAS, a third technology, closely related to HTML5 showed up recently that provides 3D capabilities based on OpenGL, called WebGL. Making use of this technology, it would be possible to easily enrich mobile learning scenarios by 3D content.

The authors of this paper then continue on how they embed these new features in the learning scenario's, really interesting and a good read.

As I read a lot of research papers and come across a lot of projects, I thought it would be nice to share those that caught me eye in particular. Hoping to do so every two weeks - ambitious :-D