Tony Karrer's eLearning Blog on e-Learning Trends eLearning 2.0 Personal Learning Informal Learning eLearning Design Authoring Tools Rapid e-Learning Tools Blended e-Learning e-Learning Tools Learning Management Systems (LMS) e-Learning ROI and Metrics

Wednesday, June 23, 2010

Learning Flash

My posts around the Beginning of Long Slow Death of Flash and my post from a CTO perspective that I Cannot Bet on Flash for new development stirred up quite a bit of response.  A lot of it said quite correctly that HTML5 is not there yet.  And that Flash provides things that you can’t do in HTML/JavaScript.  However, there are some pretty amazing things you can do without Flash.

The bottom line is that none of the feedback I’ve received has convinced me that choosing Flash as a delivery option for a new product or project would be a good idea today, especially if I want it to play on mobile and live for 5 years.

But then I received a great question via a comment:

I am a Masters student enrolled in an Instructional Design course with Walden University. I am somewhat new to the field and this article intrigues me. Should I hold off on learning Flash... and focus more on learning HTML5? Or would it be best to learn both? I know a very little about Flash and made it a goal to learn more, but now I wonder. You input is greatly appreciated.

What a great question and kudos to this student for being so on top of things to ask it!

And it was somewhat the inspiration for this month’s Big Question - Tools to Learn.  If you’ve not done so already, you should go read each of the posts there.  They have different perspectives and taken together they provide a pretty good roadmap of how to think about what tools you should learn.

Jeff Goldman in Development Tools I Would Learn If I Were You - Jeff's response to June’s Big Question tells us:

Flash: Yes, Flash is still very much alive and well in e-learning and because it is so embedded in our industry and there is nothing at this time that can provide the rich interactive elements that it provides, I do not see it being “dead” in our field anytime soon. The fact is HTML5 is not there yet and if it ever does get there it will probably be more than 5 years before it is at the level of quality and ease of development that Flash currently provides. However, see my comments under HTML/HTML5.

To me the question is more about where you choose to spend your time.  The list of tools that Harold and Holly provide are pretty lengthy.  And Jeff suggests both Flash and HTML 5.  If you have so much time that you can afford to learn all of these tools, then go ahead.

However, if you have to prioritize Flash vs. HTML 5 vs. ??? … then I would put learning Flash (especially scripting in Flash) way down on priority list at this point.  Remember End of an Era – Authorware – another Macromedia/Adobe product.  These things do eventually die out.  How valuable are your Authorware scripting skills at this point?

Learning Flash today is like learning Authorware in 1997.

So, yes, hold off on learning Flash and focus more on learning HTML 5.

24 comments:

Chris said...

I agree that Flash's best days are now behind it and I hope to see people fully embrace HTML5 (thus hastening its progression). I wonder how Flash-dependent companies like Articulate are going to respond? Obviously training content that won't run well on mobile devices (if at all) is quickly becoming a bad idea.

Do I dare hope for Articulate, Captivate, etc. that outputs to HTML5 with zero Flash required?

Tony Karrer said...

Chris - it appears that Adobe is looking at HTML5 as an output.

Paul Angileri said...

IMO Flash has sort of written its own epitaph. It was quite useful in the past when it brought something new to the web, but now many of the Flash-based elearning 2.0 apps like Captivate are such bears to run even on a decent PC, part of Adobe's problem in maintaining Flash's image is the developer experience. And, I think Apple's perspective on Flash for mobile is going to prove to be the correct one. If Flash is to survive and remain viable, Adobe is going to have to find a way to make it very efficient. I do think Flash is still useful for producing some good elearning content, but using it as the basis for output is becoming untenable.

I'm quite anxious to start on HTML 5 myself. Adobe can at least take comfort in the fact that even if Flash starts dying out, they still have the marquee web development suite. I'm sure I'll still be working in Dreamweaver for some time.

I think it is sensible to start focusing on HTML 5, since it is much more media friendly now.

subquark said...

HTML5 is not more media friendly now. It is a standard and only in working draft. It may be a recommended candidate in two years and slated for w3C adoption in 2022.

It feels powerful to our egos to declare that something is dead and makes us feel knowledgeable.

I am not saying Flash will thrive and continue, but my crystal ball may not be as clear as yours.

Yes things change, today Facebook is a must, just like MySpace was three years ago.

There are things you can do with ActionScript that simply can not be accomplished via JavaScript in any reasonable development time.

As far as animations, yes those can be done but that is not where the strength of Flash lies.

Donald Clark said...

These times of transitions do not often happen very rapidly. It is only some Apple devices that will not run Flash -- their Mac computers still run Flash and will continue to do so for some time. All the other devices still run Flash.

Look at what the employment opportunities are asking for in Instructional Designers -- the vast majority want IDers with Flash experience, not HTML 5.

Thus if you planning on getting a job within the next few years, you need Flash skills. After that, you will need both Flash and HTML 5 skills as the market becomes mixed.

It’s going to be at least 5 years, if not later that Flash skills becomes obsolete -- so if you are going to be in school for the next 5 years, forget Flash, if you plan on entering the job market before that, you need to learn Flash.

Tony said...

I remember taking college CS courses in 1990, when C was obviously becoming the dominant programming language. My professors told me that I should focus on learning Fortran and Cobol, since that's where all the work was, and that it would take a long time for those languages to die out and be replaced by C.

Sure am glad that I ignored them.

Jeff Goldman said...

Thank you for quoting my post. I still recommend learning Flash, as it will still be prevalent in e-learning for quite a while, is the best tool available for creating quality interactive assets, and it is a very practical skill to have in the current job market (as Don states in his comments).

I do agree it is an awful lot to learn both Flash and HTML5, but it being quite a while before HTML5 is actually adopted, we have plenty of time to learn it. FYI: I would suggest keeping an eye out on Dreamweaver because that will probably become the leading editor for HTML5 (my prediction).

Jeff

Anonymous said...

Why is it one or the other, or both at the same time? This is one of the most ridiculous posts I've seen in a long time....

Here's the correct answer to any current student that actually wants to be employable:

Learn Flash now, and in a few years, when there is more clarity around whether HTML5 will be a real force in the elearning space or not, decide then to learn it. But keep in mind that there are very few Instructional Designers TODAY who actually know how to script in Flash, or anything else in Flash that couldn't be learned in a 2-day seminar. Because of this, 99% of ID job posts are asking for Articulate/Captivate/PowerPoint experience. And the ones that are asking for Flash experience are usually just over-inflating the requirements.

