Thursday, April 13, 2006

Web 2.0 - A Rebuttle

A friend of mine recently sent me a link to his latest blog entry. A review of some of the new "Web 2.0 Desktops" that have become available. For those of you who may not be familiar with this concept, check out his review here to get an idea of what they are all about.

This was not the first time that I've heard of such things, "Web 2.0" sites have been gaining in momentum recently, and nary a day passes where I do not hear of some new site touting some new "Web 2.0" technology. I have to admit that, like many other people, when I look at things like protopage and gmail, flikr and others, my first instinct is to say "neat". These things are neat, and they embrace the hacker spirit. These sites are doing new and neat things with web technologies that have been around for years, and to that end I am happy to see new innovation in the web.

Now here's the "But". I was playing with some of these web desktops, and the main thought in my head was "why?". I already have a Desktop that I like quite well. It is faster than any of these "web 2.0" desktops. It's more customizable. It works even when my internet connection is down. I can choose the version that I like best. In short, the problem with these new "web 2.0" desktops, and with many other "web 2.0" applications is that they are just re-inventing the wheel- but "on the web".

Now, you must not think me a luddite- but I have to say that I am not fond of the way these things are going. The problem is not that I have some problem with internet applications- quite the opposite in fact. The problem is that I think there is too much focus on the web.

When it was first getting started, the World Wide Web was but a small part of the internet as a whole. It was a small piece that, along with Usenet and BBSes, IRC and email, ftp and ssh, made up the Internet. Along came IM and P2P applications, MMOGs and streaming media. A whole ecosystem of Internet applications that filled their own niche and played their part in global communication and information sharing. There was a time when the possiblities were endless.

With the Internet at our disposal programmers started thinking new and interesting ways to use this network. One of the earlier examples of this new type of programming was the X Window System. X was designed from the ground up as a network based window server. Other applications were developed that helped to unite the Internet and the PC. Other examples that cropped up were things like KDE's fish:// built into Konquror. Microsoft's Active Desktop, X and Windows screen savers that crawled the web. Email clients that pulled mail onto your computer. But, outside of Apple we do not see much innovation like that anymore.

The problem started, I think, when too many people started associating "the web == the internet". The web began to grow, and the mindshare of this varied Internet ecosystem began to die out. As always happens in nature, when an ecosystem goes out of balance, new entities had to be created to fill the niche of those that were dying out. Enter "Web 2.0". People started using Javascript, Stylesheets, XML, all of the new web technologies to rebuild applications of the past on the web. This congolmoration of AJAX, SOAP, XHTML, all of these things became the new buzzword "Web 2.0". "Web 2.0" applications became larger, more complex, and began to try to fill the niche of other internet-aware applications.

So, people started seeing the web as the entire Internet, and so developers began to build "Web 2.0" applications- that is to say: dynamic applications built on new web technolgies that took the place of those applications which were traditionally internet-aware client side applications. Users who had previously been under the impression that the web was the entire Internet began to see new types of Internet-enabled applications, and technology enthusiasts praised the development of "Web 2.0". What's the problem?

The problem is this. In the excitement to turn the Web into the new Operating System, there has grown a divide between the desktop machine and the Internet. The promise of local Internet-aware applications has fallen out of favor. Internet technolgies were developed for and used on the web, accessed through the web browser, and seperate from the local machine. The cycle grew and as more things were done on the web, more things had to be done on the web. The more "Web 2.0" applications are built around the web browser, the less mindshare is given to Internet-aware local applications. People grow blind to other possiblities, and so more and more technologies are built on the "Web 2.0". This development further seperates out the local componenet of computing, moving the applications to the web, and taking control away from the user.

Office applications, photo management applications, music, video- all are now being accessed exclustively through the "Web 2.0". This means that there is comming a shift. The web browser is becomming the new Operating System, and all applications, files, preferences are saved on the web. The consequences of such a shift are deep and dire.

Perhaps the largest consequence of this shift is in ownership of the software and of the files. Traditionall, even though proprietary software was licensed, there was some aspect of ownership to it. Even moreso with Open Source Software. With traditional software a user had the ability to customize, to change, to remove their software. If a user created a document with Microsoft Word, then as long as their hard drive continued to function they owned that document. They had the ablitiy to transfer that file to someone using to open it up in a hex editor if they wanted- even the ability to run that file through a disk shredder and delete it so that it could not be recovered by any but the most determined technological guru.

If someone wanted to see what a user was writing, then either they had to seize that users computer, or else ask for a copy of the document. Now it's as easy for a government body to get the documents a user is working on as going to the "Web 2.0" Application host, and saying "patriot act". Now a cracker needs to break into just one website to get the documents of millions of users. Now a natural disaster can destroy millions of users documents.

It's more than that though. More than government paranoia and document saftey. The shift in the mindset that "Web 2.0" promises is a shift in the way we view computing. The computer, the applications cease to become tools, and instead become a service. Documents are products of the service and owned by the service provider- much like wedding photos. Users lose control to hack and tweek their applications, and they lose the sense of identity that comes from having their programs, their documents on their machine.

"Web 2.0" turns the concept of the internet from a network of connected computers sharing information into a magical place from which services are bourn, and into which documents are stored. "Web 2.0" has turned the Internet into the magical ether of information.

So what should be done? You may recall my reference to Apple several paragraphs before. Lets examine what Apple has done, as well as a handfull of Open Source developers, and use this as a guideline for an alternate form of Internet based computing Integration that promises a brighter future than "Web 2.0".

Rather than put the focus on web services, Apple has created applications, and a framework for application development that idealize what the Internet and the proliferation of broadband should hold for the future of computing. Widgets.

The idea of the Widgets, introduced with Apple's Tiger, is a prime example of how the Internet should be leveraged for applications. Applications themselves are written using the same technologies as those used to create "Web 2.0" applications, and yet have access to the power of the local machine. They are installed rather than servered over the internet, and yet many- if not most- of these widgets pull their data and share it over the Internet.

With a simple keypress I can bring up a window, and use a local program to access this blog, my deadjournal, or to view the local weather. I have all of the benefits of an always on connection to the Internet, plus the power and speed of my local machine. I have all the power to create a quick, pretty, easy to code, easy to use application based off AJAX, with the power to use the libraries, scripting languages, and APIs installed on my local machine.

I have the power to decide what version of a program I want to use. I have the power to create my own program and use it- and have it access the same Internet that any other official widget can access. I have the power to download an Open Source widget and hack it to my hearts content.

These widgets are the first steps to what the new world of Internet-enabled computing should be- without "Web 2.0". Local applications that have Internet connectivity integrated into them. But there is still a long way to go. Why not create APIs that allow developers to easily tie into Internet sites. Allow various programs to access the same places on the Internet, which may also offer "Web 2.0" versions of their applications for those who do not have access to local programs. Why not bridge the gap between local computing and the Internet, instead of widening it with the Web, 2.0?


Blogger z0manifest said...

This blog said : "Why not create APIs that allow developers to easily tie into Internet sites. Allow various programs to access the same places on the Inter"

I said : "Yaaa? Why not?"

11:09 PM  
Blogger Tei said...

Because will be a nightmare to securice a system where ANITHING connecto to internet and autodownload on-the-fly patches. Even if this is sandboxed, is a problem related to worms and selreplicating stuff.

7:47 AM  
Blogger brousch said...

Thank you for spelling out the reasons that Web 2.0 applications are making me uncomfortable. After trying things like GMail and Blogger I always go back to applications hosted on a system that I own because I don't like having so little control over my data.

Unfortunately, most people are not capable of administering their own computers and programs correctly, and are either unwilling or unable to learn how. Web 2.0 companies are making it easier for these people to have access to the information and programs they want without the hassles of updates or worrying about security - it is all in a professional's hands.

It is for this reason that I think it's important for ethical and talented developers to drive Web 2.0 development. Everyone cannot be a sysadmin, so we need to give common users applications and services they can trust.

Is Google a company we can trust with our data? I don't know, which is why I use my own services and offer them to people I care about.

9:25 AM  

Post a Comment

<< Home