01/16/11

As an eLearning designer, I pay close attention to the way my content is displayed and contained for my learners. There is quite a bit of research and theory on great eLearning design, but now that I am leading a team where content is delivered via LMS and I've discovered something: LMSs have a long way to go before I would describe them as "user friendly".

My biggest concern used to be whether nor not my eLearning project was SCORM compliant and worked in an LMS. Now, I'm faced with the issue of content working in the LMS, AND the user being able to access the content in the LMS.

I won't talk about any specific vendor - I've been reviewing four major providers in an effort to choose a new system for global implementation - but they all kind of stink. Menus are complicated, accessing and searching the course catalog is hit or miss, and launching courses still rely on pop-ups, hidden windows and confusing on-screen messages.

I know that there is a difference between form and function, but the major vendors still seem to be letting developers run their user interface. This needs to change. These are feature rich applications that take weeks to learn. Each feels as if they are a series of "bolt on" applications, the result of one vendor purchasing another and integrating technology. Why?

Just like what happened in the early 2000s with eLearning content vendors gobbling each other up, LMS vendors seem to be in the same feeding frenzy. I'm not sure if it's good or bad, but it is happening on a grand scale. It may be Darwinian and therefore good for the industry, but I'm not sure if it is good for the average Joe user.

LMS admins have to spend so much time and energy getting their system functional, and still have to fight through an interface they have been forced to learn. Simple tasks like adding classes and users are multi-step process where a simple missed check-box can result in catastrophic error. Why is it so hard?

A start up LMS vendor who focuses on delivering JUST the core competencies necessary to run a training organization, and brings on a group of usability experts to help design their user interface and screens can change the face of the LMS industry. We need a young organization who wants to break some rules and really focus on the learner. It's really time to wake up and start paying attention to the route our learners take to get into our learning programs. I don't care how awesome our eLearning programs are, if the user can't navigate the LMS, we've set them up for failure.

As the big vendors eat each other up, a game changing pure LMS can really change the lives of learners, administrators and organizations world wide. Is 2011 the year when we see something new?

08/05/10

NOTE: This article was written by Ginger Nichols, a graduate student at University of Colorado, Denver. She interned with me this summer, and I asked (forced, persuaded, cajoled...) her to do a Flash project. She had never even opened the software before. Because so many of my visitors are completely new to Flash or looking to get started with the tool, I asked her to write about her internship so that others could benefit from her experience. She wrote a nice piece outlining her journey, so with her permission, I'm reproducing it here.

To give you a little background, I am a graduate student (soon to be a graduate) of the Information and Learning Technologies (ILT) – Instructional Design and Adult Learning program at the University of Colorado Denver. Over the course of the program I heard and read a lot about the eLearning content that one could create by using Flash. Unfortunately, the University didn’t offer a course in Flash so my advisor recommended taking a class at a local community college. I put that idea in the back of my mind and continued on with my coursework in the program.

With two semesters left in the program, I started thinking about my internship. I wanted more exposure to eLearning than what was offered in the Instructional Design and Adult Learning concentration. Thomas was the first person to come to mind to help me with my internship. We talked about what I wanted to learn and came up with a few projects involving eLearning that met my objectives. Thomas had a fantastic idea to convert a course that I attended in person to an eLearning course, and design a module from the course in Flash. I chose to convert a presentation and public speaking class that was offered at work.

My timing for the internship was far from perfect. I saved it until my last semester in the ILT program – Summer 2010. The summer semester is half as long as Fall and Spring so I had 10 weeks to work on my three projects. I reserved the last month to work on the Flash portion of the project. The following list includes the resources and things I learned while working with Flash.

1. A good Flash “how to book.”

Thomas recommended a book from Friends of Ed. I read Foundation Flash CS4 for Designers by Tom Green and David Stiller. It took me about a week to read through the book and complete the exercises. I don’t typically learn by reading the book or the manual on my own but the hands on exercises really helped me to understand the concepts behind Flash and ActionScript 3.0.

2. Lynda.com.

If you aren’t familiar with it, Lynda.com is a subscription service that provides online software training via video. I signed up for a 7-day free trial because I wasn’t sure if I would like the service but I did.

When the book wasn’t making sense to me, I watched the videos on Lynda.com for another perspective. The videos were great because they match my learning style. If I can see how it’s done, I can usually do it myself. I had a few “that’s what they meant” moments when the video made the concepts in the book click for me.

3. Someone who knows Flash and ActionScript

Thomas and I met up on Fridays during my internship. Each week I had the chance to pick his brain to learn how he uses Flash. His blog is a great resource because it contains many Flash tips and tricks. I also sent him a few late night emails asking him “How do I…” I’m going to blame the “How do I make the movie stop?” question on fatigue.

4. Cartoon Solutions

Part of my internship was to research Accelerated Learning and apply it to my eLearning project. Storytelling is one way to reach a variety of learners and it’s something one can use in the eLearning environment. For the introduction to the course, I wanted to tell the story of someone who gave a terrible presentation at a convention that would set up the objectives of the course.

