When I showed Outlines of Ambient Information to the Semantic Web Interest Group, it generated many pages of discussion, and I've had multiple requests for further explanation. What has led someone who's worked on the Semantic Web for eight years to “suddenly” ditch it?
The process was kickstarted in September 2007 when I got very interested in doing something useful with RDF. The first thing I did was to write a crawler, and survey nearly twenty million triples in the wild to see what kind of data was out there. I made a list of the top 500 ontologies, but none of them were very compelling, so I decided to concentrate on some things that might interest me, especially weather forecasts. I set up a meteorology ontology, and exported thirty-five weather forecasts from the NOAA forecasts website. The process for exporting the data was very fragile, which was annoying.
Next I decided to work on an RDF API called Trio, so that I could make RDF cool. RDF, I figured, ought to be a lot simpler than it is at the moment; I wanted to make it as easy to use as JSON. Surely then the usecases would follow. Indeed I was thinking about genealogy and all sorts of things, but first I wanted to do what TimBL was doing and work on a generic Semantic Web browser. I started working on that, calling it Arcs, and I managed to create a sublime user interface for it.
But there was no use of it. I wasn't using any of the technologies for anything, except for things related to the technology itself. The Semantic Web is utterly inbred in that respect. The problem is in the model, that we create this metaformat, RDF, and then the use cases will come. But they haven't, and they won't. Even the genealogy use case turned out to be based on a fallacy. The very few use cases that there are, such as Dan Connolly's hAudio export process, don't justify hundreds of eminent computer scientists cranking out specification after specification and API after API.
There are lots of other failings that I could point out about the Semantic Web, but I didn't want to do that. I didn't want to turn into merely a griping and unconstructive commentator, which is what can happen when you only concentrate on the melancholy aspects of something like this. So instead I thought: what kind of Semantic Web style things would I like to work on? What can computer science deliver, in the medium term? Some of those things are what I outlined in my article on Ambient Information. I think that they're things that Semantic Web developers would be interested in working on, except that they don't really require many formats or specifications or even tools in some cases.
When we discussed this on the Semantic Web Interest Group, the conversation kept turning to how the formats could be fixed to make the use cases that I outlined happen. “Yeah, Sean's right, let's fix our languages!” But it's not the languages which are broken, except in as much as they are entirely broken: because it's the mentality of their design which is broken. You can't, it has turned out, make a metalanguage like RDF and then go looking for use cases. We thought you could, but you can't. It's taken eight years to realise.
This isn't to say that advanced computational techniques have no place to play in our future. Things like natural language processing and advances in cognitive science can be nothing but a benefit if the models that they produce are true advances in our knowledge. The years of thinking and argument over RDF will still have happened, but its results must now be abandoned because they serve as a powerful distraction from the things that matter. We all have a vote to cast in terms of the things that we work on. I've considered my vote very carefully, and RDF is the wrong candidate. It's not prudent, perhaps even not moral (if that doesn't sound too melodramatic), to work on RDF, OWL, SPARQL, RIF, the broken ideas of distributed trust, CWM, Tabulator, Dublin Core, FOAF, SIOC, and any of these kinds of things.
The counter-argument that the Semantic Web Interest Group folk gave at first before coming to some level of acceptance was that there are use cases, that I just have to look harder. But that's sorta the point: if you have to look hard, then you're looking too hard. The things that I outlined are not ones that I had to look hard for, because the annoyance of them not being solved is a daily and pervasive thing. Go for the low-hanging fruit first!
Once the aura of self-delusion regarding the Semantic Web is stripped away, you're left with two things. An excellent community, which is one of the Semantic Web's real strengths, and a whole lot of really cool things that computer scientists can be working on. My current goals are to explore those use cases more thoroughly, and somehow integrate them with the community if I can. This'll be hard because the self-delusion is partly institutional, and people have invested such an amount of effort into this as to make it self-perpetuating. But you won't have to just write-off all the work; and indeed you can't. It's just that you can't be an effective computer scientist and a Semantic Web developer, with the current stack of technologies in the Semantic Web layer cake. If I have to do these things without the community, then I will.
If you want to be trendy, perhaps you can call the sorts of things that I want to work on part of the “semantic web”, lowercase, not capitalised. But in as much as this reminds me of the airy nothinghood that the Semantic Web espouses, it's probably best to just start from scratch on the trendy terminology front as well.