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.

 

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

12 responses so far ↓

  • 1 Daren // Nov 9, 2011 at 11:20 AM

    Great (but sad) post. I cut my teeth on Flash MX (AS1 syntax) which has, ironically, transferred nicely into JS development skills recently - but it has been sad over the years as I watched the nimble little plugin that gave us quality experiences like praystation and yugop 10 years ago get weighed down. I was all giddy bringing complex(ish) data back from Coldfusion 6 with Flash MX remoting and sat excitedly by to see it take over the web dev world. Now I'm more than happy to call a Groovy backend (often via the very excellent Railo server - still holding out for CFML) from a jquery frontend.
    What am I saying - what a huge wasted potential opportunity for these platforms this seems to have been. I'm not bitching about Adobe - enough years in web dev has bred a thick skin - but I really do believe that Flash could have won the title if the course had been just a bit different. It seems odd that writing web apps in js/html5 reminds me of building my first few Flash apps in AS1. Farewell Flash.
  • 2 tyler // Nov 9, 2011 at 2:34 PM

    I'm sorry but you're wrong about flash not making sense as a way to publish to app stores. The performance of a mobile AIR app FAR EXCEEDS the performance or capabilities of a packaged JS app. Especially with stage3D! It's much easier to get an app noticed in an app store, than to get a web-app noticed, so app stores are never going to go away and Flash will remain the only sensible way to create an app that targets all the app stores...
  • 3 TJ Downes // Nov 9, 2011 at 3:02 PM

    Tyler, thanks for reading my blog. I understand your point of view for sure. And I am certainly not saying AIR apps packaged for mobile are dying overnight.

    Sure, some games will benefit greatly, but I expect that you will see huge steps in the performance of JavaScript engines in the next couple of years. As it does, any performance benefits may mean little to nothing. 3D games are an exception, but really how many mobile 3D games do you know that are developed in AIR currently? I expect we will see most serious game companies write their 3D games natively, since that will be much higher performance than AIR can provide. And doesn't lock them into a vendor who has shown that they aren't sure how committed they are to that platform.

    App developers will jump on third-party app stores if it means they get a bigger cut of profits. Implementing an app store for an HTML app wouldn't be all that difficult, really. So I do not think app stores will go away, but I do think the distributions model will change. Really, it's a huge benefit to all if they do, since the user would no longer need to store applications on their device, thus saving valuable storage space. I do think that native apps will die, with the exception of some types of games, just as they have done on the PC.
  • 4 Shawn // Nov 9, 2011 at 8:18 PM

    I gotta disagree man... I see at the very least 3 full years before it's even remotely possible that apps start trending back down, and web back up.

    In the last year along, app use has gone up 100% in minutes/day, while web use has only gone up 15%.

    At the end of the day, developers can't make money on the web, with free apps. Well they can... but it's about 100x's harder. So, quality will follow the money, and all the best, most polished, most feature rich applications will be for sale, in the respective stores.

    We've never seen this trend on desktop. When has desktop ever had a ubiquitous marketplace, built into the OS itself, where consumers could purchase insanely low-prices applications, that were vetted by the OS Maker and other consumer reviews? Desktop has never seen anything like that.

    And really both Windows and OSX are trending to the app model, not the other way around.

    Not to mention, there is just always the basic question of device integration. A device that is not delivered naively just can not have the same level of functionality as something in the browser,you just don't have the API's, plain and simple, so there's entire swath's of apps that are cut out.

    I don't buy it at all...
  • 5 Shawn // Nov 9, 2011 at 8:25 PM

    Also, the idea of having no apps actually stored on my device is horrid. Say goodbye to using your apps while travelling, or camping, or anything where you don't have a connection... why would I want that? Just to save space on a memory card?

    Don't you think it's a little more beneficial for us all to get massive storage capabilities instead? I'll take my 1TB Nexus 5 please!
  • 6 TJ Downes // Nov 9, 2011 at 9:43 PM

    Interesting points, Shawn. I think we'll have to agree to disagree on the native apps and app store.

    Google, Microsoft, and Adobe have all invested millions into massive cloud infrastructures that deliver their products as web-based applications. It's a much more financially viable distribution model. I don't see any trend toward desktops going toward the app store, with the exception of Apple. And there's merely because of the success they've had with the app store on iOS devices.

    Not having apps stored on your device does not mean you cannot cache them for offline use. But really, how many apps do you regularly use offline? Generally the apps I use are all online apps. Most of them require internet connections to even perform. Frankly, I'd prefer to use my battery life on more useful things than powering a 1TB hard drive.

    In any case, to each his own.I can't see AIR surviving the next decade. I'd rather put my efforts into technologies that will last, and I can contribute towards the improve of the overall platform. For those already developing native apps, I can completely understand your viewpoint. They are the same sort of arguments I hear from C programmers about web applications.
  • 7 Ian // Nov 10, 2011 at 5:33 AM

    All technologies are superceded eventually, it's a when not an if.

    As far as matching flash in the browser goes:
    HTML will probably invade the game space in time. It isn't there yet, but all the GPU bonuses of Stage3D will find their way into the browsers.

    The HTML/JS/CSS model certainly has failings, we'll no doubt get stamped on by variation in browser implementations (again), but we're getting better at patching up such differences with libraries.

    I'm not fond of writing JS, I've enjoyed being with AS as it's become a stricter, more formally defined language. It's possible it'll tidy up, but more likely we'll just get abstracted away from it by development frameworks/tools.


    AS for the web app vs native:
    Can't help but feel we've done it all before.
    -Early computers, all stand alone. (desktop?)
    -> More powerful mainframes with dumb terminal clients (client/server)
    --> stand alone systems which could do all the processing themselves! (desktop)
    ---> locally network several together to pool processing power! (client/server)
    ----> technology shrinks - same thing, but 1 box/board (desktop)
    -----> join all the desktops, together and allow sharing of information, pool it on the powerful computers, access it from the others [internet] (client/server)

    The ongoing cycle of procesing power/size/cost/network speed...

    Once we start colonizing space, the network speed will be inadequate and we'll go back to desktops...

    Apprently some people takes concepts too far.
  • 8 David J McClelland // Nov 10, 2011 at 3:08 PM

    This is the most thorough, thoughtful analysis I have read on this. Yesterday I came to the same conclusion, but within the scope of eLearning content. You cover a larger application landscape which further validates my view that the tide is grounding all our boats.
  • 9 TJ Downes // Nov 11, 2011 at 4:22 PM

    Daren- Thanks for your insightful comment. Your feelings are akin to mine.

    Ian - inline with what Daren said, writing JavaScript compared to AS3 feels out of place. There's something to be said for a strongly typed language and maintainability, in my experience. I also agree with your viewpoints on deja vu. Been there, done that. I know others feel differently, but it really is inevitable. To me, native makes little sense when native APIs can open that same functionality to trusted HTML apps. HTML apps are easier to find developers for, and overall for less expensive to develop and maintain.

    David, thanks for reading, and I am happy you found value in the post.

    To be clear to all, I am not saying Flash is going away today. Obviously like any language used so ubiquitously, it will take time. There are still people maintaining COBOL apps. But over the next year, I do not believe you will see many websites or applications implementing new projects with Flash.

    There will likely be a significant subset of developers who continue to use AIR for mobile apps for the next couple of years.

    Flash games have been a huge source of revenue for some companies, so that will survive for a while too. But obviously, many serious game developers and game development companies are going to start immediately considering how they can move away from Flash to target as many platforms as possible without the need to write multiple versions of their games.

    I do not believe that Mike Chambers' post today changes my mind about anything. Taking Flash Player out of mobile is what's important. And that's not changing. I'm not confused, Mike. I understand Adobe's viewpoint. But if they don't understand the implications of the decision, they don't really understand the job that developers have.
  • 10 Alex // Nov 12, 2011 at 10:45 AM

    There are some questions that aren't answered yet which are relevant to how this all turns out. First, HTML+JS+CSS is a pretty terrible workflow for a lot of large applications. It also has the severe issue of exposing code a great deal more than many people are happy with. It seems likely that platforms which offer a better workflow will always have an audience. Progress doesn't stop just because HTML5 comes along.

    Secondly, we don't really know how far mobile will go towards replacing normal computers. People like having smart phones for convenience, but the vast majority of people still need a real computer for some of their tasks. Notebooks and desktops will continue to offer advantages over phones and tablets for the foreseeable future, and as long as that market is big enough, the "best" tool for addressing that single market can survive. People write platform specific code for Windows, Mac, Android and iOS because the audiences on each are large enough for the effort to make sense. Even if Flash becomes more and more platform specific, if it keeps an edge on a key platform (like desktop browsers), people will write for it.
  • 11 Richard // Nov 14, 2011 at 2:36 AM

    now adobe is no longer developing flash for mobile browsers is everyone with a droid all of a sudden going to uninstall it? and how does adobe ceasing to develop flash for mobile browsers mean they will do so for desktop? and even if they did, would everyone all of a sudden uninstall it there too? will all the flash content used on websites all of a sudden disappear? if flash is dieing it will take years. definitely time to start learning some html5 though
  • 12 polyGeek // Dec 13, 2011 at 8:10 AM

    I believe we'll see a lot of web apps, games and enterprise, written for the Flash Player and then those app/games wrapped as AIR apps for mobile. I'm not saying that will dominate but there will be many examples of that. Enough to build an industry and longtime work for us Actionscript devs.

    But whatever, I expect that I'll be doing a lot more welding and carpentry in the near future anyway. :-)

Leave a Comment

Leave this field empty: