Archive for the ‘Open Source’ Category
The black box that is the Flash Player
This morning I read an interesting blog post by John Dowdell highlighting some things that bothered me in the last week or so (and talked about on twitter).
We’ve been seeing some sensationalist headlines on tech blogs like “Open Source JavaScript to Replace Flash?” without seemingly any understanding of the (all be it incredibly cool) project in question.
Gordon is Javascript code that parses SWF files, loops through the frames and outputs SVG that can be played back in modern browsers without the need for the Flash Player plugin — that means it works on browsers like the one on the iPhone. A fantastic proof of concept and it works really well considering the amount of heavy lifting it needs to do.
The problem here is, this is not a Javascript based Flash runtime as it gets advertised. Its parsing an SWF file and outputting SVG graphics. If you look at the list of supported SWF tags you’ll notice these are all SWF version 1 and 2 — meaning very basic functionality. Search for some tutorials on Flash 1 or 2 if you can still find them and see what that limits you to.
Not to diminish this great project, at this time its practically only useful for very simple banners or animations without any sound or user interaction. It is also – understandably so – heavy on the CPU. Now you get the kicker with uninformed comments like this:
“While the open source Gordon is available to all, it still doesn’t solve one of Flash’s biggest problems. These SWF files still hog the CPU. One demo, a simple vector graphic of a tiger, throws my desktop browser up to around 100% CPU usage”
To be very clear: it is *not* running the SWF file — its parsing it, converting it using Javascript and outputting SVG. Running that same SWF file on a native Flash Player, even on a smartphone would be a fraction of that in terms of CPU usage.
Then you get people saying projects like this highlight how the Flash Player has become obsolete and its proprietary format is harming the “open web”. Somebody hasn’t been paying attention since 1998. The SWF format is open and freely available (as are many other formats and protocols used in the Flash Player), that is in fact what makes projects like Gordon possible without resorting to reverse engineering.
There is literally nothing stopping anyone from developing an open source Flash Player, Adobe’s implementation isn’t fully open source mostly due to some technologies it licenses and can’t release (video codecs and text rendering). Saying the Flash Player is a black box or its future is in jeopardy because of its proprietary format is just factually wrong.
I do hope to see more people take up the challenge and start developing code that plays back SWF content, we can only benefit from that.
Making the case for ActionScript
This last week or two we’ve seen a lot of heated debate around the future of ActionScript and the Flash Player. Its nice to see this kind of excitement and passion for the technology — yet I can’t help but feel we’re experiencing a form of ‘continental drift’ here.
I’ve seen ActionScript grow up from its humble beginnings with just a handful of frame actions to supporting prototypes, object-oriented syntactical sugar to where we now have a full fledged object-oriented programming model.
That is a good thing, right?
Yes and no. While I wouldn’t have dreamed it some time back when I was advocating object-oriented code as the one-stop solution to all your problems, I’m starting to feel we’re losing out on a lot that made ActionScript so appealing.
This is something Aral Balkan has been saying for the last year or two and I initially considered blasphemous. Is a focus on how to do things ‘properly’ holding us back getting things done? I believe so.
Is there anything now – excluding improvements to Flash Player performance – that could not have been done with ActionScript 1.0? Very little, though admittedly it now takes a lot less effort.
Read the rest of this entry »
Open at Adobe – Dave McAllister
I was happy to see this video by Dave McAllister, Open Standards Evangelist at Adobe, talking about Adobe’s take on open initiatives and how that involves community.
There are some common misconceptions about Adobe being very concerned with keeping their core technologies closed and proprietary while, more so than many other leading technology companies, the opposite is true. Even more so in the last few years.
(via Serge Jespers)
Ryan Stewart’s Flex SEO Contest
I’m very happy to see Ryan Stewart from Adobe taking my concerns on board with regards to Flash content SEO and launching the “Flex SEO Contest“. Its not been particularly fun being the whiney guy continuously talking about issues with SWF indexing.
At the very least we’ll get people to actively start experimenting with SEO for Flex applications, see what works and learn some best practices. Make sure to get involved!
More about the contest here: http://blog.digitalbackcountry.com/?p=1478
The Evolution of the Flash Platform
I did a talk last night on “The Evolution of the Flash Platform” at Skills Matter as part of the London Web Week. Had a nice group of people turn up from various backgrounds and all seemed very interested in seeing the direction Flash is heading in.
Tried to cover as much ground as possible within limited time talking about Flash, Flex, AIR, Flash Lite, Flash Media Server, ECMAScript / ActionScript, Adobe and open source.
Also discussed a few common misconceptions related to Flash content and SEO, deep linking and browser button support. Then moved on to showing several of the sneak peeks from earlier conferences — Flash “Next”, Pacifica, Thermo, etc.
Slideshare.net is having some problems with the Flash Player 10 beta, if you can’t see the slides above you’ll find them at the following URL:
http://www.slideshare.net/peterelst/the-evolution-of-the-flash-platform
ActionScript 3.0 / ECMAScript 4 for devices
Some more good news coming from Adobe with them contributing a new virtual machine to the open source Tamarin project. This new VM – internally called QVM – known to the outside world as Tamarin-Tracing essentially brings the power of AVM2 (ActionScript 3.0/ECMAScript 4) to mobile devices.
It wouldn’t be a stretch of the imagination to see this as a first step into bringing AS3 Flash content and eventually Flex/MXML to mobile and devices. Exciting times ahead, given the current restrictions of a technology like Flash Lite I hope for widespread adoption of this new engine.
Read more
http://www.onflex.org/ted/2007/12/meet-qvm-new-tamarin-vm-contributed-to.php
http://www.jamesward.org/wordpress/2007/12/18/qvm-mozillas-new-mobile-vm-for-ecmascript-4/
http://hg.mozilla.org/tamarin-tracing
Adobe’s Christmas Presents
We all heard the rumors that something big was coming. Last night Shantanu dressed up as Santa and left the following goodies on labs for us to play with:
Flex Builder 3 beta 3
The long awaited beta 3 has been made available, one step closer to a release — be sure to check it out!http://labs.adobe.com/technologies/flex/flexbuilder3/
Adobe AIR beta 3
Along with Flex Builder 3 a new beta for Adobe AIR is now out with some interesting changes and additions.http://labs.adobe.com/technologies/air/
AMF3 specs
AMF, the Action Message Format, is a binary format used in Flash Remoting to communicate native ActionScript objects between a back-end and your applications.They’ve now released the specification for AMF3, the latest version which is used in Flex, and have committed to work with the community to get implementations for every major server platform.
http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf
BlazeDS
This is huge news, Adobe is open sourcing (under LGPL v3) the messaging services that are part of Livecycle Data Services, along with the AMF3 spec and they’ve wrapped it in a Java server.What this now means is that we can build multi-user real-time data-driven applications (wow, say that ten times), with data push and conflict handling. You’ve probably all seen the LCDS demo’s and I for one am really excited there is no longer a barrier of entry to start using it in projects.
http://labs.adobe.com/technologies/blazeds/
Thanks guys, great job in getting it all out!
Flashforward Boston – Carlos Ulloa
The Papervision3D sesion with Carlos Ulloa is up next, still half an hour to go but better go grab a seat as I’m sure its going to be packed.
13:32:02 GMT-0400 – Carlos takes the stage and starts talking about next generation web experiences — going beyond technical limitations
Papervision3D in 5 minutes
Having had Ralph over to our user group last Thursday was a real inspiration to get experimenting with Papervision3D again. Last night I decided to try out John Grdn’s new PV3D components for the Flash IDE — I was stunned.
Its been ages since I last played around with the API but its ridiculously quick and easy to get a Collada model loaded in and apply your custom materials. Just a couple of lines of code and you get it animating. Thought I’d share my little experiment here, if you’ve got a couple of minutes to spare during a coffee break be sure to give it a try.
Papervision3D for everyone
Its incredible what the Papervision3D guys have been doing — pushing ActionScript to the limits in creating a powerful 3D engine for Flash that we could only have dreamed of. Another example of how the community drives the evolution of the Flash platform.
Although their API was easy enough for any developer to get started with, John Grden has now announced a component set for the Flash authoring environment that actually shows you the rendering at design time. You basically just browse to a Collada file, set up your scene and camera rotation, zoom, focus and you’re all set.
The component even allows you to assign new materials (bitmap or movie clip). Unfortunately that doesn’t give you a live preview because the library items are not accessible for the component, but they’ve handled that nicely by just applying a color fill so you can see what material you’ve used.
Read John Grden’s blog post for more information on the Papervision3D components and be sure to check out the video below!


