ATutor LMS: a case study

by Greg Gay, Lead Developer ATutor on 6 October 2009 , last updated


Brief description

ATutor is an open source, online learning environment used to develop Web-based courses, author e-learning content, and present instructional materials on the Internet.

ATutor came about after two studies that looked at the accessibility of Web-based learning environments for people with various types of disabilities. At the time of these studies (1999 and 2000), none of the popular e-learning environments fared very well, all containing a variety of potential barriers that would prevent, or make difficult, online learning activities for some groups of people. ATutor developed as a proof of concept that a fully inclusive e-learning environment was possible.

Since its initial release late 2002, ATutor has continued to evolve, with a development focus on its accessibility and conformance with interoperability standards. ATutor development has also focused on accommodating small e-learning scenarios, a market virtually untouched by other similar systems whose major focus is on capturing a part of the large institutional e-learning market. While ATutor does accommodate smaller e-learning scenarios, it scales easily to accommodate larger installations.


ATutor is labelled a learning content management system (LCMS), which is a designation generally assigned to tools used to author and archive learning content. In addition to its content authoring and content sharing capabilities, it also has a large collection of modular tools that can be combined in different ways to adapt the system to various theoretical approaches to teaching and learning. ATutor can also be classified as a learning management system (LMS) or a course management system (CMS) or a virtual learning environment (VLE) - all terms for describing tools used to offer courses over the Web.

From the beginning, accessibility has been a major focus of ATutor development, ensuring that anyone could access the system, not only to learn online, but to function as an author, instructor or an administrator of the e-learning environment. A blind person, for instance, would be able to participate fully in online learning activities, develop and teach an online course, or manage his/her own Web-based learning environment.

Developed at the Adaptive Technology Resource Centre (ATRC) at the University of Toronto, ATutor is one of many projects at the centre that focus on inclusive access to information and information technology. The ATRC is a not-for-profit organization that promotes accessibility on a global scale. Part of the mandate at ATRC is to introduce inclusion into developing standards, and to this end, ATutor has been a model for standards implementation. From its early adherence to accessibility and HTML standards, much effort has also gone into the implementation of interoperability standards, ensuring that content authors and course developers are not locked into the system, but instead can easily package up their learning content and their online courses and move them into other systems.

Project history

The concept behind ATutor originated in a graduate school project in 1994. Greg Gay was developing an online course called Learning to Learn. The course taught students about learning skills, individual differences, and focused on developing self-awareness of individual learning capacities to help learners better adapt to a range of learning activities. At the time, there was no e-learning environment that reflected the cognitive-based theory being taught in the course, so the initial system was developed to reflect two key aspects of cognitive learning theory. The first aspect revolves around the perceptual forms knowledge takes on in memory (visual, verbal/auditory, textual) and the senses through which this knowledge is accumulated. The second revolves around the structural forms knowledge takes on in memory, in webs of related information, hierarchical structures of topics and sub-topics, and sequences of step-by-step procedures or the progression from simple to complex understanding.

In 1999 the first of two studies at the ATRC that looked at the accessibility of e-learning environments, was a technical audit of popular e-learning environments for their conformance with the W3C Web Content Accessibility Guidelines (WCAG). The second study in 2000 was a user study in which people with various types of disabilities participated in an online course, each week presented in a different e-learning environment. Some systems fared better than others, though none provided an all-round inclusive environment in which all users were able to participate fully in learning and teaching activities.

Growth and development

Following the two studies, ATutor was conceived, based on the earlier graduate school project, and brought to the ATRC, where it would develop into an adaptive, accessible, open source learning environment. Not long afterwards, in December 2002, ATutor 1.0 was released as an open source learning content management system, published to SourceForge as its primary distribution network, and the community website was launched.

Over the year that followed the initial release, ATutor was internationalized (July 2003) and the start of its implementation of interoperability standards began with the introduction of tools for authoring, exporting and importing IMS and SCORM conformant content packages (November 2003). ATutor was the first open source LMS capable of importing and exporting IMS content packages.

