Times are changing: Flash and Flex

They say that the only constant is change. And another great example was given to us this week following Adobe's announcement (article 1, article 2 and article 3) about the future of Flash on mobile browsers - that basically there isn't any. For the last couple of days I've been thinking about how to write this blog post, so here goes :)

Were all the Flash haters right?
Anyone who "hates" is never right. They are most likely ignorant and perhaps even mis-informed. For 7 years now, since 2004, I've been developing web applications using Flex for my personal projects and at my job. At my job, I am perhaps one of maybe 3 developers who have used Flex at home and work and loved the capabilities the technology offers. Others used it cause they had too, and some wouldn't touch it with a 10 foot pole. That's fine, we are all different people. But you know what the most important thing is, I tried and I learned something new. I did something not many people can say they did and because of it, I am better developer today than was back in 2004. For 7 years, I have been ahead of the curve, doing things that were not possible or very time-consuming to do without Flex. Basically what I am saying is that I wasn't going to stand still waiting for HTML/JavaScript/CSS to catch up. And I must say that was thanks to Stacy Young for giving me a CD labeled "Royale Beta" back in the Fall of 2003.

What about my skills set, my job?
So finally in 2011, HTML/JavaScript/CSS have finally caught up. Well at least up to a certain point, there are still things you can't do in a browser that only the Flash Player can do. But with the rapid evolution of browsers these days, especially for Firefox and Chrome (IE is still slow), they will soon catch up, but it will still take some time. It might still take 10 years before browsers have totally replaced what the Flash Player can do it. So what does a Flex developer like myself do? Am I out of a job? Am I useless? Nope, au contraire, I have just spent 7 years acquiring knowledge in how to better develop web applications and I thus will continue to do so. Just means I am using different tools to do so. Actually over the past year I have already started doing more HTML/JavaScript/CSS developement than ever before and I have been applying  my Flex skillset to all the JavaScript development I have been doing. I have created my own jQuery DataGrid widget, you can set the columns to display and specify a labelFunction for each column object. Sounds familiar? :)

Let's no forget
Since 1996 we have been using the little plugin that could to stream and watch Dallas Cowboys games which were not available on national TV (ok, that was just me), share funny/sad/dramatic/historical/great/not so great moments with family and friends on YouTube, watch sport highlights and much more. Were would we be today without the Flash Player? Probably stuck in the web technology stone ages. The web is a better place cause of the Flash Player and hopefully the future will be better because of it.

What Adobe is saying
But don't just listen to me, some Adobe employees have made some posts as well in the days since the announcement. Mike Chambers has a great post here and then there is one here from a couple of product managers.

What's next?
Well, I'm going to keep doing what I've always been doing, creating great web applications. And I'm going to start by bitching as to why JavaScript hasn't grown in 15 years. Oh, but that's another blog post all in itself :)


brutfood said...

I would hardly call myself ignorant and misinformed. Ungrateful maybe, because as a Senior Flex Developer I made a good money from Flex. But it also gave me a deep understanding, and frustration about the limitations of Flex compared to Pure ActionScript. One project in particular with 100K+ lines of .as and .mxml was a constant fight with bloatedness, performance, and trying to work around the Flex approach that was never extensible enough. Sure, Flex made a cool "look how easy this is" , "Drag and Drop" demo - but I thought Flex was a real pain to go beyond that. I could tell you stories about time-consuming bugs in the AdvancedDataGrid that would give you nightmares.

I was really worried about the ferocity with which Adobe was pushing Flex for mobile. Putting all Adobe’s Flash Platform mobile eggs in the Flex basket is a dreadful mistake. Flex is tolerable inside its niche. Bloated enterprise apps. But if Adobe pushes the notion that Flex 4.6 can export to compete on consumer app stores - then the harder they fight to win that battle, the more they risk losing the war = The general perception of Adobe AIR on mobile.

I hated Flex for good reason. It was threatening the survival of the entire mobile future of AIR and Flash Platform.

Flex had already compromised the credibility of AIR on the desktop ( see: http://al3x.net/2011/01/15/user-hostile-platforms.html In that article, if you scroll down to the third paragraph of “Postscript, January 16 2011″… “… the developer of JamCloud who claims that the poor performance of many AIR apps is avoidable by using AS3 and not Flex”. ).

I think Flex inhibited the adoption and development of other (AS3-based), more lightweight, possibly better frameworks that were around. After all, who was going to take notice of anything else, if Adobe was throwing all it's weight behind Flex.

But given how ill-suited Flex was for mobile, that didn't stop me from developing the MadComponents framework. It has found a niche, and a lot of enlightened developers are using it instead of Flex.

I think the demise of Flex is a good thing on mobile. But even though I hated it in the browser and desktop - I can't see an alternative right now. I find it hard to imagine HTML5/JavaScript in this space. I guess I'll have to wait and see.

Dimitrios "Jimmy" Gianninas said...

@brutfood: I wasn't calling ppl who used Flex ignorant or misinformed (like you). I was calling the ppl who haven't used Flex, yet said negative things about it, ignorant or misinformed. And like you, not sure there is anything in the HTML/JS/CSS world that quite compares to Flex. I like using jQuery, but still waiting for them to release 1.9 of the jQuery UI so I can get the dropdown menu widget. Yes I've been waiting for a year and still waiting. But my guess is, 10 years from now, BooBooScript will appear and it will be the best thing since JS. Oh and it will be exactly like ActionScript :)