Flash Is Dead!
Or so you’d think. It’s been a fascinating couple of days in the Flash community. Everyone has had their say. ZDNet are telling everyone that Without Mobile, Adobe Flash is irrelevant. CNN talks about the Beginning of the End for Adobe Flash.
Part of this was belt-tightening was the entire US-based Flash Authoring team. This article blithely jumps from this premise to the conclusion that “offering a free Flash Player runtime subsidized by selling tools is no longer a business Adobe is interested in”. Does it? Had Adobe said that they no longer have that business interest, then things would be a lot clearer. They haven’t said that at all. The media and the community is jumping to apocalyptic conclusions. (The community should know better)
The most noticeable thing about that conversation for me was the exasperation and ill-feeling in the room directed towards Adobe. The Flash Platform Community feels that it has been ill-treated by Adobe.
On one level, that’s absurd. Without Adobe the community would be fragmented across myriad other communities. Adobe’s investment into the platform is a primary reason the community exists. For many years now, Adobe has given us tools that allow us to make best-in-class products (or bad, buggy products as per our abilities) and display them on the web, desktop and mobile.
There has definitely been a dilution of Adobe’s lead in the interactive experience space. HTML5 has taken a lot of the wind out of Flash’s sails. The player performance on Apple products has been frustrating. The gradual loss of Flash’s performance advantage against other platforms has been demoralizing. But it is hardly surprising that other platforms and developers have looked at what Flash did right and have tried to implement similar functionality targetting other platforms and other languages. What would we have Adobe do about this? Somehow continually out-compete all other vendors? If they don’t, should we consider it a betrayal?
At the equivalent Flash developer meetup down the street the picture is very different. There’s a mash of artists, Flex developers, game developers, developers who make banner ads for platforms, developers who use Flash to produce graphics for massive stadium gigs for rock stars. Meetup after meetup fewer developers attend, they are older, less enthusiastic, jaded.
So the apocalyptic conclusions are understandable, if misguided. You can understand why developers might be angry with Adobe, having watched the platform lose out to the new kids on the block over several years. Now it feels that Adobe have finally admitted as much, they are venting that frustration.
Flash Is Alive!
Could it be that the Flash Player has tried to be all things to all people? That the banner ad guy, the RIA guy building data grids and the game developer are all targetting the same platform could be a problem. Add into that mix a requirement that these games, RIAs and ads display on every browser on every desktop, but also on every browser on every mobile, and you can see what a headache Adobe has been contending with over years.
But games, and those more powerful RIAs that really juice the Flash Player are not going anywhere. They need not only the current Flash Player, but a beefed-up, more aggressively powerful Flash Player. These apps may remain in the browser for desktops, but will take over the screen on mobiles, wrapped in an AIR wrapper.
Flash Player can still deliver a particular set of experiences across desktop and mobile better than any other platform. The stats about Flash Player are indisputable and compelling. In an attempt to make bolster their business case against the brunt of criticism this week, Adobe published some of these stats.
Everything dies, even the Flash Player. Just because it isn’t a kid anymore, doesn’t mean it’s dead, and these stats demonstrate it pretty convincingly.
Where Does Flash Go?
Thibault Imbert wrote an article yesterday called Focusing, in which he made the case that what has happened this week is a good thing. I broadly agree with this commentary, if this frees up the team to innovate on the current Flash Player.
I have been arguing the case for generics in AS3 so long that it has become a standing joke. AS3 should also adopt inline functions, enums, typedefs and every other good idea that Nicolas Cannasse has baked into haXe. In fact, Adobe should have brought Nicolas into the fold long ago, and would be well advised to do so now, if they can. This sort of language innovation would free-up the open-source developers to create better, faster tools and architectures for other people to build their games on.
They should also be working hard to develop better tooling. That FDT remains broadly better than Flash Builder should be a cause of embarrassment. That we have to use a creaky buggy platform like Eclipse in the first place, when we are using tooling from the company that leads the world in creating tools for creative professionals is continually frustrating. It makes you think that they still don’t really understand what coders want.
They need to continue to improve the performance of the player and the compiler. That people are still doing things like byte-weaving or using Apparat means that Adobe continue to miss really simple tricks in this area.
The community has gone nuts, but you can understand why. They’re mostly wrong, and are probably largely jealous of those JS script kiddies who seem to be having so much fun! But, they also like their not-quite Java, not-quite JS middle-road language, and want to stick with it. They want Adobe to help them stick with it. Adobe are helping! It just doesn’t feel much like it, because Flash isn’t new anymore, and like all old things, it has its problems.
After a week or two, calmer heads will prevail, and the pendulum will swing back. People will think to themselves “when was the last time I used a Flash app in the browser on a mobile?” and also think “wasn’t the Flash IDE mostly junk?”, and on reflection, may even have something positive to say about Adobe.
Did I miss anything?