Adobe Flash is dead? I think not!
Adobe has managed to cause huge amounts of confusion about the future of Flash and Flex in recent months. It all began with their announcement, in November, of the ‘elimination’ of around 750 employees, and the “Shifting resources to support even greater investment in HTML5”. Combined with their decision to ‘contribute’ their Flash Platform framework, Flex, to Open Source (it’s now been looked after by Apache), it is unsurprising that the news was widely reported that: Flash Is Officially Dead.
Anyone who works with Flash knows that just isn’t true. There are huge numbers of Flash developers, Flash is just as ubiquitous today as it was before Adobe’s November announcement and, what’s more, Adobe has said quite clearly that they aim to focus “Flash resources on delivering the most advanced PC web experiences, including gaming and premium video, as well as mobile apps.” But then again, if Adobe is so committed to Flash, how come they will taking the extraordinary step of removing the visual designer from their Flash Builder IDE? I’ll have a few comments on that later. For now, though, I want to tell you a bit about our plans for Amethyst, the SapphireSteel Software Flash Platform IDE. I’ll try to make sure our messages are as clear and simple as possible.
The Future of Amethyst
We are 100% committed to the continued development of Amethyst to support ActionScript development for Flash and for Flex. We will continue to support, develop and extend our visual design tools. Later in the year we will launch Amethyst 2 which (among other things) will include a unique bubble-based debugging environment (in addition to the traditional debugger), a built-in profiler, an obfuscator and dramatic improvements to features such as the call-graph, refactoring, code analysis and code navigation.
Let me say this again: Amethyst 2 will support Flex. Amethyst 2 will support Flash (including integration with Flash CS 4, CS5.x etc.). Amethyst 2 will support all normal types of ActionScript development.
If you are already a user of Amethyst 1.x, there will be a low-cost upgrade path. If you buy Amethyst 1.5 any time in 2012, we guarantee that you will not lose out when you upgrade to Amethyst 2. Your upgrade cost will no more than the difference in price between the version 1.5 and version 2.0 product. We are completely and totally committed to Amethyst. No ifs, no buts.
But Isn’t Flash Dead…?
OK, now let me return to the confused messages coming from Adobe. In my view, the real confusion derives from the rather messy history of the Flex framework. Flex provides an extended class library for Flash. However, for reasons which I never understood, Flex was not made the ‘default’ library for Flash and it has never been (easily) available to users of the Flash IDE – CS4, CS5 etc. Instead, Flash developers were encouraged to move to another IDE. Adobe’s Flex IDE was called Flex Builder. Rather late in the day, Adobe seemed to realise that the naming of the IDE only reinforced the idea that Flex and Flash were completely different things. To try to hammer home the message that they were closely related, Adobe renamed their IDE to Flash Builder. Meanwhile, instead of talking about Flash and Flex, as they had in the past, they now began talking about ‘The Flash Platform’ as though it was all one, neatly integrated thing. Which, of course, it wasn’t.
Adobe then spent ages trying to rewrite Flex 3 and create Flex 4. In my view, they never fully succeeded. Flex 4 was released as a sort of hybrid that supported stuff from Flex 3 (including various components that had not yet been ‘migrated’ to Flex 4) as well as a whole batch of completely new stuff. In order to get the old stuff to work with the new stuff, a lot of not terribly elegant fixes were done. This ended up by creating a framework in which the components couldn’t even agree on what was meant by a ‘parent’ or a ‘child’. Believe me, that fact alone has caused me personally a lot of headaches. When we had to rewrite the Amethyst Designer to support Flex 4, each control that the user dragged and dropped onto an interface had to query its parents and children in order to determine whether they were from Flex 3 or Flex 4 and then decide how to interact with them. Making the wrong choice can crash the program. If you are interested, you can read more about this problem in an article I wrote for Flash and Flex Developer’s Magazine. The language I used in that article was a good deal more polite than the language I used in real life. Suffice to say, I have, er, ‘some significant reservations’ (this is me being polite again!) about Flex 4.
At any rate, having spent time trying to blur the boundaries between Flash (the Flash player, its programming language and libraries) and Flex (an additional set of classes aimed, principally, at data-driven development), it is not at all surprising that when Adobe pulled the plug on Flex, many people presumed they were pulling the plug on Flash too. Well, that’s not the case and Adobe has tried to get the message across that it isn’t the case. But still many people now think that it is the case.
A lack of Flex-appeal?
If you’ve found the Adobe announcements confusing, this is my take on it: Flex is an extended framework for creating data-driven applications using a Flash front end. The Flex framework has never been as successful as Adobe hoped so they’ve offloaded it for other people to look after. HTML 5 should be able to do most of the form-based data-centric things that Flex was targeting anyway, so Flex’s raison d’etre may not be raison enough.
Having dumped Flex, there is not much incentive now for Adobe to commit resources to the Flex IDE, Flash Builder, which explains why they have stated that the design view will not be developed in future. Flash, however, remains important to Adobe. Flash is everywhere on the Internet and many of the most successful games (check out Facebook) are implemented in Flash. Moreover, Adobe has a whole bunch of graphics, animation and web development tools that continue to make good money out of Flash developers.
Amethyst 2 – You Ain’t Seen Nothing Yet!
OK, the question is: so how does this affect Amethyst? Answer: not at all. Amethyst supports all types of Flash Platform programming. If you want to use Flex, that’s fine. If you don’t, that’s fine too. Amethyst has the best debugging and refactoring tools available for ActionScript. Unlike Flash Builder, Amethyst’s visual design environment is not being deprecated. On the contrary, we are actively developing it to add an even broader range of features. The same goes for the debugger. The Amethyst ActionScript debugger already boasts numerous unique features: you can use the current version to debug multiple SWFs simultaneously, to debug between ActionScript and C# in a single session, to hover and drill-down into complex objects right inside the code editor, to set simple and conditional breakpoints, navigate the call-stack and much more besides.
As for our new debugger (the one that we’ll be releasing in Amethyst 2 later in the year) – prepare to be blown away!
Flash isn’t dead but it’s on its way out with Canvas being such a powerful plugin/proprietary-free alternative and Apple’s hostility towards Flash has definitely produced nails for the coffin. If I were Adobe or any business focused on building Flash-related tools, now is definitely the time to start thinking about how your tools could be applied to both Flash and Canvas. Actually I would say two years ago was probably the time to start thinking about it but I wouldn’t say it’s too late yet. The biggest obstacles to widespread canvas acceptance are IEs 7 and 8 (which can be normalized for the Canvas API but not with ideal results/performance) and the lack of an ideal video codec for it that everybody can agree on. I think 7 and 8 are going to be eliminated as going concerns much faster than 6 was and the video problem is getting a lot of focus.
Fortunately for ActionScripters that really know their stuff, their skills are highly transferable. I would bank on a big market aiding those who know less being able to transfer their skills as well.
Amethyst sounds like a cool program for doing Actionscript programming. I like your article on Flash is dead? You pointed out some good concepts to explain why Flash is not dead. I think Flash is dead for using as a full based website, but is more so used now for ads, mobile apps and desktop apps.