What is SONIC about?
Online Social Networks (OSN) have already become an integral part of our daily online lifes. We communicate with each other, play games, exchange information and files, and keep contact to our friends and relatives. We believe, that OSNs will continue to grow in importance for our communication habits and social lifes in general and become a general platform for online communication and information exchange. This requires a standardized and open way to exchange information, so that everyone can participate - without being restricted to a certain software, service, or company.
Unfortunately, OSN platforms nowadays are mostly centralized and proprietary solutions, which restrict their users from freely communicating with other platforms. This well-calculated lock-in effect is used to keep users to switch to a competitors OSN solution, as doing so would result in loss of connection to one’s online friends.
We believe, that everyone should be able to choose - and even change - the OSN platform he or she likes most without being cut off from communicating with others that are using a different OSN solution or losing any data.
Sounds like Diaspora or Friendi.ca?
Diaspora and Friendi.ca are open source distributed OSN platforms allowing users to host their profile on any server they want. Though, neither Diaspora nor Friendi.ca addresses the problem of inter-platform communication or migrating profiles between different platforms.
So SONIC is a new Online Social Network?
No. Similar to OpenSocial, SONIC aims to become a standard for all OSN platforms. By implementing the protocols proposed by SONIC, OSN platforms gain the ability to communicate with other OSN platforms in a seamless fashion. The result would be an open, decentralized and heterogeneous Online Social Network Federation (OSNF)
Aren't there existing apps that allow you to link your social profiles in different OSN?
Yes, there are! But these apps do not solve the problem as content such as status updates is merely duplicated and published in all connected platforms. Hence, users need to maintain a user account on each connected OSN platform. This is equivalent to a scenario, where you need a mobile contract with each mobile network provider in your country, as you can only make phone calls to customers of the same provider.
So how does this work?
SONIC mandates that each OSN platform communicates via a REST-style API with all other compliant platforms. All data is formatted according to the SONIC standard to ensure that it is interpreted correctly.
How are users addressed?
SONIC introduces a novel identity management, which assigns globally unique and domain-agnostic identifiers to users. All identifiers are managed by a distributed, global directory service, the GSLS.
Can I see some actual code?
Head over to GitHub and fork the SONIC SDK: https://github.com/sgoendoer/sonic