“Blasphemy! Burn the Flex-hating heretic!”

October 16, 2008 at 4:04 pm 9 comments

I’ve never been a Flex evangelist. I get passionate about AIR, and ActionScript3 – but I tolerate Flex. This is because, despite the evangelist’s view, that Flex is an all-singing, all-dancing, panacea to absolutely everything – I don’t believe that Flex was ever designed to build powerful AIR desktop applications.

I realise that this is a minority view, and likely to alienate me. Most developers love Flex with a religious fervour that’s a little scary.

Over the years, I’ve seen a lot of beautifully crafted applications and games written using Flash. In 2001, I started experimenting with Flash 5 and then Flash MX to build sophisticated applications. I wasn’t the only developer to subvert Flash to this purpose.

Flex doesn’t leverage the tremendous wealth of wonderful applications that have been created using Flash. Hence I think it was a little odd that AIR was paired with Flex, and not Flash, and this resource wasn’t tapped into when AIR was first launched.

When Flex was first released, it wasn’t even appropriate to what developers like myself were doing. It was an expensive server technology, and Flex Builder was Windows PC only – so I didn’t pay much attention.

The first Mac port of Flex Builder was truly awful! (Admittedly, it was a public beta, not proper release). Still, it seemed more apt for PC users. Uninspiring, grey forms to build the kinds of boring things that Microsoft Visual Studio did.

As for scroll-bars, tabs, forms, and interface elements – Flex was too little too late. Developers like myself had already made their own efficient application frameworks and reusable classes – Flex didn’t give us much we didn’t already have.

So while other developers jumped on the Flex bandwagon – and evangelised – I never did.

My biggest problem with Flex evangelism concerns the “Flex+AIR” association. It is assumed that the two are inextricably linked. They’re not. When, AIR first went public and the Flex mob preached that the ONLY way to make AIR applications was to use Flex – THEY WERE LYING!

e2spreadsheet was one of the earliest AIR applications. And it was developed completely without Flex. All my applications avoid being slowed down and bloated by the Flex framework.

Ok, there have been some cool AIR applications developed in Flex. But I think that the developers of these applications are subverting Flex, in the same way that the pioneers subverted Flash, before Flex came along.

Ok, what do I mean by “subversion”?

I mean that neither Flash, nor Flex are really appropriate to what I want to achieve. But the best tool for the job doesn’t exist – so I “subvert” what I have. Flex wasn’t designed specifically to make AIR applications. For a start, Flex just doesn’t include useful libraries we need to build cool desktop applications. Spell-checkers, standard palettes / advanced colour pickers, predefined cool icons, conversions from common desktop file formats…

Not only are Flex and AIR designed for different types of application, the Flex developer mindset is different from the AIR developer mindset. Suppose you need a spell-checker? A Flex guy would say:- “Use an internet service”. An AIR developer would say “What about occasional connectivity?” The Flex developer probably doesn’t even know what this is or why it’s important – this is because the Flex mindset is focussed on the always-connected browser world – not the desktop.

I’m specifically interested in AIR applications as products. Not the service industry of rapidly creating internet/intranet business services. This is another reason why Flex isn’t really appropriate to my world.

Despite the religious devotion amongst its users, Flex was not divinely created. It was made by Macromedia, and it’s EVOLVING! Perhaps Flex 4 or a future version will have evolved to the state that I get as passionate about it as I do other Adobe technologies. But I would rather be discontented than evangelistic. Evangelists preach blind dogma. Whereas discontentment may arise from a vision of what could be.


Entry filed under: Adobe AIR.

A graphical text class. e2vector AIR drawing app. Now with layers!

9 Comments Add your own

  • 1. John Dowdell  |  October 16, 2008 at 8:09 pm

    It’s okay, I’m carrying a fire extinguisher with me, we’re safe, no worries…. 😉

    There’s a lot of people excited about Flex, and rightfully so — it makes a the development of certain types of experience much, much easier. Many of these folks are also enthusiastic about AIR.

    But you’re right, AIR is not just Flex… matter of fact, it’s not just SWF. AIR is a way to apply common web development technologies to desktop development. And I agree with you that desktop-oriented development requires a slightly different set of sensibilities than in-the-browser development.

    Things are evolving rapidly now, and there are a lot of new niches. (I think the CS4 versions of Flash and Dreamweaver will change things quickly too.) Your post is a good reminder that there are multiple ways to look at things, so thanks! 🙂


  • 2. Steve  |  October 16, 2008 at 9:24 pm

    HI, I agree with some of your points. I am a developer of some twenty years that has escaped Visual Studio and of late has used Java and Rebol for desktop/internet applications. I was blown away with what Adobe (Flex/AIR/Flash) could offer!

    I develop desktop business applications and my future applications need to be ‘Rich’ and occasionally connected! I keep lobbying the AIR guys that until AIR can launch other applications and connect any way I want to any database or open an excel spreadsheet as a recordset then I can’t satisfy what I know my customers will ask for!

    I love Actionscript/MXML and AIR but I’m still waiting to be able to deploy a FULLY fledged business application.

  • 3. shaun  |  October 17, 2008 at 12:20 am

    Nice troll.

  • 4. Ted Patrick  |  October 17, 2008 at 4:36 am

    Embrace the truth: Flex is Flash

    It matters not how you make something but rather that it is possible.

    Ted 🙂

  • 5. Marc  |  October 17, 2008 at 2:53 pm

    If you want to develop desktop application use something designed from the ground to develop desktop software.
    Windows Form, Windows Presentation Foundation and .net, Delphi .net, python and QT, Java and Swing, Java and SWF etc etc.

  • 6. John  |  October 22, 2008 at 6:28 pm

    All I know is I was suckered into the Flex world against my will. I am an old main framer who thought Flash would be fun so I got a book. Last couple of chapters introduced me to Action Script and whoaaa was that cool. So next an AS3 book. Last couple of chapters introduced me to Flex…. yeah that called for another book and now I sit here coding RPG just waiting to get home and play with the fun stuff.

    I understand what you’re saying here……. But for me, I like it all a lot. I’ve coded with a lot of ms tools going back to the original basic (was it basica or basic plus or some such thing) but none of it was fun like this.

    I’m hooked.

  • 7. Matt Rix  |  November 6, 2008 at 5:55 am

    Flex(like everything else) is just a tool. It *can* do what you want, and it can do it well, you just need to use it the right way. All of the things that you said Flex doesn’t have (“Spell-checkers, standard palettes / advanced colour pickers, predefined cool icons, conversions from common desktop file formats…”) are things that you can build and make yourself, so that they’re a complex or simple as you want them to be. What they’ve given you is really a framework to build from, and there are lots of companies and open source communities doing exactly that.

  • 8. sHTiF  |  November 10, 2008 at 2:56 pm

    Matt you are right but then why i need Flex in the first place? When i have to build most of the usefull components myself, i can go with pure Actionscript and save myself nerves and time trying to build something into Flex, i will have better SWF file sizes as well since Flex framework takes a lot of space. I do work with Flex daily and i like it, but the truth is once you encounter something that is not directly supported or can be easily overriden you are in a lot of trouble trying to get it work under the Flex framework. I did couple of large projects with Flex and everything is possilbe, but sometimes its really pain 😉

  • […] “Blashphemy! Burn the Flex-hating heretic!”, I likened Flex evangelism to a religious cult.  If I pursue this theological metaphor, then Pure […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed

  RSS feed          View Daniel Freeman's LinkedIn profileView my profile

Add to Technorati Favorites

October 2008
« Sep   Nov »

%d bloggers like this: