Flash is lame -- a list of things I dislike about Adobe's browser plug-in
A few of my frustrations with Flash as a web developer
These are just a few of the friustrations I've experienced while devloping web applications using Flash in recent years, which I wanted to vent on my blog. Thanks for listening, I feel better already. Blogging is good therapy for Flash victims.
I'll come back to this page and keep in up to date with other examples, so bookmark now if you're interested. :)
- No built-in support for playlists. The most compelling reason for using a browser plug-in like Silverlight or Flash on a web page today is arguably for embedding multimedia. Silverlight and Flash are currently the best way to add video or audio to a website. Yet Flash has no native support for playlists! Anybody with any experience of an alternative product, like Silverlight or even Windows Media Player, will be astonished the first time they try to use Flash to build a media player. To surface media from a file or stream in Silverlight, you can just set the Source attribute of a MediaElement to the URI of the file or stream. To use a playlist, just set the value of Source to the URI of a suitable playlist. There's native support for playlist formats like ASX out-of-the-box. If a Flash developer wants to use a playlist, he has to add the functionality himself, right down to the XML parsing! It's insane. Yet designers and developers the world over are wasting precious time jumping through hoops like this to work around Adobe's deficiencies every day.
- Inconsistent, unhelpful functionality. For instance, if you're playing a video or audio stream and you want to know when the media has finised playing, you might try to use the onPlayStatus event of your instance of the NetStream class. But as Adobe's own documentation points out, "properties or methods cannot be added to a NetStream object at runtime ". Well, when else would you want to do it? In other words, you can't easily add or remove event listeners programatically. Apparently, it's reasonable to expect developers to hard-code and tie-down event listeners when the application is written, rather than providing a dynamic object model to make applications as flexible and versatile as possible. I won't even compare this to the simple, intuitive capabilities in Silverlight, it's just completely nuts in Flash.
- Things work differently in Flash and AIR. There's been a lot of hype about Flash being so cool because you can use it on the desktop through AIR. But only if developers are willing to take on a major headache for their users, because these are not very compatible technologies. Almost every page of "ActionScript 3 " documentation seems to have warnings about how one thing or another is different in AIR. It's akin to supporting two different development environments, though Adobe wants them both marketed as AS3. Meanwhile, Silverlight 3 works in and out of browser, and the only major differences are the genuine differences imposed by the different environments.
Flash is currently the most widely used browser plug in. It's well-established. I recall the early days years ago when a new plug-in developed by Macromedia, called ";Shockwave Flash"; (SWF) at the time, first began to appear on a few of pioneering websites, particularly websites wanting to produce simple animations like cartoons. It produced enhanced web user experiences, despite initial problems and glitches. SWF soon overtook Sun's Java Applets. Eventually, Macrobedia was taken over by Adobe.
Today Flash the market-leader, used in most RIA apps and online adverts. It's still problematic, with problems ranging from memory leaks, and web browsers or computers crashing, through to serious bugs that compromise the security of the user allowing hackers to take control or visuses to infect the system. Recent examples include hackers using Flash ads on major websites to infect people's computers.
Adobe has enjoyed a monopoly for too long. The corporation has been resting on its laurels, and Flash has fallen behind, to the point where it is a long way from the standards expected by professional web developers.
Fortunately, Flash now has some healthy competition from Silverlight. Even the editor of Macworld magazine acknowleges that Silverlight is much better than Flash, and of course it takes a lot for a serious Mac fanboy to praise a Microsoft product, There are various tools available to convert Flash apps to Silverlight.
14 November 2009