Adobe Labs release Wallaby Flash to HTML5 converter
I just happened to be playing around with Flash this morning messing around doing a little shape tweening with a couple of symbols I found over on The Noun Project website so I thought I'd use that FLA file and see how Wallaby coped with it.
After starting Wallaby you get a very simple interface, a file select field that you use to select the FLA file and a large Status area that shows any errors and warnings encountered whilst converting your file. There are also Preferences that can be set which at the moment include automatically opening the converted file in your default browser and enabling logging.
After selecting my FLA file I clicked 'Convert' and after a few seconds it happily converted my file without any errors or warnings. I was interested to see what it would make of the shape tweened animation that I had made in Flash as this seemed like quite a challenge to convert.
Wallaby's HTML output:
- Energy-html.html: 75kb
- Energy.css: 49kb
- Energy.js: 2kb
- jquery-1.4.2.js: 70kb
- Energy_assets: 176kb
That's a total of 372kb in order to recreate the tweened animation in HTML / CSS / JS / SVG.
So how does this compare with the files output by Flash? Well, not very well when you look at both the amount of files required and their file size:
- Energy-flash.html: 2kb
- Energy.swf: 4kb
- swfobject.js: 10kb
- expressInstall.swf: 1kb
Even with that it's still only a total of 17kb, about 1/20th the total size of the files that Wallaby outputs.
Why not use video instead?
This particular animation is obviously a challenge for Wallaby to convert into anything closely competing in file size, so perhaps in this case it would be a better option to use a video clip to provide a non-Flash version of the animation? The same animation can be output as an H.264 video at the same frame rate and it comes in considerably smaller at 192kb:
- Energy-video.html: 1kb
- Energy.mov: 192kb
That's about half the size of the Wallaby output. It's also likely to playback much better on mobile devices such as iPhone / iPad / iPod touch as Adobe warn that the output of shape tweened animation can result in playback performance difficulties on iOS devices.
- jwplayer.js: 104kb
- player.swf: 96kb
- yt.swf: 1kb
This adds 201kb to the total file size required so that brings it to about 393kb, almost the same as Wallaby's HTML5 output. I'm sure there are possibly slimmer options compared to JWPlayer for embedding that could reduce that down a bit but I reference JWPlayer as I consider it to be one of the best cross-platform methods of embedding video on website.
Of course I haven't mentioned anything about delivering video in alternative codecs such as Ogg Theora or WebM to serve browsers like Opera, Firefox and Chrome, this would further increase the files and sizes involved. However, given that Wallaby is trying to provide a way for animated content created in Flash to be output and made playable on devices such as the iPad and iPhone it could also be considered that providing any kind of Flash fallback for video is unnecessary, so we could ignore the JWPlayer / JS completely and just use the regular HTML5 <video> tag and a single H.264 video, so we'd be back to a considerably smaller size than Wallaby's output in this instance.
Overall Wallaby looks to be a pretty handy tool for people that are struggling to find a way to get their content viewable on the millions of devices that don't (and likely never will) run Flash. For animation that doesn't involve shape tweening I think the resulting file sizes will be a lot more favourable and it will be a reasonably efficient way to create animated content using standards-based technology.
I would say that the primary target user for Wallaby, at least at first, is for people doing online advertising. This is an area that is seeing a lot of activity with tools like Sencha Touch appearing, there's definitely opportunity for a 'killer app' that makes creating banner advertising using all of these new emerging web technologies in a way that people are used to doing in the Flash IDE. There's a lot of challenges in there technically, as well as a lot of issues such as accessibility, graceful degradation etc, but I think a lot of companies are focusing on this challenge now, so it's good to see that Adobe is thinking about various ways of providing tools for the job.
Sample Animation files:
I have included the HTML5 output as an iframe and also links to each animation in HTML5, SWF and H.264 formats. There is also a link to download all the assets of Wallaby's output in a zip archive:
View SWF Output in new Window
View Video Output in new Window
Originally published on 2011-03-16 01:23:18 by Rick Curran
Last edited on 2011-03-16 09:21:59 by Rick Curran
Left by Euan on 2011-03-27 23:44:25 #
Could this be Adobe's way of persuading us to use Flash! For these types of task it seems much more efficient!
Left by Rick Curran on 2011-03-28 13:06:31 #
@Euan: I think it's just early days at the moment, but the results of my experiment does Flash appear more efficient, certainly in regard to size of output. But I think that HTML / CSS / JS will catch up as browser tech gets better, Flash has a big head start and we can learn a lot from Flash / Flash development when considering using new technology like HTML5, CSS etc.
Left by genefer on 2012-02-24 12:45:58 #
I don’t think Flash is the one that requires a lot of computing power, it’s the fact of decompressing and decoding a very complex data in real time called “Digital Video”, Flash makes transparent the hardware calls implementation for the developers, with swf to html5 converter you will need to deal with conversion of flash to html5 players by rendering a lot of hardware engines, then multi-platform apps will be a true headache for the developers, the same problem than always: HTML hacks for each browser but with a more complex technology: HTML5