How to design an open(source) e­learning platform. The ADA experience

How to design an open(source) e­learning platform.
The ADA experience
Stefano Penge, Maurizio Mazzoneschi, Morena Terraschi ­ Lynx s.r.l.
[email protected]
Language: En
Keywords: modularity, accessibility, knowledge construction, evaluation
0. Introduction: some more meanings for "open"
When we speak about "open" software, we generally mean that code should be readable and
modifiable. Surely opensource has been a revolution and has changed the scenario of technology
application in education, especially for web applications development and administration.
While this all is well known, when we come closer to "open" e­learning platform, some question
rise. We have a lot of opensource platforms1 often as performant and robust as proprietary ones. But is
it our effort to build opensource platforms worth doing? How many users will benefit by it? And
which type of benefit are we talking of? Is the simple fact that a software is openly developed a real
improvement from all point of view?
In this article we try to argue that there is, indeed, a strict relationship between "open" concept
and digital learning environment, if only we extend the meaning of "open" beyond application code.
Let's discuss first question: how many users are directly concerned by opensource in e­learning?
The idea behind opensource ("if you don't like the way a software behave, just fix it")2 has proved
very powerful and seems indeed very attractive to all of us with a bricoleur tendency. While the possibility to modify source code is, in principle, positively accepted by all users, the
dimension and complexity of real life computer applications goes far beyond competences of most
of us. It is matter of fact that competences required to modify an opensource software are not trivial;
this simply limits the profile of users really concerned by "open" question only to professional
programmers. The final user of software normally cannot ­ or simply doesn't care of ­ debug or
modify the software.
This is especially true in education field. Teachers ­ and schools' or universities' administrators ­
like opensource platforms because they are free, not because they are open. Perhaps they are aware
that openness of source code has secondary advantages. They believe that overall technical quality
of opensource platforms is often high, because a lot of users can read the code and fix bugs. From
ethical point of view, open3 software can be an interesting model of relationship between work and
market to be discussed in a history class. As another collateral effect, it encourages schools to drive
resources from acquiring licenses from international software houses toward local young
3 We aren't so rigid here in distinction between opens software and free software because teachers often don't.
But to this point, openness doesn't directly regard most e­learning users, like teachers and
To be really significant to them, "open" should mean that every user (not only programmers, or
IT administrator) can modify and re­arrange a digital learning environment (or a small part of it) to
satisfy their needs. We should extend the notion of "open" to enclose every user: open to
programmers, but also open to teachers and to students. We should borrow the use of "open" in other contexts, as in "open university". Open platform
should mean flexible, adaptive, centered on user's needs more than on technology. If we want to take this pathway, we cannot limit discussion to openly developed software.
We should speak of "open" at different levels: code level (open source) but also document level
(open content), structure level (open architecture) and accessibility (open interface); and we should
also start to think about open evaluation.
Second ­ and perhaps main ­ question: why is it so important to design "open" (in the sense
sketched above) e­learning platforms? This will lead us to discuss pedagogical theory that underlie
platform design.
Constructivism ­ probably the more widely accepted theory of learning today ­ says learning is
not just acquiring knowledge. From Ausubel to Jonassen, learning had been recognized by
pedagogists as (a) a contextual activity that modify existing learner's concepts and (b) the way
concepts are organized in her/his mind. Environment ­ the context ­ is a fundamental element of learning process; it had an influence
upon what we are learning and also upon how we learn. And when we have finished to restructure
our knowledges, we start to rearrange the context itself. We can think of learning as the process by which a subject ­ human or not ­ takes control over an
environment. At the beginning s/he is relatively passive, and only reacts to stimulations that come
from the environment. Progressively, s/he becomes more and more active, understands facts and
makes some generalizations, until s/he is capable to modify environment rules. Control over
situation passes from environment to learner. Learning is a form of inquiry aimed to clarify non­determined situations.4 While learning, we
shift the border line between what we know and what rests unknown. We constantly restructure
our mind representation of the environment (as we do, by example, after the first glance to a
software interface); but the more we know about environment's rules and feel comfortable with
them, the more we try to modify the environment itself. While adapting ourselves, we also adapt the
environment to our needs. And our success in this action is the main index on our new
In real life this can be long and dangerous; so we designed educational, protected environments,
like schools, that are expressly designed to progressively leave control to learner.5
This is simply why we have to design digital learning environment in an "open" perspective. To
really allow for learning to take place, a platform (as a digital learning environment) has to be
4 This is a free reformulation of transactional Dewey's approach to knowing, that we find very suitable to go beyond
constructivist theory of learning by explicitly including environment. See Dewey 1949.
5 The concept of "fading" in cognitive apprenticeship theory is perhaps appropriate to describe our perspective. See
Collins 1989.
explicitly designed to be modified by users. If we really want students (but also tutors and authors)
to learn on­line, we should design dynamic, always modifiable ­ at different level ­ digital
The rest of this article is dedicated to the explication of the full meaning of the expression "open
platform", intended as a more general perspective that brings together pedagogical, technological
and ethical issues, by mean of the description of an opensource platform architecture, ADA.
1. Why
The ADA6 project was started in 2000 by a group of searchers of a small software house with
mixed competences, from computer science to pedagogy. At that time, there already were some7 opensource e­learning platform; but the basic idea behind
the new project was to build an "open platform" for e­learning: not only an open­source platform,
but an open one in a larger sense of the word. We planned from the beginning to release the code under the GPL license and to make possible
to download the software for free8, to build a developers community that will participate to extend
the platform. But we were motivated also by non­technical reasons, as I will show briefly below.
The first reason was the context in which ADA shall be used. The platform that we were going to
develop would have been used mostly in non­formal educational contexts: primary and secondary
schools, volunteer associations, professional communities;9 so it had to be designed to fulfill the
specific needs of this kind of subject, more than to reach state­of­the­art in technology area.
Typical e­learning projects in these contexts are very different from those in Universities or in
large enterprises.
In this field, often the more complex e­learning projects are faced with shortness of resources,
both human and technological. Band width, processors' speed and disk space are limited resource,
on server and on client side; more often, it isn't possible to know in advance which operating
system, which browser, which Internet connection will be at disposition of users.
Technical requirements of the platform shall be necessarily very light, but, on the other hand, all
has to be done to put users (from administrators to teachers) in condition to tune up the platform to
better suit their own needs. Open architecture, and a mechanism to personalize platform easily, are
6 ADA is an acronym for "Digital Learning Environment" (Ambiente Digitale per l'Apprendimento). Presently
(September 2005) we are going to release version 1.8, with some relevant upgrades. See official web site for details
7 Not so many: Claroline was started in 2000, ILIAS was registered on Sourceforge in 2001, to cite only two major
European opensource platforms. 8 ADA is registered also in Sourceforge, the most important web repository of opensource software. See
9 We start to test ADA within a teachers web community, named Altrascuola. Many of ideas exposed in this article
came out form discussion of designers with authors, tutors and students. In this sense, ADA has been (co)builded by
its users. See
fundamental requirements of a platform.10
This approach has a trade off: while designing ADA, every time we had to choose between
advanced functions and more largely supported function, we chose the latter. On the other side, the educational projects in this area are often strictly committed to pedagogical
major principles as socio­constructivism. It is well known that in adult education e­learning cannot
be simply thought of as knowledge transmission; but often in formal education context this widely
accepted principle has to cope with necessity to teach specific and well­defined competences. On
the contrary, in these non­formal contexts, co­costruction of knowledge is the rule, and the growth
of entire group knowledge ­ even if somehow ambiguously defined ­ is considered more important
than the acquirement of abilities by single students. The typical model in an e­learning course of this kind is peer­to­peer education, without a clear
distinction between teacher and student, where every participant is in turn teacher and student.11 With this horizontal interaction model, it is not rare that e­learning projects are simply supported
by collaborative web environments, permitting to exchange messages in a synchronous and/or in an
asynchronous way. We start to design ADA having in mind that an e­learning platform cannot be
just another name for a suite of different communication tools (chat, forum, etc). The possibility of
build together knowledge depends on availability of tools that make possible to all participants, at
different levels, to share their knowledge, to structure it in conjunction with other's one, to
personalize it and to reuse again in different contexts.12 If knowledge added by teachers ("theory")
shouldn't be radically different in type from knowledge added by students ("experience"),13
communication tools have to be really integrated with knowledge authoring tools.
Here again, we extend the meaning of "open", this time from technology area to content area. An
open platform should be capable of receiving all kind of learning content, from all users, and of
organizing them in flexible structures that can be dynamically searched, modified, exported.
The problem of copyright, that immediately arise, lead us to "open content" topic. Open don't
stands necessarily for free. Different kinds of license are presently available (FDL, Creative
Commons, etc) in opposition to standard copyright management. We cannot discuss this point
deeply here; it is just worth mentioning that every piece of content in ADA is marked up with
"copyright" property, to allow any licensing policy. In principle ­ and this is one of the directions of
ADA future development ­ even links, bookmarks, routes can be licensed in one manner or in
another. Not only code and content, but also structure can be open or proprietary. This will probably
be next battle field.
This "open" approach would have been embedded in all aspects of ADA platform. Let's see
shortly how it has been done from a technical point of view.
2. How
Some general choices in ADA design can probably be easily foreseen by expert reader at this
10 See below, 2.1
11 We can think of this context as a community of practice. See Wenger 1998
12 This can be seen as an application of Nonaka and Takeuchi SECI model of knowledge construction in organization.
See Nonaka 1995.
13 See below, 2.2
First of all, from user point of view, ADA shouldn't be committed to a particular operating
system, nor it would require a specific browser or an additional plug­in. All pages sent to browsers
by ADA are compliant with W3C specifications for HTML 4 and to WCAG 2.0 recommendations.
Possibly, a textual browser like Lynx can be used to navigate in ADA.14
From server point of view, ADA can be run on every SQL­based DBMS (from MySQL to
Postgres, from MSSQL to Oracle) and only requires a web server with a PHP 4.* interpreter. As for interoperability, we don't want to tie ADA to any specific standard. Standards are very
important in enterprise world, but much less significant in educational field, especially if they
strictly constrain to use some specific model of didactic content unit or of assessment tool.
While the compliance with international standards like SCORM or AICC would be excessive in
ADA, we chose simply to use XML (with a public DTD) as a general, open format to interchange
course data between authoring module and online platform. This choice let every user to extract easily course meta­information (from structure to contents)
from ADA and possibly to reuse it within another platform. Moreover, all text are internally coded in HTML and authors are asked not to use proprietary file
formats (like PDF, PPT) if not strictly necessary. This restriction is set not only to improve
accessibility, bu also to allow full­text search and analysis: ADA offers to all users a "dynamical"
lexicon, that is and index of words used by authors and students ordered by frequency. But it also
allow to export learning contents by mean of RDF­like mechanism: from outside ADA, another e­
learning platform (or web service) can request for a node content and receive just the XML version
of it. This interface independence ­ more than WCAG compliance ­ permits to impaired students
to get content in a way more suitable than HTML to be read from a text­to­speech synthesizer. Looking closer to ADA structure, we can now discuss four main topic: modularity, accessibility,
knowledge construction and evaluation.
2.1 Modularity
As we see above, open architecture is a strong requirement in typical educational field. Like
many other opensource e­learning platforms, ADA is built with a modular approach. Moreover, the
coding style was an object­oriented one; every major function is implemented as a class method. A
simplified version of class hierarchy shows like this:
Content Objects
(Terminal) node
14 This is true for ADA interface, not necessary for course contents. Authors may decide to embed Flash movies or
Java application that require students to download some additional software.
Multimedia resource
Database is connected and queried within a single low­level module (AMA, the ADA Middle
API) that in turn uses a standard PHP package named PEAR; no SQL query is needed in other parts
of the application. This is done to maximize the portability and to ensure easiness of code
maintenance. While this constrained ADA programmers to use only a subset of SQL instructions,
to install ADA on a different DBMS requires just to change the configuration file.
All contents are sent to browsers via a template engine and (almost) no HTML language is
directly embedded in application script, except for code necessary to format dynamic data (course
index, etc).
For this type of data, all HTML elements (tables, lists, forms) are built by mean of respective
object methods. Once again, code maintenance is much more simple.
In addition, an user­module loading mechanism has been built that allows to programmers to
easily write a new module inheriting methods from AMA classes, exploiting template engine, and
so on.
2.2 Accessibility and usability
As we saw before, ADA interface is completely separate from code: it resides in several HTML
templates with their associated CSS. These templates are dynamically loaded from ADA depending
on user status and on request: the interface for viewing a course element, by example, will
obviously be different if requested by a student or by its author. This mechanism can be controlled by users. Every module has its own interface; but for a single
module, there can be several different "styles" of interface. Style in this context means something
rather general: fonts faces, dimension and color, but also content disposition, icons, etc.
Style can hide some irrelevant information, or stress some other, in connection to user's cognitive
abilities and styles, or simply to his/her preferences. Templates are arranged in a hierarchical order, from general to specific, and are under
responsibility of different type of user:
Platform (all courses)
Course (all classes)
Class (all nodes)
More specific levels override general levels; in case of conflict, specifics needs of a student are
considered more important of stylistic choice of an author for her/his course.
So while an Administrator can choose a general style well adapted to entire web site, an author
may prefer a style better suited to his course's domain; a tutor can simplify the interface to meet
navigation abilities of his class, and a student can decide to hide all unnecessary icons and buttons
as long as s/he don't need them.
2.3. Knowledge construction
Author isn't the only user which owns the knowledge. An adult student rarely can be imagined as
a tabula rasa without any knowledge of the course matter. S/he surely has a partial, perhaps
incorrect, knowledge; but has probably a lot of experience in a near field that can be recalled and
used by mean of analogy.
In ADA ­ as in every socio­constructivist labeled platform ­ an e­learning course is viewed as a
process by which a (virtual) group can share, structure and personalize knowledge; the platform is
the (virtual) place where this process can be run.
Authors, in this perspective, are simply those users that start the process by selecting (or
producing) relevant documents and structuring them with the aim to facilitate learning. Tutors provide more informations by mean of platform communication functionality (message,
agenda, chat).
But from the beginning of the course, all participants (students, but also tutors and authors) are
invited to enrich the course's documents with comments, personal notes, links, original multimedia
materials and so on. These bits of knowledge are what distinguish every edition of a single course
from all others.
This is possible because in ADA all learning content is managed by means of two main type of
objects: nodes and links. Every content in ADA is a node, either published by an author, either by a
student. A node has some persistent properties, like "title", "keywords", "author", "type", "level",
"parent" and can be enriched with multimedia content (photos, sounds, external text documents,
Internet resources). Nodes can depend on other nodes, but can also be linked to other nodes in a
complex hierarchy that is represented to users as a map.15
This approach has some interesting consequences. In ADA the Forum ­ where students and tutor
15 Although ADA maps are very close to classical conceptual maps of J.D. Novak, they differ in some aspects. Every
node is not just a name for a concept, but has content itself. Higher nodes in hierarchy (groups) can be exploded to
lower nodes, that in turn can contains other nodes; so we could call them "augmented recursive maps". See Novak
can discuss course topics ­ isn't a completely different environment, like in others platforms. When
a student reads a course unit, s/he can start a discussion on a theme related to the unit simply adding
a note (like a "post­it") to that unit. Every other user (students, but also tutors) can reply to the note,
or to the original unit. Moreover, they can navigate through notes, search for one of them, see an
indexed view of all notes of the course, and so on.
Strictly speaking, the Forum is just a filtered view of the dynamic structure of course, that bring
in evidence notes added by students while hiding authors' contents.
Two more details. The first is about collective construction of knowledge, one of major themes of
today reflection on e­learning. Some of this new piece of knowledge (notes) can be promoted to full
node status, so becoming part of the course in its next edition. This can be accomplished together
by tutor (who invite the author to take into account new proposal) and author (who may decide to
accept or refuse it). While it is presently a very basic mechanism, yet this can lead to co­
construction of knowledge not as simply collaging works from several authors on different fields,
but as a continuous refining process among all participants of a learning community.
The second detail is about personalization of knowledge. At the end of an ADA course, every
participant can download her/his own version of the course, filtered by keywords and augmented
with all notes, bookmarks, attached documents the student has put in. Put in Nonaka and Takeuchi
terms, this could be a step between explicit/public knowledge and tacit/private knowledge: a kind of
explicit, tough private, knowledge.
2.4 Evaluation and assessment
Evaluation in e­learning context is a subject rather unexplored. While it is surely possible to
apply standard off­line assessment tools like tests, we assume here that a digital learning
environment allows another, more specific, approach. If we don't limit us to assess students initial
and final competences, but we want to know about learning itself, about process of taking control of
environment, we need much more data than tests results.
Probably every e­learning platform today can track students behavior and show to tutors when,
what and how has been read by students. But a lot more of data are in principle available because all
interaction among students, and between student and tutor, happens within the platform. Every
message, every comment, every function activation is recorded by platform. This can be, in turn,
both an opportunity and a difficulty. Technically speaking, the problem is the so called "garbage
collection", the process by which non necessary data have to be erased ­ after a backup ­ to avoid
database overload. From a ethical point of view, the problem is to which extent we are authorized to
record and analyze these data without violating student (and tutors) privacy.
But there are some advantages. Open approach implies that we save these data in a format
suitable for subsequent processing, even with external tools. Once again, XML is probably the less
efficient, yet the more open choice; that is, the one less engaging for future needs and techniques to
appear. We are presently developing a backup system that prevent privacy violation, yet allowing
for diferent analysis on groups' learning.
Processing these data, we can then answer a lot of questions:
­ which is the navigation style of students in course structure?
­ how much students interacts with other students and with tutor, and how?16
­ which are terms and expression more used in forum and chat? How this distribution varies
during course navigation? The result of these analysis can be interesting to evaluate the (possible) evolution of a student, or
­ more significantly ­ of an entire group within a course edition. But we may want to compare
different course editions, to discover regularities (i.e.: a relationship between tutor's scaffolding
messages and navigation styles adjustment). It is not only a researchers' affair, but an auto­
evaluation practice for tutors trying to refine their support to learning groups.
This kind of analysis is computationally too heavy for a web application, and will be better
accomplished off­line. However, in ADA an on­line, less specific, analysis module is at disposition
of tutors and of students to monitor in real time the direction of an ongoing learning process.
Students may read a report with seven parameters (messages sent and received, added notes and
node visits, exercises and score, level). Some of these values are compounded in a single index17
that can be used to "freeze" the global interactivity of the student; moreover, every student can
compare her/his values with the average for the group. These values can be exported to a data sheet to be submitted to further analysis, or to be represent
in a more synthetic, graphical form.
3. Conclusion: learning platforms?
Open platforms are designed to be modified by users. This simple working hypothesis forced us
to make choices in every step of ADA design, from architecture to interface. At the and of this
description, we may perhaps assume another point of view.
E­learning platforms are complex objects. Sometimes we still think of them just as simple
teaching machines, an algorithm repeating same operations forever. We represent them as tools to
support learning, more than as environments where learning take place.
To try to get over this simplification, we shall use a metaphor.
A digital learning environment can be seen as a organism; after being designed and built, it starts
to "live" autonomously, to evolve and to mutate. It is its "natural' way of behave: there will be an
interchange of data with authors ­ which shall put in their course materials ­ and with students ­
which shall put in performance and navigation data. There will be also critical moments and fast
growth phases, when programmers proceed to code debugging, add new modules, or else
restructure platform while it is still running. Every platform starts its life near empty, without data.
During its life, it will necessarily gather more and more informations, it will rearrange them, it will
change to respect changing situations. Even without assuming intelligence and intentionality, we
may be tented to speak of learning platforms to describe this evolution.
Thinking of a platform as open (as different from designing an open platform) could be the right
way to reflect and further investigate on this strange type of evolution. 16 An effective tool to manage these data could be Social Network Analysis. See Mazzoni 2005
17 This simple expression (added_notes * 7) + (message_count * 5 ) + (exer_count * 3) + (history_count * 2) gives
clearly more importance to actions that convert tacit to explicit knowledge (i.e. notes and messages) than vice­versa.
It has been proved significant for standard groups (20­25 students) and for medium dimension courses (count of
units <100) as a tool to discriminate among "writers" and "readers".
Ausubel, D. (1968). Educational Psychology: A Cognitive View. New York, Holt, Rinehart &
Collins A., Brown S. J., Newman S. E. (1989) "Cognitive Apprenticeship: Teaching the Crafts of
Reading, Writing, and Mathematics", in L.B. Resnick (ed.), Knowing, Learning and Instruction.
Essay in Honor of Robert Glaser, Hillsdale, N.J., Erlbaum.
Dewey, J., Bentley. A. F. (1949) "Knowing and the Known". In R. Handy and E.C. Harwood
(eds.), Useful Procedures of Inquiry. Great Barrington, MA: Behavioral Research Council
Duffy, TM, Jonassen, D.H., (1992) Constructivism and the technology of instruction, Hillsdale,
New Jersey, Erlbaum.
Mazzoni E., Bertolasi S. (2005) "La Social Network Analysis applicata alle comunità virtuali di
apprendimento", Je­LKS n.2 7/2005, pp. 233­255.
Nonaka I., Takeuchi H. (1995) The Knowledge Creating Company. Oxford University Press,
New York.
Novak, J.D. and Gowin, D.B. (1985) Learning How to Learn, Cambridge University Press,
Cambridge, England.
Wasserman, S. Faust, K (1994) Social Network Analysis. Methods and applications. Cambridge
University Press.
Wenger E. (1998) Communities of practice: learning, meaning, and identity. Cambridge
University Press.