This page describes a prototype of the MORE project. This prototype was completed on August 31, 2007.
Purpose
The prototype aims to demonstrate the use of video as a tool for education coupled with mobile messaging (SMS) as a means of interaction between students and teachers. More precisely, the prototype serves two distinct purposes:
- Demonstrating the "look-and-feel" of the technology, i.e., how it is perceived by end users
- Demonstrating a way to realize the technology, i.e., how it can be implemented in practice
Limitations
The prototype is not a fully functioning solution. It, however, can serve as a basis for developing a complete functional specification of the next, more ambitious, proof-of-concept project. In addition, the prototype has the following limitations - we aim to lift these restrictions in the future:
- The SMS part only works in the United States.
- Only a limited (fixed) set of lessons and questions are supported.
- There is no facility to communicate the SMS response to the the main web interface, or any system apart from the originating SMS device.
- There is no way to aggregate, and store, all the responses.
- There is no way for an end user like a teacher to add new lesson content.
Specification
A user interacts with the prototype through a series of lessons. A lesson consists of a short video and a series of multiple-choice questions that pertain to the content of the video. After watching a lesson video, the user needs to satisfactorily answer these questions (either online or through an SMS) before moving on to the next lesson. In practice, this process takes place through the following steps:
- Visits an introductory web page with instructions and links to various lessons.
- Chooses an initial lesson to start. This results in a lesson-specific web page presented to the user.
- The lesson-specific web page has an embedded video posted on a site like [YouTube].
- The user then starts the process of playing the video, and then watches its contents.
- After watching the video, the user clicks on a link labeled Questions leading to a web page with 4 multiple-choice questions (each with 4 possible responses).
- The user can choose to answer the questions either online, or through an SMS message.
- Online: In this case, the user clicks on a radio button representing a specific response for each question, and then clicks on the submit button in order to get a summary that indicates whether or not each question was answered correctly. In order to move on to the next lesson, the user must answer at least 3 out of the 4 questions correctly. If this criterion is not met, the lesson is repeated.
- SMS: In this case, the user sends a text message to the short code 4INFO (44636) where the content of the message looks like UNAMORE 1 B C D A in order to communicate that B, C, D, and A are the user's responses to questions 1, 2, 3, and 4 respectively in lesson 1.
Implementation
The prototype is implemented using three distinct technologies:
- TiddlyWiki as a web authoring tool
- An open SMS gateway called [4INFO] that is available gratis.
- A simple web service that takes as arguments a lesson identifier and question responses, and provides an XML response that indicates whether or not each question was answered correctly. An incorrect response indicator is accompanied with the correct answer. This web service was implemented using a Python Server Pages system called [Spyce]. For instance, in response to arguments 1 B C D A the service produces the following XML file: code
<more>
<results>
<title>Q1 correct</title>
<title>Q2 incorrect a</title>
<title>Q3 incorrect c</title>
<title>Q4 incorrect d</title>
</results>
</more>
===Interactions with 4INFO===
The key aspect of the prototype is in how it integrates SMS functionality. This is accomplished by configuring 4INFO (after logging on a user account on http://open.4info.net) appropriately using the following steps:
# Creating a new keyword (in this case: **UNAMORE**).
# Associating the keyword with a web service that returns an XML response. As part of this association, 4INFO is configured to provide the "query string" (i.e., the text of the SMS message excluding the keyword) as an argument to the web service.
# Associating the keyword with an [[[http://www.w3.org/Style/XSL/|XSL]]] stylesheet for the 4INFO system to apply on the response of the web service in order to get a text string to send back to the SMS originator.
We now describe how these configurations were realized in the prototype.
The web service was specified as follows:
http://test.sharedrecords.org:8080/proto.spy?args=${queryClean}
The following XSL style sheet was used:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:output method='text' version='1.0' encoding='UTF-8' indent='no'/>
<xsl:template match="/*[local-name()='more']">
<xsl:for-each select="*[local-name()='results']/*[local-name()='title']">
<xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
code
Demo
http://files.unamesa.org/MORE/MORE.html