Friday, October 10, 2008

Externalizing Content - Flash and XML for eLearning Development - The Perfect Marriage

Since everyone seems to be disputing what "marriage" means these days, let me hold out as an example the perfect technology marriage when it comes to eLearning Development: Flash + XML (eXtensible Markup Language).

If you aren't using Flash and XML as your e-learning development architectural platform, here are a few reasons you should consider it.

I'll start with Flash, then XML, then how together they make an indomitable pair.

  • Flash Gives You Reduced Browser Incompatibility Issues. In other words, it won't matter what browser your learner uses because Flash works the same in all browsers (with few exceptions). Try accomplishing this with DHTML and CSS and you'll find it a challenging task where you wish you could limit the type of browsers people use. Instead of limiting or restricting, why not use Flash which works virtually everywhere?
  • Flash Easily Integrates Rich Media. No one expects e-learning to be text and images anymore. Learners expect video, audio, animation, games, quizzes, tests, and simulations. Not only do they expect it, but a good instructional designer will use these different mediums effectively to enhance the learning (I am not advocating adding rich media for media's sake). Who hasn't seen great animation, video, games, or simulations in Flash?
  • Flash is Ubiquitous. Yes, I know...did I really have to use "ubiquitous"? I love words and how else can you say "It's EVERYWHERE!" in just one word. I suppose I could have said "Flash is Everywhere", but isn't "ubiquitous" fun to say. Use it today. It will brighten your day. So...because Flash IS everywhere, most people don't have to download a plug-in to get it installed on their machines.
  • Flash is Portable. eLearning courses you build in Flash can be launched in a browser online, on a CD-ROM, made into an executable and run from a local machine or network, and on many mobile devices.
How about XML? When I first heard of XML back in the late 90s, I was a little intimidated by it. The name certainly doesn't sound very user friendly.

So, if you're not familiar with XML, think of it as a text-based outline of content. Kind of like building a bulleted list with indented nested bullets, etc. In simple terms, XML is a way to organize and structure content optimized for the Internet. It is a flat text file (unlike a database) and is easily portable because it is so small.

So what are the benefits of XML for e-learning development?

  • XML can act like a database that builds the e-learning content for you. Imagine being able to build an interactive quiz by editing a text file. How easy is that!!?? Now imagine building learning games, simulations, and other interactions just by editing that simple text file.
  • XML is Portable Text File. What if you want the benefits of a database driven content structure but don't want to install a database or worry about back-end database programming. Simply open the text document and build content. If you set it up right, it's that easy. And, when you're done creating and you're ready to move it to the web server, does your web server have to go through some long installation process like it would with a database? No! You do need some technology that can read the XML and give something to the learner in the browser, but that's where the Flash player comes in (which I'll discuss in a bit).
  • XML is an Open Web Technology Standard. This is important because developing using standards can help make what the e-learning courses more maintainable by yourself or by others in case someone else needs to modify the course in the future. There are millions of people who know how to work with XML because it is a standard. If you were to build your own text file structure, you'd be the only person who knew how it worked. It also means it opens a variety of compatibility and interoperability opportunities to you.
Separately Flash and XML are both great technologies, but together? Incredible! Here's basically how it works: XML stores the content and references to content and Flash reads in that XML to display it in a way the learner can get to and interact with the content. Separating the content from the framework of the course provides big benefits:
  • Anyone Can Build eLearning in Flash! That's right, once you set up Flash to read and work with XML, anyone can edit the text file and build great content. Imagine having to learn Flash well enough to build an Jeopardy-style learning game, or a branching "choose-your-own-adventure" style simulation of a problem. This would take you months if not years to learn how to do. Now someone is going to have to build it and tie it into XML (we did of course in ProFormRapid eLearning Studio and Unison, our browser-based rapid e-learning development solution), but once that is done, to build the game, you just edit an XML text file. How easy is that?!! And how fast!
  • Develop AWESOME eLearning at Hyper Speed! Say goodbye to boring page turners because you don't have the time or money or expertise. Imagine taking the principles in my blog entry about instructional patterns and template-based development to make better e-learning faster. If this is all tied into Flash and XML, once you have templates that do what you want, you can develop at an unimaginable speed. And you won't come out with cream-puff courses either. One of our customers, a large (very large) accounting firm, used Rapid Intake's ProForm Rapid eLearning Studio to build 200 courses in 4 months! Even I was amazed.
  • The Whole Process Can Be Form Driven. Once XML and Flash are tied together, you need to find an easy way to create/edit the XML. Since it's a text file, you can just edit it using a text editor, but that eventually because impractical because the XML can get pretty complicated and unwieldy. So, a form-driven interface can be built to create and edit the XML. This can be done with a web forms so that you can actually build the elearning content in a browser (i.e. Unison) or using Flash or some other desktop-based tool to layout forms (i.e. ProForm). Taking this step is more work initially, but then it really speeds up development, because you are building the content by simply filling out forms instead of editing the text file...even easier!
  • Fewer Errors in Development. Developing this way produces fewer errors because the Flash part has been vetted previously and it is simply reading in content and organizing it for the learner. In the previous example I gave, the project manager that pulled off 200 courses in 4 months wrote to tell me that they had an average of only 5 (yes that's 5, not 50, not 500) quality assurance testing errors per course when they went through the QA testing phase. Wow! That's a HUGE benefit of Flash/XML based development that doesn't get mentioned very often.
  • Localization of Text Becomes Easier. One of our customers has translate each course they develop into 26 different languages. Now that gets a little crazy no matter what technology you use, but using XML makes it much easier. Most translation companies will take XML files (which are easily emailed because they are so small). So you simply create the course in the primary language, send the XML to be translated, bring it back, replace the original XML file and SWOOSH, your text is now in a different language. Now, there are many more issues related to localization that you have to be aware of (text density and different character sets to name a couple), but externalizing your text into XML makes the process so much easier. No need to open the course authoring environment, just work with the XML. You may want to check out our white paper on localizing e-learning courses.
  • Localizing Images, Audio, Video, and Flash Movies Becomes Easier. In some cases, localizing the text isn't enough--you may need to create images, audio, video, and Flash movies that have the right cultural content. XML can point to the external resource (e.g. a path to an image or other media asset). Flash reads the XML and says, "Ah hah! There is the media I need, I'm going to load it and serve it up to the learner." This is great in and of itself, but for localization becomes essential. Similar to text, you can just replace the media asset files with localized versions (as long as they are named the same and in the same location) and POOF! Your course has all of the right cultural references. Building those assets becomes the tedious part, not getting them into Flash. In a nutshell, you build the course once, then localize all of its externalized content. You may want to check out our white paper on localizing e-learning courses
  • Course Maintenance Becomes Incredibly Easy. In most authoring environments, suppose you want to change an image that is outdated, or an audio or video file. Typically you would have to open the authoring tool, update the content, re-publish, and test. And who knows what might happen during publishing. Maybe you accidentally screw something up in the process. Not so with Flash/XML architecture. With Flash/XML, you can simply locate the media asset and replace it. It's that simple. This does assume, of course, that your Flash is pulling in the media assets dynamically based on references in the XML (which is how we designed ProForm and Unison).
There are probably more benefits, but my fingers are getting cramped. This has been a long post, but enough cannot be said about the benefits of using Flash and XML together to build effective e-learning courses that engage the learner and at the same time help you build quickly and easily as well as make it easy to maintain the courses as they age.

Together, they are truly the perfect marriage. We may even be able to celebrate on their 50th Anniversary.

Please stay tuned for another post where I will provide some actual sample Flash/XML files to download to whet your appetite and get the concepts in place, just in case you want to implement this whole approach from scratch yourself.


David said...

I really like this way of using Flash. Not being Flash-literate, I've been lucky enough to work with multi-media fellow who has developed a few flash "containers" into which I plug my xml content and even images (as referenced in xml files). This multiplication game is an example. You can download the xml, html, and swf files from that same site as well.

Anonymous said...

Alot of our users like to view tutorials on their iPads - any chance flash can be converted to a file compatible with Safari and Apple users?

Garin Hess said...

@Anonymous, check out mLearning Studio, it allows you to publish to Flash and HTML5 for iPads and other devices at the same time. This may be helpful. You can find it here: