The Web does not need flash.
With the iPad launch, the lack of the Flash runtime has received a lot of slashback. This gave me the opportunity to gather a few thoughts on Flash, and where it is going. I've seen a lot of hate from people who don't know much about Flash, and also a very defensive and blind reaction from inside the Flash world. I wanted to give a different perspective. A few disclaimers:
- I am not a known name in the Flash community, but I am not a Flash hater either. Actionscript is the language I've programmed the most. I've made my living primarily out of it for 5 years or so. In fact I keep two open source Actionscript projects( and ) and have contributed to .
- Technologies come and go, but their effects linger on for quite a while. COBOL is dead for any intended purposes, and has been dead for 20 years. But still, there is a lot of people making a living from it. Same thing with Microsoft. Microsoft is still huge and will remain so for quite some time. But neither of these are relevant for the future tech landscape. They are not dictating new directions. They're influence and usage will only decrease, not increase.
- I'll call Macrodobe initiatives for lack of better judgment. I don't know in detail (nor intend to) which were started at Macromedia, Adobe or both.
- I am not picking on the FWA itself. It's a great site, and has been invaluable to the community. I've worked on a few projects featured on the website, and I'm always proud to be there.
- I have no illusions regarding Apple's stance for blocking the flash player. It's a dog eat dog world. Adobe is not a saint either. Alex Payne post hit the mark. I am not a fan of walled gardens either.
With that said, I think Flash is marked for a sharp decline in importance, and has been so for quite a few years. It's inevitable. The current situation with the iPad and HTML5's video capabilities are only the harbingers of it's decline.
The rise of Flash:
HTML was invented to solve a very different problem than what it has been put to in the last few years. That mismatch meant that there was a large demand for capabilities it didn't possess. Flash made it's rise out of these major gaps on the web technologies of the day, namely:
- (1) Static content: visual animation. When Flash appeared, the best you could do for animation was a GIF.
- (2) Interactivity: HTML was though of a document format. Until 2004 or so, with the raise of Ajax, web pages had zero interaction (except for forms). Flash offered an answer to that.
- (3) Design: again, HTML was never though as a presentation format. Until CSS came along, it was very messy to control HTML visually with some sophistication. Even now, with all the browser compliance differences, it's not easy to control pixel perfect the visual layout. Regarding fonts, HTML has no great solution yet.
Later on, Macrodobe was very clever to move Flash to new pastures:
- (4) Audio
- (5) Video
- (6) Advanced bitmap manipulation
- (7) Video recording
- (8) Sockets, for real time messaging.
- (9) Local storage
Until 2004 or so, Flash was the only good alternative to all of those. In that context, yes, the only way to make 'rich' applications (an ill defined term, but still), on the web was to use Flash. And then came video. Video helped spread Flash like wildfire. The prior options such as Quicktime, WMP were a mess: too many codecs and the download took forever.
If you look to the traditional web dev community, all of those issues have been, one by one, tackled. Static content, Interactivity and Design are pretty much solved with the advances in standards, the improvement in Javascript runtimes and the massive options of open source libs. Not literally. Flash can still exhibit greater visual freedom than HTML + CSS, but it's good enough for most use case. See 'worse is better'. For 95% of the web properties, standards are efficient solution to those. Have you ever seen someone says they don't user Facebook because the typography is boring?
For issues 4 through 8, HTML is catching up. These will take a while to be widespread and reliable, but it's inevitable. They are coming, all but #7. Video recording is a niche market. It won't dictate the direction the web is going by any means.
The big picture is that Flash was the only viable alternative to work around many of HTML's short comings as a document format. But webapps have become mass produced and mass consumed. The standards committees move slowly, but it has make steady progress. Each year one of Flash's unique capabilities get a reasonable alternative.
Understanding the hate.
Flash is a strange beast, because of it's unique origin. It was it an animation tool, then a design tool, then an interactive environment than a platform. While been mostly proprietary most of the time. The net result is that the Flash community is somewhat disjointed from the general web dev community. There is some overlap on the larger web , but there is a great divide. It's hard for people to understand where all the Flash hate comes from. The main forces between Flash hate are:
- Religiousness. Yes, there is a small but very vocal group of OSS zealots. They've always criticised Flash on the basis of it been a proprietary technology alone. While this group is very loud on the blogosphere, it's not a driving force for most companies. Businesses tend to be pragmatic.
- Pragmatism. Lack of support for various platforms. Adobe has improved recently, but the fact is that many platforms (64 bits, freebsds) are or were totally neglected for a long time. Again, these were not a large number of users, but they are very loud. With the diversity of devices coming up (mobile, pads, car panels, talking toaster, whatever), this will only get worse. It will be hard for Adobe to keep stable and usable versions of Flash on the wide range of platforms yet to come. Many companies are not keen on depending on Adobe alone.
- Advertising. If you exclude video, an enormous amount of Flash work revolves around advertising. Be it the ads themselves, or campaign micro sites. Just take a look at the Flash showcase, The FWA, and take note of how many are marketing campaign. Folks are not very hot about ads on the web, specially the rich media, processor consuming ones. Those are precisely the ones in which Flash prevails. They've simply conflated hate for the delivery medium with the message. Oh well.
- Disregard for UI and web conventions. As a case in point, I'll take the FWA website as an example, as it's one of the most important websites in the Flash world. It's basically a data grid, with a simple filtering, and a small detail pane for content (agencies, sites). To this day, there is no way to send a direct link to a campaign or anything else but interviews. It's nuts.
In the name of exercising more control over the visual design, the FWA makes it awfully hard to use it other sites on the web. Upon a closer inspection where is the rich application? It's basically text, lists and thumbnails. I don't mean to pick on the FWA by itself, it's just that it's really makes it easy make the point. It's a well made, high profile, commercial site within the community. It's the poster child for what was discussed above. Six years ago, Flash was the only viable way to deliver such an experience. But now, that could be achieved easily with regular web technologies.
Yes, you can do deeplink in Flash. But the amount of work would be enormous (hint hint: if it's that easy to do, why isn't it done by now?). HTML's structure is a pretty good fit for it.
And don't get me started on the crazy non standards UI controls, scrollbars, the lack of any sane tabbing on input elements. And that the browser cannot offer you an auto complete option for your email address. The keyboard focus is funky. Almost all of these an be done in Flash, but it's a lot of work. By the time you're done getting everything to work as people expect you've spent much more time than HTML would have taken. Just look at most Flash websites. They tend to get it wrong, precisely because it takes a lot of work to get it right. I cringe on the though of how many hours of my life I've spent coding scroll bars with quirky behaviors. The flip side of it, is that blindly following all pre-established UI conventions is not the way forward. While the experimentation is surely welcome, most UI improvements I've seen in the past years have come from games, other web apps (auto-complete boxes) and Apple. I for one am yet to see a use for 3D video or interfaces outside of gaming and simulations. - Self centered. This one is pretty shocking to me. Of all the websites and apps I use regularly, Flash is only used for video / audio. Campaigns are a tiny niche. Just to give you an idea a, again, the FWA, which is among the most visited Flash sites, ranks number #17,216 on Alexa. Newgrounds with its massive user base: 719th.
Most Actionscript programmers I know show very little understanding that their niche is almost as small as Lisp, Scheme and much smaller than COBOL. To add insult to injury, most designers on the Flash space have little or no knowledge of HTML or the web. For years the flash world appeared to find plain old HTML to be ugly and boring.
That said, much of the hate geared towards Flash is either misguided (it's the ads, not the plugin!) or uninformed, or no longer valid. But still, those cultural artifacts take a while to disappear.
The web will be everywhere and in anything. Soon.
Macrodobe has had great success getting the Flash player to be installed in every computer. Their figures show over 96% penetration. Except now we'll witness the web coming into so many devices, in many form factors : phones, pads, car dashboards and a whole lot more. We are just at the beginning of this path. Most of those devices will be very constrained in their capabilities, namely, CPU.
Unless Flash is utterly needed , many of those will not support it. Adobe has been working hard to get Flash running on all these platforms, but it will only get harder. If you're making a device, you can simple use Webkit. It is opensource, has a very readable code base, is actively developed and you can tailor it to your device as you see fit. The entry price for supporting the web on your device is pretty manageable now. On the other hand, getting Flash to work requires the good will of Adobe, and might be hard to fit within your hardware limitations. Resources are limited: manufacturers will always privilege regular HTML first.
On the cutting edge front, the pressure to add more hardware support makes it tough on the player engineering. How can you compete with a game for the iPhone written in OpenGL? Not only the amount of platforms will increase, but allowing for greater access to the hardware makes it impossible to support them all. At this point, Unity 3D is pretty far ahead of the graphic processing you can deliver real time through a browser. Flash is second rate on CG. I remember rendering things at 30 fps in Director with a 384MB of RAM pentium 4 that I can not do at 15 fps with todays machines. This was 7 years ago.
Strategic mistakes.
It seems that all those forces were inevitable, but in hindsight, some of Macrodobe's strategies seem harmful
- Licensing the plugin for mobile platforms. This probably withheld adoption greatly. There was a good article on the subject floating on tweeter some time ago. Too lazy to find the URL for it now. Right now it seems crazy that manufacturers would pay Adobe to have their technology running, but this is the strategy Macromedia pursued for a while.
- Batshit crazy naming. Flex? Flash? Flash MX? BlazeDS? AS3? Flex sdk? MXMLC? I still talk to people who make a living out of Flash that can't tell a difference between all of them. Every now and then there I get bug report for BulkLoader saying it doesn't work with flex. Also a very poor job communicating what the platform is like exactly, what pieces are open or open sourced and so on.
- The open source strategy was late, and was poorly executed. Till this day: how many people, outside of Adobe has contributed patches to the compiler, or asdoc (which is a mess, by the way). Why do I have to register at Adobe's Jira to search for bugs? Why most bugs have very little information, or link to issues or fixes in their internal system? It's a maze out there.
- Using On2 codecs which hindered common tools incapable of generating content. The enormous delay on releasing specs in a sane manner. Remember the crazy agreement people had to agree to before reading SWF's specs?).
- The awful tools. The Media Encoder that comes with Flash Professional. The code 'editor' on the IDE. The compiler written in Java that takes forever to start up. The control panel for administering FMS. FlexBuilder is buggy as hell. Would you like to compare the Flex Profiler (+500 dollars) to ? Or the Apple's intruments?
- Pricing. Call me crazy, but the market for expensive development environments died years ago. Remember Borland? The only large player in that space is Microsoft, which is by the way a weaker player on the web. People do not want to pay $500,00 for development tools, nevermind inferior ones.
- What's the deal with Director? Why won't they kill it? Why split the development community? I am not convinced that there was nothing on the rendering pipeline that Flash couldn't take from Director. Director had such a great performance for it's day.
- Bugs, bugs bugs. Before player 9, I only stumbled once with a crashing bug on the player. Only once. I don't know what it is: the increasing hardware support, or the more aggressive vm, but all players since have become much more prone to ugly crashes. This has really hurt Flash's reputation. Didn't it make sense for Adobe to pay a team and get Flash running extremely well on Chrome (specially on osX), this has been, for a while their last problem to release Chrome on the Mac. All the 20 or so last projects I've been involved, we always found a bug specific to a platform under a certain player revision. Our test grid became hell.
Bottom line is that I am sympathetic to Adobe's position. It's damn hard for large companies to play the open source game. But Macrodobe hasn't handle it well at all. This contributed to putting Flash into a corner.
Niches.
After all the iPad ordeal, Lee Brimelow has published a witty post, showing what the web looks like without Flash. It was a smart move, but there are somethings to be said about it. Much of those do rely on video. Once HTML has that working , those will be fixed. Some are real niche websites (FWA, Aviary). Google finance could be done in Javascript (it won't take long, rest assured). Of those examples, the only one's where blue legos will be an issue are the games / gamish ones. Right now, gaming is the one space where HTML doesn't have a solution. This is the one niche where it will be very hard to displace Flash. That said, it's possible that some of that market will be directed to more established gaming technologies, like OpenGl, adapted for each platform. Looking at Apple's App Store catalog, there is a thriving market of games there. Gaming companies don't seem to mind using traditional gaming tech: C, C++ and OpenGl. The other thing to keep in mind, is that if those devices that lack Flash prosper, those sites will adapt their content.
Note, however, that there's nothing wrong in being a niche tech. Objective-C was a very small niche until 2 years ago (and it's still is). A lot of people hacked good software with it, and made a good living doing so. Maybe it's just natural that flash will fill a niche, since mainstream will be provided for by HTML. The truth is, most of the things Flash excels at are beyond day to day need of most people.
Wrapping it up
Most features that set Flash apart have viable alternatives right now, or will soon enough. The final pieces are being worked on, and will, in time, be solved.
On the other hand, new devices and markets will make it harder for Adobe to keep the player with a large installed base. Once flash looses it's installed based, less content will be developed, which will in turn lower the adoption further. Just look at how hard it was for Silverlight to get mass adoption, even with Microsoft's muscles behind it.
If you think about it, most proprietaries browser technologies are either dead or dying. Remember applets? RealVideo? Shockwave? Authorware? iPix? The 'plain' web has eaten their lunch.
Make no mistake, Flash's days are numbered.
What the future holds (for me at least)?
The thing to keep in mind is that this movement will be slow and gradual. Will there be sites using Flash next year? Absolutely. Will you be able to work on Actionscript for years to come? Sure. But in 5 years or so it will decrease sharply. Probably earlier than that, but I don't care about predicting the right date. It doesn't matter. What I am saying is that soon the market for Flash developers will decrease, and it will do so consistently. There will be many legacy applications that will require Actionscript programmer for years to come. Also there will probably be niches where Flash will remain king. People still use Director for some things. But again and again, Flash will decline. If you haven't, go read it now Worse is Better. It's required reading for any programmer, but it fits Flash's predicament like a glove. HTML is worse, Flash is better.
As developers it's a smart move to be prepared. I am not married to one platform. I want to work within the web, making tools for people to communicate, interact, discover and get things done. If it's HTML + CSS + Javascript, so be it. If it's Objective-C, python or Java, it's O.K. as well. I'd say that expect to be doing FLash work for 3 or 4 years from now.
Predicting the future is always a waste of time. Maybe Adobe will find new killer features to put into the runtime, buying the platform more time. Maybe Moore's Law will be back on track, and all those tiny devices will get insanely beefy processors next year, and Flash will be viable once again. I'll be watching closely. I am not an Adobe shareholder. I do have, however, vested interest in the years spent on Actionscript, but programmers should always work on more than one platform. Look into the history of our profession. Programmers have had to adapt to new technologies in the past 50 years. This isn't about to change.
getting a third opinion
That is a fine appraisal of the state of things at the moment. As a Flash developer I don't think that the iPad will have much of an effect on Flash penetration and usage on its own, but as part of the wider changes going on at the moment, I think it will contribute.
The biggest problem as I see it is that Adobe just aren't taking the wealth of problems with the platform seriously. They seem far more focused on telling everyone how great it is rather than making it great under the hood. Everyone working for them seems to be an Evangelist. I for one am sick to death of Adobe's bugs. From the Flashplayer, through Flex and into their IDEs. Hopefully the delay of releasing Flash builder is an indication that they are taking things a little more seriously, but for the moment I'm sticking with FDT which is also buggy, but far better than Flex Builder. The problem is that hyperbole can obscure many things, but not problems in the software that people work with every day.
Its so frustrating because I love programming for the platform. And I'm really happy I make my living from it, but I have made a definite decision this year to look around at other tech. Sure, Flash will still be around for a long time to come, if only due to legacy codebases, but I can't shake the feeling that the wind is changing, and it doesn't seem Adobe are doing what is needed to steer Flash in the right direction.
I do share your thoughts and to be honest I just started looking for some tutorials on javascript + html5 canvas (maybe too late already?) yesterday not that I think that will be the future of the web but just to have a different perspective. The one thing I hate about css is that you need so many hacks in order to deliver content to all the browser available right now, it isn't just one plug in like flash. Thanks so much for sharing this.
Beautiful post. I think gaming in Flash is also a dead market - I know that are a lot of companies doing Flash games, but why on earth would you use Flash to do a game (I mean, a real game: shaders, 3D, physics) if you have iPhone (OpenGL), Unity3D (deploying for Wii, Xbox 360, iPhone and browser) and in the near future WebGL? Flash games were nice 3 years ago - what we call 3D in Flash today is 40% of OpenGLES. Even Director was ahead of it.
This is very true. The worrying thing is that the things which have made Flash ubiquitous - Video, Games, Animation etc are all being eroded from other technologies. Way I see it, Adobe's model of development has all been towards making Flash more ubiquitous - by making it do lots of things in each different arena which can't be achieved any other way. This has been a case of piling features on with every release without any focus on solidity and performance across platforms. Unless Adobe can turn this around, Flash risks becoming a Jack of all trades, but master of none. Games and 3D being the perfect examples - It did them first (sort of) , but did them badly.
When you add the coming surge in devices which will at best erode Flash's distribution significantly, Flash looks like it is in trouble. Without ubiquity, does Flash have enough to keep it relevant? Flash without 96% penetration is a hugely different sell than Flash with.
Hi Arthur,
your article is well written and thought provoking. Well.. at least its condensing all the existing negative thoughts about flash all together into one piece of writing.
This article is polemic. Not pathetic though, but very polemic. The thing is: you are 100% right on every single point. And this is where the polemic is hitting the ground: You completely ignore all the current and ongoing recent improvements of Flash.
Here a list of 5 things that will keep Flash in business for the next 10 years:
1): hires, hardware accelerated video, for example resulting in the BBC iPlayer which gave Flash a boost far in the late noughties! HTML5 will eat off a tiny bit from this market. And that was it.
2): webcam recording.. anything related in the HTML5-standard? I found f^&* all
3): client and market reality: most clients (yeah, its Advertisement, boo!) love flash and will always love flash. Works way better than advertisement iPhone-app-building (speaking of experience). So where the money is we find the commerce, and where the commerce is..
4): iPad will not even touch Flash in the slightest, I simply dont understand why you mixing those 2 different things into one bowl. The "everywhere" internet is mainly limited to our need of using it and the fact that a day has 24hours.
5): the lack of good Flash coders IMHO is due to the widespread "angst" of Flashs demise. I call it the "Antitanic Situation": everyone is leaving a ship afraid of going down with it. And although it all looks very very dark: the SHIP IS NOT SINKING! (yeah, you can yell "yet!yet!yet!" but its not sinking. period.)
Flash is a bit like Democracy: everyone hates it but it is the least thing we can all agree on when it comes to utilizing the web outside its "official" specifications (such as HTML or CSS - which is BY FAR nowhere near bugfree either). And because it "kinda" works for everyone (see youtube), everyone has it. And just because Steve Jobs hates it makes it not worse. Hate isnt very healthy anyway, Steve knows that too well..
Best!
I fully disagree. Flash is years ahead HTML 5 and all it´s infinite coming bugs across the different browsers. Flash continues to evolve features and performance as well. Besides of that, is hard to believe that HTML 5 will reach 40% of the Flash capabilities in one technology. Have so many things to say, but for now it´s only : Flash Lives and Flash is the future (Open Screen Project, Flash Player 10.1, etc)
, Unity3D is fantastic, but only for 3D. You need to re-think your views about games. 3D is not the be-all and end-all of gaming. Far from it, as the explosion of casual gaming has shown.
3D and Physics irrelevant to most casual games, 2D games are definitely "real games" and millions of people play them.
For ubiquitous web casual gaming and speed/ease of development/authoring, Flash is king.
I agree with you Arthur. One thing where I do not see Flash vanishing any time soon is with in-browser "no-need-for-the-user-to-install-anything" gaming. (Except for the lost productivity, Flash games are also particularly nice to company system administrators because they don't have to worry about employees installing crap on their machines because Flash games are sandboxed)
Another thing about Flash that HTML5 "zealots" (for a lack of better term) forget is that majority of the web is driven by designers, not coders. Flash has no equal in the interactive web animation space. No tool comes close to it for Multimedia Artists/Animators/Designers.
Sure, you can pull off really neat stuff with HTML5/Javascript/CSS, but your typical web designer doesn't know how to do anything more than the most basic Javascript for buttons, let alone programmatic animation. There is no tool for HTML5 that can do the level of animation that multimedia authors can with ease using the Flash Timeline + Tweening.
For those who think Flash is all just banner ads and video (things HTML5 + a standardized video spec can replace), please give Richard Legget's blog post a read. IMHO it is currently one of the most informative weigh-ins on the Flash-HTML5 debacle: http://richardleggett.co.uk/blog/index.php/2010/02/01/the-world-is-moving-to-html5
I think that for now, the following website says it all:
http://isflashdead.com
I agree with you about 2D games. But the thing is that Flash is not the only tool for that, even Unity3D is a great tool for 2D games.
And sure, there will be room for that kind of games forever, Facebook has plenty of great games made in Flash and even EA has great online games. But mostly because of Flash Player's ubiquity - more tools will come and more technologies will be available, and maybe in the future this will change.
Flash will stay here for a long time, but it's great to see some movement of new possibilities (not only for games).
I've been a Flash/Flex developer for several years. I love the development environment and the pay cheque. However, every Flash/Flex developer I talk to agrees that Flash's days are numbered.
I experienced a similar scenario with .NET. This was around the time Vista and Silverlight were going to be all the rage. I knew it wasn't going to happen and jumped ship for Flex. Flex was a hot tech for a while, but now I feel it's popularity waning and to a greater extent, Flash.
Call it developer instinct. Call it spidey-sense. But there's the smell of change in the air and the iPad made everyone acutely aware of it.
Now the only choice (for me) is a toss up between HTML5 (CSS, jQuery, etc) or Unity. Studying begins now.
I think Flash has great potential when used the right way. A Flash application/website is supposed to be an experience for the user, the focus is not pure content.
I agree that making a flash portal is a dumb thing to do. But good interactive flash websites are great and attract people.
The web is not all about content, it is about experiences too. Like a commercial on TV, you watch it and then you forget it. Just the same with a flash experience :-)
I agree with a couple people above.
For canvas and SVG to ever catch on there needs to be good tools that allow someone other than developers to quickly create and refine animations. Ironically flash cs5 will export to .FXG that can be used to build canvas animations.
I think we'll need to see how 10.1 is implemented on all the other 70% of smartphones which aren't designed in Copertino.
Also the new multi touch events in Flex looks very promising.
Hopefully adobe can keep the various flavors of flash the same so that one can code similarly for web as for the desktop as for the phone as for the tv as for...
Hi; First of all.. sorry for my bad english;
I'm 20 years old and develop on Flash platform since 2006 - by this time I started with full-browser flashes, then in 2007 jumped to swfaddress websites. The sad truth is that most of the flash websites on the web are just old - I LOVE flash, but in my opinion flash have to be used only when it's needed - to display 3D stuff, to show full-browser content with nice quality and transitions... etc. You're geezers, u know what I'm talking about. The problems are that: 1) A lot of the websites on the web that are developed in Flash can be made with pure css and html. 2) Flash and seo - client's are looking for results 3) The price and time it takes to make a flash website...
Just they're not a lot of good flash websites - clear, elegant and optimised. It is possible, but it is hard - check rizn (dot) info for example...
jQuery changed the game - deep linking, full browser content, smooth animations... It is the future of websites, but Flash is still great for RIA and in my opinion it's future is in the RIA - online tools for modifying content like a desktop application.
I hope the flash era isn't going to over, but I'm planning to start learning jQuery and CSS/HTML this week :)
Very nice post. Your analysis was very thorough and I basically agree with all of your points.
I have spent a couple years programming in Flash and have since moved on. Like you said, many of the developers I know are moving or have moved on to other platforms as well.
To be honest, I think that Adobe is driving too many developers away from its platform by failing to fix critical Flash Player bugs - instead choosing to layer on new features without properly fixing the existing ones!
Very nice post. Your analysis was very thorough and I basically agree with all of your points.
I have spent a couple years programming in Flash and have since moved on. Like you said, many of the developers I know are moving or have moved on to other platforms as well.
To be honest, I think that Adobe is driving too many developers away from its platform by failing to fix critical Flash Player bugs - instead choosing to layer on new features without properly fixing the existing ones!
Simultaneously, the continuing developments in HTML5 render Flash unnecessary for a large number of common web tasks, so the demand for Flash content (and hence programmers) will decline over the next few years.
I'm definitely encouraging the Flash developers I know to pick up other platforms. It's not like the market will disappear overnight, but I think it will shrink (relative to today's levels). Besides, good programmers tend to want to learn multiple languages/platforms anyway.
Despite the advances in Javascript, in many ways it is only catching up with actionscript, and while it is leading in some areas, javascript still needs a client. Whatever technology you choose to use, the most important thing is that it wll work for the user. Rather than trying to replace Flash, javascript developers should be cooperating with Adobe to get their advancements included in actionscript. Actionscript is the ECMAscript that is rendered most predictably.
As a perfect example, this comment form failed to work for me so I was forced to switch browsers. pure HTML would have done better than javascript for this, and so would have actionscript. Some of the complaints about actionscripts are also unfounded and I encourage everyone to do their own research.
Flash as a tool to develop cross platform applications is what I think is its future. And if it can also serve as a functional medium for users to use your app online even better. But if you only need a web interface why use Flash? If it were possible to build websites with Objective-C using Xcode, and InterfaceBuilder would you want to? No, HTML/JS are easier languages & are integrated better by the browser. Most interfaces don't need framerates, they are simple & basic JS transitions suffice. Bould you want to build a complex application like, AfterEffects, Photoshop, or Logic Pro using HTML & JS if it were even possible? I don't think I would.
To me, the key point in Flash's favor is productivity in creating rich experiences. Yes, javascript CAN create equivalent experiences, but it's a comparatively much more difficult process that requires a considerably more skilled (and expensive) developer. Flash/Flex's whole development model is geared towards rich experiences: from Actionscript to the Flash and Flex IDEs to the whole CS4 design ecosystem. It certainly has its faults, some quite major, but if you want to deliver a complex, visually rich, desktop style app to the web, there's still no comparison for speed and efficiency of workflow. HTML, for all its progress, is still centered in a page-based model. This could certainly change in the future. There are steps being made in this direction all over the place, but flash has an enormous head start and Adobe shows no signs of slowing down their intense efforts to secure this niche. And I do think the web needs and wants these types of experiences, so for the foreseeable future, the web needs flash.
A second point: many commentators in this debate seem to view the contenders as if they are static instead of constantly evolving, but if we're talking about the future of the web, we shouldn't be focusing as much on these technologies' current statuses as on their trajectories. In the beginning of the web, html dominated completely and had no competitors. Then flash and other plugins emerged to fill the gaps in what was achievable. Flash outcompeted the other plugins and took over the niche by continually adding features that were either impossible or extremely difficult to replicate using solely html and js. Many of these features are well summarized in the op. So my question is: why will this trend change? What will stop Adobe from taking two or three steps in the rich experience space for every one that html/js takes, as they have in the past? As hardware and connection speeds improve, which will be better situated to take advantage, and to give developers and designers the tools they need to take advantage? Which will be able to more effectively add features that no one's even thought of yet? I think that if a threat is coming from anywhere, it's coming from the likes of Unity3D, but even here I don't see Unity with a clear overall edge. Their technology is currently head and shoulders above flash for 3D, no question, but flash has the plugin penetration, and Adobe has the resources to make a major step into the 3D space if they ever get around to it. They are certainly on the doorstep (though admittedly just milling abount at present).
great article , but flash is just a plugin ... so no big deal ... most of the web is still html and javascript and will be ... now why flash was so successfull ? because unlike java , it was easy to deploy , with the ide tool , period... if flash loses this philosophy it will have the same fate as java applets on the web... a flash dev
You have some good points made here. But while you may be right about the web not needing flash, it's pretty clear it has significant presence on the web and that there's a LOT of people making money with it. Free lancer professionals, digital agencies, gaming companies, you name it, and while that's true it will be alive and well, weather people like it or not.
I guess the point is, needed or not, it's largely used and with successful monetary results.
That, of course, doesn't change the fact that I would like to see Adobe making some more wise decisions in the future, even though that's not likely. They were bad before acquiring Macromedia and there are bad now. I hoped that with the acquisition the new blood would kick in and push them to be better, and though they have gotten a little bit better, they're still very corporativist and blind to an "open" approach to the market and business.
I was an evangelist for Macromedia but couldn't be one for Adobe, just had to leave the job, it's impossible to stand in front of crowd and defend the kind of decisions Adobe make. But still, I think (and hope, cause I'm one of those making money with it) that flash will be around for quite a while (being it needed it or not).
Best, Milton Lapido
I dont see the relevance of this comment in regards to the bulk loader. This bulk loader is one of the best I have used and I for one am thankful it exists!
Flash is GREAT at application programming?! Especially with the FLEX framework and AIR. you can build full featured applications quickly. If there are bugs in a developers application its not the fault of the programming language (IE: guns dont kill people, people kill people)
if your browser is using 70% of your computer memory for a flash application, one of 2 things are happening. Its a poorly written application, or you need to buy a new computer.
There are two aspects which makes it impossible for me to recommend HTML5 instead of Flash to clients in the foreseeable future.
1) Accessibility. Considering the large share of users that still have IE6 or IE7 it's obvious that it will take many years before HTML5 can compete with Flash in that area. Of course one can speculate about how HTML5 will dominate in maybe 7-10 years time. But considering that is how long it will take before it becomes a realistic alternative for Flash for serious projects, as opposed to the kind of experiments it's currently used for, I don't feel any rush to declare Flash dead and switch my focus to HTML5 just yet. By that time a lot of things might change, and Flash will keep developing.
2) JavaScript. Let's face it, compared to Actionscript it's retarded. Sure it might be sufficient for the needs of the majority of websites, but as a developer focusing on RIA development doing complex and demanding projects it's just not a replacement. No sane developer would prefer it compared to Actionscript or C#.
Also, fact is that all projects I have been working the last few years has used functionality which is not even part of the HTML5 specification. For example audio processing and p2p functionality. Sure, one can call it niche applications, but as a developer I'm not concerned with that. The kind of applications Flash is suited for is the kind of applications I enjoy working with, and it keeps me busy. In a way I actually like the fact that web standards has taken over a lot of the stuff that used to be done in Flash since it means that the expectations of a Flash/Flex developer has become more inline with what I like to focus on.
Question is if HTML5 will further that development or not. I have my doubts, since it's been a long struggle from when DHTML started getting praise as the standards based Flash alternative to when finally JQuery made it possible for developers to do a lot of the basic stuff previously done with Flash without a lot of hassle due to browser fragmentation. We are already seeing fragmentation issues with HTML5, and even sites telling users what browser they need to use, just like back in the 90's.
I'll be happy to switch my focus to another technology when called for, but I'm not going to switch to something which means going back more than a decade when it comes to language and features, where I have to deal with browser fragmentation and where I have worse performance and lousy accessibility.
Arthur, You're post was very well written and I believe that no matter what anyone argues about it, your best statement is "it's a smart move to be prepared. I am not married to one platform. I want to work within the web, making tools for people to communicate, interact, discover and get things done."
Since there are no facts that action script WILL lose, or that it will just be used for things that are not in the digital industry, it is impossible to state with certainty that one language will fade.
Many companies use flash that the average person will never witness, because its uses, are meant only for SCORM testing or in house - e-learning.
As far as your point with how people got sick of flash being processor intensive for things that have no reason being so intensive, HTML5 experiments have been nothing but that.
Everyone is willing to show what it can do, but unless you still have a developer who chooses to build something properly the web will always be at the mercy of the dev, or the at the lack of planning, or the lack of time.
Remember the web does not because styled and made to look pretty because thousand of volunteers choose in their spare time to assist with it, its because they are getting paid for it. As long as Money is involved, so are time lines and budgets. And everyone Developers and Owners are always looking to seek a profit.
That is the problem there. While people shortcut or look for a way to make more money with either less developers on a project or by tossing it together as fast as possible, the internet will always be "BROKEN" to someone. In the end it will be a matter of time before there are complaints with that language as well.
If flash is doomed to fall, is it safe to assume that with giving html more control of bitmap manipulation, is it safe to presume that its only a matter of time before html sites look just like that of a flash site?
Then in conclusion, won't people begin to hate html? I think what the real problem is, is that as developers, and Owners, we need to be more cognizant of that CRAP or Content we add to the internet.
why flash is alive and kicking to day is the same reason why it still is in 5 years (and why it was 5 years ago) - niche is a small word for a fiarly big field flash is actively covering today. and no flash is not trying to deliver everyday-content like facebook twitter, blogs and news. its about engaging users in rich experiences that tells a story or deliver messages in innovative ways. flash is what movies are for TV. its not news or documentary its the Movies... you should know this if you have worked with it for 5 years - but it shure doesnt sound like - shure html5 is going to be a big part of this - but what flash delivers and what clients expects from it is way beyond what html5 delivers - ask YouTube software engineer John Harding who says that html5 is not a valid replacement for flash video on youtube, now or in the near future because of lack of features like: dynamic quality control, buffering, the ability to play full-screen and the protection of copyrighted material.
and for the opengl / director / unity3d part you seem to miss the point where flash has a 96% penetration, with a main goal of delivering content with the same result over all platforms and hardware specs - this is a goal that is reached - if you start building websites with need of hardware support, you will lose major userbase. unity3d is the best thing ever, but it will never reach the same penetration. unity doesnt need 96% for what its made for. unity is made to bring greatness to who ever have the specs to see it. not the way around like flash. and i can only imagin director have had the same penetration problems.
so next time we talk about flash being so bad. lets compare it with tech's that has the same penetration - when html5/unity3d is at 96% we can open the case again...
im shure when people refere to fwa as valid flash case, they are not talkin about thefwa site it self but what it showcases - im not shure why you talk about the fwa site as being nuts. who cares its a simple html site like the rest of the internet.
how can you claim that flash's penetration soon will decrease.. have you seen the update rates for the latest 10.1 releases. it went through the roof in under a week. way faster that ever cant see this turning anytime soon, especially not now that we are getting 64 bit support... but lets see in 5 years
better read: http://www.evokad.com/best-uses-for-flash-not-gordon
its not the relative facts of the technologies of today or the near future that kills flash... its post like this one that makes flash developers wonder away from flash - like a scare campaign... shure flash is living in a world of adverticement and RIA - but it will always come down to where the demand and money is, thats why flash will hold its position open source or not - not because of demand from the end-user but from the "client".
and as a last comment on iPad/iPhone - these user are not looking for flash sites they are looking for readable content - and well yes to some extends videos - if they are looking for rich experience they download an app. this is not flash ground - true. im shure it wont affect the stats...
Although there are a few points I agree with, mainly how adobe has handled some things, I completely disagree with the projections that flash has been fatally stung and is only waiting to die. People who have a hate on for flash or are Steve Jobs worshipers started touting this, and then it seems all the angry flash developers (like myself, don't get me wrong) jumped on the band wagon because lets face it, we're pissed at adobe for doing things like they did with the last CS release, where they showed a beautiful video of exporting from flash to HTML5 but OOPS wait that's not till the next version. That's a real kick in the balls for someone like me who has forked out the full dollar for the CS* Master Collection since CS3. I'm several thousand dollars invited into this company and you're telling me I gotta spend thousands more just to have one extra feature? ANYWAY.... my point is I am clear/objective enough to realize this now. What people are NOT looking at is the fact that Steve jobs plan blew up in his face and he made flash even more popular. Flash jobs are on the rise, people are looking harder at flash, Adobe had its MOST SUCCESSFUL CREATIVE SUITE LAUNCH OF ALL TIME this past year, grossing almost a billion dollars I think in the last quarter (or was it the full year? Can't remember, although I think it was the last quarter). Adobe will be either killing director officially, or unofficially as they are launching new features in flash for 3D next month at MAX that are supposed to basically rival unity3D. That in itself launches flash decades ahead of HTML or browser standards. The face of flash will change but flash will always have the ability to stay strong because one company can implement these innovations LONG before dozenz of companies (competing, I might ad) sitting on an open source committee ever can or will. THAT is why there was a need for flash, and THAT is why there always will be. Don't get me wrong this article had many good points but the whole "OH NO FLASH IS GONNA DIE" thing is getting old. Don't get me wrong, as a developer you shouldn't put your eggs all in one basket but don't go jumping ship because a few angry people blog of the opinion that you should.
I like my Flash job because i like the kind of work i get. Out of experience i know that if i had went for a HTML job i would probably code templates or boring business sites. Also i would have spend ages testing cross browser css. If this al changes and my boss would ask me to create my next project in "HTML5". It would not be a problem (there are no problems, only challenges :-D).
So create your projects in HTML5 and enjoy the new experience (or not).
Thanks for your StackOverflow reply!
I read this post and also wanted to shed some insight that Flash is starting to be used in other traditional forms of media immensely.
The Unreal Engine 3 and UDK(Unreal Development Kit) used in building 2D and 3D video games has fully implemented Scaleform Gfx, a Flash based middleware for interactive interfaces and effects within game. Take a look at Dragon Age and Mass Effect 1 & 2, loads of titles use Scaleform.
Also, the recent Star Trek motion picture used Flash to implement console interfaces as well.
While there might be some controversy on Flash's future on the Web, I think that its use will continue in other entertainment mediums as well as complement the web as it moves into a 3D environment.
A few points to consider...
html5 is not a new technology, it just added what it should of had a long time ago, and Flash just filled that demand. Custom video players is one of the many things that Flash can do.
As it stands now, it is the video tag is not easier to implement than Flash. It basically requires 2-3 different video formats/codes and if you want to support IEs 50% market share, you still need a Flash player. These old versions of IE are likely to linger just like IE6, which just turned 9 years old.
I think few can argue with the fact that Flash is the leading RIA technology right now. That being said, it is much easier to follow than it is to lead.
People often forget that Flash is an advancing technology, competiting technologies may very well be where Flash is now, but when the occurs Flash will be better than it is now.
The Flash experience is better than it is on the Mac, possibly due to how closed off the Mac is, many programs don't even work on the Mac so it is not a surprise.
I would like to reinforce the idea that mobile phones will be more powerful, and therefore more capable of running Flash. My phone already does this.
The comments that steve jobs made are opinion not fact. He has made a number of mistakes before. I don't find the company to be that innovative either. The ipod touch, iphone, ipad, ipad mini, etc are all really the same technology. Technology that has been around for quite some time, I had a Compaq iPaq 10 years ago, and there have been smart phones.
Claims that Flash is a cpu hog imply that html5 won't consume just as much. Flash is often used for sophisticated apps that require processing regardless of the language used. Don't plan on seeing any flash like html5 games running at 1% cpu.
A lot of the bad reputation Flash receives is from wasteful and improper programming. I can't see how html5 will be any different, if anything I expect it to be worse, a lot of html/js I see today is very sloppy.
Lets not also forget that html5 won't be finalized for quite some time, and old IE versions will linger, and prevent wide support for some time. There is also a lack of an IDE that would allow quick development and animation like the Flash IDE.
One final thought. Will html5 be be rendered exactly the same in every browser on every operating system on every device? Flash does this, but html has been a train wreck when it comes to cross-browser compatibility.
Last time I checked HTML5 can do custom video players fine.
Flash brought video to the web, but as it stands it's becoming less relevant to use it for video. HTML5 may not be new, to those of us who keep up with the w3c want's and "do-this'", plain fact of the matter is that even though HTML5 has been around for a while, its recommendation is new, and it's overall and widespread implementation into browsers IS new - so while we've certainly known about it, there really hasn't been much reason to use it in web design.
Flash is great for generating an experience, but I've seen way more shit Flash than I've seen shit JS.
I don't see how you can say that Flash is easier than using the video tag? Why would you want to use a video in the video tag when the browser or users system doesn't have the support for it...most of the heavy browser market shareholders use Theora and Vorbis(.ogg) with the exception of (maybe?)IE8 and prior which don't even support HTML5 at all. Regardless of that issue, any type of development working with advancing technology (which might I add includes HTML5) demands graceful fallbacks. IE6...Why even design for it? Then your allowing people using the defunct browser to keep using it, and that goes for any browser that enters legacy, not just IE.
Flash can deliver a great experience if deployed properly, without a doubt. HTML5 video is meant to introduce a standard to the web designer community without someone having to learn ActionScript/Flash/Flex/MX/AIR etc..Something very easy, that can be done in a few lines, in an .HTML page. With Flash I need an IDE, I need import my video into the .swf/.flv container, (or hook it through some as/.xml for the a player to read) then i have to embed it into a page with, from my experience, way more attributes and parameters being passed than the video tag.
On the topic of high end IDE's why do I need one to write HTML5, I could use Notepad, Vim, Emacs, I mean cmon? If I'm using JavaScript, there are plenty of IDE's out there (Aptana, Dreamweaver). Anything in Flash that your doing complex, is going to be done in ActionScript anyways - which can also be done in Java or JavaScript - if it's a language your familiar with, and the language supports the ability - it can be done.
Also you have to recognize that Search Engines don't index RIA's very well, even though Flash is partially index-able - it still poses problems for optimization, which as a designer, I'd rather avoid SEO hardship as much as possible.
My Flash plugin containers always crash, I've seen Flash cookies set with no mention of them in privacy statements, I've read about huge security vulnerabilities in Flash, how that technology is one of the most prevalent methods of arbritrary code execution - Security experts and many people involved in developing the web loathe Flash in many different ways.
I don't hate Flash, Macromedia and Adobe have led the way for great things and defined how the web can and should be experienced. But I don't see Flash leading the way on the Web anymore. As a web designer myself, I don't even consider using Flash in websites, I used to back in the day, but as I progressed as a professional I have found easier methods for creating great experiences across the grid.
I wasn't saying that HTML5 can't make video players just saying that video is not the biggest selling point for Flash, it is just one part of it. I mention this because that seems to be the big selling point and often cited as the reason why it will kill Flash.
I have developed production players in both Flash and HTML5, and production is the keyword there. That being said, as it stands right now, if you want more than 50% of your visitors to be able to view your video you need to have a Flash fall back if you use a video tag. This will no doubt change in the future, IE6 is just starting to be dropped, but I expect IE8 will linger for a number of years. Therefore using Flash is easier than using Flash and the video tag. Even without Flash you still need 2-3 different video formats/codecs for cross browser compatibility.
No doubt, you don't need an IDE to make websites. A lot of my flash projects contain just a blank stage with exported library items. However an IDE allows graphic designers and developers to work out of the same interface, which makes things cleaner, easier, quicker, etc.
SEO is still weak with Flash, but that has improved, and will continue.
My flash plugin never crashes, what is your configuration? You could try chrome which natively supports Flash, no plug in.
Flash is not the only program with security issues, browsers have them, and Mac OSX certainly has them, they release patches frequently. JS has had some problems. It is an assumption that Flash is any worse than alternatives.
My primary point is that Flash is not going anywhere for quite some time. To be specific, it will be 2-3 years before appreciable amounts of people start ditching it. If that happens it will probably take 5-10 years after that for it to die completely. Would you agree that?
It's been really popular these days to predict the death of flash on blog posts, its like the 100th I read. What I dont understand is, if you're so sure its going to go away, why need to proove it and blog about it? Seems like you just try to convince yourself..
But to say something about the facts as well: there's a huge difference between html and flash the way they should be used. Its true that most flash sites didnt and dont use flash the way its supposed to be and thats where the hate for flash comes from. All sites with great amount of text should be done in html and visually rich sites with interactions/video/etc with flash.
I can see why people think html5 is going to take over flash because it has some capabilites for animations/video,... but seriously look at basically any one of the awarded sites of fwa and try to think how much work it would be to develop a site like that in html. Not talking about that most of the cases it would be impossible due to the lack of support for camera, fast video, interaction, animation, 3d (plus the newest hardware supported opengl that comes to flash and so on and on).
From a developer point of view, to build such a site with the poor tools of html "programming" and debugging, its close to impossible.
But yeah I believe you, flash will go, then how will these kinds of sites be built? Or you say all the creative and fresh ideas flash has brought through the years will be gone as well and the web will be as static and boring as in the early days? If so I wont want to be work on a field like that and will be happy to move something more special like game development or whatever it will be, but Im sure that will not be a case. Either html5 will have to evolve to a much much greater extent in basically every aspect or another technology will have to rise, because the need to build really cool website will never fade.
You make a good point. If HTML5 is so great why does it need to be proven, the free market will determine that.
I hate to burst every ones bubble but mark up is not a real programming language. It just makes displaying basic stuff quicker and sometimes easier, like text, images, video, etc.
I work with both, and Flash is without a doubt superior in every way if you want to do anything impressive. Some people might not realize that AS3 was a major improvement over AS2. AS3 is very close to Java and C++. JS lacks a bit of the OOP support, and is interpreted.
interesting reading, for long Flash have been in it's dying days. Everybody talking about HTML5 & JavaScript is the new web, which i find kind of ugly. I think almost any flash developer agrees with that ActionScript 3 is a far superior programming language than JavaScript. I mean JavaScript is lacking on OOP structure, its hard time writing real application's and frameworks in that language.
Have the last word