During 2004 ATutor introduced its theme system, making it easier to give ATutor a new look, and allowing rebranding, and user levels and roles were introduced. During this period, work also began with MoxieCode Inc. to modify their TinyMCE WYSIWYG editor as a proof of concept project for the W3C Authoring Tools Accessibility Guidelines (ATAG) working group. The idea was to build a tool that could conform with the then developing ATAG 2.0 standards, to create an authoring tool that was both accessible to people with disabilities and created accessible content. As part of that work, the ATRC Web Accessibility Checker was made available as an editor plugin, so authors could assess the accessibility of their content as it was being developed. TinyMCE was integrated into ATutor as its Visual Editor, and continues to provide accessible Web content authoring tools in many Web content management systems today.

Significantly, it was in 2004 that the ATutor source code was made publicly available in a Subversion source code repository, and a move towards distributed development began.

Throughout 2005, ATutor development began to accelerate, with the introduction of the ATutor module installer allowing ATutor to be extended with third party applications, and to develop new features that were easily plugged into the base system. A SCORM 1.2 Run Time Environment was also introduced, and the ATutor documentation was integrated into the system as context-sensitive help.

During 2006, many feature refinements occurred as the community began to work with the ATutor source code. Continuing with the introduction of interoperability standards, the first implementation of the then brand new IMS Question Test Interoperability standards (QTI 2.1) took place in ATutor. A slow uptake of QTI 2.1 in the larger community meant that two years later ATutor also implemented the less robust QTI 1.2 standard, creating tools for authoring, exporting and importing standardized tests and test questions. (This work contributed in large part to subsequent efforts in implementing the IMS Common Cartridge standard, with the first open source implementation of a set of tools for authoring, exporting and importing common cartridges, completed in Autumn 2009.)

A key feature introduced in early 2008 was the Patcher module. This brought a significant benefit to the ATutor community, as the Patcher also allowed community developers to develop their features into their own patches and have them submitted for inclusion in the public source code. For those who had custom features they’d built themselves, normally lost when an ATutor system is upgraded, it was now possible to save customizations in patch files, and reapply them during upgrades.

With the introduction of the ATutor 1.6 series in 2008, the entire system was converted over to UTF-8 encoded language, greatly improving support for multi-lingual installations. Module-exporting was also introduced.

In July 2009, ATutor introduced its implementation of the OpenSocial container specification, extending the system with a variety of social networking features. OpenSocial also extended distributed development even further, making it relatively easy to develop a whole range of applications for the ATutor social networking environment, many of which have been developed without any intention of their being used as an e-learning tool.


In 2007 ATutor received a $50,000 cash award from the Andrew W. Mellon Foundation for its efforts in technology collaboration. This award recognizes not-for-profit organizations that make substantial contributions of their own resources towards the development of open source software, and for fostering collaborative communities to sustain open source development. In 2008 ATutor received an IMS Gold Learning Impact Award. This award recognizes high impact use of technology to improve learning across all industry segments and in all regions of the world. In 2009 ATutor received the W4A Web Accessibility Challenge Award, which recognizes advancement and innovation in the development of advanced Web accessibility technology. This award recognized the first implementation of the IMS AccessForAll and the ISO FDIS 24751 accessibility standards in an open source application. In late 2008, ATutor was a case study in the Implementation Report for the W3C WCAG 2.0 accessibility standards, demonstrating that complex Web applications could meet such stringent accessibility requirements.

Project structure: sustainability model

As a not-for-profit organization, with a focus on promoting accessibility, ATRC projects rely on external funding sources. ATutor development has been funded primarily through grants, though it also continues to be supported through contract development work, support services, LMS hosting and donations. All profits are channelled back into development.

