I’m getting pretty tired with all the Adobe vs. Apple talk. A lot of talk about how Apple’s decisions and the advent of HTML 5 are going to KILL FLASH! And yeah, it seems that now even Adobe are admitting defeat in the iFight. And while the mobile Flash Player is coming to Android and a lot of developers have started to look to that side of the fence, it’s becoming more and more obvious that there are a lot of users who simply don’t notice that their device doesn’t support Flash, or even if they do, it’s not that big of a deal. At least not that big of a deal that it would be the dealmaker when they’re choosing a new mobile device.
So, the mobile future of Flash doesn’t seem very bright at the moment.
And then there is HTML 5. But where Apple’s decisions were clear and justifiable (at least from Apple’s viewpoint) against Flash, saying that HTML 5 / CSS3 / JavaScript is going to kill Flash is mostly ideological than practical now. Sure, with Canvas you can draw similar animations as with Flash, but when you don’t have Canvas natively on IE and even the best browsers don’t come even close to Flash’s framerates, AND remember that when you write advanced javascript, the browser compatability issues are really big. So until a good Canvas IDE comes along (and most likely the first good one will come from Adobe), development of even basic animations with Canvas will require an advanced knowledge about JavaScript. Flash’s biggest benefits is the ease of development. You can create nice animations, banners etc with very little knowledge about coding. This, of course, is the biggest reason why some folks truly hate Flash, as little knowledge sometimes results in 99% processor loads and browser crashes. Still, if you want some technology to KILL FLASH, it needs to be easier to develop. Not the current case with Canvas.
Still, Canvas is a really cool technology and with the current browser wars it’s definitely getting faster. Unfortunately that doesn’t remove the browser incompatability issues. But, if you need to come up with some interactive animation stuff on the web, I wouldn’t do it with javascript unless it was something really simple or I had the time and budget to really test it with different machines. And after all the main thing in everyday web development is not making technological breakthroughs, it’s creating stuff that your clients/users like and want to use. At the moment, Flash is just so much cost-effective if you need to have any advanced animation on your site. Besides, if you want to have those advanced animations on mobile, native apps are pretty much the only working solution nowadays. So, as a developer it’s imporant to keep an eye on what the Canvas guys are doing, but ditching Flash is overkill.
Besides Canvas, the other threatening technology is HTML5′s <video>-tag. It’s truly great, nowadays video on a web page is just as common as an image, so there really shouldn’t be a need for a 3rd party plugin. Nevertheless, it’s funny to see all the flaming against Flash video, as it pretty much single-handidly made online video as big as it is nowadays. And, while all the browser makers (and especially the developers) know how much crap resulted from pursuing company-specific technologies instead of common standards, it’s really unbelievably, amazingly dumbfounding that even with the video-tag is supported in current browsers, they haven’t been able to select/make a good open-source video codec to use. I’m really hoping that Google’s efforts with VP8 will make it the standard. But then again, when you know how much effort Apple put into bringing Flash into their mobile devices, and how much they like Google, I would be a bit surprised if they made iHandhelds compatible with a codec that’s not their own. Hope I’m wrong.
But eventually, if there isn’t any big changes in the way things seem to be developing, the amount of .swf’s on the web will get smaller. And I’m saying that’s a good thing. People have been making sites and site components with Flash just because you can add explosions, visual effects and all kinds of other stupid stuff with no real reason besides the lack of visual taste.
Here’s a small table about the current and future use cases of Flash, and how I predict they will change in the future.
Use case: Mobile
Doesn’t look too good for Flash. Someday, there will be popular devices that have more than enough battery and power to run embedded & standalone .swf’s nicely, but it will take a while, and if the wait gets too long the need for it will get smaller and smaller.
Use case: Video
When the browser companies manage to settle on a common codec to use with the <video> tag, and YouTube, Vimeo etc really put their weight behind it, Flash video will lose percentage. Not before.
Use case: Full Flash campaign sites
Example: Sites on thefwa.com
These will be made with Flash, but we’ll see them less and less, due to reasons that have nothing to do with technology. It’s a pity ’cause I’ve made good money building them
Use case: Games
Browsers & computers have to get A LOT better & faster before online games can be made as accessible and classy without plugins. Or the majority of online gamers will need to switch to devices that don’t support Flash.
Use case: Banners & ads
The category that has given Flash more haters than any other, Flash ads won’t be going away for a while. Designers don’t want to sacrifice the current possibilities Flash ads give them, no one wants animated gifs back, and if you stop making banners with Flash, all the AdBlock users will have a seizure.
Use case: UI elements
The use of Flash as site components, such as navigations, transitions, image galleries etc etc is on the way down, thanks to easy-to-use jQuery plugins and things like that. I’m guessing that this trend will get stronger, and that’s a really good thing as in the vast majority of the cases Flash doesn’t give any advantages, many times it’s way better to make them with JavaScript.
And of course the worst uses for Flash, such as message boards, webstores or large full-Flash sites (without swfAddress) are on the way out, hopefully for good.
So, all in all, the cases where Flash will continue to dominate are getting fewer and it’s hard to think of any new area where Flash would increase its popularity. But it’s not going away, and there will be a demand for it for many years. I’m guessing these current developments can hopefully bring out a balance between Flash and the HTML5/css3/js combo, where each technology is used and embraced where it fits best.