Thursday, July 05, 2007

Mashup Creators

A mashup is a website or application that combines content from more than one source into an integrated experience. They were once something that geeks pulled together typically overlaying information onto a map or pulling together two information sources in some interesting way. In the past you needed tob e a pretty good programmer to create and publish a mashup.

Microsoft, Google and Yahoo have all nearly simultaneously released mashup creators which are accessible to the the average users.
The approach that all of these tools take is that its the content that is important and that's what you should be caring about, leave all the code to us. This is great news for the average user who doesn't want to mes with JavaScript but still wants to see his/her data in a useful way.

The ease with which you can now create a mashup and how its slowly gaining acceptance in the non-programmer community is similar to the way in which websites were developed. It used to be that you needed to be an experienced web-developer to create your own website but today almost anybody can create their own using WYSIWYG tools.

The Semantic Web

Over the years, there has been a lot of interest generated around the concept of the ‘Semantic Web’. At its core, the semantic web is a series of design principles which aim to assign meaning to electronic content which can not only be understood by humans but also by machines.

Tim Berners-Lee originally expressed the vision of the semantic web as follows:
“I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.

Though Tim Berners-Lee’s vision sounds fantastic and almost impossible, the practical applications of his vision can be applied using existing technology and a growing body of emerging standards. His long-term vision of machines as ‘intelligent-agents’ has more mundane applications in the present. The present suite of semantic technologies is not intended to replace human input and intelligence but merely to allow machines to have a slightly better understanding of the content of the materials they are dealing with.

An example of this is a picture of an apple. Humans can easily spot a picture of an apple and identify it as such. For computers this is a very complex task. The traditional approach to teach a computer to recognize a picture of an apple is to label the picture an apple to create metadata that identifies the content of the picture as an apple. But this approach is lacking as the computer does know any additional information about the apple. It knows that the picture is of an apple but it does not really understand what an apple is. To teach a computer what an apple is, ontology needs to be created which describes the properties and attributes of an apple. This is a picture of an apple which belongs to the class of fruits. It is red in color and is suitable for human consumption. Teaching a computer what an apple is by providing this additional information can add immense value to the service that the computer can now provide. The computer now knows that the apple is a fruit, its color and that humans can eat it. As more ontology data is created (by humans), the computer slowly begins to understand the world and provide value added services.

The concept of creating an ontology is not new and has been around for centuries. But now technology and information technology are at a point where it is possible for computers to consume ontology and apply them t content.