October 12, 2005
Flash is your friend in Web 2.0
I recently presented a "high order bit" at the Web 2.0 conference about how Flash and HTML work together and made some announcements about building Flash applications in a way developers can relate to more easily.
Tim O'Reilly wrote a great overview of what he means by Web 2.0, which are essentially design patterns and business models for the next generation of software. The shorter term results are things like easier sharing of photos with your friends and family, finding the most interesting things to read, and getting new insights on information by combining data like rental listings with their locations on a map. Longer term, this "architecture of participation" could mean harnessing collective intelligence across the Internet to solve increasingly difficult problems around the world, as also envisioned by Doug Engelbart.
In terms of building applications for Web 2.0, I believe the key underlying theme is the separation of data and user interface through open data formats, RSS/Atom feeds, and programming interfaces made publicly available. This enables not only a revolution in machine to machine communication, as all the excitement about web services has been about, but also human to machine as we're seeing with remixing applications and new user interfaces on data.
There are many examples of applications built in Flash, though building them is not what a lot of people would call easy as the current Flash authoring tool and programming model were optimized for more creative uses such as animations. What we're working on now are a set of technologies to make building applications and components much easier and for the results to run much faster.
These technologies include the upcoming Flash Player 9 which has a new virtual machine that runs several times faster -- it has been in development for over two years and is aimed squarely at providing a high performance Web 2.0 client runtime with a just in time compiler, runtime error checking, support for E4X (which makes XML a first class data type in scripting so you can easily use XML in code) and compliance with the standard ECMA language definition. The second technology is the Flex Framework, a programming model that enables developers to use an XML based language to build apps much more intuitively along with integrated scripting. And third, a tool called Flex Builder that is being developed on the Eclipse open source framework, is designed for developers, combines code editing with visual layout of applications, and has a compiler built right in. For a demo of how quickly you'll be able to build applications with this, please check out the video where you can see a photo search app built in about five minutes.
A major advantage of using the Flash Player for Web 2.0 applications is consistent development across operating systems and browsers and a lot less overhead programming around differences and needing to debug and test on every configuration. The Flash Player has more reach than any browser or operating system, and is being distributed faster than any other technology I know of on the Internet today which means innovation on client technology can be deployed to over 80% of people on the Web in about a year and then reach 98% a little while later.
This transformation of Flash from purely an animation engine to a runtime for rich media and rich internet applications has been happening for several years now, though many people aren't yet aware of these capabilities. Some things I find many people don't realize about Flash include: an active open source community around Flash; support for more sophisticated local storage than what the browser provides along with more control for users; Google does in fact index Flash; two-way live audio/video communication is built in along with support for synchronized data transmission for collaborative apps; Flash supports accessible applications including integration with screen readers; it's actually the most widely distributed video player on the web; it supports sockets (which enable push of data from servers rather than the request-only model) in either XML or with the new client in any binary format.
Also, there is currently support for integration with backend infrastructure through web services or REST interfaces from the Flash Player today. The new Flash Player 9 has even stronger enterprise data connectivity including client support for Flex Enterprise Services which enables use of message queues, integration with JMS, remote procedure calls, and data synchronization. This enables not only simple applications like photo viewers, but also sophisticated business applications.
We're making this next generation available in early stages so we can collaborate with the community around it and make sure we're all building the right stuff. Alpha releases of Flash Player 9 and Flex Builder will be available for hacking Web 2.0 applications starting at the MAX developer conference on October 17 and posted at macromedia.com/go/web2.
Kenny Bunch says:
Chris Charlton says:
Dean Fragnito says:
Kevin Lynch says:
Comments on this entry are now closed
You can of course make comments in your own blog, and Trackback continues to be available to reference your post here.