It has been a very interesting week in the Flash world. Who would have known that the biggest deathblow to Flash would have actually come from the company that is responsible for it? After announcing major layoffs, Adobe slowly started revealing their intentions to end Flash Player development on mobile browsers. Adobe tried to message that this was not going to be a big shift in their overall Flash roadmap but yesterday they reveled that Flex is being shelved and turned into an open source project after version 4.6. Make no mistake, Flash is now a dead platform and here is why:
First off, Flash has been on shaky ground ever since Steve Jobs called Adobe out Flash’s horrible performance and why it will never be allowed on iOS. He was 100% correct. Up until that letter, Adobe had basically sat on its ass and did nothing with Flash for almost 2 years after releasing Flash Player 9. Even before that Flash has failed miserably to make a dent in the emerging mobile market. Flash Lite was a total disaster and impossible to even develop anything of any value with. The Flash player was bloated trying to support 6+ years of new features. By the time Apple came in and changed the mobile phone market Adobe was so far behind with making Flash mobile friendly that it was way too late. The last 3 years of pushing Flash forward have basically been for nothing and honestly the performance Adobe was able to achieve was ok for Flash but a fraction of what an unskilled developer could achieve natively.
Next up is the fact that Adobe’s story with Flash has always been a VM that works exactly the same on any platform. The only problem with this story is that they never achieved it, even on desktops. For years Flash player was noticeably slower on Macs then PC. Adobe hardly supported Linux and the player was so buggy it was clear Adobe couldn’t care less about it. When Adobe started pushing Flash to run on Mobile, Apple locked them out and thanks to the fragmentation of Android Flash just could not deliver. By the time Adobe finally figured out how to get Flash to run decently on iOS via AIR they had lost performance on Android. The two mobile platforms were never in sync, nor would Adobe ever be able to keep them on par performance wise since they lack the resources to support hundreds of different mobile devices. When you have to spend more time optimizing your AIR app for one platform over the other, especially when your desktop/web code would run fine but fail on mobile (for good reason given the limited resources these devices have) it becomes a logistical nightmare to support fractured code bases of the same application.
Let’s not forget that Adobe was always far behind the native language and it took constant updates to the runtime just to support the most basic features of each devices. To accommodate this Adobe started supporting something called Native Extension where you mix native code in with your AIR project to roll your own solution for features Adobe didn’t support. For me this was the deathblow and clearly showing that AIR was a total failure. Why would I write native code that is not portable across each mobile OS and still try to maintain a horribly performing Flash application? There is no cost savings and as a develop you are now responsible for “patching” the runtime so if you don’t know the native languages you are basically screwed. It’s not like Adobe released a community site to share native extensions easily among developers so everyone is just forced to reinvent the wheel on their own projects. Native Extension is just another half-baked solution and one more nail in the runtime’s coffin.
On top of this Flex just wasn’t up to the task of being a mobile UI. Originally Adobe announced that they were going to create a new mobile friendly version of the Flex framework. They never delivered, instead they decided to try and patch the existing framework and optimize it for mobile. That may have worked except Adobe still hadn’t even finished porting over most of Flex’s components from 3.0 to 4.0. On top of that Flex is a total dog, even on a powerful desktop. You would think a company who had been trying to get Flash to run on mobile devices since Flash Player 6 on Pocket PCs would have been forward thinking enough to actually build Flex in a way that would eventually work on Mobile but they didn’t. It’s no surprise Adobe announced the end of Flex’s development yesterday. They just can’t support it. Between the fragmentation of Flash across mobile devices, and the legacy code they never addressed deep in the core of the framework Flex was dead way before most people even wanted to accept it.
What makes the end of Flex incredibly scary is how dependent most enterprises are on it. Adobe has nothing else to offer as a transition away from the framework. They are only now shifting focus to HTML 5, which is still years away from being on par with most of what Flex could deliver. Make no mistake about it, companies like banks, financial institutions all the way up to the government are now dependent on Flex. While Flex and Flash will limp on for some time there is absolutely no reason why they should or would invest more money in moving these products forward. Most companies will have to go into maintenance mode on these apps and start moving over to HTML 5. This will be incredibly expensive and time consuming especially in a period when most companies are struggling to stay in business due to the weak economy.
With nothing really ready to replace Flex companies have a tough choice to make and this will no doubt create bitterness and resentment towards Adobe over screwing them over. Smaller Flash agencies that haven’t hired resources for HTML 5 yet are going to have a hard time finding new clients who will be confident making Flash sites. Sure banners and micro sites will exist for years to come but if these clients haven’t given up on Flash yet over iOS, then someone needs to sit down with them and fill them in on the reality that Flash is not making a comeback. This resentment will tarnish Adobe’s name even more then Apple has and honestly at this point who would really trust Adobe to make development tools for HTML 5 or a new platform?
Flash Builder, formerly Flex Builder is horrible. It’s one of the worst pieces of software I own. It’s a shame when you are a tool company that can’t build tools for your own platform. For years other companies have been able to build much better IDEs for Flash such as FDT, IntelliJ and even Flash Develop, which is totally free. Adobe knows nothing about developer tools and it’s clear in Flash Builder, Flash Pro and Catalyst the poster child for complete and utter Adobe tool failure. I mean what do you expect? Its not like we have been telling Adobe what we need in the enterprise space for years… oh wait we have been but they continue not to listen to its own community. Ironically when I saw the tweets that Adobe had announced they are exiting the enterprise space I was shocked because I never considered them actively participating in it.
Let’s talk about community, or what is left of it? The biggest blow to Flash from the layoffs is the dismantling of the community teams. The one thing that used to keep me interested in Flash was its community but with the restructuring most of the people who I respected are gone so who is going to help message that things will be ok? I am watching all of Flash’s evangelists trying to keep people calm and maybe it’s just me but if you can’t see through their bullshit then you probably think Adobe is going to continue to really contribute to Flex when they open source. Now with Adobe’s Flash community gone, and no new community initiative to harness disgruntled Flash developers who have moved on what incentive do I have to keep my opinion to myself? Why would you even want to be involved with a company who’s Product Manager goes around calling other developers who try new technology douche bags? I guess I get the last laugh because this douche bag knew better and spent the last 3 years learning languages/platforms that will survive long after Flash is dead.
It’s about time Adobe showed its true colors. Adobe is just a company, they are not your friends, they don’t care about you, shit they don’t even care about their own employees. Nothing like gloating that Adobe will reach their 4th quarter financial goals after laying off 10% of their company. I feel bad for the people who were not laid off, if you think your job is secure guess again. As Adobe quickly starts shutting down more and more resources around AIR and Flash there will be more layoffs. The best part is that no one questions the leadership of their CEO because he is “trimming the fat”. Flash represents 4% of their revenue, why would they spend so much time, energy and resources on it when everyone hates it now? Finally they woke up and realized that Photoshop on a tablet is going to make more money for them then selling overpriced licenses of Flash Builder ever will.
The final deathblow to Flash is this new initiative to turn Flash into a gaming platform. I guess Adobe missed the memo but Flash was already a gaming platform despite their best efforts to not improve it over the years like everyone was begging them to do. All of the things we had been asking for such as a more robust language, multi-threading, GPU acceleration and better performance would have actually made Flash a gaming platform organically. Now Adobe has to shoe horn all of that crap in or just move over to a new VM. That would be fine except the advantage of Flash was that it is installed on basically every computer. A new VM means a new download and honestly no one is going to do it. The Metro version of IE on Windows 8 isn’t even going to support plugins. Unity is way better at delivering games and their penetration numbers are incredibly low.
Adobe is going to have a hard time selling Flash to game companies. Not after this PR nightmare, I mean what company in their right mind would trust Adobe or Flash? Adobe knows nothing about gaming, Flash gave birth to the casual gaming market and they completely ignore it while they were on the quest to build a better video player. Now that plugins are dead the last thing we need is a new game centric plugin. That is what my mobile phone is for and my tablet; casual games. When I want real games I turn on my Xbox or PS3. Mobile gaming is where the money is at now and Adobe still can’t get Stage 3d to run on mobile. They don’t even have tools to support a 3d workflow. Remember Adobe is a tools company, if they don’t have tools to sell they don’t make money from the platform unless they license it out and who would honestly pay for that? I am sure RIM is happy with that arrangement.
I could probably go on for days criticizing Adobe and what has happened over the past week. In the end it doesn’t matter because Flash is such a small part of my development now. I moved on long ago because Adobe just doesn’t understand developers. They never did and they actually killed a good thing. While they were too busy criticizing my loyalty they totally proved me right. You can only get away with abusing your community until they finally turn. Now with all the negative PR, the end of development of Flex and the general public’s negative image of Flash Adobe should have just declared it dead and made this easy. Don’t be fooled, it will take a long time for Flash to finally die. When it does I will not be there to morn its loss, I suggest you don’t be around for it either. Three years ago I started telling Flash developers to branch out, learn new languages and grow their skill set, I hope someone was listening.
I have started a google+ thread here to capture your comments and start a discussion around the Adobe announcements.





