Thursday, February 25, 2010

Urban Legend: "HTML 5 Will Kill Flash"

Before I begin my rant, a quick history lesson:

In the earlier part of the decade, Microsoft released a new web framework called ASP.NET. It was the successor to the often criticized Classic ASP platform, and solved many of the issues plaguing ASP.

Fast forward to the present:

It's 2010. ASP.NET has been around for close to a decade, and yet Classic ASP applications are still all over the place. Some are maintained, some aren't. Many are still as vulnerable as they were nearly a decade ago and yet they still continue to be deployed in production. Why hasn't Classic ASP completely fallen off the face of the Earth yet?

There are several reasons. The first is cost. Developing a complex application is a significant investment. Any organization making such an investment wants to receive a maximum return on that investment. Developing an application and then phasing it out within 2 years isn't practical. Developers are also creatures of habit, and sadly some dread learning something that's completely foreign to them. Learning a completely different framework is an undertaking, and since many development shops are ran like true sweatshops, this implies that any and all learning will be done on their own time. Not to mention, a ton of existing code could also be recycled for use in other projects as well.

Now that the history lesson is over, how does this apply to the Flash vs HTML 5 debate? Many of the same things are true today. Flash is everywhere. Stating that HTML 5 will crush Flash in a hurry is essentially stating that the entire web will be written overnight. I'm not a psychic, but I can predict that this simply won't happen and isn't even close to possible. With the economic downturn in recent years, employers aren't hiring as fast as expected and those that have retained most of their employees are doing so on a shoestring budget. If it isn't broken, they won't fix it. Period.

Adobe also pretty much controls the RIA market. Silverlight has barely made a dent, and probably won't do much more than take a tiny piece of Adobe's market share away. Flash, Flex, and AIR fanboys are loyal to Adobe and will not openly embrace a shift away from what they know.

Even if HTML 5 makes possible many things that are only possible using Flash today, do any of you REALLY think that Adobe will go down without a fight? They have a market penetration that others can only fantasize about. They also have the unique advantage of being platform-independent. Therefore, any standards they push will be deployed universally. In the browser world, this isn't the case. Microsoft, Google, Mozilla, and others are all implementing the standards but far from uniformly. Rather, each of them are battling like schoolgirls to implement the newest and coolest features that the other vendor lacks. Adobe doesn't have to worry about this. Design a new feature, roll it into the next release cycle. Enough said.

Since Adobe has the luxury of doing things their own way without the support of the rest of the browser community (and without conforming to standards), they are in a great position to come up with new ways to push the boundaries of what can be done on the web. They make a ton of money from the products they sell, and therefore they will do anything they can to keep developers hooked on sipping the Adobe Kool Aid.

In conclusion, get used to Flash, get used to Adobe, and get used to thinking about how to secure all of the above. Placing your bets on false hopes won't make the web a safer place today. Even if by some miracle Adobe's technologies are gone in 10 years (they won't be), is thinking about what security should look like in a decade going to solve the problems of today?

-Jack


3 comments:

dre said...

Classic ASP makes up the second largest amount (20 percent) of web applications (I am including Intranet/Extranet applications as well here) on the planet. PHP is obviously number one at 68 percent. Java, Perl, Python, and Ruby are all less popular than even static HTML.

Flash is utilized in 40 percent of web applications; leading all other technologies such as Javascript libraries (38 percent), Ajax, custom search and blogs (all around 30 percent).

(taken from The State of Web Development reports)

Eric Fickes said...

Yup, this conversation will never die. Remember 5ish years ago when the web believed that AJAX was the second coming and would kill Flash?

Until the web gets fixed, it's going to need solutions like Flash and Silverlight. HTML is text and it's just too dumb to do what those plugins can do.

Even if Flash gets killed, there will still be flash apps all over the place. IMO, Adobe is the only one that can kill Flash.

Jack Mannino said...

@Dre Interesting numbers. I'm actually shocked that PHP is so high, but I guess it makes sense considering how many CMS apps are built with it.

@Eric The web will never be "fixed". We will always need more. In a few years we'll look back at what we have today as archaic. We'll probably be having the same conversation over HTML 7 and whatever Adobe deems to be the eventual Flash successor.