after an eternity of discomfort and questioning, hours of discussion with friends and people I trust, my former students, occasional coworkers and potential clients, I took a decision:
this is my last Flash project.
the project I work on is the sum of all my Flash know-how and should be a good one.
after which, I may still have to keep doing minor stunts in Flash to pay the bills but the general direction is to quit.
if you’re not interested in the details, just remember that:
- I will keep working on advanced front-end graphics
- I’ll probably go for the CSS / JS / WebGL combo
this blog will stop being updated with Flash stuff yet I won’t shut it down : most of what is in here is not really Flash specific code and might still help someone out, be it myself :)
I will release some NME code too (for learning purpose mostly).
that was it,
thanks for passing by and have a nice day :)
if you’re still here, I’m not going to weep about Flash either, I knew there would be a time when the tools change and I even consider it a healthy perspective.
for the past two years I lived through the slow decay of Flash. working as a freelancer in a niche market (advanced front-end graphics), I was one of the last to be hit by unemployment.
as a Flash dev, last year was even my best year both in terms of quantity and quality. over the past months, I received job offers for more and more complex websites or modules involving advanced 3D, voice, gesture, drawing or face recognition and manipulation. this being said, none of those turned into actual work because all of them were bashed before reaching the production line.
I remember a week in march 2013 when 4 job offers were cancelled in a row.
that’s when I realized the Flash party was over.
then what next?
if mobility was an abstract concept some years ago, now it’s a reality and it changes both what we do and how we should do it. again I believe it’s for the best: creating light-weight & cross-platform content is what Flash was after and what made it a successful technology for over a decade.
but web is not only about technology ; I think there is a full paradigm shift at work.
a schism occurred between editorial and experimental contents. Flash often sat in between.
nowadays, I think people want either a fully experimental, almost artistic, website OR an elegantly presented editorial content without fairy lights. in other words, people don’t want Flash-LIKE websites anymore.
this means that Flash is condemned both as a technology, as an aesthetics and as a cultural phenomenon. I believe that mimicking Flash websites in HTML/CSS/JS is not the way to go.
as a standalone platform, AIR was never threatened so directly by HTML as Flash. it has really honorable performances on both Android and iOS. some funny memory management issues but a full support of GPU access on both platforms which is a tour de force. anyway, no thanks: being based on ActionScript and with ActionScript not being updated anymore, AIR is condemned sooner or later.
for those who don’t know, HTML is not a PROGRAMMING language ; it’s a MARKUP language. we can’t code with HTML, we can’t load dynamic content or dynamically layout the content (aka responsive design), we can’t perform advanced interactions or move things.
all we can do is layout a content.
I’m still not comfortable with HTML5 being a DRAFT, even if it’s ont its way to be ready. when video, audio, webcam and microphone will be unified in the API, we might as well start working as if nothing happened.
I have the feeling that going open source (JS/CSS/HTML) has very pervert consequences:
it means choosing a browser, go crazy with a code that runs well on this specific browser, then solve compatibility issues and eventually downgrade the content to make it compliant with other browsers and OS.
solving compatibility issues is not my job – nor is it to promote this or that browser.
I also have the feeling that each browser is a black box.
I use Chrome mostly and I’m pretty satisfied with it yet these nightly updates drive me mad, some of them will disable WebGL or just crash my Graphics card driver when I open a second window, Flash will be updated randomly, Java will not be updated at all, QuickTime and Unity neither etc.
it was the case with the Flash plugin and now it reached the browser level.
ho, & I don’t think Apple, Google, Microsoft or Mozilla (which is Google btw) will be more flexible or transparent when it comes to lobbying the W3C or changing things in their VM or adding features or open sourcing whatsoever in general. no evangelists on earth will make me buy that.
well, combined with HTML, this can be extremely powerful.
it is very tempting: they have SPECS. despite the fact that it may not be supported everywhere, I like the cleanliness and concision of the ‘code’. there’s even 3D in there! ok, 3D postcards that is but still :)
I will take some time to study that.
I still have the idea of a half-baked crappy language from the year 1998, used to do mousetoys… fortunately, it’s not that bad any longer yet it’s the picture I have ^^
being a bit of an overachiever, I’m really scared not to be able to create something more complex than a mousetoy that runs the same on all versions of all browsers of all OS of all platforms. because that’s what I use to do ; deliver complex, high quality content that runs (hopefully smoothly) on a good 90% of the desktops.
not to mention all the code-crimes that can be committed in this weakly typed prototype jungle :)
the language is here though and it works.
more importantly it holds the keys to something extremely sexy called WebGL.
an experimental, low-level API to tackle the GPU from the browser: this sounds like a plan !
ok, we’re addressing 15-25% of the recent desktops, ~0% of the mobile platforms and probably <= 0% of the older desktops (desktops over 4 years old because, yes, some people are not in the web industry).
easy rants put aside, this is a good thing, again something Adobe was after, maybe too late.
there are resources also, plenty of them, and strangely enough, it gives a better feeling of community. probably because of the GPU ; there are rather few and simple methods to handle a GPU, the rest belongs to the beautiful world of shaders.
that’s where I feel my knowledge of graphics can be best put to use.
on my way out of Flash, I tried HaxeNME. as it’s really close to Flash, I could get started very fast and cross compile high level graphics, especially compile it to HTML.
NME constitutes a good alternative for people interested in apps. as far as I have understood they’ll increase the support of Native extensions and strengthen the existing API.
while I’m at it, I’ll give a session at the Worldwide Haxe Conference about the graphics and NME. I would love to see you there :)
to wrap it up
I bit the bullet and bit it hard.
making a decision is always hard, harder in that case as I came to programming through ActionScript.
hard also because of the insanely talented, generous and humble ActionScript community.
if I’ve learnt a lot with ActionScript, I don’t have the feeling I will lose anything by swapping to a new language / way of doing things. it is a waste of time though, and I don’t like to waste my time.
it deeply shook my will to commit to a language, a platform or anything in the way.
it didn’t shake my will to learn at all (on the contrary! :) )
“rock on rebel warriors,
droopy butt begone!”