The Open Web: Now Sexier and Smaller

In the past Open Web proponents have criticized Flash and Flex because the SWF specification - while being published and publicly available - limited what readers could do with the specification. More specifically the agreement to view the specification required that readers not build programs that would run SWF files. The intentions behind this were good - Adobe does not want Flash to have inconsistent and incompatible implementations.

Today Adobe Systems has announced that they are removing those restrictions on the SWF and FLV specifications! This is very exciting news and something I’ve been lobbying for since I started working for Macromedia (actually I think I began bugging Emmy Huang about this before I started working for Macromedia). Flash has become the standard for sexier web experiences with RIAs, video on the web, and interactive web content. Today that standard is truly open!

Adobe has also announced the Open Screen Project which aims to create an open and consistent layer on top of the countless small device platforms including consumer devices, phones, MIDs, and set top boxes. This is an extremely exciting project that will hopefully do for the world of small devices what the browser did for the PC world. You could also call this the “RIA Everywhere!” project. :)

Software keeps getting more exciting and the Open Web just got sexier and smaller!

Count on Flex - 326

326 = Number of Flex applications in the Flex.org Showcase.

Many Flex applications either require authentication or are behind firewalls. However the Flex.org Showcase lists publicly available Flex applications. If your Flex application is not listed, go add it today!

That’s 326 more reasons you can Count on Flex!

“Count on Flex” is a series of blogs about the current state of the Flex ecosystem… by the numbers.

Count on Flex - 1,117,019

1,117,019 = Number of Lines of Open Source code for Flex, BlazeDS, and Tamarin.

200,897 lines in the flex_sdk
218,789 lines in blazeds
353,644 lines in tamarin-central
343,689 lines in tamarin-tracing

That’s 1,117,019 more reasons you can Count on Flex!

“Count on Flex” is a series of blogs about the current state of the Flex ecosystem… by the numbers.


For this post I did a very basic calculation which doesn’t factor out comments and licenses. For the Flex SDK and BlazeDS I used this command:

find . \( -name "*.java" -or -name "*.as" -or -name "*.mxml" -or -name "*.css" \)|xargs wc -l

And for the two Tamarin projects I used this command:

find . \( -name "*.py" -or -name "*.as" -or -name "*.cpp" -or -name "*.h" -or -name "*.es" \)|xargs wc -l

May 1st Flex Presentation in Salt Lake City

I’ll be in Salt Lake City next week doing a presentation on Flex. Invitation below. I hope to see you there!

JavaOne 2008 Festivities

JavaOne 2008 begins in just over a week! Adobe is a sponsor again so you will find me in the booth when I’m not out at the many JavaOne parties. On Wednesday night Adobe will be hosting their party at Jillian’s. Preceding the party Chet Haase and I will be presenting a quick, fun session about Flex. More details at http://flex.org/javaone

Also on Monday at CommunityOne I’ll be doing a Lightning Talk and participating in a panel.

I hope to see you there!

Talkin’ About a Revolution

Revolutions may be enabled by technology, but they are driven by people. Adobe’s recent announcements about Flex, Flash, and Adobe AIR on Linux are the most recent technology enablers for the software revolution that is currently underway.

Usually I’m one of the first to post about Adobe’s Linux related announcements. My trip to Bangalore, India, however, made me a little late to the party this time. In case you haven’t seen the announcements, on March 31, 2008 Adobe released an alpha version of Adobe AIR on Linux and an update to the alpha version of Flex Builder 3 for Linux (which supports building AIR applications on Linux). On the same day Adobe also announced that we joined the Linux Foundation.

In a post about the announcement, JD points to one of my old blog posts, which still accurately echoes the significance of this announcement - “… for the first time EVER, nearly everyone in the world has access to a FREE, ubiquitous application runtime, and a FREE application development toolkit for that runtime! Of course I’m referring to Flash Player 9 and the free Flex 2 SDK.” Now I can update this statement “For the first time EVER, everyone in the world has access to a FREE, ubiquitous web runtime, a FREE cross-OS desktop runtime, and a FREE, open source, and mature development toolkit for those runtimes! Of course I’m referring to Flash Player 9, Adobe AIR, and the Flex 3 SDK.” This is huge. We can now build real software once and have it run on every major OS and in every major browser – and we can do it using open source tools!

Why the excitement? Haven’t we had this for years - with Java? QT? GTK? True… in theory. We’ve had the technology; but we always lacked a critical mass of people that were actually using it for wide reaching, real software. There are now countless companies - including Oracle, SAP, Salesforce.com, Intuit, E*Trade, eBay, AOL, NASDAQ, Yahoo!, and numerous startups – that are using Flex to build real software for Flash Player on the web and Adobe AIR on the desktop. This kind of software revolution is reminiscent of the transition from client-server to web applications. The movement is real. The technology is mature (even the new Adobe AIR desktop runtime consists primarily of mature, proven technologies like Flash Player, Tamarin, SQLite, and Webkit). Software is changing for the better, especially for those of us on Linux.

I now have several desktop applications installed on Linux - such as the eBay Desktop - which I would never have had before AIR worked on Linux. Most companies simply do not invest time and money building or porting their software for such a small customer base. With AIR it doesn’t matter. Companies build the software once and it works on the web, on the desktop, on Windows, on Mac, on Linux. This is a software revolution not because the technology exists, but because people - lots of people - are actually using it.

Today we call the products of this software revolution “Rich Internet Applications”. In ten years it’ll just be “software”.

Top 10 Mistakes when building Flex Applications

An article which Jon Rose and I wrote called “Top 10 Mistakes when building Flex Applications” was recently published on InfoQ.com. Let us know what you think!

Flex 3 Skin Transitions with Degrafa and AnimateColor

It is always fun when you discover new product features that you never knew existed. This happened to me last week as I was looking into Flex 3 skinning. It turns out that not only can you use a single class with states to define component skin states (like “up”, “down”, and “over” on a Button) but transitions also work with these skins! This feature has been noticed by others as well. But I figured I’d blog about it anyways - because it’s so cool!

Here is a quick demo:

I used Darron Schall’s “AnimateColor” effect to transition between colors. And I used Degrafa to draw the shapes inside the skin.

It’s super easy to add these types of transitions to your application! Right-click on the application to see the source code.

Have fun making your Flex apps even sexier!

Video: Building Turbulent AIR Applications on Linux

Adobe recently released an alpha version of Adobe AIR for Linux and a updated alpha 3 version of Flex Builder for Linux. I wanted to show everyone how easy it is to build and run desktop RIAs with Flex and Adobe AIR so I recorded a quick video. In the video I use Papervision3D and a component I created called “TurbulentApplication” to turn an ordinary AIR Application into an application which pitches and rolls in response to the accelerometer values on my Ubuntu laptop. While most AIR applications work on Windows, Mac, and Linux, this one only works on Linux because as far as I know Windows and Mac don’t have a way to read the accelerometer values from a file, like Linux. If you have Linux (and an accelerometer) and want to run the application you can download it here. If you want to download the source code for the TurbulentApplication component, you can get it here.

Check out the video (and let me know what you think!):