Some Thoughts: Adobe Flex

I’ve been looking into the somewhat new Web 2.0 Rich Internet Application (RIA) from Adobe called Flex and thought I would give some thoughts on it (i.e. a small review).  Let me first give the disclaimer that I have only played around with a few live sites (Mint), had a few discussions at work, and tried compiling and running the dashboard demo on my local machine…in other words, I’m certainly no expert.

Flex is a self contained sandbox for running rich internet applications in a web browser.  It runs within the Adobe Flash Player, thus the browser requires Flash to be installed (Adobe claims that their Flash player has 95% infiltration, but I’m not going to bet the farm on that stat).  It has an Adobe introduced markup language (MXML) along with ActionScript that compiles into SWF files (for use in the Flash player).  Essentially, you output your data as XML from your back-end servers/services (data model) and the Flex application written in MXML and ActionScript will handle the presentation with all the provided pretty colors and desktop like feel.  Adobe says that you can write all of this in notepad, but I found that you’re very limited if not using the Adobe Flex IDE.  The Flex IDE is based on Eclipse and has several pre-built widgets.

I’ve seen a couple of sites and several proof of concepts built in Flex.  It looks great!  In many ways it truly is like having a desktop application in your browser, much more than what I’ve seen Ajax being able to do.  I have noticed that most sites have the same look and feel (buttons, graphics), but I am guessing that is because people are still getting use to Flex and relying too heavily on the pre-built GUIs.  One common theme I’ve also noticed is the speed, or the lack thereof.  The problem is that you are loading an entire application into the browser and throughout the client’s experience the application is communicating with the back-end to retrieve more/new data.  This maybe a fundamental problem with Flex or it might just be people need better methodologies to gather and display the data.  However, overall Flex certainly looks like it holds a lot of potential.  One way I always check to see if a technology is up and coming is checking on Amazon the number of recently published or soon to be published books on the subject…Flex has several!

Many colleagues of mine compare and at times equate Flex with Ajax.  I disagree with this.  While both are technique for a richer experience, Flex is an propriety  application running within the Flash browser, while Ajax is more or less Javascript, XHTML, and DHTML.  I find that Flex and its architecture is much more similar to Java Applets.  An obvious reason is the sandbox architecture.  However, I also found that the mentality and value-add are quite similar.  Both have a goal of allowing you to create a desktop like application that can be run within the web browser.  The goal being to use a standard toolkit (AWT/Swing and Flex API) to quickly create these apps.  Now, we all know the current state of Java Applets and its failure at meeting the penetration and usability goals.  Remember when Java first came out and Applets were all the rage?  And now when was the last time you saw a new public Java Applet of significant importance?  

The question is will Flex suffer the same fate?  I remember years ago when I was working in a wireless trading group we began using the Microsoft Mobile Internet Toolkit.  Basically, the proposition was that you could write your application once and Microsoft would handle translating/formatting the XHTML for each specific mobile phone (with all it’s idiosyncrasies).  At first it was great, but slowly the Microsoft updates to support more phones took longer and longer to come out until they eventually stopped supporting the toolkit all together.  So we were left with a site written in a language/technology no longer supported.  Let’s hope Adobe’s Flex doesn’t go that same way.  And not matter the number of promises they make, if their don’t sell enough licenses, well, updates will take longer and longer and….



About Geoffrey Bourne

CTO at Ladders

Leave a Reply

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

You are commenting using your 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 )

Google+ photo

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

Connecting to %s