A Web Developer Speaks: Flash Player is Dead. HTML5 isn't ready. Long live AIR!

Poorly-coded HTML5 content will send the Web into the dark ages.

Jason Perlow: I received the following e-mail from a web and Flash developer that works for a large advertising/media production agency. With the exception of some minor editing to flow for style, the content is identical.

As a developer for a pretty large agency, I would like to put everything out on the table... it isn't pretty for Adobe, Flash developers or even the general public.

In a nutshell, Adobe really screwed up the messaging. They left the entire community and evangelists in the dark/unprepared for this news and the developers are very pissed. That's the real story here.

Despite what the industry will tell you about how bad a solution mobile Flash was, I have actually created screaming fast mobile Flash content for the browser... It's completely possible! But not likely for most people.

I know and many other experienced Flash programmers know that the technology actually worked very well. The problem was that legacy content could never all be re-optimized/re-published for it.

There are literally billions of old, badly coded SWFs out there!

Creating well-performing interactive web content requires a serious understanding of things like blitting and other really difficult computer science concepts that current designer/psuedo-developers do not understand because they were never trained in those disciplines.

This means generally every piece of old Flash and uneducated Flash piece was viewed to be sub-par, hence Steve Jobs objection to using it in Apple's iPad and iPhone.

On top of that, we have to add the fragmentation of the Android platform... Adobe literally couldn't afford to keep up with the devices anymore considering developers were never targeting Flash Player for mobile anyway.

It was purely a financial decision on Adobe's part to place the onus on the OEMs to continue maintaining the Flash player. Thats right: they stopped creating Flash for the mobile browser, but OEMs will now be in charge of implementing the player on their devices.

That's another thing Adobe screwed up in their communications by just passively mentioning it!

So what does it all mean for desktop Flash? I'm not gonna lie, its not good. The damage is done. Most clients will be clamoring for the new HTML5 specification to be used in their sites from here on out.

Unfortunately, we can't sell it to them yet. HTML5 isn't ready for the desktop and clients don't want to pay for two sites. So, instead, we will be falling back to DHTML and things like JQuery for both mobile and the desktop.

It stinks, but that's the way it is from now on. You can now look forward to a lame internet.

As far as performance goes, Flash really is fast when developed correctly. JavaScript is faster only in computation, not rendering speed. But the next versions of the Flash player for the desktop are including real concurrency and performance on par with Java. Really, I'm not kidding.

In fact, you will see some of that power with each dot release of 11, 11.1 and so on... but an order of magnitude faster in future versions. I know this because I am a beta tester. Video performance, however, will not be addressed until version 12.

AIR 3 for mobile, TVs and oodles of other devices is amazing. The apps are already among the top performing apps on the App Store, and its a real shame Adobe's abysmal marketing team isn't getting the message out.

AIR 3 addresses every single issue its predecessor had with performance, captive run times and native extensions.

HTML5 tools are severely lacking right now. I have been playing around with Adobe Edge and Muse, and I have to tell you they pale in comparison to the features Flash has. What you can produce with these tools today is more more like what Flash 4 content was years ago.

The code it produces is not desirable by our current developer standards. And the files these tools produce are much heftier than their Flash counterpart. Adobe recently featured a banner ad created with Edge that was 1.8 MEGS! A similar Flash advertisement would have been around 25 kilobytes.

Bandwidth caps for mobile will explode if we have to use HTML5.

A side technical note: The reason for this vast difference in terms of file compression between Flash produced and HTML5 content is that that Flash can rely on vector artwork easier, and even their bitmaps are more optimized than HTML.

PNGs in Flash utilize JPEG compression on top of the PNG even with an alpha channel. This means that PNGs in Flash are literally 20% the size of stand alone PNG! JPEGxr has been added to the list of supported formats, meaning Flash Player 11's JPEGs will be 60% their current size with no loss in quality.

HTML currently relies on many images, image sequences and paltry primitives for vectors. HTML5 will have exponentially more code too for describing motion. I'd rather see plain DHTML content then that animation.

Regardless of these technical issues, we really need competent HTML5 tools for visual editing. Our HTML5 projects are costing 3 times as much as traditional HTML and even Flash. Most of it is in cross-browser fallbacks and QAing.

HTML, JavaScript and CSS are simply too verbose to handle huge applications. JavaScript was never really meant for giant applications that truly require Object Oriented Programming.

Traditional web developers that will take to these web languages are not fit for real application development. It requires a lot more work to describe motion, interaction and application states.

Unfortunately any resulting object code that gets spit out from these next-generation HTML5 designer tools will be a rats nest. But it will definitely happen.

Designers will get their HTML5 tools, and the results will be exactly what we saw with early Flash sites. They aren't computer scientists, and while they won't necessarily make the same mistakes Flash developers made in the early days, they will make very poor decisions that everyone will pay for.

All of that being said, I do believe the Flash player's image is too far gone now. HTML5 isn't a good replacement but it's all we have to look forward to for the Web. Except for games... it really cant handle it, so Flash Player will stick around for that and HD video and surround sound.

AIR is going to be a goldmine though. Since I am losing interest in web development, I'll likely move solely in that direction as I'm sure many Flash developers will.

AIR is Flash's phoenix rising.

Will poorly coded HTML5 content throw us back to the late 1990s? Talk Back and Let Me Know.