Top of this document
Go directly to navigation
Go directly to page content

Openci blog

OpenCI, Open Community Infrastucture, allows people to declare relationships and create works across different services. Such services work together as equal partners in a federation based on open protocols and formats.

This page is the main point of entry for the effort to discuss, develop and document the protocols, formats and software enabling a federation of social networks.

  • Federating Social Networks

    What was it for?

    Nadya Peek -

    I'm pretty tired of the fact that every time a new social network shows up on the internet, I end up picking a new user name, a new password, having to reconnect with all my friends, having to write a new profile description and having to upload a new profile picture. I'm pretty tired of copying my content from site to site, and I'm pretty tired of having to look at 5 different places to find out where, when, what, with who and what did it look like.

    • Add a contact, update a relation

      Add a contact, update a relation

    Don't get me wrong, I <3 the internet. I love all social objects and am completely addicted to all the services that dish them out to me. But still, somehow this should should be able to be made better.

    Luckily, I'm not the only one who thinks this. People have been working on bringing all kinds of things together, by working on things like OpenID for cross-platform authentication, OAuth for server to server authentication and OpenSocial for finding common ways to talk to social networks. At Mediamatic December 2007, we organized a workshop on Federating Social Networks, especially to exchange thoughts on how we can better use technology to share our online resources.

    At Mediamatic, we develop the content management system anyMeta, where any resource (photograph, article, event, person) is a thing. Any thing can have multiple relations such as author of, featured in, picture of, located in, etc. to other things. This ontological structure is now being converted from a custom made representation to standard XML-implemented RDF.

    Domain model

    What is it exactly that we want to do?

    We have our life streams, which consist of works like photographs on flickr, presence from twitter or jaiku, articles from our blogs, etc. Then we have our personal websites, o...

  • publicatie

    Federating Social Networks

    on XMPP

    Nadya Peek -

    When you decide to visit a website in your favorite browser, you type an http address. That address points to a server, and your browser opens a connection to pull the site off that server. Once the site is fully loaded, the connection closes.

    When you decide to fire up google talk and talk to a friend, your XMPP server finds the address associated with your friend's (jabber) ID and opens a connection to him. This connection stays open, so when you type something, you don't have to wait for his chat client to decide to check whether you posted something. You send it to him directly.

    • 26691-1556-858.png

      26691-1556-858.png

    HTTP can also do some kind of persistent connection, but it's hacky. HTTP servers are not made for persistent connections, and they don't scale. HTTP persistent connections also lack addressability: it is unclear which user is connected to an http connection, while users connected to an XMPP server need to authenticate with their jabber IDs.

    PubSub: don't pull, push!

    Using XMPP, we don't only have to send chat messages. In fact, we can send whatever we want: vcards, audio, flickr enclosures. We want to use XMPP to send XML stanzas containing our anyMeta things from server to server. To do this, will use a publication and subscribe method (PubSub). We can have publishers and subscribers, where a publisher sends a notification to a subscriber each time there is a new stanza to transmit.

    26691-1556-858.png

    What does an XMPP message look like?

    There are three types of of XMPP messages: a message, an i.q. or identification query (for subscribing, unsubscribing and error messages) and a presence {online, offline, busy}. A message will be what we use to move data from website to website. A message contained in a node, which is what you subscribe to to receive the message. The message is then one of the node items, w...

  • publicatie

    Solving Social Network Fatigue

    Social Network sites open up to applications, but how can we make the network our own again?

    Marc Worrell -

    A social network site is a website where we share some common interest with other people. That interest can be your personal life (Facebook), your professional career (LinkedIn), your sport, your hobby, or just a single conference (Picnic Network).

    All these networks have one thing in common: they are walled gardens, islands that force their users to rediscover their friends and re-explain who they are.

    At Mediamatic Lab we are exploring methods to connect all those islands, creating an archipelago where you can travel from island to island.

    • Joined

      Joined -

      Found in Lijang, Yunnan - province of China

    Social Networks Should be Fun

    A common interest is what fuels most sites. It brings people together, it leads to discussions, creativity and close relationships between people. Groups, hobbies, clubs, it is the glue of society. Social networks bring that glue to the internet, make it possible to interact from our homes to interact with the very same people we know from the sport field, that conference or some photo we shared online.

    We have more than one interest. We might have more than one career. And we definitely have more than one group of friends. All those groups will most definitely not be present on one single website, and probably will have a multitude of different online places where they meet. The website of the rowing club, the website of a cultural foundation, the website of the family.

    Here the problem starts.

    Social Networks Are Walled Gardens

    Creating and maintaining profiles on social network sites leads to a very real social network fatigue. More and more people simply refuse to become member of yet another o-so-cool website. I am one of those people who refuse to become member, it is just too much. And I definitely do not maintain my profiles.

    People not maintaining their profiles is a shame. It makes sites less interesting, and gives less incentive to create an active community around a common interest. And that active community was the goal in the first place.

    Establis...

  • publicatie

    Federating Social Networks - The Technology

    Marc Worrell -

    We are proposing a range of existing technologies to enable the federation of social networks. Some are quite new, some are well established. Here I give a short overview of the technologies and how to work together in creating a personal network.

    We are not the only ones interested in integrating our content. So far, we've started looking at various possibilities- for users and servers signing on to (federated) social networks, for publishing, aggregating, exchanging and subscription to content, and for better ways to describe content and meta-content on the social networks.

    Authenticating People: OpenID

    To avoid having to create a separate login and password for each social network, we have been integrating the decentralized log-in system provided by OpenID for user authentication into our CMS anyMeta.

    Servers Communicating With Other Servers: OAuth

    Once we have users signed into one social network, we want to allow them to move their data from one network to another. For this we are looking at the open protocol OAuth, which will standardize server to server communication, i.e. the passing of authentication tokens through APIs. This will help make our server-side communication more robust and streamlined.

    Representing Information: Atom + RDF

    After authenticating, but before we can move content from one place to another, we also need a way to define our content. We're starting to use RDF as a standard formatting method for our content. We see users and their contacts as another form of content, and are using FOAF to describe their networks. Other forms of content, such as events or projects, allow other standard formatting techniques permissible in RDF-...