Martin Dougiamas and Jason Cole (who is responsible for the OU's Moodle implementation) spoke in Sheffield on 27/7/2006.
The event was organised by South Yorkshire's e-Learning and Open Source Special Interest Groups, and sponsored by:
- Ufi/learndirect;
- the South Yorkshire branch of the British Computer Society (BCS);
- the Institution of Engineering and Technology (IET), South Yorkshire Branch;
- Tribal Technology.
The continuation post contains an unpolished precis of Martin's and Jason's talks, and a very brief summary of responses to 2 of the questions that were raised subsequently. Slides for Martin and Jason's presentations will be available soon are available as a 4MB ZIP file, and I will link to them from this post. Responsibility for the whole of this piece rests with me, and I will gladly correct any errors that are pointed out to me.
Martin Dougiamas
Moodle 1.0 was released in August 2002, and Martin developed it partly as a result of his frustration with the then version of WebCT and with the fact that it could not be modified by users. Martin's core motivation in developing Moodle is "to make the power of the Internet available to educators".
1. Overall approach. Moodle is designed with a "social constructionism", pedagogical focus based on the following:
- all of us are potential teachers and learners;
- we learn particularly well from the act of creating or doing;
- we learn a lot by just observing the activity of peers (Moodle provides pointers to help learners with this);
- if you understand the contexts of others you can reach in a more transformational way;
- any learning environment needs to be flexible and adaptable, so that it can quickly respond to the needs of participants.
2. Uptake
- >13,000 registered sites in 150 countries;
- big players - OU with 220,000 students planned; Open Polytechnic in New Zealand with 55,000 users; Glasgow University with "53 separate Moodle installations"; and many smaller ones (Moodle is available as a "1 click installation" on a cheap web host);
- registered sites contain 5 million users and 840,000 teachers;
- interface in 75 languages;
- >3000 downloads of Moodle each day (thus the majority of sites are not registered);
- >120,000 registered participants in the Moodle Community;
- very wide spread of users between educational and training sectors;
- annual Moodle Conferences springing up all over the place - e.g. 300 people at the one in Thailand.
3. Business model. Moodle Trust is run by Moodle PTY Ltd, based in Perth Australia - 7 people on the payroll, but about 200 people in the community can write changes into the software, known as "contributing developers", overseen by Martin and team, with the team promoting consistency, fixing bugs, managing the "road map" etc.
4. The Moodle Community. Two "things" get produced and are maintained by the Moodle Trust - the Moodle Community, and the Moodle Software. The contributing community is "huge". Some of the community make donations to the Moodle Trust - covering in total, say, 15% of one programmer's time i.e. not much. Clients also contribute by contracting the Moodle Trust to develop particular features. In addition there are Moodle Partners (service providers - 30-40 worldwide) who provide Moodle-related services (training, hosting, custom development etc). Most pay 10% of their gross revenue to the Moodle Trust. Some partners, instead, contribute software development effort. Martin's job is (now) to keep the whole system operating, but if he "fell under a bus" he is confident that the system would not fail.
5. The platform
Software. It runs on LAMP (Linux/Apache/MySQL/PHP), but there is plenty of flexibility, except in relation to its use of PHP, which is fixed. Microsoft is funding the creation of a version of Moodle that will run on Microsoft's SQL database.
Design. "Very modular". There are over 20 different types of community-developed plug-ins, making Moodle integrate easily with external systems. "It has a very 'hackable' design (PHP scripts, Moodle API, CSS, etc)".
Standards
- XHTML 1.0, CSS, RSS - "we are striving for all of these".
- Common or garden data formats for data - e.g. Flash, PDF, GIF. Moodle detects the format of an asset and embeds it without anyone having to write code to cause it to embed.
- Strong on accessibility, but a range of "things that are left over" are about to be sorted out in a big project about to start.
- SCORM 2004 / IMS Content Packaging / AICC. All done or nearly done.
- IMS Learning Design - we are very keen on supporting it.
- Very wide range of authentication "protocols" (if that is the right word) are supported - LDAP, Shibboleth etc.
- Working on and committed to conformance with Web Services standards.
6. Road map. Evolving and public, and focused on standards and modularity.
7. Features of Moodle 1.6, just released
- Full Unicode support (including conversion of all old content), so that Moodle will work "with all the languages on earth", right-to-left as well as left-to-right.
- Database module - general purpose tool like Filemaker Pro for collaborative data entry and display.
- Blogs for every user, and synthesis of these into group blogs, course blogs, site blogs etc.
- Hive integration for course resources (Hive = the Harvest Road repository system, a commercial non-open source object repository).
- "My Moodle" - dashboard overview for each user, which shows all your courses in one place.
- Integration with LAMS (Learning Activity Management System) using web services (to give the appearance of integration) using simple Learning Design.
- Better groups (one user can be in multiple groups), and improved reporting and statistics.
- Better on line documentation (http://docs.moodle.org/ using a Wiki) which is integrated with every Moodle installation, in a "context sensitive way".
8. In the pipeline. A very long and ambitious list (best to see Martin's slide for this - link below when it is available), ranging fom "nearly done" to "ideas looking for implementers". e.g. AJAX integration; Whiteboard; e-Portfolios; Community Hub, of which more below.
9. Community Hub. This is groups of Moodle sites ("linked in trust relationships using security keys") allowing communication and sharing of resources between peers, so that users of linked sites can see content in each other's sites "transparently". Some Hubs could be wholly or partly commercial, charging for access or content.
10. Version 1.7 - due in September 2006 - will have:
- a new system for roles and access permissions - completely flexible, with the Open University undertaking this development;
- Microsoft funded development of database independence, with an XML format;
- improved support for blogs, so that Moodle can "suck in RSS from other blogs".
11. Verina 1.8 (or 1.7 possibly) will have:
- web services infrastructure;
- global search;
- AJAX course format;
- improved administration interface;
- SCORM Certification.
Jason Cole
Jason is author of the O'Reilly Press Using Moodle. His role is to oversee the technical development of the OU's Moodle implementation. He is a "refugee from Blackboard" at a San Fransisco University.
The OU had rejected commercial solutions, which the OU had concluded could not have been made to work for the OU. The choice was therefore between building a VLE or adopting one.
The conclusion reached was to adopt an Open Source system. The key reasons were to:
- avoid the strategic risks of lock-in to a home grown solution, or developing your own and then losing your developers;
- avoid reinventing the wheel (instead it would be much better to "add the suspension to the wheel" instead);
- put something back (the OU is a publicly funded institution, so why should not intellectual assets it has contributed to, or developed itself not stay in the public domain?);
- gain from the work of a community of developers.
The two choices were Moodle or Sakai. Moodle was chosen for several reasons, using a "business readiness" method developed by HP and Sun:
- It is fit for purpose with an >80% overlap between Moodle's features and the planned roadmap for the OU, and big improvements between Moodle versions 1.4 and 1.5 (?). "We did some load testing and we broke the load tester".
- The user community is big, and there is a large, robust developer community with over 140 contributing developers.
- The Moodle governance model is very "Linux-like", with Martin playing the benign-dictator role of that Linus Torvalds plays in Linux, with Moodle's modular structure allowing "less well checked" stuff to be available early. In contrast, the Sakai governance model (rather akin to Apache's) was viewed as being "less obviously sustainable".
The OU Development Team consists of 4 teams each with a lead developer and 1-3 developers. The four teams are working on:
- Content Management, Resource Pages, Calendars
- eAssessment
- ePortfolios
- Accessibility
The first version of the OU's Moodle implementation went live in May 2006 with 35,000 students, and will building towards 200,000 by February 2008. Every time a new OU course starts it starts on Moodle. By next May the old system will be turned off.
Lessons learned
Code management - "live and die by it" - mandatory version control - CVS is the minimum - log and history of changes with time to time merger of what is being developed elsewhere - taking care with local changes not to commit them back to the core - "tools like Git and Eclipse are indispensable".
Communication - it is impossible to communicate too much - you need to get to know and interact with the thought leaders elsewhere in the community - discuss plans early and frequently
Collaboration - find others to work with; do not fork! ("we could take it in our own direction and we really do not want to do that - we want to be forced to look outside ourselves, and we cannot innovate internally fast enough - we concentrate on the areas we can innovate on")
Road map, that is, what the OU is concentrating on, having consulted with the wider Moodle community:
- interface work to improve the accessibility of the forums, and better control of the interface;
- wrapping in internal video and audio tools;
- improving the quiz tools to give the functionality of things the OU is already using e.g. "OpenMark", and "Stack" which have good maths and science features;
- making Moodel's roles function much more flexible, with module-based capabilities, with overrides to deal with "naughty" students, or, say, to prevent students who are in prison from writing to course discussions when they are restricted to only viewing course discussions;
- e-Portfolios - to enable learners to: create and organise / modify and edit / apply visual presentation / share / archive / delete;
- adding in the OU's MSG/Buddyspace web-based java instant messaging client, and its "Flashmeeting" video conferencing application which enables individual snippets of discussion to by given a unique URL (Flashmeeting uses the proprietary Flash communications server, but the OU is looking at an Open Source equivalent).
Overall benefits
The OU has a "toolbox to build on", probably worth around £2m according to some software cost assessment done by the OU. The core technology is tested and tried. There is a big and active developer and user community with whom to work and to discuss ideas. The quality of the code is improving much faster than the OU could have achieved on alone.
Challenges
The OU's internal culture has tended to suffer from "not invented here", though this is gradually being overcome
The timelines of volunteer developers can be different from those of internal paid developers, but this can be overcome simply by paying for must have features.
Building in enough time for discussion as well as for programming.
Allowing for a "Darwinian" approach - allow for many starts with the weaker ones getting winnowed out, rather than feeling that you have to get a development right first time.
Questions to Jason (this is not a complete summary of the discussion)
Q. What is the OU's technical infrastructure for running Moodle?
A. We have a "server pile" with a multi-tier architecture. There are 2 big database servers ("quad Opterons with 60 GB of RAM") in separate buildings with master-slave relationships. We have 2 application servers (we could have more if we wanted and can scale up as needed), both pointing at a storage area network on which is stored, for example, Word files that learners access through Moodle, and we store the database sessions on the storage area network as well. We have a load-balancing server in front of all this. "The great thing about Moodle is that it scales from running on a creaky 486 to the full 'death star' architecture."
Q. How do you handle the work flow of implementing a course in Moodle?
A. We built a work-flow engine. It only took as a couple of weeks. It is now built into Moodle. We did not think anyone would be interested and it is a little specific to our own needs. We think we'll make it available to the Moodle community.
Comments