I have said before that unless we have some tools in place, the semantic web will be dead on arrival. So, instead of just complaining about it, I will start with listing the ideas that I think are needed. I hope to contribute to the development of some of this in the near future as well, so nobody can complain about me complaining and not doing anything 🙂
The first thing to know about is linked data. This is the core of the semantic web. The basic idea is to have some extra markup that describes a page in the semantic web space. For bloggers and other web developers, the main technology to read about is RDFa which embeds semantic web knowledge in XHTML. The Wikipedia page contains some fantastic examples of using RDFa as well. There is one problem with this idea, most people really do not want to learn another technology that really is not mainstream. We also know that even if there is some cool semantic web application, it is useless if the markup is not there. For blogs, this means there needs to be a simple way to add semantic data. My personal preference would be a plugin that generates the semantic markup based on the content. This plugin would probably use some external service like the OpenCalais API. Obviously, this is not readily useful for “standard” websites, but a similar service could be used on the server side for generated HTML or even command line processing.
The other side of the proverbial coin is what the browser does with the markup. There is some discussion about a new breed of browser, but I think that is only needed when the semantic web content is truly mainstream. For the leading edge, a Firefox plugin that is semantic web aware would be useful. It could allow you to traverse linked data, just like a web page or just view the semantic web information from the page. I think this is low hanging fruit for the semantic web crowd. Two things that I have not been able to get access to are Twine and OpenLink Data Spaces. I do not know much about Twine, but it does have a lot of hype. Data spaces are more linked to the Data Portability concept, but there is also the idea of integrating data from various sources. This is very similar to the concepts of the semantic web. Assuming we have the supporting data for the semantic web, what do we do with the data?
The first killer application for the semantic web could be the Firefox plugin. If it allows traversal of the linked data, this gives the power of a semantic web browser in a very familiar environment. This would allow some of the other applications to become truly relevant. The real killer application is going to be semantic search. I say this because search is such a crucial part of the internet experience. Think about the evolution of the internet. Yahoo was fairly big with its search and its directory. Google became so big it became a verb. How often do people talk about “googling” something. You really do not hear people talking about “yahooing” something, and I am not sure what that would mean either. So what does semantic search look like? Well, it cannot just be Google, as you lose the semantic part of the search. If the initial results are as good as Google’s, the display could look similar to a network of nodes. The size of a node can be related to relevance of the node, and the distance could be a reference to how closely linked the node is to the source.
I am still hopeful that the semantic web does take hold. I think the web development world needs to start making some small steps towards the big picture goals of the semantic web. Right now, the services are probably going for the home run and that is not that helpful if there is nobody on base. What do you think needs to happen? What killer applications did I miss?