Web 3.0

As Web 2.0 has been used as a bit of a buzzword used to mean almost anything from shiny graphics to website login-related technology, I thought I'd explain Web 3.0 a bit.

To understand Web 3.0 one must first understand the web 1.0 and 2.0. I assume everybody understands the Internet is a vast array of interconnected computers, the Web as such was not intended to directly represent this, instead the interconnectedness of the Web is describing the way websites link to one-another and you can come from one to the next without knowing their addresses beforehand. Furthermore the "versions" of the Web (1.0, 2.0 and 3.0) refer to different approaches to transfered content over the Internet; I will attempt to explain these.

First, meet Web 1.0.

Web 1.0, called simply the Web at the time, was the simple 1995 way of publishing content online, Geocities and the like if anyone can recall. Every person was free to make a website and show it to everybody else. If people wanted to respond in some way they had to make their own webpage and post their content there, again publishing this to everybody else. Content transfer was one-way, everybody was master of his own webpage and everybody else were just spectators.

As this proved too boring in the long run (people without technical skills didn't bother to make websites and so the Internet became reminiscent of a TV with 16 channels), Web 2.0 evolved:

This brave new Web 2.0 featured interactive websites where all users could post their own content. Just imagine the two red boxes above to be Wikipedia and Youtube, or Facebook. The Web suddenly stopped being a Web of Pages and became a Web of People, as content could travel freely from user to website to user in all directions. Each website grew with the community of people who frequent it to communicate with the others in the community.

As admirable as this level of information sharing might be, it has caused many of these websites to become closed communities, for example Wikipedia editors discourage linking to other, non-wikimedia wikis in articles and Facebook is completely closed to outside linking unless the visitor is also a member (out of "concern for your privacy", note the sarcasm).

The Web is no longer a Web. To fix this, Web 3.0 has been proposed:

This new Web 3.0 is an upgrade on Web 2.0. It implements protocols intended for websites to share information with eachother automatically, in effect linking the various communities into one large global Internet community. RSS is a classic example of a Web 3.0 technology, moderately useless to the visitor directly, but when integrated into other websites, enables live news feeds collected from multiple sites automatically, sharing news, content, pictures between communities instantly.

Web 3.0 is better, but it is not yet currently widespread. People have been working on Web 3.0 technologies for many years now and there are just as many concerns about it's safety as there was about Web 2.0 when the mainstream was Web 1.0. Progress is slow. If you want to help support Web 3.0 technology and own webservers, consider this:

The main attribute of Web 3.0 is sharing machine-readable content. Due to security, fairness and bandwidth concerns, the general consensus is the client machine should be the one requesting the content, which would be possible if the client's browsers would collect data from the different websites automatically using AJAX. Unfortunately cross-site scripting security concerns have blocked this! If your webserver offers content that you wish to share freely in true Web spirit, you should add "Access-Control-Allow-Origin: *" to your server headers ("Origin" refers to the location of the script that uses the data).

The commands to do this with the Apache web server are...
a2enmod headers
...to enable the Headers module in Apache, which allows you to add custom headers, and then add...
Header set Access-Control-Allow-Origin "*"
...to your apache configuration file (/etc/apache2/apache2.conf). Restart Apache when done.