Are Flash and Flex Web Technologies?

Throughout this week and part of last, I’ve been working (in between meetings) on getting Alfresco Labs 3.0 set up on my laptop to be able to demo (and experiment with) their new Share application. The challenge has been in getting the flash-based preview of uploaded multi-page PDF documents working (see this thread in the Alfresco forums for some of the details).

The way the feature should work is that the Alfresco Share application takes the PDF a user uploads into the document library, converts it to an SWF using swftools (one frame of the SWF per each page of the PDF), and then uses the YUI framework to “play” the resulting SWF.

The problem is that for me, depending on the version of Flash installed, the preview SWF cannot be displayed. (Short version: Flash 9.0.45-47 works fine, later Flash versions just result in a spinning cursor which never resolves. The problem is Flash 9.0.45 breaks file upload, which works in later Flash versions).

Good Flash

Bad Flash

Just finding this out required a lengthy exercise including full uninstalls of Flash (using Flash uninstaller for Mac OS X, which takes forever since it is a PowerPC binary running on an Intel machine) along with installs of various versions of Flash from the 9.x archive.

With Silverlight making a huge charge I worry about a world where you have â€œBest viewed in Silverlight and IEâ€ (which in fact is â€œonly viewed inâ€¦â€) and people often ask: â€œBut isnâ€™t Flash just as bad?â€

Adobe has an opportunity here. They can move to the right and Flash could become strongly in the Open Web camp. Then we would all be stronger as we come up against Silverlight :)

Indeed, Dion’s image, which he used to show the developer perception of Flash and Silverlight together in contrast to the Open Web isn’t that much different than this image I’ve used in previous blog posts here:

Adobe (and Macromedia before it) has always been good about evolving Flash forward, including making ActionScript more like JavaScript, embracing markup language development, open sourcing Flex, and more. I’d like to see Flash continue to evolve into being a core part of the Open Web. This would be good for Flash and good for the Open Web.

As Dion points out open sourcing Flash is one big part of making this happen, but another huge aspect would be to have Flash and Flex integrate better into the web stack and be less of a ‘black box’ on the screen.

He goes on to list a number of ways that “Flash should start working like the web itself”:

Directly push Flex and ActionScript to the browser and Embrace View Source

Integrate with Bookmarking and History

Donâ€™t Be Afraid of the Browser

Hyperlinks Are Your Friend

Embrace REST and Readable Remoting Protocols

Embrace SVG

Integrate With HTML and CSS

Make Friends With HTML 5 Video

Support Both Documents and Applications

Start Working with the W3C and IETF (and/or the Open Web Foundation)

Now, of course it’s not fair to blame Adobe for my troubleshooting woes of the last week – more likely something about the SWFs produced by SWFTools or the way Alfresco Share is trying to pass them through the YUI Components is to blame, and it’s just that some versions of the Flash player are more forgiving than others.

But how much easier would it be to debug such an application if the Flash plugin didn’t create such a “black box” in the middle of my web application? What if I could dive into the running Flash application the way I can dive into the document object model in firebug, and determine the states of objects and content of variables?

Like Brad and Dion, I like what Flash is capable of, but so much more great innovation could be built with Flash if it were more integrated with the rest of the evolving web stack – whether that means open sourcing all of Flash or just finding ways t work with browser makers (commercial and open source) to make the content and interactivity in SWFs more accessible to the end user.