Tuesday, April 29, 2008

On Web 2.0 Technology (Thing #7)

No one can deny that there is a certain "cool factor" to "Web 2.0". Long gone are the days when the internet was only for University Geeks and European Nuclear Physicists!

I remember the cool factor of Java Applets - incredibly cool at first, but as that wore off, people became less and less impressed with waiting 30-60 seconds with a frozen system while the Java applet loaded. And while Sun did first improve, and then eliminate the problem in later releases, too little, too late! Shockwave Flash is on the scene!

Next thing you know, every web site starts with a "jump" page, that serves no purpose but to show off the design skills (or lack thereof) of the site's developers. Okay, I guess it also helped sell Flash, but maybe I'm confusing chicken and egg.

But in my mind, the "Web 2.0" lineage is not from Java or Flash, but like so many things on the web, descends directly from the openness and usability of HTTP, HTML, and it's step-child, XML.

HTTP was made to be an extensible protocol - it's been extended by adding a secure layer (SSL), allowing PUT and DELETE operations (WebDAV, although originally part of HTTP), fully supports proxying (helpful for crossing networks), and essential to SOA / WebServices.

HTML made no attempt to hide itself behind proprietary code and end-user license agreements. It was made open to all, and even attempted to be somewhat understandable to the novice user. A standards body (the W3C) was even formed to allow global participation in developing future standards.

XML takes HTML (or possibly SGML) one more step, and allow developers to develop their own set of tags, and even provide facilities for validating those tags. XML became a hot topic several years before it truly started showing it's potential, but when it did ... look out!

So how do these boring protocols and markup languages relate to the coolness of "Web 2.0"? Because in my mind, the "Coolest" part of "Web 2.0" is the interaction between systems, and the collaboration between people that can develop as a result. Proprietary formats, license requirements for development, put limits on developers AND end users. Both Java and Flash started their life as proprietary formats, each hoping to dominate the "cool thing" market. "Web 2.0" did not develop in the vacuum of an R&D facility, but evolved in the public square.

And the evolution continues! Developers throw their gadgets into the ring; people use the gadgets or they don't; Some people will tell the developer their gadget needs "this", and the developer will agree and add it (or they won't, and maybe someone else will branch it!). People will learn about security risks the hard way (I predict cross-site scripting will lead either to people abandoning embedding video from YouTube and the like, or some new method of authenticating content being developed).

Cool factor gives it it's appeal to the masses, but it's open collaboration that truly has driven "Web 2.0" (2.5, 3.0 ...)

No comments: