30 June 2011
I am currently the director of the Center for Digital Design and Development at Utah Valley University. At the Center, we employ students to supplement their schoolwork with digital design and development projects for outside clients. Recently a project came through the Center to design and build interactive eLearning materials for a new program in Mechatronics that UVU offers. One of our challenges was to find a modular, reusable, eLearning software architecture in which to create our course materials. Since no such architecture that met our multitude of authoring and delivery requirements came to mind, we decided to leverage an emerging technology I have been working on. This technology is called Learning Components.
I have spent most of my career as an instructional technologist looking for the elusive authoring tool that would make the creation and distribution of interactive eLearning so much easier and more efficient. I never have found that tool, so, I persuaded my software engineering brother to work with me on a framework built with Flex and ActionScript 3 that would allow instructional authoring and delivery using a variety of small, self-contained components — you could think of them as small “apps.” These components would be unique because each would carry its own authoring capability with it. Once a component was created using its built-in authoring tool, it could be “wired” with other components into instructional sequences and deployed to run inside the Flash player.
The software requirements for this project were daunting. I wanted components with specialized, context-specific authoring capabilities. I needed the components to provide real-time analytics and tracking for learner usage down to the millisecond. I needed consistent playback of component sequences in all the major browsers through the Flash player. And I wanted companion mobile applications for both instructors and learners to monitor instructional progress.
Not finding such capabilities currently on the market, we used the Mechantronics project as a case study to drive the features to be included in the Learning Components platform. The first hurdle to overcome was “How can we have an authoring framework and a playback framework effectively load and utilize sub-components or ‘apps’?” The answer came with the Flex framework combined with ActionScript 3. With these technologies in place, we could produce a simple Application Programming Interface (API) that would allow any Flex Application to become a Learning Component just by implementing our API. This allows a Learning Component to be specialized for specific subject matter but general enough to be part of a larger instructional authoring and delivery framework.
We had already written the core of the Learning Component software once before using Java. But with Java we never managed to develop a solid, rich user interface. It felt like we were always fighting with the Java runtime to make UI elements seem responsive and visually rich. With Flex that completely changed. We have been able to leverage all of the features of Flex that make our UI come to life. Its ability to easily slide UI elements around to indicate changes, the advanced skinning capabilities, and the charting features have been particularly helpful to us. Only since ActionScript 3 became so much more fully object-oriented could we develop an API for Learning Components that makes sense for developers. By simply implementing our API, developers get access to all of the features built into the Learning Component software without having to figure out their own systems for authoring, analytics, remote monitoring, etc.
It takes a lot of time and effort to produce effective, interactive online learning tools. Recognizing this, we decided there must be some mechanism to compensate component authors for their effort. We built a marketplace for components and instructional sequences where prices can be set for all of the pieces that comprise a course. Additionally, many developers will be involved in projects (such as our Mechatronics grant) that allow the development of free components and courses. These are available in the marketplace for no cost.
Students in higher education are increasingly expecting some sort of mobile delivery and/or monitoring tools to be made available to them. Our current mobile clients for students and instructors run on the latest Android devices. Soon we will be leveraging the very latest Flash Builder 4.5 tools to deliver our mobile client for the iOS, Android, and Blackberry platforms from our single Flex/AS3 code base.
Tutorials & Samples