This is a draft version. Suggestions welcome.
Short answer: People.
What the Semantic Web (now officially called any number of other things besides that) needs in order to become mainstream, in my opinion, is people and the connections between them. The phrase “The Social Graph” comes to mind a la Brad Fitzpatrick‘s once famous, but now all but forgotten manifesto which even Tim Berners-Lee eventually commented on.
The Semantic Web would catch on if it was seen as even remotely useful by the young people who are most likely going to be building the next big thing on the web.
The beautiful thing about the Web2 era is that highly useful tools can sprout up overnight simply because of the desires of more or less ordinary people with no credentials or affiliation with a company. Everyone knows someone who’s a programmer. The next big social software application just might come from the bedroom of a teenager. There is hardly any barrier to access anymore. This is why Web 2.0 happened. A new tool or service doesn’t need a business plan and a data center to launch and go viral.
The trajectory of innovation throughout the last five years or so, the “Web 2.0” years, has been around capitalizing on people, the content they create, their interests, and the value added by crowd-sourcing. The benefits in the social media space are clear from both the perspective of normal end-users, as well as giant companies. Mostly, these benefits are about filtering noise and finding relevance on the user-side and on the giant company side, gathering metrics, targeting messages and acquiring free content. The SemWeb standards have a lot to offer the Social Media realm, dare I say, probably even more than CSS with rounded corners does (I hope I’m not offending anyone here).
But the way things are today, for most programmers, implementing SemWeb standards is a lot of extra work with no immediate benefit. Why not just use MySQL or cook up a new XML format?
So why are these standards being completely ignored by the coders on the street? RSS took off. Why not FOAF? I think it’s because there’s no useful directory of URIs for people. There are lots of SEmWeb geeks who have URIs, but the kids on MySpace and FaceBook don’t have URIs or FOAF files. And those kids’ eyeballs and participation are worth real money!
One fine day, back in 2006, Tim Berners-Lee came down from the mountain and gave us a commandment (or at least he logged into his blog and made a suggestion):
“Do you have a URI for yourself? If you are reading this blog and you have the ability to publish stuff on the web, then you can make a FOAF page, and you can give yourself a URI.”
Then, apparently fifteen minutes after the first post was published, Berners-Lee really got at the importance of URIs in a post called Backward and Forward links in RDF just as important:
“One meme of RDF ethos is that the direction one choses for a given property is arbitrary: it doesn’t matter whether one defines “parent” or “child”; “employee” or “employer”. This philosophy (from the Enquire design of 1980) is that one should not favor one way over another. One day, you may be interested in following the link one way, another day, or somene else, the other way.”
For those of you who don’t yet understand the idea of the Semantic Web, here’s the deal. If there’s one web-address that represents each person, place thing or idea, it becomes possible to crawl the Web (documents as well as databases) looking for links to that person place or thing. And if those links contain tags which specify the meaning of the links, the web-at-large begins to look more like a giant database. This is the “Web of Data” (in contrast to the “Web of Documents” we know and love). This is what people call The Semantic Web. So what’s stopping people from being in the “Web of Data” (AKA Semantic Web)? Like Tim Berners-Lee suggested, we need URIs for people. That’s where it all starts. Once there are URIs for people, and there are semantic links (ones that contain tags explaining what they mean) pointing at the those URIs, we can start making tools that use that data.
This is a fairly simple concept. And Berners-Lee makes it sound simple enough. Sure, we’ll all just give ourselves URIs and viala, the Social Graph will go Semantic. That sounds great but there are a few problems with leaving it at that.
- Most ordinary people do not have websites or hosting of their own and instead rely on Social Networking Services’ profile pages for their web presence. This means that most people have no way of easily publishing themselves to the Web of Data.
- For-Profit Social Networking services have a conflict of interest with regard to providing the Web-at-large with useful, granular “Social Graph” data. Instead we see APIs that give approved developers limited access to data. No love for the average joe like me that is not a programmer.
- The Web currently has no trustworthy repository for facts about ordinary people. Trustworthy means not-for-profit at the very least. The closest thing we have is Wikipedia, but Wikipedia does not allow entries on ordinary, non-notable people. (keep in mind that the Wikipedia publishes the facts in its ‘info boxes’ in RDF one of the core Standards of what we have been calling ‘The Semantic Web’)
We need to start thinking of the Web more like we think of a Public Library, but completely decentralized and with infinite shelf-space. I think WikiMedia, the organization behind the Wikipedia is the best bet for a trusted librarian for all the information about normal people.
I think what is really needed right now is a non-profit run directory of people, possibly even modeled after the Wikipedia, especially when it comes to the concurrent DBPedia project, which publishes the contents of Wikipedia facts to the Semantic Web. Really I think because of WikiMedia’s established trust, they would be the ideal organization to do this. Wikipedia could simply have another layer which reveals non-notable results or ‘all results.’