Calendar

September 2017
Mo Tu We Th Fr Sa Su
<< >>
123
45678910
11121314151617
18192021222324
252627282930

Langs

Flash is dead, again ?

Posted on Nov 13 2011

I didn't wrote that much about recent Adobe announcement that they are dropping Flash Player for mobile and focusing on AIR for apps instead. I wanted first to see what kind of reactions people had.

There is actually many different point of views.

Joy : people that didn't like Flash (some of them actually hate it) are rejoicing, seeing that as the next step toward complete flash demise. I can understand why people don't like proprietary technologies. As a developer, you get more frustrated since you can't contribute or try changing things that are just broken. And companies are often driving you into some kind of vendor-locking strategies in order to make sure that you can't reuse your skills if you buy another product from another company or - worse - use open source software. Which leads to...

Fear : "omgwtf I know only about Flash how am I going to eat in the upcoming years if it's dead ???" that's what a lot of flash developers are thinking now. They spent years building their skills for a given particular usage. Seeing this usage fade away must be quite fearsome. Of course they are people that will told them that nothing is wrong...

Deny : "I have never used Flash browser on mobile so it changes nothing, and you can still use with AIR for apps, actually this is great news !" .... Well, that's one way to put it, and actually that's not entirely wrong since actually flash browser usage on mobile has never been the main way to use Flash. That's just missing the point.

People thinking that way are just completely ignoring that technology popularity has never been about facts, but about hype, buzz, and somehow communication. Like it or not (being a scientist I'm actually very sad about it) but it works this way. And Adobe just sent a very bad red-light signal to all their actual (and potential) users. That might not be what they intended, but the result is the same : some companies will cancel their flash/mobile projects, some other will not choose Flash why they could have, etc. Of course some people know about that, but they just don't care...

Positivism : "every technology have its own life cycle, change is good, try to adapt it and follow where it leads you to". Which is true. But frustrating. First, because I want to be able to use the technology I choose and not the one that happen to be the one everybody is telling me to use. And second, because the only way out is Javascript.

Not that I don't like Javascript : this is a not-so-bad scripting language (btw the term scripting does not actually mean anything in terms of programming language, but I'm still using it there) which is quite easy to both learn and master, an active community, several good open source virtual machines, good tools, debuggers etc. But it's not my language of choice. First because I prefer statically typed programming languages : they might be harder to learn and master, but - when done right - I feel they give you a great productivity boost by letting you focus on your actual code and warning you for all the other minor errors you might be doing (typos, wrong parameters, etc.)

I don't think that statically typed PL will work for everybody - some people might spend more time actually figuring out how to correctly "type" their programs that they spend on actually programming - and I don't think that a single programming language can work for everybody, that language being my own (Haxe btw) or Javascript.

But let's back to the topic, which was Flash.

To answer the original question "Is Flash dead ?", I would say "again" : that's one more blow to it, and a big failure PR-wise for Adobe. But a technology is not dying so easily. It might eventually fade away in the upcoming years, or raise back (which is possible be have less probability) . In all cases, if you are a flash developer : don't panic. But don't do anything either ! Try to learn new things, not for the immediate present, but for the middle-term future. If you find Javascript sexy, then go for it. If you prefer structured/typed programming, then learn Haxe.