The ONLY people that *truly* learned Flash itself and use it for elearning are typically the bright ones that are more interested in the technical side of things than your typical ID is. And guess what? If HTML5 becomes useful (it isn't right now, trust me, unless your corporate customers all have iPads and iPhones, which I doubt), then those same bright, dedicated IDs will learn HTML5. It's not rocket science.

They'll know both.

gih said...

I tried to learn from it. But I am still not good on it. :-(

Tony Karrer said...

Not sure that I'm willing to buy into "most ridiculous" post.

When I say to learn HTML5, I'm really thinking more about learning HTML/JavaScript than the specifics of HTML5.

Good point that you can likely learn the basics of Flash in a 2-day class so that you are conversant in it. That said - you probably won't really know what can / can't be done in either with one a couple of days of training.

I would love to hear more thoughts on this ...

hollymacdonald said...

Tony, I'm not sure this helps with the specific debate, but I think for an ID, the bigger issue is understanding the capabilities of both, respective pros/cons and how to write a design document for a developer to actually create, and mitigate the risks of one format or another.

Perhaps using "we" is too generic of a label, as responders are weighing in from different perspectives. Some ppl are instructional designers, others are developers, some are more project managers or business analysts and some wear each of these hats (and more)...

Just a thought.

Paul Angileri said...

subquark,

I realize that HTML 5 may not be anywhere near a finalized standard, but neither is 802.11n wi-fi. Ratification doesn't always follow the track toward final sign-off before most people start using it. HTML 5 will more than likely be in heavy use long before 2022, especially with browsers beginning to incorporate it, and now Apple's strong backing (amongst that of others). I am not trying to be a pundit writing something off simply because it makes me feel good. I use the Flash format every day. I get no money or restful sleep because I happen to think Flash is past its prime. But you yourself admit these things come and go as needs and technology changes. I don't think we are so different.

Donald Clark,

Yes employment opportunities for IDs still focus on Flash...but largely because HTML 5 is so new, and because browser support is not solid yet. That may change in a couple more years. My perspective is that knowing how to use Flash is certainly a good and useful thing, and will continue to be so for a while still. What I think is important to note, as Anonymous suggests, is that it's not known how or if HTML 5 can replace Flash, since HTML 5 is a scripting language, and Flash for media generation and control.


On the ActionScripting question though, my opinions changes. Is it good and useful to know how to code AS? Of course. But I have seen many an ID job opening that essentially called for someone who was a power-AS coder first, and performed a few ID functions. If I'm doing ID as a complete capacity - meeting with stakeholders, gather/developing content, maintaining relationships, conducting evals, delivery, etc. - writing AS is going to impact my other duties in a very big way. Writing AS, as with any other language, is its own process and can take time. It's more worth it for me as an ID to focus on being an ID. Further, many elearning 2.0 apps take care of 80-90% of what I need, and sometimes more. Sure many times you have to rel on someone else's container or format, but there are ways around these (real or preceived) limits.

Hollymacdonald summarizes most of my position. If we as IDs can't do things like AS or developing various complex web implements for our design, we must (and usually do) seek those that can do these things well and on time. If I don't know something, I should at least know how to find the answer or who does. I think if we as IDs get to much into the thick of things with writing lots of AS, then we're getting away from our core function. No two positions are alike surely, and different size companies will apportion duties differently; but pure web development and ID are two different capacities.

Tony Karrer said...

Holly and Paul - great point that as an ID the real need is to first understand capabilities of each of these and a bit about what things like CSS mean.

Haider said...

I dont agree with it totally.....Flash i still alive and in good health too.....!
http://learntoflash.blogspot.com

V Yonkers said...

I don't think it matters which one you learn, as long as you learn one well so you understand the logic behind the programming.

I learned BASIC back when it first came out. Do I even remember it, much less remember the commands today? NO. But the logic of any programming language, what I need to know when I learn a new program or language, is easy because I understand the foundations of programming. To me this debate is like asking if you should learn how to use a scientific calculator or a graphic calculator. The math is the same, so you need to learn the math, then learn how to adapt the tool to the type of math you are using.

What makes a person employable is not the language they know (although some companies ARE closed minded and will look for specific languages) but if you can program and design instruction. If the language is so important, take a two day course, get the language, and apply for the job.

Paul Schneider said...

Learning vs. understanding Flash and HTML5:

While I've always been a big believer in understanding and being able to build and design code. I would agree/comment that understanding the capabilities of both and then learning various content authoring tools (Lectora, Captivate, etc.) would be time better spent and then from those tools expand into programming aspects. Knowing the tools and being able to do things quickly is quite valuable. (Course tools come and go too, but that is part of the fun ahem)

iJamesSaxon said...

PART I:

There's a couple of terms being used here which I think with more definition helps clear up the problem immensely.

For anybody who isn't deeply invested in the interactive media/eLearning world, particularly new students, the terms Flash, HTML 5, ActionScript, JavaScript, Flash Player, might all trot into one corral.  But they are really worlds unto themselves, and it would benefit any student and CTO to know more precisely what's under the hood so they can choose what's best for them.

I'm going to try to be as simple while accurate as possible (in other words, I'm trying to hit the essential aspects primarily):

Flash is powerful well established development tool (nearly an IDE) that builds animation and simple interaction superbly.  It also allows exceptionally powerful programming through the use of ActionScript 3.0 which in syntax is almost identical to JavaScript.  For actual programming, it is cumbersome and unnecessary.  For production of learning built upon programming, it is a powerful tool.  It outputs swf files.  [Could Flash output HTML 5 files?  Surely.  Will it?  If Adobe wants to keep Flash around, probably.  Would that HTML 5 be customizable after being output?  That would be genius.]

Flash Player is a browser plugin that plays swfs.  At this point it integrates pretty well with browsers but expertise is still needed in integrating browser elements with swfs.  [Important analogy:  The Flash Player is to swfs, what the Browser is to HTML.]  The Flash Player can optimally play amazing animations, interactions, videos.  It can also render complete applications created in Flash or in Flex including transparent communication with web servers and services.  It is severely hamstrung when it comes to SEO.

HTML 5 is HTML (with local data storage).  Seriously.  HTML 5 is HTML with an additional layer of standardized tags and attributes that allow for graphic and visual effects, animations, and video.  That's it.   HTML 5 is rendered directly in browsers (and does not have the overhead or risk of being an, optional, plugin).  HTML 5 is not an IDE, not a development tool, not a platform.  HTML 5 is data.  [I'm not sure about this but just like HTML and unlike a protected swf file, it would be open to copying and reuse by any web user or bot unless some form of encryption is being added to the standard.]

JavaScript is the programming language for browsers operating on HTML objects just as ActionScript is the programming language for swfs operating on Flash's objects.   Without JavaScript combined with HTML 5, very little can be accomplished, while with Flash, Videos can be played, animations.  JavaScript can be obfuscated (which Google does exceptionally well), but unlike ActionScript, is not protected behind compiled swfs.

