Wed 17 Oct 2012 2:36PM

Interoperability with other social networks

PP Petar Petrović Public Seen by 117

I guess this is something that a lot of you have gave a lot of thought to, but I think it won't hurt if I bring up this once again.

Namely, I was thinking about how great it would be if we could have one, open and unified standard for decentralized social networks so we could all connect with each other regardless of what social network we actually use.

I thought about developing an open standard for decentralized social networks which would be implemented in all major decentralized networks such as Diaspora*, Friendica and the like. I know that there were some efforts in establishing interoperability with other networks in the past, but that involved a lot of talk between the developers.

What I would like one day to happen is that we have an open standard which precisely defines how data is structured in terms of personal data, posts, comments and all other types of data one might share on a network. Then, I guess it would be much easier to develop interoperability with other networks because we all adhere to a single standard.

I would like to hear the opinions of other group members on this, because I am willing to dedicate my time and knowledge in establishing such a thing. I think it would be really good if Diaspora* would play nice with other networks.


Kevin Kleinman Wed 17 Oct 2012 5:00PM

Right, so there are basically two options: all decentralised social networks build bridges to allow communication between networks, or all decentralised social networks go with one protocol and that will be the end of it. Personally I am all in favour of the last option because it really saves everyone a lot of time and trouble.

Diaspora is big on users. In fact, it is the biggest decentralised social network yet. Friendica is built on PHP, it technically provides all features but it has less users and sucks on consumer experience. And then there's the brand new tent protocol, which has yet to expose it's true powers but which has a lot of potential. Oh, and Mike from Friendica is building Red.

If we want the decentralised social web to succeed, projects will have to merge on a decentralisation level. Diaspora sucks at this part and I think Friendica has never dealt with a massive userbase before. Diaspora needs a protocol; Friendica needs adoption to prove its abilities.

It is still early so I cannot really make any judgements but I would say that Tent, while still young, potentially can do a lot better than the other two projects. Its vision lies beyond that of Diaspora and Friendica, in that the tent devs do not build the tools their app needs but instead focus on what their protocol should be able to do and what people may potentially want to do with it. By the sound of it, building a Twitter or Facebook clone is the least interesting thing you can do with tent because it allows for so much more. It is supposed to drive innovation; something that Facebook or any equivalent cannot possibly do from here on.

I may be a little bit biased since I am not very active on Diaspora anymore and I've been following tent for a few weeks now but my advice would be to see if their protocol is working as well as they claim it to work. Both Friendica and Diaspora are nothing more than an app; a decentralised Facebook equivalent. They can both exist within tent and by merging with the project on a decentralisation level, we can boost the decentralised web as a whole through tent, instead of boosting app adoption (which frankly doesn't make sense any longer).

Diaspora and Friendica were both started to lure people away from Facebook and to gather as many people as possible on one app so that a decentralised social web could be build around it. Especially Diaspora was supposed to become a giant spider in a relatively small web. Tent is simply building a sea that needs more fish, whether they be small or big. For me, Diaspora is that big fish.


Petar Petrović Wed 17 Oct 2012 5:43PM

I totally agree with you.

I think it is a good idea to develop an open standard because all of the decentralized social networks are in their early development, so I guess it shouldn't be hard to implement a interoperability standard if we make it.

I am willing to engineer an open standard which will be usable regardless of what programming language/platform a social network is built on. Social networks would communicate with each other through some sort of web services, exchange data in XML format or something similar, and most importantly, they should be able to understand each other regardless of what federation protocol they actually use.

I started this discussion to find out what is the general opinion on this, because I don't want to dedicate my time and infrastructure into something that would end up unnoticed.


Kevin Kleinman Wed 17 Oct 2012 5:55PM

I would strongly suggest you sign up at https://tent.is and follow https://daniel.tent.is and https://jonathan.tent.is. These guys are doing exactly what you describe: they are building a decentralised protocol and a few very basic proof-of-concept apps. The protocol is their working field though. Many others have already started developing apps based on the protocol. Apps for iOS, Android, Webapps, libraries in different languages... a lot is happening at the moment and releases are happening as well. For example: these apps allow you to sign in with your tent account: http://essayist.mndj.me/kevinkleinman.tent.is/essay/phc6lq and http://bivou.ac/. This is a wrapper: https://play.google.com/store/apps/details?id=com.jmlares.pitched but real mobile are well on their way. iOS is being beta-tested at the moment and should be released soon.

I trust in their ability to build a better working and documented protocol than the original Diaspora core team and my good friends with little time who are currently shaping up Diaspora. So why not let them sort the decentralisation stuff out while we turn Diaspora into a fantastic app that, with it's big userbase already, can help dethrone Facebook after all?


Petar Petrović Wed 17 Oct 2012 6:47PM

Yeah, but Tent still cannot communicate with Diaspora* or any other network. What I would like to do is create an open STANDARD, not a protocol, which would then be implemented in all social networks and protocols so we can all communicate together.

I am sure that guys at Tent are doing a great job, but that stops there - there is no interoperability.


Sean Tilley Wed 17 Oct 2012 8:45PM

Petar, I think part of the point of Tent is to indeed have an open standard, not just a protocol. They have an open protocol, as well as several example applications to show how it's done.

Think about it like this: If a few different decentralized socnets all want to be Tent-compatible, then they can all contribute towards the existing protocol, which can evolve into a standard based on the input of these different projects.

