What is a Rich Internet Application?

The more software experiences become like the natural world the more users are pleased with those experiences. One of the most powerful, understandable, and universal concepts in computing is the idea of a desktop containing files and folders. Users embraced this metaphor in their software because it modeled their natural world experience.

There is a paradigm shift underway. In this shift, developers are creating user interfaces which more closely model the natural world. Since 2002, the term used to describe these types of software applications is “Rich Internet Applications”, or RIAs. Technologies like Ajax, Flex, Silverlight, Adobe AIR, and JavaFX are growing in popularity as this shift to RIAs gains momentum.

Flex Builder for Linux!!!

I love vi. I’ve been doing Flex development on Linux for about three years - mostly with vi. But to be honest when building complex applications it is nice to have things like code hinting and integrated debugging. I’m sure you *could* make vi do that with Flex but I am not brave enough to attempt to figure that out. So I’m extremely excited that Adobe is releasing a version of Flex Builder for Linux! You can download Flex Builder for Linux from the labs.adobe.com site right now!

Flex and AIR: The New Standard for Business Application UIs

Last week I attended Dreamforce, salesforce.com’s annual developer conference. It was exciting to see all the innovation going on with business applications. Much of that innovation is centered around Flex and Adobe AIR. In fact 18 of the 32 companies in the salesforce.com incubator are using Flex and AIR! Does that give you an idea of where the momentum is for companies building business applications?

At the Dreamforce Day 2 keynote, Workday CEO Dave Duffield gave a demo of the new Flex-based interface to their ERP software. Duffield said multiple times that they have standardized on Flex as their UI platform! A while back I was in early meetings with Workday that focused on their possible use of Flex. I showed them my Census RIA Benchmark and some of the other amazing things they could do with Flex. I’m really glad they have decided to fully embrace Flex for their UI. Compared with the other technologies they were considering, I’m sure their developers and their customers will be much more pleased with their experience.

Flash 9 Now at 93.3% Adoption

Emmy Huang just posted a note about the Flash adoption statistics as of September 2007. Flash 9 is now at 93.3% adoption! This is great news for Flex developers! If you develop with Flex 2 or the upcoming Flex 3, 93.3% of your visitors can run your applications without any hassle of having to update Flash. Now why haven’t Sun and Microsoft published their statistics so that developers are able to compare the adoption of the different RIA platforms?

Flex 3 and Silverlight

InfoQ recently published an interview with me about Flex 3 and Silverlight. In the interview I talked about what I see are some of the differences between Flex and Silverlight. After reading my words again I realized that they may come across as critical of Silverlight. I don’t at all intend them to be taken that way. Silverlight is helping to bring the idea of richer and better user interfaces to the masses. This vision is something I believe in and I’m glad that Microsoft and Sun (with JavaFX) have all now embraced the RIA vision and are making significant investments to make it reality. Silverlight and JavaFX, have validated the programming and deployment models which Flex uses. The combination of things like a declarative language, a procedural language, cross-platform bytecode, a high performance VM, vector graphics, and a web browser plugin have been the foundation of Flex based RIAs since 2004. Silverlight and JavaFX have validated that this is the best way to build a successful RIA platform. So please don’t read my comments on Silverlight and JavaFX as being critical. I’m excited that Microsoft and Sun now believe in the RIA vision. But I’m also glad that I get to evangelize the RIA solution which is proven and available today.

Testing AIR Applications on Linux

*\* WARNING - THIS IS TOTALLY UNSUPPORTED, UNENDORSED, AND A COMPLETE HACK **

I tried for a while to get the actual Adobe AIR runtime installed via wine on Linux. But I wasn’t able to get it to work. Then I realized that I don’t really need the whole runtime to just test my AIR applications. All I need is ADL - the testing tool for AIR applications. So I gave it a try on a Salesforce.com project I’m working on:

Flex Development on Linux Tip: Use Epiphany not Firefox

I am usually on Linux when I develop Flex applications and I recently discovered a cool trick that makes development even easier. Use Epiphany as the browser you run / test your applications in instead of Firefox. Here’s a few reasons:

  • If Epiphany crashes because your app goes crazy it doesn’t take your normal browser and all its sessions down with it.

  • Epiphany uses inotify or a file watch and automatically refreshes when your application changes. It saves quite a bit of time to have the application already loaded before I can even switch to my browser.

Flex Workshop Code – YouTube Player / MVC Example

This past weekend I did a three hour workshop on Flex at the Rich Web Experience. We started with some very simple stuff and ended with a YouTube Video Player that includes a Draggable Panel, Live Reflection, and a simple Model View Controller (MVC) architecture. You can see the application here:

http://www.jamesward.org/youtube/youtube.html

You can get the code by right-clicking on the application and selecting “View Source”. If you want to compile that code you will also need NJ’s DragPanel and Reflector components available from:

Bruce Eckel: Creating Flex Components

Bruce Eckel has posted a terrific article on “Creating Flex Components”. As usual Bruce is able to promote understanding of deep technical topics through simple examples and clear narrative.

Article Summary:

As Joe Nuxoll of JBuilder and JavaPosse fame will tell you (given the slightest provocation), one place where the Java designers completely dropped the ball is in Java’s component model. This becomes especially clear when comparing it with a system like Flex which has full language support for components.