I write, slightly incredulous that we’re still having to cover this topic in 2012, in response to an article that my learned colleague Jason Langdon published last week about the future of the flash platform and the apparent lack of advocacy by it’s parent company, Adobe. Whilst I don’t agree with everything he says – Flash is far from a de facto standard for rich media delivery and there are many areas of rich interaction on the web where it has rightfully been superseded by the browser runtime itself (photo galleries, straightforward video and audio playback etc) – he nonetheless raises some important points that the Flash developer community and Adobe need to address if the technology is to have a future.
The problem, however, is that it’s very hard to have a rational discussion about the platform without the conversation immediately denigrating into blinkered ideology and zealotry….and that’s amongst the developer community – speak to clients and the situation for Flash is even bleaker. The staggering amount of misinformation about the capabilities of the technology, it’s reach, it’s consistency of execution across an ever-more fragmented browser landscape and the efficiencies (or lack thereof) of developing in it make. We recently attended a talk on HTML5 held at the Google Campus in Old Street where the key example of how HTML5 had replaced Flash for rich site development, didn’t work on the iPad, on mobile browsers or in many older desktop browsers. It is disingenuous to say the least to make such a claim, particularly given that the ‘death of flash’ was largely predicated on it not being implemented in the browser on iOS.
Still, there is cause for concern about this misinformation being the prevailing attitude and I certainly agree that Adobe has done little to stem the tide. Here’s some points to consider:
1. Developer tooling
Flash Builder was a weak product and most flash devs that I know use third party tools like Flashdevelop and FDT. The lack of a decent debugging tool looks like it’s finally been addressed in Monocle, but I have grave concerns around the game-dev-centric nature of the mooted improvements to the platform. If Adobe would spend less time on failed designer-centric workflow tools like Catalyst, and more time on proper application development tools, frameworks and libraries, it would be a much more attractive platform. In fact, if I were Adobe, I would be aggressively targeting budding iOS/Android developers with an accessible IDE, framework and component library (a la jQuery Mobile) for mobile application development, alongside tools for debugging and packaging apps simply.
It cannot be denied that the Flash Player runtime is not optimal compared to many other runtimes. The roadmap appears to be leaning toward a re-written VM and overhaul of Actionscript which would go some way to helping restore developer’s confidence in targeting it. A re-brand may also be worth considering at this stage.
There isn’t actually any reason why Flash should be in trouble. The runtime is still widely supported (95% of global clients), simple to deploy to and is more powerful than ever. It’s current predicament seems entirely down to Adobe’s failure to handle the PR of the platform and to be seen to be reactive rather than standing firm by it. In acknowledging the platform’s weaknesses and playing to it’s strengths instead of thinking that you can just ignore it’s critics or whitewash over what are often fair comments, you can give the platform it’s space to succeed. Literally, take it out of the ‘race’ for front end dominance and let it find it’s space as the best method of cross-platform rich application development.
On this point, Lee Brimelow said it best at FOTB last year: Flash’s role on the web was *always* to enhance the capabilities of the browser. If the browser can now handle it natively, then flash doesn’t need to be there…but there are always other things that developers want to be able to do that even the latest browser builds can’t manage consistently (DRM, geocoding, microphone/camera access to name just three). It’s shouldn’t be HTML5 vs Flash, but HTML5 PLUS Flash.
4. Rich banner advertising
We recently received specifications for rich banner adverts in flash from Doubleclick which comprised code snippets (the clicktag) and a guide to implementation written in AS1. Banner creation makes up a considerable amount of bread and butter work for many agencies and freelancers, and it also often delivered by design creatives without such an extensive knowledge of good practice or the issues above. There are well known conflicts between the different versions of the AVM in flash player which provide legacy support for the older flash specifications. If your browser or application is crashing due to flash, the very likely culprit is a flash advert rather than a well built application. This is something that both the rich media networks, the major commissioners for advertising creative, creative agencies and Adobe themselves must address urgently. There is still a good use case for Flash in advertising but it will only harm the platform if not implemented to a contemporary standard.
Ultimately, flash professionals love the platform because it is fast, intuitive, powerful and very flexible and I concur with my colleague that the way it is being treated in the marketplace leaves much to be desired. It is our responsibility as a community to continue to support and advocate for it (and that includes maintaining our opensource projects and shouting from the rooftops about our successes) and to continue to place pressure on Adobe to treat the platform well and not sideline it into oblivion due to a perceived pressure from the market.
n.b. I’m hoping to give a flash-centric lecture in ‘response’ to the HTML5 lecture we saw at creative class later this year. Follow me on Twitter to keep in touch!