Right now, Tent.is is one such instance of Tent, running as an app called TentStatus. It kind of works like a Twitter clone, and it federates with other Tent instances.

Having a good protocol is only half the battle, though. The other half will be restructuring how a pod itself handles the incoming posts from federation, which is easier said than done.


Kevin Kleinman Wed 17 Oct 2012 8:50PM

Or we rewrite Diaspora and Friendica as tent apps and thereby instantly turn tent into the de facto standard which will then end the discussion for once and for all... http://xkcd.com/927/

Not trying to be teaching or something but if there is one problem, then it's that everyone wants to build something which they believe should become the standard and each of those standards is looked down upon as "not suiting our use case" which results in those "standards" never becoming a standard in the first place. Then we have to build more bridges.

Tent's goal isn't just to come up with a protocol. They want to standardize what they've got and they are very serious about it. So instead of building bridges which require all decentralised networks to collaborate, lets just adopt the most complete and expansive thing out there and build on top of that. We can kill all the poor standards and protocols in favor of something more commonly adopted, which would draw way more developers than a splintered community such as Diasfriendentica. Please remember that there is no competition on the open social web. One project cannot kill another project; it can only kill itself by being too stubborn and too unexperienced. I have seen different projects growing into different directions for the sake of it and none of them had a significant break-through.


Sean Tilley Wed 17 Oct 2012 9:08PM

I don't know whether Friendica Mike would be up for that personally, especially with all the work he's putting into Zot2/RED. It'd be nice to get the Friendica community to talk to the Tent guys, though.

I have no idea what would go into making Diaspora a Tent app, but if it benefits both projects and helps push forward the agenda of decentralized social networking, I'm all for it. As it stands, this thread is intended to be a discussion over the merits of doing it, and what kind of problems we'd have to face, should we choose to do it.

When the discussion is far enough along (need moar commentators up in here!), it'd be good to make a proposal and vote on it as a community, as this is definitely a big deal.


Kevin Kleinman Wed 17 Oct 2012 9:22PM

I'm not the right person to talk about technical implementations but I think Diaspora could settle with supporting the standards while building in some translations under the hood. Tent and Diaspora are both very different, or maybe not different enough, to really merge. Both host the user data and both do it differently. I'd probably talk to tent in tent's native language, though that doesn't take away the fact that Diaspora has it's own weird language.

The only way to really merge with tent would be to turn joindiaspora into a tent hosting provider which provides Diaspora on top. That means separating the app from the host and that would be a huge undertaking. So then I'd probably try to apply tent's rules wherever possible while maintaining workarounds elsewhere. Following people, receiving posts, managing aspects, should all be possible in tent's language, whereas user@diaspora would probably need an user.diaspora equivalent to make things work.

Gah, it's so complicated! :3


Sean Tilley Wed 17 Oct 2012 9:34PM

Maybe a total merge would be overkill at this point, but seeing as we want to put federation into a layer anyway (some kind of hot-pluggable federation backend system might be nice), maybe we just want to be compatible on a federation level?

Of course, it'd be nice to have the benefits of "Log in with Tent" for apps. I guess we'd have to figure out the best strategy to use, and the best point of attack. To me, being Tent-compatible through some refactoring and restructuring may be good enough for now.


SleepyDaddySoftware Thu 18 Oct 2012 5:47AM

I like how Tent allows many kinds of apps on top of the same core tent protocol. As far as I know, the apps don't even need to be self hosted (a tent app could be an iOS/android app without its own backend), although they do require registration, which might require a homepage at the very least, and possibly a redirect_uri?

Applications can then post to your feed using either the standard formats for maximum interoperability (I think tent.is supports "status" format messages for tweet-like posts when you use the free account, and essay/photo/etc... posts for paid accounts). Or apps can define their own post format to be anything they want.

This is, in my opinion, tent's "killer feature". As some have already mentioned, rather than be yet another facebook-like service, tent is a platform and ecosystem on top of which any app could potentially be written.

Although it doesn't go all the way, this seems like it's really one step closer towards a Personal Data Store (PDS) future, where app developers like me can take advantage of the user's existing tent server for some limited cloud storage, instead of having to pay for my own cloud hosting service. Users, on the other hand, get to take control of the data that apps like mine can store - because that PDS may be hosted on their own personal tent server, or else their tent server might have account settings letting them export their app's isolated storage data or import data exported elsewhere, or to delete that data entirely.

But, now that I think of it, you could always just have a PDS/VRM app on top of tent... Hmmm.... interesting...

Anyway, some good questions to ask before we even consider taking the tent route:
1) Is Diaspora going to be a tent server implementation in and of itself, or just an app? Both?
2) Currently "Tent" is still under Copyright for Appollic Software, INC to "prevent fragmentation". It is unclear what this means, because it also states that it is a free and open standard, which seems contradictory to me. They say they're going to release it under an open license, but I've heard that song before.
3) What features do we lose when we use the standard tent post formats? Can we still do aspects? What about tag following? Likes, reshares? Threaded comments on posts? Can we do this without just creating our own proprietary post format (because of course that wouldn't be compatible with anyone else).
4) If we implemented Tent protocol - what would happen to users' existing posts, aspects, profile, private messages, photos, and so forth?

Load More