Sean O'Donnells Weblog
The hot news this morning seems to be that Adobe is going to open source their Flex platform for rich internet applications. This is good news, right? Another victory for open source? right? right?
Wrong. This is a smart move by Adobe to enhance the popularity of the still closed and proprietary Flash runtime. But even if the Flash runtime was free and open I would still have problems with the platform.
The true power of HTML and Javascript/ECMAscript based solutions is not that they are open and free (although this is a big deal), but that they are transparent and extensible. If I build a new widget or web application everyone can see how it works, how the magic was done, and can take that knowledge and use it to build similar components and extend them. They can scrape content from my application, interconnect with it , use it in a mash up, or simply copy and paste from it. For me to favor Flash, view source needs to be there, and non optional (content creators cannot disable it), and every flash component needs to have non optional extension points by default (like the HTML DOM).
I remember when Google Maps and GMail first launched, hordes of excited techies crawled all over it until its tricks and secrets where spread far and wide. The Pragmatic Ajax book even uses a Google Maps style interface as one of its examples. Google has lost nothing from this, no horde of competitors has sprung out of the night to steal its business using the code. But the concepts have enriched a thousand other web applications. News of the beauty of their code and their innovative techniques has reached every potential hire. Compare this to something like YouTube. Are the web developers of the world crawling all over its video playing Flash widget? No, because its a closed world.
Look at this great little mashup, its syncs Google Map with video footage of a car racing through the streets of Paris in the early morning. But whats the mechanism used to integrate? "Hit play at the 4 second mark". Smooth integration is impossible, because Flash is a closed world. If streaming media was a transparent, extensible technology such a crude bridge would be unnecessary.
The One Laptop Per Child project considers this to be such an important concept that they are building a view source button for all running applications right into the keyboard. This may turn out to be the greatest stroke of genius by an already overwhelmingly impressive project.
SVG is promising us a path for rich graphics. Firefox, Opera and others are promising us native video streaming in their next versions. We should focus our energy and passion on the technologies that allow us to work and learn together, rather than in lonely workshops and walled gardens.