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).
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.
It was in this context that I was so happy to see the dialogue Dion Almaer and Brad Neuberg posted at Ajaxian today: How Flash Can Join The Open Web.
The conversation began on Dion’s techno.blog(“Dion”) with The Flash Platform: How Adobe could join the Open Web to take on . . . in which he argues:
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:
Brad responded over at coding in paradise with How Flash Can Integrate With The Open Web, in which he argues that:
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.