It seems to me that one of the biggest problems with the Semantic Web is the fact that no one has thought about, or at least done anything to develop interesting user interfaces or user interface tools. Initially the initial innovation of the Web was HTML which was all about user interface.
Unfortunately, the new work coming out of the W3C relating to the Semantic Web work has been all about structuring data in a more flexible way. This is obviously critical, but it is not enough. One of the things I have thought about is that the HTML world and the Semantic Web world need to meet. And by that I don’t mean that we need markers in HTML to allow us to extract semantics from web pages. That is needed, but it is already being done.
What I am talking about is that web page authors should be able to lay down structures, like for example a new type of DIV, that understand data. Imagine if you could *describe* data and have it appear in an object on your page. This would involve pointing the object to data and describing how to display it. Many UI development tools such as Adobe Flex have something in this ballpark known as data binding. But data binding is for binding very old school data, i.e. flat lists of information. But the Semantic Web is all about connecting objects of any kind, and with the linked data concept, across different applications.
The point is that whatever the specifics, it would be exceedingly helpful for HTML to move from a pure rendering system, to something that actually understands the concept of what it is trying to display. Web browsers should understand the concept of displaying data objects, not just the idea of rendering graphics and text.