# WUPnP
OK. It’s a funny title for a blog post, but it is an acronym which I don’t want to start up as a buzzword, but it where I see things going.
A lot of people know about Universal Plug and Play (UPnP), its a set of protocols and formats to allow you to just plug a hardware device into another hardware device and its guaranteed to “just work”. UPnP is all quite low level stuff, which is to be expected because we’re talking about hardware in this case.
The ease of UPnP is starting to appear on the web too, and what I shall (temporarily) call Web Universal Plug and Play (WUPnP). What it’s plugging together is various web applications components.
This started off in the form of open web services which could be “mashed-up” with a nice little GUI (e.g. Nestoria ).
We are now starting to see “mesh-ups”, which are fusions of data from different Linked Data sources to give context-sensitive results to queries.
Mesh-ups and Mash-ups are part of a bigger concept of WUPnP, which is not just about data or how to view it… but everything becomes a little more agnostic, and therefore creating a plug and play architecture.
To do this, we have:
At the Data Level:
- RDF (the framework, with its various socially-friendly vocabularies such as FOAF and SIOC)
At the Machine Interface Level:
- OpenID and OAuth
- OpenSocial
- SPARQL, SPARQL/Update and the SPARQL Protocol
At the User Interface Level:
- Rich Internet Application (RIA) Frameworks (e.g. Flash/Flex/AIR and Yahoo! Browser Plus)
- AJAX / AJAR
Network Level:
- HTTP (in particular REST)
- Cloud Computing (e.g. Amazon EC2)
And the key to this all working is the unique data source name:
The Uniform Resource Identifier (URI)
Without it nothing would be linkable or usable.
I’m not trying to standardise things, I’ll leave that up to the lovely people at the W3C. I’m not even recommending anything, thats up to the W3C and the DataPortability Group. I’m just saying that we have the technologies to be able to plug X into Y into Z, and hey presto we have an awesome app “voila web-scale plug and play”.
An example is a user interface designer could make a user interface in such a way, that it would be able to work with any component that a user may choose. Just for some details, this could be an Adobe Flex based user interface, which could then hook into any Linked Data based encyclopedia (e.g. DBpedia) and provide data in context.
You should be aware by now, from various previous posts that:
- OpenLink Virtuoso provides the Machine Interface Level, the Data Level and the Network Level
- OpenLink Data Spaces provides some User Interface Level functionality and some more functionality on the Machine Interface Level
- OpenLink AJAX ToolKit provides JavaScript, AJAX/AJAR and some funky bits of functionality and eye candy ready for User Interface Level development.
(Yes, there are a lot of acronyms in the computer science field, and particularly the web…. it’s because if we said the long names for everything then we really wouldn’t get anything done because conversations would be about 10 times longer! Unfortunately we have to deal with it)
(If I’ve forgotten anything useful in the WUPnP stack then let me know)
June 3rd, 2008 at 6:03 pm
As part of the RIA collection I would also add Microsoft’s Silverlight.
I would also align the pieces to the MVC pattern.
Then I would encourage people to watch some old stuff from the NeXT era:
1. https://www.youtube.com/watch?v=G6rN-vGTus&feature=related (*Definitive Data Object Demo*)
2. https://www.youtube.com/watch?v=j02b8Fuz73A&feature=related (* a little clearer, but go 1/2 way in *)
Remember, the Web was built on NeXT We are just trying to deliver a variant of NeXT that isn’t confined to the Black Box or NextStep / OpenStep !
July 9th, 2008 at 12:50 pm
[...] we have data in a common format we can plug all kinds of user interfaces in (hence my blog post on WUPnP a while ago). So they are coming! Has the role of [...]
July 15th, 2008 at 9:04 am
[...] is the beginning of very powerful WUPnP components, which are glued together using WDSNs (aka HTTP [...]