I included this story in my storyboard that Thomas reviewed. The storyboard was drawn by hand and I mentioned to Thomas that I didn’t think my stick figure drawings were what I wanted to use in the Flash movie. Thomas pointed me to Cartoon Solutions’ website where I found a character and backgrounds to use in my movie. Two backgrounds and one person cost me about $30, which was worth every penny since they made my movie look more professional than my hand drawings did. Don’t get me wrong, I love drawing on a whiteboard during a facilitated training session but my drawings just didn’t translate in Flash.

5. Patience

There were a few moments working on the Flash portion of the project when I thought about giving up on it. I could set up a few PowerPoint slides, drop them into Captivate and have a Flash training module in a matter of a few hours. I was frustrated that I couldn’t make Flash behave as I wanted it to. This is when I knew that I needed to walk away for a few minutes, or quit for the day. The important part is to come back to your project. It was easier to reread a portion of the book to understand a concept when I had a clear head.

Another thing to remember is that you’re not going to have advanced skills right away. My story had a scene where the character walked out on stage. In the final product, my character slides out on the stage instead of walking. Flash has the capability to animate the walking motion and my pre-made cartoon man was set up with joints for this purpose but I didn’t have the knowledge or the time to figure out how to make the character walk. Sure my Flash movie would have looked extra slick if the character walked across the screen but it didn’t add to or take away from the content so it wasn’t necessary.

Your skills will improve with time. Master the easy techniques then add more advanced skills in later. I submitted my final project to Thomas and my professor for review and received my grade for the internship.(TT Note :: Ginger got an A for her internship) I plan to go back to my Flash movie to work on making my character walk across the screen. I don’t have a deadline now so I can take my time and figure this out.

The bottom line is that Flash isn’t all that scary. Flash is a powerful tool that you can add to your repertoire of eLearning creation tools. Just like anything new, it takes time to master. However, the basics are relatively simple to pick up in a short amount of time. In just one month I created an eLearning module that I was happy with and that I wouldn’t hesitate to use as a real eLearning course rather than just a project for school.

07/15/10

I have finally lost my battle with a client and am conforming to their request: "I want the text content to be stored in an external .xml file so we can edit easily."

I'm happy for the many tutorials out on the web that helped me to learn this stuff, but I was surprised that I didn't find a single one that did EXACTLY what I wanted. So, I banged it out and am sharing it so you can shorten your development cycle.

Goal: From an external XML file, load a page header and content into two separate dynamic boxes, and then have those boxes update as you move from page to page.

Sounds easy right? Here is what I did to create and test my solution.

1) I created a Flash CS4/AS 3.0 document with four layers: Actions, Buttons, Dynamic Text and Background
2) On the background layer, I created a color gradient background
3) On the buttons layer, I created a simple back and next button
4) On the Dynamic Text layer, I created two dynamic text boxes. I called the smaller one at the top titleText and the larger one for the content descText.

Ok...pretty straight forward.

I then created my button listeners for the back and next buttons and put this code on the Actions layer:

nextBut.addEventListener(MouseEvent.CLICK, goNext);
backBut.addEventListener(MouseEvent.CLICK, goBack);

function goNext(event:MouseEvent):void {
nextFrame();
}

function goBack(event:MouseEvent):void {
prevFrame();
}

From there, I wrote some sample XML and called it "course.xml":


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pages>
<page pTitle="Welcome">Welcome to dynamically loaded text.</page>
<page pTitle="How to Do It">Here is how it works.</page>
<page pTitle="Simple">Once you have it figured out, its easy.</page>
<page pTitle="Final Page">No really...its pretty easy</page>
</pages>

This is a simple set of four pages. In each page tag, I included an attribute called "pTitle" which is the page title. The content is between the page tags. So, page 1 is "Welcome" with the content "Welcome to dynamically loaded text".

Now, here is the AS 3.0 to load and parse the XML.

var myXML:XML = new XML();
var XMLURL:String = "course.xml";
var myXMLURL:URLRequest = new URLRequest(XMLURL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);

function xmlLoaded(event:Event):void
{
myXML = XML(event.target.data);
titleText.text=myXML.page[0].@pTitle;
descText.text=myXML.page[0];
}

The first line sets up a variable container for the XML file. The second line sets up the call to the .xml path. The third and forth line loads the XML and the fifth line waits for it to load. When it does, it loads the XML content into the variable myXML.

The next two lines of the function pick out the individual XML elements we want to use. In this case. the text field titleText gets the XML field page's first child's pTitle variable, and the descText gets the XML field page's first content.

But WAIT! Why are we calling string [0] instead of string [1]? Well, XML starts it count from 0...nuff said. When you want page 3's content, you look at the XML child[2]. Don't let it mess with you like it did with me...Accept it and move quietly on...

Now, if you want to add more pages, you add more frames. If you want to load the newer content into the subsequent text fields, you use the following code:

titleText.text=myXML.page[1].@pTitle;
descText.text=myXML.page[1];

on the Actions layer of frame/page 2...


