Adobe's Flash technology which is fuelling some of the most innovative developments on the Internet is simultaneously putting the World Wide Web as we know it at risk.
The World Wide Web is ubiquitous
It has far surpassed the expectations of its creator, Sir Tim Berners-Lee, and has come to embody what we think of as the Internet. But what gave the web such an explosive growth and universal appeal was not technology alone, it was the open-ness with which the technology was developed. The World Wide Web Consortium (W3C) was founded to oversee the standardisation of the technology built on top of Internet technology already standardised by the Internet Engineering Task Force (IETF). This meant that many developers could write software which implemented these open standards, giving us the diverse web servers and web user agents we see today.
The web is no longer just text and images
It is a multimedia platform with audio and video and the early stages of 3D virtual worlds. But if we look at how the multimedia web is coming about, we can see that it is being developed in quite a different way. Instead of the open standards and human-readable markup of XHTML, CSS and ECMAScript that underly the original web, the multimedia web is being built on proprietary technology called Flash. Flash is currently the only widespread way of delivery audio and video across the web in a cross-platform way and is behind popular web sites like YouTube and Flickr.
Flash is not like the rest of the web
Flash was created by Macromedia and is now owned by Adobe, one of the big software giants of the world. Flash differs from web standards in that it is a closed, proprietary format owned by one company and when flash appears on a web page it appears as a cryptic "binary blob" that can only be interpreted by Adobe's software.
Web standards like XHTML mean that any web user agent or search engine can trawl the web and interpret the data stored on it. Search engines can index web pages, multiple companies can implement web user agents and web servers and the web has a certain level of accessability for the visually impaired user. Flash has none of these properties, it is a closed proprietary technology owned by one company that doesn't play nicely with the rest of the web.
What we can do
If we care about the World Wide Web we should be supporting the same standards organisations that created it to drive innovation of the next generation. The problem is that often companies can develop innovative proprietary technology a lot faster than standards organisations can standardise technologies. If we're not careful, such standards will never emerge and the web will become hostage to large corporations, holding our data prisoner in proprietary, closed formats.
So what is Flash used for today that should use open web standards and what technology should we be supporting?
Audio/Video
Web sites like YouTube use Flash to embed video in web pages because it is currently the easiest way to deliver video across the web and reach the maximum number of people. This is due to an underlying problem with digital audio and video, every computing platform seems to use a different standard. Giants like Microsoft, Apple and Sony are in a standards war over digital formats. This has happened before with cassette tapes, VHS, CDs and is also now happening with DVDs.
But in the backgroud a few sane people have defined some open standards for these things. Formats like Ogg Vorbis, Ogg Theora and FLAC are as close as we can get to open, patent-free formats for audio and video.
We should be building native support for these open formats into web user agents like Mozilla Firefox so that video can be delivered over the web in an open way.
2D Vector Graphics
Flash is by far the dominant technology for static and animated 2D vector graphics. But the World Wide Web Consortium already has a standard for this, it's called SVG. Not a lot of people realise that SVG has an equivalent feature set to Flash and is an open XML based standard like XHTML and is a W3C recommendation. For some reason there is not yet a widespread full implementation of this standard in any web user agent (to Adobe's credit they have probably come the closest, but have recently announced they are going to stop supporting SVG).
Mozilla are working on implementing SVG in Firefox but progress is slow on implementing such a huge standard and for some reason it doesn't seem to be a high priority for them. We need to give organisations like Mozilla more help in implementing SVG natively in web user agents.
3D Vector Graphics
3D virtual worlds are in their early stages on the Internet and are predominantly made up of applications like Second Life which are very much like the AOL of the web, before it was more open. They have a walled garden of a virtual world controlled by one company.
Just today I've seen an announcement claiming that MetaPlace is going to make virtual worlds work like the web. They're going to "democratise" virtual worlds by allowing anyone to create their own virtual world. At first glance, this appears to be the true 3D web. But actually Areae who make MetaPlace are going to use Flash technology to deliver these 3D worlds to the web browser. This is not how the web is supposed to work.
The Web3D Consortium exists to standardise formats for the 3D web and they are developing the X3D standard, another XML based standard like XHTML. If online virtual worlds are going to truly work like the web, they will surely use an open standard like X3D. We need to work on implementing X3D in web user agents.
Applications
Flash is very popular for applications online because of its programmable properties and its cross-platform nature. An alternative exists in a combination of technologies known as AJAX. Asynchronous JavaScript and XML is a way of using existing web technologies to create highly responsive web applications.
By applying AJAX techniques to SVG and X3D as well as XHTML, we can create some really interesting software.
The W3C is standardising web application formats in the Web Application Formats Working Group. WHATWG are contributing to this effort.
In conclusion
We've become lazy with our web user agents. The truth is,standardising a computer format, implementing it and promoting its adoption is a lot of hard work. Developers can hardly be blamed for choosing proprietary options which already work today, they are pragmatists and simply use whatver works.
If we care about the open-ness of the web (and by that I mean the freedom of our information) then we need to put a lot more effort into developing web user agents for the next generation of the World Wide Web.
To borrow a phrase from the Mozilla Corporation's advertising campaigns:
Take Back the Web!