What is Open-CI?
Open-CI is a set of rules based on open standards enabling different web sites to work together intelligently. Open-CI enables users to use the same account and profile to create connections and data across websites.
Beside the main social networking site, smaller sites can also implement a light version of Open-CI. This way a site with a specific purpose can enable social collaboration, without needing to implement the overhead of user management.
Who uses it?
anyMeta is a social network built by Mediamatic Lab used by the creative industries in Amsterdam.
Benefits of Open-CI
Open-CI is a social networking system that enables creation and collaboration between different social networks. The boundaries between networks are maintained but the effort to cross them is greatly reduced. New users can get up to speed quicker and existing users can easily participate on other sites.
The current state of social networking both in large sites as in small ones is too complicated and is taking too much effort. People also cannot easily reuse the content and connections they have created in any network. This state of lock-in makes participating in your new social site less enticing for users.
Open-CI solves this problem by enabling new and existing social sites to exchange information using open standards. Any site or system wishing to participate in this network can implement the relevant standards and share in the following benefits.
The repetition of having to create and maintain accounts on every site users want to participate in, increases the barrier for users to participate. Open-CI enables users to use their account from one site to login to any other Open-CI site.
This universal login saves users from the cumbersome process of having to create accounts on every site they want to participate in and from having to remember user names and passwords for each of these sites.
Besides sharing login credentials, Open-CI sites also share the user's profile information and profile pictures on every site. Changes to this profile are automatically propagated so that users always have an up to date profile on display.
Open-CI enables users to fully participate on other sites as themselves reducing barriers to participation. Users can use their original identity to create content and make connections. Connections are shared and carried over across sites.
The sharing of these connections solves the problem of having to add the same people as friends on every site you become a member of. User's profiles keep track of these connections and the same connections apply on every site they participate in.
Open-CI indexes content from other sites and updates references to included content automatically when there are changes. Users can use this index to quickly find things they are looking for. And when they want to create something new, they can find users and other objects in the index to serve as a starting point.
Hosted Social Features
Besides the complete Open-CI there also is a light version of Open-CI for sites that want social features without the overhead of a social network. The light version has all the functionality of Open-CI but outsources profile and account management to another Open-CI site.
Open-CI is a set of open standards built on existing technologies designed to enable collaboration between social networks and websites. The reference implementation anyMeta is built by Mediamatic, but Open-CI is independent of Mediamatic and is built upon and provides Open Standards and Open Source Software.
The collaboration does not solely consists of exchange between Open-CI sites. Any social network wishing to implement the open standards in Open-CI may do so and become part of the network. Other social sites or content management systems that have a need for user management may use a plugin to outsource this functionality to Open-CI. A complete implementation is best for full interoperability, but implementing part of the standards will already bring some benefit to a participating system and its users.
The following standards are used in Open-CI:
- The HTTP standard is used extensively to offer web browsers and other clients access to resources in the appropriate format. HTTP is also used for synchronous server to server communication. Content negotiation is used by clients on URIs to retrieve the appropriate representation of an object.
- The XMPP messaging protocol is used to exchange data and updates between Open-CI servers. The Publish-Subscribe extension (XEP-0060) is used in particular to provide scalable updates without the need for continuous polling.
- The Atom format is used to offer a representational machine readable version of content to interested parties both over HTTP as over XMPP.
- OpenID is an identity system both provided and consumed by Open-CI. Users can use any OpenID login to log onto an Open-CI site and an Open-CI account can serve as an OpenID login on other Open-CI sites and any other site that consumes OpenID.
- OAuth is a protocol used to let users grant authorization to protected resources. This can be the case when third parties want access to API methods, but also when collaborating sites need to update content and profiles on a different server based on users' actions.
- XRDS is used to discover service endpoints on resources and has been extended to provide necessary additional information such as OAuth consumer keys and notification of created relations.
Mediamatic provides documentation for the standards used in the Open-CI system and their semantics (forthcoming).
Mediamatic also provides a number of public services other sites may wish to use:
- The Central Search Service is a crawler that indexes content from the Open-CI network and offers an interface users can use to search the index with OpenSearch.
- The Identity Service returns a user's original Open-CI site based on a given hash. This makes users identifiable while maintaining privacy.
- The reference implementation for the PubSub (XEP-0060) server is written in Twisted. There also is a HTTP gateway component to the PubSub server which is available as the Idavoll HTTP interface.