What the Semantic Web can learn from Open Hypermedia
I didn’t know about the Open Hypermedia protocol (OHP) until I read a blog post today by Dave Millard, a Lecturer of Computer Science at the University of Southampton, UK. The OHP proposal was written in the 1996 by Hugh Davis, Andy Lewis and Antoine Rizk, and it was intended for the “communication between applications and hypermedia link services.”
OHP had inspired Dave Millard while he was pursuing his PhD studies, which he completed in 2001, but his recent involvement in a project called Synote – Annotating Media Resources gave him the opportunity to “return to some of those lost OH principles in the age of Web 2.0.”
Please read the account of this journey back on his blog – I would like to highlight in particular the conclusion, because he thinks that the failure of OHP offers some valuable lessons for the Semantic Web:
There’s a lesson here for the Semantic Web, another grand idea from the Hypertext and Web community that I have commented on before. The Semantic Web is a set of standards for representing and exchanging knowledge (as sets of RDF triples constrained by ontologies), like Open Hypermedia it is therefore about models, openness and interoperability. But also like Open Hypermedia many Semantic Web developers have fallen into the trap of forcing their model down into the system implementation and up into the UI.
So in the end perhaps Open Hypermedia does offer us a valuable lesson – not about the structures of hypertext – but about the need to abstract implementation and user experience away from the conceptual models that drive them.
This is a hard lesson – because you want users and developers to see your models, otherwise how can you convince them of their value. But it needs to be learned, otherwise the resulting systems will be far from convincing, and the machine-readable Web will continue to exist only as a collection of chaotic mashups.
Which takes us right into the interface debate and, e.g., the question whether data browsers are or are not too geeky. What do you think – what would be strategies to deliver the best to be achieved with a data model to the user, without turning the interface into a tricky contraption?