With the introduction of modules and patches, there has been a move towards distributing development out into the community, with ATRC’s effort focused more on underlying structural development, leaving specific feature development to be either funded or developed through its user community. External developers contribute to the system’s development primarily through the Patcher, adding new features by developing patches that merge into the public source code, to make their features a permanent part of the system.

Following the introduction of modules, it was not long before a variety of community contributed modules appeared. Some include the SCORM Player, Photo Album, FlowPlayer movie player, Certificates, Adobe Connect, Announcement Subscriptions, Content to PDF, Social Networking and the Patcher. The SCORM Player, social networking and the Patcher modules have become a permanent part of the ATutor core source code.

Community contributed patches, on the other hand, are generally small refinements to existing features, such as a couple lines of code to increase security during login, an upgrade to the mouseover glossary popups using jQuery, and the detailed course home page view. And, lots of little bug fixes that might fix a typo, adjust a few lines of code, or replace a file with an updated one.

The ATRC encourages other organizations to offer fee-based services in support of ATutor, without requiring partner or memberships fees, or special licensing to allow commercial use of the software. As the number of clients of these service providers increase, so does the need for technical and development services offered by the ATRC. While the bulk of revenues remain with the service providers, a small portion from many sources finds its way back to the ATRC through sub-contracting its services to providers and their clients.

Project structure: process and governance

ATutor has evolved from a graduate school project, to proof of the concept that e-learning environments can be accessible, to an in-house open source project, to a community-based distributed development project. The ATRC continues to maintain strict control over the public source code to maintain its quality and ensure that it does not get overrun with feature bloat and legacy code.

Greg Gay is the primary decision maker, keeping development efforts on track and within the goals originally set out for ATutor (accessibility and adaptability). With a single lead, projects come together quickly, and the overhead often associated with a committee decision making process is minimized. Decision making generally comes about as a result of a collaborative effort within the small group of core developers, and with client input where client features are being added to the core source code. Code contributors work with the ATutor development team to produce patches that are easily merged into the public source code, and fit within the overall goals of the system. Features that do not belong in the core, or are judged unstable or perhaps inaccessible, are designated as extra modules. Extra modules can be archived in the central module repository that ATutor installations access for easy importing and installation of extensions to the base system as needed. As extra modules are improved and used by a broader audience, they tend to find their way into the core public source code and become a permanent part of ATutor.

ATutor core releases have settled into a regular five to six month cycle, generally occurring during the school-year down-time in June or July, and again before the year end break in December. Module releases, and new features available as patches occur continually. As new features are introduced, enhancements are made or bugs are fixed, they can be added to the system immediately and made available to the public, rather than waiting for the semi-annual core releases.

Reflections and future

ATutor, having developed in a not-for-profit environment, has faced its challenges. Unlike typical business models, development occurs after revenues are generated, rather than investing in development to generate revenues. It began with $0, and little by little, support revenues afforded a little more development, which caught the interest of a funder or two, followed by a little more development, then more interest, after which the cycle continued. The development model has proven to be effective, albeit slow-moving. With a not-for-profit focus on developing open source software that supports people with disabilities, government funding is often available to bridge periods between contract development projects. Along with small hosting and support revenues, ATutor has continued to develop at a steadily increasing pace since its beginning in 2002, and slowly revenues have been growing, as past revenues are invested in further development.

One challenge in developing in a not-for-profit environment has been raising funds for marketing and promotional activities. Funders and clients generally support feature development, but will not support conference presentations, publications or advertising, etc., which are all important to reaching the broadest possible audience. While focused Web-based marketing has helped get the word out about ATutor, much more could be done to expand its market share.

Current status

As of November 2012 the latest stable release is ATutor 2.1.

ATutor is proving itself to be scalable, with several installations handling in excess of 25,000 students and one large installation in excess of 65,000 students. Reports of reliability are encouraging and steps such as the use of language caching to help minimize the load in rendering the user interface on high traffic systems maximizes responsiveness.

Further reading


Related information from OSS Watch: