Replacing Flash with something else

Benjamin Otte writes about replacing Flash with SVG, HTML, and JavaScript. It’s possible — look at the OpenLaszlo LZPIX demo for the same app in Flash and HTML to see that it can be done — but there are a few things in the way. Flash has a number of advantages which would need to be replicated.

  1. Multimedia support. YouTube and the like have recently become the biggest Flash users in the world, I imagine, and what makes that possible is Flash’s support for video; similarly, there are lots of in-browser mp3 players (like XSPF) which use Flash because of its support for audio. Existing play-sound-from-JavaScript projects like SoundManager2 use Flash to actually play the sounds. The WHATWG-proposed video and audio elements will provide this in the browser eventually, assuming that they’re actually implemented and we can get around the issues of what video formats are supported (Apple are lobbying hard for video format support to not be mandated, meaning that the element will be broadly useless on the web itself — Safari will support QuickTime-supported videos, IE will support WMV, Firefox and Opera will support Ogg Theora). This is a big problem, but there are tentative steps toward solving it.
  2. Single-file deployment. Once you’ve made a Flash file it’s one file — whatever.swf. That’s highly easy to deploy. It will be possible to make single-file deployments of a scripting+SVG+HTML+images bundle, but it’s harder; images are a particular problem if you intend to support Internet Explorer.
  3. An IDE. This is what Otte calls for, above, noting that animations require coding in an HTML+SVG+JS environment and they don’t in Flash, and that “the best Free authoring tool is either vim or emacs”; not what he’s suggesting that we do use, but a wry comment on the lack of authoring tools for standards-compliant rich web apps. An IDE is fairly critical to get this sort of technology out to the masses.

Ignoring the elephant in the corner of multimedia support for the moment (but it’s a big elephant, and mustn’t be forgotten), everything else is pretty much doable. Creating an IDE would be possible; SVG is available most places now (and is emulable in IE, and there’s always the <canvas> element, which is also emulable in IE); single-file-deployment isn’t critical, really (instead of a complicated <object> tag to embed a Flash file, it’s <iframe src="mywidget/">, with your JS/HTML/SVG widget in a folder). It’d be supported everywhere, you wouldn’t have to worry about the direction being solely controlled by one vendor, and it uses technologies we already know rather than trying to supplant the open web as Microsoft’s Silverlight is doing. Those of you who doubt that HTML is capable of this sort of thing, take a look at Apple’s Dashboard widgets, which do many cool things and are pure HTML, JavaScript, and <canvas>. You might even be able to convert existing Flash movies to it using flasm, which would get the project up and running pretty quickly. Of course, the idea needs a name. It would be nice to have it not be named after toilet cleaner, like Flash or Ajax. Whoever writes the IDE gets to think of the catchy name and be immortalised for ever. If you need a name, call it “April”. No catchy acronym, it’s just a nice word, and it’s when my daughter was born. Currently desperately trying to not start writing this.

I'm currently available for hire, to help you plan, architect, and build new systems, and for technical writing and articles. You can take a look at some projects I've worked on and some of my writing. If you'd like to talk about your upcoming project, do get in touch.

More in the discussion (powered by webmentions)

  • (no mentions, yet.)