Adobe Air is a way to make a swf into a standalone executable.  In other words Air gives Flash a life on a machine without a browser.  Google's Chrome does something similar

Cascading Style Sheets or CSS provides the stylizing of the HTML 5 if done according to the latest best practices.  JavaScript can be used to manipulate the look of HTML 5 objects just as ActionScript can manipulate the look of Flash objects. 

Flex Builder is a tool for building applications which are output as swf files.  It's a programmer centric way of developing in ActionScript versus the design/"stage" centric way using Flash.  

iJamesSaxon said...

PART II:

To sum this up, Flash is a tool for creating a finished interactive media object as a piece or as a whole of a web or standalone piece which might some day render directly to a browser but for now must be rendered in either a Flash Player inside a browser or within Air.  

HTML 5, on the other hand is data.  It is not a powerful tool, it is not a programming language.  If instead we look at what I'll call "DHTML 5" as the combination of HTML 5, CSS, and JavaScript, perhaps combined with Dreamweaver or Eclipse, we have something slightly equivalent.  But now we have an open standard which will eventually be rendered directly in a browser, but as of yet would need yet another tool to be implemented as a standalone.  In other words, "DHTML 5" is the output and Dreamweaver would be the way of building it.  While I haven't played with CS 5, CS 4 still was only linking up with subversion, not even git, and aside from that was about as powerful innovative as Macromedia Dreamweaver 8 IMO.  Whether CS5 has any of the power to build DHTML 5 as Flash has to create SWFs, I'm pretty doubtful.

So for me the answer to the Instructional Designer is pretty straightforward.  Learn Powerpoint.  

I'm assuming the goal of a student of Instructional Designe is to learn to design instruction.  That goal is so many miles removed for ActionScript, JavaScript, CSS, HTML, and Flash.    But if it's really necessary to implement and render extremely innovative instructional designs (and still not be ultimately responsible for programming them in a production environment), then Flash trumps "DHTML 5" because you can learn how to build things in Flash today, quickly and easily, similarly to RunRev, ToolBook, (long dead Authorware), Scratch (awesome MIT project), ad nauseum.  There are lots of fully mature tools and courses to help you to prototype, simulate, represent, test, evaluate, instructional designs, and none of them require knowing about video, style, transition objects, etc.  

If on the other hand, programming is the goal or advancing the learning delivery technology, or working to avoid the problems with Flash/HTML integration, by all means find a nice IDE like Dreamweaver and see how far it provides a solid flexible framework for implementing DHTML 5. 

As a programmer myself, I'm eager to implement the technology as soon as possible given that the delivery platform allows it.  That's a no-brainer, but if I have been working in Flash the last five years, and enjoyed it, I would be watching carefully to see what Adobe is planning on doing with both Flash and Dreamweaver.  The end of using Flash as an application environment will be ebbing slowly.  But as an animation or small interaction building tool, it might have a lot of life left, and even more if it ultimately pushes out DHTML 5 code.  

Hopefully this actually helps build the conversation.  It's a really awesome time to witness this evolution of technology.  I wish I could learn it all!   I'm not sure why I took the time to write this all out though.  I guess I just want to pass on my understanding. If anybody wants to pay for such opinions, let me know.  :-)

iJamesSaxon said...

Regarding deployment. Because HTML 5 is not built into browsers yet across the board, Flash is still the most generic way to deploy. Just as we on the internet are FINALLY starting to abandon the last remnants of old IE browsers, they will certainly remain in the corporate eLearning world for while more. Therefore if building eLearning in the near future is the goal, there really is no choice but existing DHTML standards or Flash. HTML 5 falls off the plate except for the most leading edge organizations.

iJamesSaxon said...
This comment has been removed by the author.
Website Design Calgary said...

Now a days Flash is a very good career option....

John Araiza+ said...

I would discourage any Instructional Design students from learning Flash. With the gaining popularity of rapid elearning development tools, Flash is less and less in demand. And with the shift to mobile elearning, most of the companies in this field will eventually come out with tools that enable someone to create learning via their proprietary tools.

John Araiza said...

I would discourage any Instructional Design students from learning Flash. With the gaining popularity of rapid elearning development tools, Flash is less and less in demand. And with the shift to mobile elearning, most of the companies in this field will eventually come out with tools that enable someone to create learning via their proprietary tools.

iJamesSaxon said...

An example of HTML5:

http://www.optimum7.com/internet-marketing/web-development/pure-css3-spiderman-ipad-cartoon-jquery-html5-no-flash.html