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. :)

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

Share the love:

Comments: 11

Add Comment

John Dowdell (15 Nov 09, 05:17)

Your comment at Neosmart.com indicated you were using Macromedia Flash Player 6. That's quite antique. Did you misreport?

"the only way to create/edit Flash apps is using the over-priced software sold by Adobe"

How can you write such old untruths?

jd/adobe

Tim Acheson (15 Nov 09, 09:39)

Hi John, it's nice to hear from somebody at Adobe. It's interesting to see somebody at Adobe using a Macromedia email address, that's old-school!

Yes I believe the machine in question actually had Flash 6 on it. The error message was a direct copy/paste from IE8. IMHO it would have been useful if the website had prompted me to upgrade, for a better user experience. Personally I tend to develop using CS3, and publish for at least Flash player 8 or 9 to make good use of handy features like Shared Objects and XML Sockets.

It's true that you need the Flash software from Adobe if you want to create and edit Flash applications. This concern is not "old" or a "falsehood". It's one of the most common criticisms expressed about the product. No other software can do all the things that Adobe's software can do. And I don't think Adobe would really reccomend using anything other than the official software to develop Flash, would they? That's why countless other people agree with me. It's also true surely, if we're honest, that good IDEs like Visual Studio and Eclipse are very much better than Adobe's offering, and Flash could be greatly improved by keeping up with proper IDEs.

My list of frustrations here is not a negative thing. It's constructive criticism. Think of it as a wish-list for my ideal rich web client technology! :) Today, Silverlight has everything.

John Dowdell (20 Nov 09, 00:44)

Just checking... that machine with Player 6, you did upgrade it, right? Security improvements have come out for the current Player 10, as well as Player 9 for intranets, but the older engines made browser requests that we now realize they shouldn't. (Best to be safe & current, that's my main point.)

For SWF production, use whatever you like... most of the recommendations I see within Adobe are to use tools that make the most sense for you. (I'm still surprised that Microsoft introduced Silverlight instead of letting Visual Studio compile to SWF, but that's a separate issue.... ;-)

jd/adobe

Tim Acheson (20 Nov 09, 11:11)

I'm not at all surprised that Microsoft introduced Silverlight instead of adding the ability to deploy SWF. Though I'd love to use Visual Studio for everything. I think it all makes sense once you understand .NET and Visual Studio. Firstly, Silverlight is different to Flash. Indeed, for me Silverlight is better than Flash. I can do things with a Silverlight app that I can't do with a Flash app. I prefer .NET framework to what Flash has to offer. I prefer to use typical programming languages like C#, or even Java, Python or VB.NET, rather than ActionScript. Secondly, MS isn't trying to make VS do everything; better than that, MS makes it easy for anybody to add custom functionality to VS. The list goes on, this is an essay topic. ;)

However, I am surprised that Adobe hasn't released an add-on for Visual Studio to allow Flash development. VS is almost infinitely extendable. I use several plug-ins and utilities -- e.g. ReSharper to make development easier, and ReXapper a third-party utility for re-packaging the Silverlight XAP file (the equivalent of a SWF file) to make it even smaller.

That machine with Flash 6 isn't mine, it's within an organisation, and the user privileges are too restricted to allow installation of Flash. It could be worse -- not so long ago every machine there had IE7 and no ability to upgrade! I agree with you 100% that it's best to be current, now if only we could persuade the rest of the world!

Nana's Lich (25 Nov 09, 18:18)

The reason I love Silverlight more than Flash/Flex is not "I love Microsoft"; instead, I love Microsoft all because those Non-Microsoft produces are NOT really that good.
I have knowledge about Microsoft's COM, ActiveX and ActiveScript technology, that means I know the real reason why the older version Flash Player won'd work in a form, and know how the Flash Player lame in the truth.

As an ActiveX object, Flash Player for IE should implement IDispatch interface and expose its methods to the IE DOM.
But in face, they(MM/Adobe) didn't do it right, they didn't make Flash Player for IE maintain its methods through IDispatch, nor by itself; they made the "player" try to access the IE DOM and find itself in the DOM tree -- in an older version, it used a script like "idOfFlashPlayer.xxxxxx" -- for adding a "callback", this caused it won't be able to find itself when it is in a form.
In the newer version, they changed this behavior, and used document.getElementById, but there is still a problem: In many cases, this "addCallback" will finally cause a closure circular in IE, which is the main reason users experience memory leak on IE's early version(till IE 7).

Also, I can't imagine how a RIA content provider which will slow itself down when trying to render a large content could become popular, nor how people still bound on the lame thing and won't move to a better one.

I don't speak English natively, please forgive me if I made anything went wrong in my words.

Tim Acheson (26 Nov 09, 14:03)

Thanks for sharing your thoughts. :)


I don't understand what you mean when you say that you must have CS3 to create Flash applications. I rarely use CS3 to create Flash apps. Most of the time I use the free FlashDevelop program with the free Flex SDK. To be honest, this little program is good enough to make me start to be annoyed with certain aspects of Visual Studio. It's by far the best IDE for pure actionscript coding.

You mentioned Eclipse. Adobe's Flex Builder (now Flash Builder) is based on Eclipse, and there is a plug-in for Eclipse that can be used instead. More recently, you also have the option of a third party plugin called Amethyst coming up to give you actionscript editing in Visual Studio.

I'm glad to hear people like Silverlight, because it gives me hope that I may one day learn to like it. But for now, I certainly can't say I like it as much as Flash. Some of the things you complain about having to do, such as XML parsing, are things that I look forward to doing in actionscript as opposed to C#. I also find the display list system in flash is a lot more intuitive to work with.

Tim Acheson (28 Feb 10, 16:14)

Thanks for sharing you rthoughts, Alex. I reckon you're in the minority, not using CS3 for Flash work. ;)

Farzad Kohantorabi (10 May 10, 22:01)

I am not really on either side of this debate but I have an interest in programming languages and DSLs and the way I understand it you might not even want to give the expressiveness of language like Java and C# on the client side programming mostly because that facilitates business logic development on the client side. In some projects this is just fine but in a good number of projects you can assume developing business logic in the GUI layer can cause serious problems to scalability and maintainability of an application. I understand that seasoned programmers know how to do this right but in my experience less experienced programmers are more attracted to front end development and even if that is not the case you still want to be able to make use of more junior programmers (mostly do to financial reasons) and have a little peace of mind that things can not go horribly wrong.

My 0.02

Tim Acheson (11 May 10, 15:39)

Hey Farzad, thanks for sharing your two cents worth! ;)

I certainly take on board your point about the hazzards of of plug-ins in the hands of bad developers. With Flash, it's more like designers trying to do programming, with some really messy results. (E.g. Badly produced Flash ads which look nice but slow-down or crash the web page are all too common. And often the same effect could have been achieved without even using Flash!)

I wouldn't say a particular language can make the developer more likely to put business logic in the wrong place. But I do prefer to see client-side programming work done by real programmers, and that includes JavaScript development. I also prefer development work to be done with a real programming language like C# and in a proper IDE like Visual Studio.

Tags:


  • Twitter
  • LinkedIn
  • Facebook
  • Windows Live / Messenger
  • Xbox Live
  • RSS
  • Email