Entries for month: November 2011

The Future of Flash as an Application Development Platform. In My World. Part II

About a month ago, I spewed my thoughts on the future of Flash and Flex as it relates to me and my career path. Today's news from Adobe has solidified much of what I believe. If you haven't read the article, I would definitely recommend reading it before reading the rest of my blog post.

First of all, I'll start by stating that I am just a little bit angry today. What I say in this post reflects my feelings at this moment. Who knows, I could change my mind tomorrow. I'm such a fickle person. But I don't think I will.

So what am I so ticked off about? Well, the key phrase in Adobe's press release is

We will no longer continue to develop Flash Player in the browser to work with new mobile device configurations (chipset, browser, OS version, etc.) following the upcoming release of Flash Player 11.1 for Android and BlackBerry PlayBook.. Now take a second to read that again. You got it, no more Flash Player on mobile devices. Adobe has announced the death of Flash.

No longer will you see Flash content on websites on your mobile devices. Because of this, developers will not continue to develop website functionality or web applications using the Flash Platform. Executives will not want to budget for two versions.  It makes no sense to develop two versions of web application or animation assets. It's too expensive, and developers are used to working within limitations of the web. We will use HTML and make it work for our needs. Flash for websites is dead.

Leveraging AIR to compile your Flash or HTML applications to the native mobile platforms is appealing. And there is a lot of merit to the argument that this is a space where AIR could thrive. However, I am of the opinion that native apps will soon be dead. As developers become more comfortable writing applications for HTML on mobile, and as the platform matures, HTML applications will replace native. This cycle has already happened on the PC. And it will repeat itself on mobile. App stores are simply a third-party service, just like record companies. As more competition comes into this space and more HTML applications are produced, there will be less demand for the traditional native apps sold through app stores. Developers can sell through third-party app stores that facilitate HTML applications, or they can self-promote. Developers will get a bigger split of revenues, making HTML apps more profitable. With only a single code base to manage, HTML applications make much more sense for mobile and are more agile.  Thus, AIR for mobile is dead (soon).

But, you may argue, that Flash in the Enterprise still makes sense because it's primarily targeted at the desktop/browser experience for PCs. However, as companies want to leverage mobile and build applications that integrate with their PC applications, it cannot make sense to support two platforms. Companies will begin to migrate away from the LiveCycleDS, BlazeDS and Flex platforms in favor of DHTML, JavaScript, and AJAX. Duplicating components and classes for cross-platform applications does not make sense and becomes expensive to maintain two platforms. Flash Platform for Enterprise Applications is dead.

"But, Flash will still live through games! Flash is an awesome game development platform. Especially now that it has Stage 3D!" You'd think this would be true. However, there are a few major flaws with this thinking. First, game developers are excited about HTML for gaming. With Flash making little sense for mobile devices, and HTML games becoming bigger, it makes less sense to support Flash for gaming. If you want to deploy a Flash game for mobile, you will either need to package it as an AIR application, or write an HTML version. Again, this makes little sense and really limits the use cases for Flash for games.

For 3D Games, Adobe does not understand the hardcore gamer audience. For us, performance is key. Sure, Flash 3D looks great in demos. But these games are dumbed down, and have very little flair. Gamers aren't looking to move backward in technology, we are looking for the next best thing. We have old consoles and games if we want to experience old 3D technology. Console manufacturers will have much less trust in Adobe now, and getting the Flash runtime on XBox and other consoles may prove difficult. Where is the incentive for console manufacturers to include Flash games? What's the incentive for current game developers to switch to using Flash? If Flash had remained a force in the browser, this may have made sense. But without the browser, Flash gaming has no place to go. Flash for games is dead.

So, by now, you've figured out what I am saying. Flash is dead. Yea, that's pretty harsh. And a lot of my points can be hotly debated. But the sentiment seems to be rippling through the Flash community, and I am seeing the same thoughts from other long-time Flash developers. So it's not just me anymore. It's a huge community of Flash developers who feel the same way.

It makes me sad. I love Flash as a platform, and it had a huge amount of potential (it was far from perfect). But, maybe it's time has come and it's time for me to move on gracefully. I could be mad at Adobe and spew all the things I've thought about them over the last 24 hours, but I won't. Because if this is what Adobe decides they need to do to stay alive, so be it. They've been around a long time, and they've certainly been more successful than I.

However, I have worked with the platform for many years, starting with Allaire's ColdFusion in 1996, to Macromedia with Flash and Flex, all the way up to Adobe's AIR initiative. The one thing I've finally come to realize is that I can no longer stake my career on a vendor that controls the platforms I work with. My time will be better spent investing in open platforms such as HTML, open source JavaScript frameworks, and open source back end technologies like Groovy and Clojure. With open technologies, I can allow the market to drive my skillset and not a vendor. I won't have to wait months or years for bug fixes. I won't need to spend money on licensing fees. I can contribute to the platform.

I could have never foreseen Adobe ditching the Flash Platform this way, but I'll allow you all to tell me "I told you so" now.

One final note: I do have to say thank you to many folks at Adobe. You've worked hard at making a platform we all loved and made a good living with. You've helped me with some of my toughest problems, and supported my technical needs for many years. While I don't agree with your decisions on the Flash Platform, and have not for a couple of years, I still appreciate the contributions you have made to my life and the web as a whole.


12 Comments Tags: ColdFusion · Flex, Flash & AS3 · General Thoughts