One more word about Haxe btw (it's my blog actually so I feel free to talk about my own things, hope you don't care - hopefully not if you've been reading all this post). The particularity of Haxe is that it is a language without its own platform. Usually all languages have their own platform : ActionScript has Flash, Java the JVM, C# has .Net, Javascript the web browser. Of course some people are trying to run these languages on other platforms as well, but it's often awkward and slow because the languages have usually been designed to run on their own platform. Haxe is about having one single highlevel strictly typed programming language that compiles - natively - too all the mainstream platforms. That's what we have a last kind of thoughts.

Don't care : Haxe developers don't care about petty platform wars, they know that Haxe will always adapt the mainstream platforms, that the community will build crossplatform apis as they did for Flash with NME (to run on C++/Mobile) or Jeash (to run on Javascript), and that you can still target natively a given platform to get the best performances and full features access.

Of course, I am part of this last category of people.

Hope you will join us too !

19 comments
  • Nov 13, 2011 at 09:46

    Hey Nicolas,
    Thats exactly the point and I think Flash became mainstream for its community, which by then had never cared about if their work is going to be main stream corporate work or enterprise application but the sheer joy of doing something is Flash.

  • VisitorG
    Nov 13, 2011 at 13:04

    Hi Nicolas,

    Although they have been improving a lot lately, I can't feel any trust in Adobe anymore.
    Unless they finally open it (the Chromium way) I don't feel safe with them taking all the decisions.
    Let's remember they have also dropped support of Air for Linux... what will be the next target?

    So I've been wondering for a while to what technology I should go to.

    What do you thing of NaCl?
    I am a Flash developer, and I was never interested in Javascript.
    Seems like a step back in what I can do, especially since I am a game developer.
    Plus, getting the same content on different browsers is such a pain.

    But NaCl...
    First it is Google (enought said).
    Then, there are the wonderful perfs inside a webpage and there is the Chrome web store for diffusion.

    Making a game for iOS, Android, and then for the Chrome web store using Nacl.
    You cover every plateform with native apps on app markets.

    Do you thing this technology could take off?
    Do you intend to make Haxe capable of targeting it?
    C/C++ is kinda old news for me, last time I tried to go back, it was a desaster...

    Regards.

  • Nov 13, 2011 at 13:42

    Hi Nicholas,

    I really hoped you would write some words about this topic. :-)

    Being a Flash develper for 11 years and watching haxe from a distance for about 2,5 years, my first thought, when I red the news message from Adobe, was: "OK, then haxe". I don't develop mobile apps and nothing will really changed for me in the near future, but it is the message they are sending: "We ourselfs really don't believe in it."

    Haxe is about having one single highlevel strictly typed programming language that compiles - natively - too all the mainstream platforms.

    For the last 2 years I developed a framework in AS3 and once, it reaches a certain level of maturity I am shure I will port the core parts to Haxe.

    So: Keep up the good work. I think you are heading in the right direction. And I may join you in a few months, because I don't want to lock my knowledge in into one ecosystem again.

    Best Regards.

  • Nov 13, 2011 at 22:46

    I looked at haxe a long time ago ; i think i've seen it when it just went to the world, but, i didn't take so much time looking at it.

    What i think it's confusing is that i can't really find which one of this statement is true :

    haxe is a common language for many platforms, but each project must be designed to work with only one output.

    haxe is a common language and can output a project on several platforms.

    By example, let's say i'm coding a Ui in flash, with some drawings with beginFill, etc, and some URLLoaders for filling the Ui with some data ; is my haxe project designed to work only with a swf output or will is haxe able to compile a javascript version that use canvas context and xhr requests ?

  • tlecoz
    Nov 13, 2011 at 23:03

    By example, let's say i'm coding a Ui in flash, with some drawings with beginFill, etc, and some URLLoaders for filling the Ui with some data ; is my haxe project designed to work only with a swf output or will is haxe able to compile a javascript version that use canvas context and xhr requests ?

    +1 :)

  • Nov 14, 2011 at 00:06

    In full agreement with one exception - js advanced greatly during the last few years, totally past what you mention here. I am historically a flash dev, and actually became one because of the failings of js during the browser wars, but recently turned to js exactly because it became a language unbound by a particular platform - in the case of our current project it runs in spidermonkey in our cloudant cluster, in v8 in our node.js app servers, in the browser of course but then in rhino on android phones and then in javascriptcore on the iphone in our mobile app powered by titanum ...

    I have so much respect for you as a programming language designer which just makes it all that much more difficult to swallow the fact that you have practically never said a good word about js

    I personally think that js is one of the most promissing compile targets for Haxe in the near future, especially so in environments such as node.js where people are running ever more complex logic that might require the discipline of a statically typed language, even more so as Haxe also compiles to lower level code which can be leveraged there.

  • Nov 14, 2011 at 00:57

    @y_nk - Actually, the biggest problem with JS at the moment is the fact that it is not a unified platform.

    In a way it is actually easier to make a good Flash-like API (ie NME) work in CPP than it is for JS, as you are not trying to get it working on crappy platforms.

    This is why Flash is good. You know what you're targeting. JS, you don't.

    Thanks a lot Adobe - fools!

  • Nov 14, 2011 at 10:30

    @VisitorG : NaCl is currently restricted to Chrome Web Store only. That's quite a huge restriction compared to Chrome-only or any-browser. Depends on your target audience willingness to use your application.

    @y_nk : both are true. You can use Haxe with platform-specific API and then have a platform-specific project. Then if you want to go multiplatform you can use either conditional compilation or cross platform libraries (which are using conditional compilation to abstract platform-specific details). All your code logic will remain the same.

    @hristo : Indeed I don't have much to say about JS as-a-language. It has all the basics that you would expect from a programming language but nothing more. The tools and the platform it runs on (Web browsers, standalone VMs) are good, that's why I agree with you that JS is an important target for Haxe. A nice platform, but a bad language IMHO : hopefully Haxe will help there ;)

  • Nov 14, 2011 at 14:50

    Hi Nicolas,

    I think that Haxe may well offer a great solution to a post-flash player web. To that end, I'm considering a new project - which I've cheekily called FlaXe - that will seek to create a Haxe version of Flex. If anyone is interested, they can read more at http://www.davidarno.org/2011/11/14/announcing-project-flaxe-a-vision-for-the-future-of-flex/

    Regards,
    David Arno.

  • Nov 15, 2011 at 11:19

    I remember way back in 1998, when I started using Flash (before that, I was a Director buff). What drew people to it was the ease with which they could design cool looking websites without it looking different between IE4 and Netscape Navigator. Plus, it was far quicker to whip up a simple but nice looking interface in Flash than it was in HTML. At the time, tho, it wasn't so much the designers and developers that were calling out for it to be used; it was the clients. This was the time of the DOT COM bubble, when everyone thought they needed a website and everyone knew it had to be Flash! If some other company had a minute long cool looking intro, then they needed one that looked cooler and was a minute and a half.

    Since that time, right up until around 2006/7, I've still had clients ask "Can you do it in Flash?". Now, as Flash is easier to work with - it's stateful, looks the same whatever, quicker to design in, easier to manage assets etc. - it was easier to say "yes" and accept the extra cash (cus it's Flash) than it was to increase my workload, reduce my fee and tell the guy he really should consider HTML (there are always exceptions).

    Despite all this, I knew way back in 2006 that Flash would see its demise - even if I speak prematurely. Flash can't live forever, just as the browser can't live forever. I anticipated that Haxe would be a useful concept at its, er, conception, which is why I adopted it and put as much effort as I could afford into making it successful. Now, I use it for many other reasons, too.

    I think, with the premise of Windows 8 and it's new HTML/JS development system, Googles ChromeOS and Adobe's AIR, we may witness the end of the browser at some point. I'll not attempt to suggest when that might be, but I can certainly see it happening :-D

    @David Arno: I've some suggestions here, and a mini-project that could help push this along. Drop me an email when you have time to chat about it... Do you use Skype?

  • gludion
    Nov 16, 2011 at 18:05

    My all-time favourite is as2, because it's both accessible to a broad audience, and typed (optionally). It's also quite stable.
    However, the drawback is performance. This is "fixed" by as3, but there is a cost.
    Also the strength of flash was to offer a visual paradigm for interactivity (clips hierarchies + timelines) + the editor to create content within this paradigm. This is language-independant, and has been neglected by Adobe (bugs in IDE, bugs with as3, ...).
    Fortunately this paradigm is now embraced by thousands of designers (not programmers) so we can expect it to survive in future HTML5 tools.

  • gludion
    Nov 16, 2011 at 18:21

    Idea: what would be great (at least for designers) is an IDE for creating "flash-like" content (vector graphics, timelines+hierarchies) which would be language-independant (as, js, etc..) ? The "frames" or classes could use different languages (let's say.. haxe to start with ;-)), and the "export" could be targeted at different platforms (SWF, HTML5, desktop, ...).
    What do you think?
    Do you think Haxe could get closer to this idea?

  • Nov 17, 2011 at 20:32

    @gludion : that would be great ;) you could use Haxe to write both the IDE and create the display library, but that's a lot of work.

  • Nov 19, 2011 at 22:30

    Mid-Long term, I'm cool with the switch idea, but I think there is also a need to keep existing code base.

    There will be a lot of Flex developers looking for a migration path, a simpler way to convert or keep their AS3/Flex code base and recompile it to HTML5 or something outputting HTML5.

    This is an opportunity for HaXe to grow. It illustrate HaXe's power. But when I look at the HaXe website, I'm not convinced that this "enough supported" to have a confidence in Haxe. Maybe there is something to do!

    Carl

  • Ponderer
    Nov 21, 2011 at 02:23

    What about the huge browser based flash games market though ? It declines as:
    - Social network games (e.g. Facebook)
    - Portal hosted games (e.g. Kongregate)
    - First party games (e.g. Tanki online)

    What do you guys think these will become in the future, particularly first party games ? Desktop and mobile apps are quite useless because most people browsing don't intend to download and install every website's app. Your site's visibility will not matter as much unless you're a major player already: With apps, it's your visibility on the stores that matters (honestly, who likes this centralized future?)

    Flash games need the flash plugin. There are very strong points hinting to a continued very high penetration rate over the next 5 years, but also serious concerns that it might not be worth it to start a flash games company today.

    What do you think? And then, what are alternatives to flash plugin that allow you to have as high a visibility? (penetration rate is one thing, but visibility is of even higher importance)

  • Ponderer
    Nov 21, 2011 at 02:24

    Sorry - can't edit. By first party games I mean companies who host their flash game(s) on their own site.

  • Nov 23, 2011 at 09:26

    Technology doesn't really die, it just gets put into a VM

    Quake runs inside a Flash VM, inside a Browser (like a VM in some ways), in OS (could be VM). People run Commodore 64, Dos games etc. Flash will be no different the content will live on and sometimes run faster than it did in hardware given the march of moores law.

    It's probably pretty tractible at this point for someone to write the flash player as an app on any platform, so that if a swf file was detected it would open up in the app similar. Similar to AIR, in fact it might be possible with AIR (flash inside webkit).

    Anyway, Rich media is here to stay.
    If plugins are dead, and thus flash, It would be nice if people agreed on something that was actually ubiqitous and well implmented. But they haven't.

  • Dec 19, 2011 at 19:27

    To be honest with you, the only concern I have with Haxe it's, what if you get bored of it or just want to throw everything away to live in a beach or something? Who else will give support for Haxe?

    Well... Adobe is a huge company and just kicked community's balls this year. Twice (Flash Player mobile and Alchemy).

    LOL I know it's kinda ridiculous but I'm being honest here.

  • Dec 19, 2011 at 22:22

    @Raphael : although I'm the original Haxe author, several people are now contributing to the compiler and Haxe could live without me (although I'm not bored at all). Which support do you get from Adobe apart "we will no longer support XYZ" ?

Name : Email : Website : Message :