titleText.text=myXML.page[2].@pTitle;
descText.text=myXML.page[2];

on page 3 and so on...

What happens is this...as the user advances to the next frame, the text box content changes to the new XML content. You have to change the string attribute, but as long as you do, the correct content will display.

And, if you want to digest this in some working files, all the code and .fla are available here. This zip file includes the final .fla, .swf and the .xml file.

I hope this saves you time as you develop your own XML driven eLearning projects.

06/14/10

Flash CS5 bugImagine you just dropped $599 on the CS5 upgrade, and you cannot wait to try out the new Adobe software. You have a bunch of things you were working on in Flash CS4, but CS5 is new and you want to start using it right away. You load up your old files, work on them for, oh, 24 or 30 hours, all the while saving as CS5 format. You are done for the week, enjoy your weekend, open up Flash CS5 on Monday to continue working and you get this message.

"Cannot open .fla file. Flash can not parse this document."

Wait...really?

You try again, because you know you saved the file. Religiously.

"Cannot open .fla file. Flash can not parse this document."

Yes friends, our new buddy Flash CS5 feels like a beta. This is a known bug. This is happening to me. Right now. I am not happy.

Also, I discovered that the radio button component works differently in CS4 and CS5. I don't know how, but when I program my multiple choice questions and all works in CS5, I get funky errors in CS4. Re-open in CS5 (without changing a single line of AS) and it works fine. I have no other details, because I've had bigger fish to fry with Flash today.

Luckily, in my scenario above, I was testing enough in CS4 and CS5 to save 70% of my work. Here is my workaround:

1) Open your CS4 file in CS5.
2) Work on it, but click Save As CS4 file when you are done.
3) Continue to use Flash CS5 in this lame way until Adobe fixes it

Yes friends, you are saving your CS4 files as CS4 files to work on them with flash. I haven't had any issues with files created in CS5 originally, so if you are working in CS5, don't downgrade to CS4 and then back up because you will encounter this bug. Now I have a new problem...my client hasn't upgraded to CS5...when they do, they will have the same problems unless Adobe gets this fixed fast.

While researching a solution to this mess, I discovered that there is a new Flash patch 11.0.1. Yay! However, it did nothing to fix my current files. Boo!

Maybe this is what I get for being an early adopter. However, I feel like Adobe blew it again with 1) No public Beta and 2) Pushing out CS upgrades before they are ready. How hard must it be to get 7+ products updated and released all at the same time? It's got to be near impossible but yet they cram them all out at the same time anyway. CS3 and CS4 felt that way, and now CS5 is the same. I feel like I am beta testing for Adobe, and I am paying them for the privilege.

I love Adobe products...six months after they are released when all the bugs are fixed. Fool me once, shame on you. Fool me twice, shame on me. Fool me three times, shame on Adobe. I won't get suckered into a release day upgrade again.


6/15/10: UPDATE: A very nice Adobe rep who saw this post (or my FB post, or maybe it was my Twitter post...) contacted me and offered to figure out what was going on with my file. Today, I got the file back and it seems to work fine. There was an empty frame on layer 1 of one of the symbols in my library. I sent a note back requesting more information about how to prevent it from happening again, how to fix it when it happens etc, and am waiting for a response. So far, its pretty impressive that Adobe is taking such an active role in squashing this bug. I'm downgrading from angry to annoyed.

05/11/10

ASTDWe are about a month away from my Essentials of Adobe Flash for E-Learning Designers online workshop series for ASTD. We are already getting good enrollment, but I wanted to give my readers a "head's up". The biggest page views on this blog are Flash related, and most of the questions I get from my readers are Flash related, so I figured I'd drop a note.

Here are some key points that you may want to know before enrolling:

  • I will be using Flash CS5
  • I will have about 10 minutes of presentation, following by 80 minutes of application sharing - this isn't going to be PPT driven, it will be driven by demonstration of Flash CS5
  • If you've used Flash in the past, this will be an intro to the software. If you have built more than a few projects in Flash, it may not be for you. However, Day 3 is going to rock, so maybe you should sign up for that...
  • Day 1 is all about the interface, drawing, symbols and tweening
  • Day 2 is all about ActionScript 3 - sorry, no AS2 will show up
  • Day 3 walks through an entire project, start to finish, the way I would build for a customer. It's really pulling back the curtain on the mad scientist and I'll share my methodologies for building eLearning with Flash
  • I'll be giving out a TON of code each week. I'll be writing it in Flash CS5, but will offer CS4 and CS3 versions as well.

If you are already an ASTD member, then the price is 1/2 off. It's going to be a blast! I hope you can make it:

ASTD Essentials of Adobe Flash for Elearning Designers
June 9, 16, 23
1:30 - 3:00 EST
Online Workshop format using Cisco WebEx

:: Next >>

Very few people are creating technology exclusively for the online learning developer, so this site attempts to fill that gap. Whether you want ideas on how to use web technologies in your eLearning, or have questions about the what's and how's, this site is for you.

May 2012
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Search

XML Feeds

multiblog