Friday, April 11, 2008

The news that Yahoo was making a shift to the Semantic Web was ignored by most people. And when everybody is talking about how the next big gadget will revolutionise the world of technology, it's quite ironic that not enough attention was given to this particular decision by Yahoo. I have to admit that my background on this matter might make me a bit biased towards this subject, but I actually believe that bringing "meaning" to the world wide web will revolutionise the way we use the Internet for our daily tasks.

The Semantic Web is an initiative to produce a set of standards that will allow the web content to be readable by both persons and machines. The Web as it is today is focused on the human user. Even though we use specific programming languages to code web pages (which are only readable by experienced programmers), these languages are mere vehicles to produce a "visual element" that can only be "read" by a human user. For a machine or a program, that "visual element" won't have any "meaning", that is, it won't "understand" what that web page represents.

Because of this limitation, technologies like the Google Crawler can only index pages by searching for specific words/terms that are linked often, which, although providing a useful search mechanism for the web as it is today, does not leverage the potential of using semantics to automatically extract the "real juice" from the world wide web (not to mention the fact that it also leaves room for unexpected searches, such as Google Bombs).

An example is quite useful to fully understand the importance of bringing this kind of technology to the World Wide Web:

Imagine that you need to plan an evening that includes a dinner and a movie and maybe an after-hours clubbing. In order to plan this evening with the current Internet you would have to use a search engine (like Yahoo or Google) to look up these activities. And you would do it separately, that is, you would first look for restaurants that fit your tastes and then for a cinema that has the movie that you want to see and finally some info on clubs. Optionally, you may also look for directions/maps information regarding your all evening. You can see by now, that this would involve quite a lot of browsing on different websites of different domains.

Now imagine that there is an automatic process that can do all of this for you. But how? Simple. Basically, the Semantic Web is kind of like an Internet for these automatic processes, so imagine that these programs see the Internet as you see it. When they look at a page, they "know what" they are looking for and most importantly, they "know how" to look for it. Of course, they may need for you to provide some input (what kind of cuisine would you like? what genre of movie?...) but, add a bit of AI to it and the hard work is done by the program.

So imagine yourself on a website that would ask you the following information:

Restaurant Type

Movie Genre

Music Genre

Number of People

and that would automatically produce an evening plan with:

Reservations at a nice restaurant

Movie tickets booked for a nice thriller movie

Recommendations for some nice clubs in the area

Complete maps and directions from your house (or current location) to the restaurant, to the cinema, to the club and back

And no, this is not technology of the future. This is the kind of thing that we have been researching on since 2002.

Of course, this requires a huge effort from web developers to change their view and start creating Semantic Web-friendly web sites (Amazon is a great example). But at least, Yahoo is taking a great step and, by supporting this kind of technology, is making way for the next Internet revolution. Or so I hope :-)