Companies now face a significant roadblock to mobile accessibility, their own courseware. For over a decade, Flash has been the preferred method of delivering rich content to users.
From Flash To HTML5
At KMI we have used this platform to deliver high end, award winning content wrapped in our own custom framework. The platform has vast adoption given its thriving developer community, user-friendly audio visual tools, powerful scripting language, and cross-browser support for desktop. But that’s all changed.
When Flash Started Loosing
It became clear during the release of the first iPhone and subsequent Android devices that Flash just wasn’t going to cut it. Android tried to maintain Flash player support, but performance issues coupled with battery usage really killed its chances. For a while making mobile courses required expert level web development skills, primarily to navigate the array of unique platform requirements. Creating a mobile course that was also available on Internet Explorer, without sacrificing production value, was challenging. Eventually in September 2012, with the announcement of new recommendations for HTML5, the W3C sealed the Flash player’s fate.
It was obvious that HTML5 was the way forward and we would need to build a new course framework from the ground up. We began development with a few things in mind. First we needed the ability to run content across the widest distribution of browsers possible, everything from Internet Explorer, Chrome, Firefox, and across any device with modern standards. Second, it would have to allow us to produce courses with the same rich content as Flash; custom user interface, scripted interactions, animations, video, and audio. Finally, provide a way to convert older Flash content for mobile devices.
I’m proud to say we managed to reach all of these goals and we have been using (and refining) this framework for the past 2 years.
How To Convert Flash To HTML5
After an extensive amount of research and testing we decided to use CreateJS as a base for our framework. CreateJS is officially supported by Adobe and includes a very powerful set of API’s similar to the AS3 language. We were able to leverage this to produce the three modular libraries; a course controller, flash layer and canvas layer. They allow us to use component based detection to determine if we are able to operate using HTML5 canvas (with 2d context) or Flash.
In concert with our course software we have also refined our process by building a set of custom publishing tools. Built as standalone applications our tools use JSFL to interact with and manipulate normal flash files. They have allowed us to fully automate mobile optimization, and mitigate common HTML5 conversion issues. Our tools allow us to build content in Adobe Flash, and output directly to both Flash player (as a backup for older devices) and HTML5. Meaning we are able to produce courses that work on legacy browsers, and mobile devices. It also means we are able to recycle existing content (given source files) and convert it into something your users can view anywhere.