We believe that XMPP, the engine best known for its instant messaging capabilities, can serve as a solid foundation for the new social web. There are several similarities that can be leveraged:
A tremendous advantage of XMPP is that in its very nature it tackles security issues that are not straight forward to solve in the web world. Since all traffic is routed through the server and the identity of that server can be validated with signatures issued by Certified Authorities, end users do not need to worry about complex things like signatures to establish secure communication. Like in the email world the trust is at the server level: the server is expected to behave according to several rules.
Another advantage is that XMPP has been designed to send all messages in real-time using a very efficient push mechanism. Existing web or polling based mechanisms are often making many unnecessary requests introducing network load and are not real-time.
Finally XMPP is already a distributed social web in its own right for the purpose of chatting. With several subtle modifications it could very quickly become a full fledged social web with substantial critical mass.
To realise our vision the XMPP foundations would need to be extended and complemented with the following elements:
Activities, profile and relations would have to be extensible to accommodate unforeseen future use cases. All the existing standards we selected are employing extensible XML formats using name spaces.
Does this mean there is no role to play for the web? We believe that the web will remain a very important place to discover, consume and publish social activities as well as people’s profiles. Moreover we think that http based interfacing (e.g. via REST) for now will remain the de facto way of communicating between social web clients and servers. That is why we are including a web client for OneSocialWeb and an ideally, a REST API for client to server communication should be offered as well.
We foresee that in the future you can selectively expose activities and parts of your profile transparently through your browser when you are browsing the web. You could for instance authorize Amazon when you visit their website to read your book reviews and recommend relevant books to you without having to login.
OneSocialWeb enabled clients can work on mobile phones just like existing social network or chat clients on the market place, either using web based APIs or native XMPP. To offer real-time notification, it is important that the mobile platform supports background threads (otherwise you always need to have the app activated) and that the client uses native XMPP. Since XMPP has really different characteristics, we have implemented an Android client to understand connectivity issues when switching bearers or reconnecting (2G/3G/WIFI/No network), network traffic implications (XMPP by default broadcasts presence changes of your complete roster, but is otherwise highly efficient) and overall impact on battery life.