Archive for November, 2010

Making your Flash teaching content as effective as possible

Over the last 2 years, I have been involved in a lot of user testing here at Adobe. The documentation group has been investigating how to modify our Help content, including Community Help, to make it easier for users to find what they are looking for, and help them avoid getting lost on the wrong path. We observed users having difficulties both on and before they ever got there. I’d like to share some thoughts about how both and community content can be more effective.

Things we’ve seen about Flash learners who are searching for content:

  • They don’t necessarily have an overview of the product yet in their mind. They may have a grasp of drawing on the Stage, but not of how to use the Timeline. They might know about movie clips but not graphic symbols.
  • They don’t know which tasks in Flash require ActionScript and which do not. They may click on a tutorial that uses ActionScript without realizing there are plenty of tutorials for the same basic task that don’t use AS.
  • They don’t know that the ActionScript versions are incompatible with each other. They are prone to try using bits of ActionScript from different tutorials that may not be compatible with one another.
  • They are overwhelmed by the sheer volume of learning material about Flash available on the web. This is compounded by the amount of content that is very out of date but still live on the web.
  • Users want to spend a minimum of time figuring things out and maximum actually getting work done. This cannot be overstated.
  • Most users are not very good at using search engines. Long, natural-language search strings that yield incoherent results are common.
  • They often have a desire to find a tutorial or article that provides the perfect answer to their specific question on its first page. They believe this exists because of the sheer volume of content available. They search and search for this magic bullet. However, they often leave articles that directly address their question because they can’t tell immediately how relevant it is.

All these things lead to a very high occurrence of users spending time in content that is inappropriate to their need, and combining steps from tutorials that are not compatible with one another.

One thing we shouldn’t do is try to explain everything about Flash Pro in every tutorial we write. But we can take some steps to put our tutorials into a clearer context for the learner.

I propose a convention that creators of teaching content could adopt in order to make it easier for users to identify the right tutorials for their immediate needs. I don’t expect everyone to agree right away with all of the elements of this proposal, but I hope to start a conversation that might allow us to come to some consensus on something that will give users a more consistent experience of finding the right content.

Here are some guidelines for making your content more useful and identifiable as relevant. Provide the following information up front at the beginning of each article, tutorial, or video:

  • Explain what the tutorial will show, both at a high level and at a lower level. Be clear what you are showing and not showing. Are you showing motion tweens or classic tweens, button symbols or movie clips, TLF text or classic text?
    I.E. High level: Motion tweens. Low level: make a movie clip instance move across the screen with a motion tween and fade from invisible to visible.
    Note from Phillip Kerman: It’s not that this list needs to be cumulative, but simply inclusive of the various things that will be shown. Often if you think about what you’ve written, you realize you’ve shown much more in all the little steps than just what you set out to.
  • List the user level, say, Beginner, Intermediate, or Advanced.
  • List any prerequisite knowledge the tutorial requires. Ideally, link to an item that gives an introduction to that area of knowledge.
    For example, a tutorial about motion tweens might list knowledge of how the timeline works as a prerequisite.
  • List whether the tutorial uses ActionScript
  • List whether the workflows or tasks shown require ActionScript or not
    i.e. this can be done with or without AS”. Or “This task requires ActionScript”
  • List which version of ActionScript is being shown.
    Most newer users don’t realize that AS 2 and AS3 are not compatible, and assume all AS snippets can be combines with each other.
  • Indicate which version of Flash the Tutorial is compatible with. At least start with the version used to create the tutorial, and then update as you are able for subsequent versions. Be clear whether you are talking about Flash Pro, Flash Catalyst, or Flash Builder.
  • If you are creating a video tutorial, provide a list of the specific tasks shown the video, along with the time codes where each item occurs in the video so that the user can scrub to the appropriate time code to see the item they are most interested in. (Example in my comment on this page: Ideally, roll this list into a SWF that allows the user to simply click an item in the list to jump to that part of the video. (See how to implement this here

For example, a written tutorial about animation:

Motion Tweening in Flash Pro

Items covered: Animate a movie clip symbol instance across the stage, add a fade (alpha) animation.
Flash version(s): Flash Professional CS4, CS5
User Level: Beginner
Prerequisite knowledge:
Understanding of how to use the Timeline, knowledge of symbols and instances
ActionScript Required? No. However, task can also be accomplished via ActionScript 3.0.
ActionScript Used? No.

If we as a community were to adopt these conventions, we could accomplish 2 important things. The first and most obvious is making our own content easier to find and easier to consume. The second is that we would begin to move the body of Flash Pro community learning content from its current state, where it amounts to a huge amount of noise to new users, to a new improved state where it more closely approximates a distributed user manual, with context for each item, cross-references to related content, etc. I’m not saying “let’s make a distributed manual”, but if we were to adopt these basic conventions, we could move in that direction over time to the benefit of all of us.

Please let me know in the Comments what you think of these ideas and what your suggestions are for fleshing them out.