What on earth is Adobe doing?

UPDATE: Adobe updated the blog bost linked below, so some of the concerns expressed below are not really valid now. The situation is not as clear as I’d like, but it is still better than the original.

 

Last week Adobe announced that whey would not be supporting Flash player for the mobile platforms in the future. Lots of web sites responded with laughter, with Steve Jobs being referred to, at an astonishing rate.

I’ve considered the matter to be something different that the death of Flash.  Adobe’s Flash Builder (the development environment for Flex) has been supporting native application development for Android and iOS for some time, so this only meant that mobile browsers would not need a Flash player to display Flash/Flex content. It would be native applications from now on. It made sense, since this has been the trend anyway.

If you want to deploy to iPhone or to Android, you develop a native application. That is almost always the preferred way, so not having a mobile Flash player does not mean anything to me. HTML5 is going to be standard runtime for rich internet applications, so the real announcement I’ve been waiting (along with some other developers) is about a HTML5 canvas based runtime for existing Adobe development tools.

This is the perfectly sensible step for Adobe. Actionscript and the development tools around it are really good, and by producing HTML5 output, Adobe can leave everybody else in the dust. With native application development capability, both the web and the mobile domain would be accessible to Adobe customers.

Today Adobe dropped a bomb, by saying that they’d be donating the Flex SDK to open source domain. My response, probably very similar to thousands of other developers, was: “What???”. Lots of similar responses followed, such as the ones here: http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html

Adobe is almost giving the impression that they are shifting away from Flex. What they’ll be shifting towards is the real question. No one in the Flex development community can believe that they’ll be dropping Flex in favor of HTML5 now.  The reason for that is the state of HTML5. Here is a set of facts about HTML5.

HTML5 still does not do all the things Flash runtime can do. I am not talking about niche stuff either. From server communication to text rendering, HTML5 lacks lots of things. It may be supported by some key browsers, but the enterprise market follows the browser market approximately from 5 years behind! Many of the government institutions, financial institutions are still running IE 6 and 7. They’ll stay that way for some time, and their next browser will not necessarily be the latest Firefox or IE. Flex 3.5 can run on Flash player 9, which runs happily in IE6. Therefore, the penetration of Flash runtime is far greater than HTML5 on the desktop, and especially in enterprise domain, will stay like that for a long time.

Even if HTML5 had the same installation base, the language (99% Javascript) used for development is simply horrible compared to any Object Oriented language. Most HTML5 developers are Javascript hackers, and the excitement around HTML5 is mostly about the fancy things it can do using the canvas element. All of that has bee possible with an a lot more cleaner language and high quality development tools for the Flash platform.

So if Adobe announces that they’ll be releasing a new HTML5 based framework that allows developers investing into their technology to deploy to HTML5, they’ll make the jump to future. If not, their move does not make any sense at all. Whey kill Flash when it is a platform with an huge installation base? Why lose all the developers who buy Adobe tools and create products, especially in the enterprise market?

Then there is the mobile. Flex SDK became capable of deploying native applications, and in only a few months, Adobe added some amazing features, even native platform extensions, which made Flex a very attractive option for mobile development.  As it is, Adobe AIR is better than many similar frameworks out there for native application development for mobile platforms.

Before reading the announcements on the page I’ve posted above, I did not have any doubts that Adobe would be releasing an HTML5 transition roadmap for their products. I’m not so sure anymore, but I can’t understand what they’re doing either.