Loomio
October 17th, 2012 14:36

Interoperability with other social networks

Petar Petrović
Petar Petrović Public Seen by 108

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.

KK

Kevin Kleinman October 17th, 2012 17:00

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ć

Petar Petrović October 17th, 2012 17:43

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.

KK

Kevin Kleinman October 17th, 2012 17:55

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ć

Petar Petrović October 17th, 2012 18:47

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

Sean Tilley October 17th, 2012 20:45

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.

KK

Kevin Kleinman October 17th, 2012 20:50

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

Sean Tilley October 17th, 2012 21:08

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.

KK

Kevin Kleinman October 17th, 2012 21:22

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

Sean Tilley October 17th, 2012 21:34

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.

S

SleepyDaddySoftware October 18th, 2012 05:47

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?

goob

goob October 18th, 2012 11:00

Isn't this a human problem more than a technical one? I.e. it's a case of everyone who is working on open-source social software agreeing on which protocol to adopt, rather than a technical issue. A standard is merely a protocol which enough people have agreed to use, isn't it?

I don't know anywhere near enough to make any recommendations about which course of action to take, although it might be best to wait until it becomes clear which protocol is going to work best for Diaspora. By the sounds of it, tent is in fairly early stages of development, and there's Zot2/RED being developed as well. I'm sure there are a few others.

It would be a shame to nail our colours to one mast too soon and find out, once all the work of making D* compatible with that protocol, that actually it has a lot of security holes which make D* less attractive as a network (or something like that, some big flaw which causes problems).

I'd suggest, for the time being, discussing and voting on whether we should aim for D* to be part of or adopt a standard in the future, when there is one protocol which it is clear will be good enough for D* and open enough to become a standard for all decentralised social interactivity. But not jump on to one particular one too soon, just because it looks promising in the early stages.

Definitely keep an eye on what progress is being made on the various attempts to achieve this, and perhaps support the people working on these; perhaps with donations; perhaps also by talking to them, discussing with them what D* would need their protocol to be in order for it to work and for D* to move onto it, hear from them the issues they're facing and think how these issues might impact how D* is developed in the future. And that way hopefully speed the time when it's possible for D* to adopt one of these protocols.

As D*'s code base becomes more modular, it should hopefully be a lot easier to adopt one of these protocols.

It sounds like an excellent idea in principle. I'm all for collaboration rather than competition between projects.

Rasmus Fuhse

Rasmus Fuhse October 18th, 2012 13:45

I am not so sure if tent is a good protocol at all. To me a protocol should be a way how different servers can communicate with each other. But tent is even more. It demands from all servers to use special technology like oauth2 or it uses very special urls. A PHP-server that wants to implement the tent-protocol would need mod-rewrite for correct urls for example.

It hat however some very sweet attributes. It's apps are absolutely nice and seem to work exactly how I would have thought about apps in Diaspora.

But there are some problems in the tent-protocol:
- It demands special technologies from the implementations, which might be restrictive for different softwares.
- It has until now almost no userbase. So adapting the protocol wouldn't do any benefit for Diaspora or any other system that a code-rewriting of the Diaspora-protocol couldn't do.
- It is not open source. Yet? Probably yet, but who knows? Right now it is >>impossible<< to implement tent for a FOSS like Diaspora.

The protocol itself might work well, but so does the libertree-protocol or OStatus. Why not implement one of these with a larger userbase? Because of the apps? Okay, but all other protocols could be extended by the same app-infrastructure that tent is planning to have.

JS

Julian Steinwachs October 18th, 2012 16:42

For me i would make much more sense to focus on OStatus and make an (optional) privacy extension for that. I like the fact that basically all wordpress installations can be made to full featured OStatus publisher-servers just by adding some plugins. Also I thought most of the protocol is allread implemented. Like salmon, webfinger and actifitystream.

KK

Kevin Kleinman October 18th, 2012 17:00

@Good and Rasmus: I agree that we shouldn't think too lightly about adopting a certain protocol. It would require a lot of work from the Diaspora team and it has to be worth every single minute spent.

What I suggest is to monitor zot and tent to see how they evolve, how they work and how they could work for Diaspora. In the meantime a lot of the legacy mess can be sorted out. Sean has been talking about moving federation into it's own module for a while now and no matter what we do, making things more modular remains at the top of the current to-do list. Then there's also things like designing a new single-post-view and cleaning up other views. Tent or zot would be limited to the federation part; anything else that is being done to make Diaspora a better app benefits the app, no matter the protocol.

Sean Tilley

Sean Tilley October 19th, 2012 01:08

Here's the way I see it: over and over again, these different decentralized social projects have been re-inventing the wheel, and for whatever reason, they haven't done much to communicate cross-project. The few exceptions I can think of are StatusNet, Friendica, and Movim, but there's way more networks out there.

What I like about Tent is that it's not just a protocol specification, it's also an example of how a decentralized app authentication system could work. Although it would be premature to just say "Let's adopt this!" without further investigation, I think there's a particularly captivating way that this could play out.

Imagine being able to log in to a web application, with the platform of your choice being your form of authentication. So, you could log in with Diaspora/Friendica/Libertree/whatever, but still have full control over what data is being pulled by the app. Furthermore, you could talk to all these different people on these different platforms and networks. Needless to say, it's promising, and I think the future of the Open Web could certainly benefit from it.

The main issue I see with this is traction. It's difficult to get a standard to catch on without projects and people to back it, but I feel that if a lot of decentralized socnets get involved, we could help make a really strong standard. We all have different pieces of the puzzle, and we've all dealt with a range of problems, some of them have been shared by multiple projects, others are unique to each one. Either way, I think if we come together, we could actually learn quite a lot.

I'm Skyping with the Tent guys tomorrow, and working on talking to different socnet projects about where they're at, and if this vision is something they'd like to be a part of in the future.

Flaburgan

Flaburgan October 19th, 2012 10:46

First, I totally agree that every socnets has to be able to talk between them. I said that a long time ago.

Second, I'm not sure that tent is the perfect answer to that. Tent is something completely new. And as every thing completely new, it is too young to do anything. It will be a lot of secure problems, things we didn't think about...

So, why don't we use something which already exist ? Look at the movim project. They build it on the XMPP protocol, already used by a lot of projects (Google and Facebook for chat, but jappix, movim, etc...). We should talk to movim developers.

Third, warning, this is a totally crazy idea : why are we using http ? We already have something really awesome and underestimated : SMTP. Think about it. E-mails are completely decentralized. And the protocol is really old, really mature. It is easy to put security on it with S-Mime or PGP. And... everyone already has an e-mail address. And with Mozilla Persona, log in is really easy.

So, why don't we built something on an e-mail server ? Just an interface. Kind of webmail. Just a different way to display e-mails. Think about it. Private message ? A simple mail. Message to an aspect ? Everyone of the aspect is in "cc". Want to mention someone on the message ? He is in "to". Want to share images, or anything else ? In attachment. Reshare ? This is forward. Your stream is your reception folder, your profile, the send folder.

Everything already exists. Everything works well. You can talk to everyone in the world, everyone has an email. And if he doesn't use the social interface, he can read the e-mail correctly, he just doesn't have a beautiful display. You can talk to EVERYONE.

It would be easy to install, too. Because it is only an interface.

The only problem I see is that e-mails send cannot be edited or deleted, so, this can not be implemented in the "network", but if the users understand that this is just a better way to display e-mails, they will understand that they can't delete them after sending.

goob

goob October 19th, 2012 11:19

Any standard to be adopted would have to be a FLOSS project, wouldn't it? Not being free and open-source software would be a deal-breaker, wouldn't it? At the moment, tent isn't, but it might become so in the future. But I can't see it being a good idea to build a FLOSS project on a standard which is proprietary, or not fully free and open.

Would it be worth talking to the people behind other open social net projects such as Libertree, Friendica and so on at this point? If we could jointly discuss:
a) what the thoughts of people behind different projects are about searching for a protocol to adopt jointly as a standard,
b) what requirements their project would have of any protocol in order for it to be adopted by them,
c) and which of the available protocols out there might fit the bill,
it might help a lot towards achieving the 'human' side (finding general agreement) of adopting a standard. Not sure if anyone has contacts at other projects or would like to take on this task.

I'd be concerned about using SMTP because it would be very easy to get black-listed as a spammer if mails are sent out to large numbers of recipients, which could lead to the network falling down. Also, my understanding is that in the SMTP protocol, data are 'pushed' from the sending server to recipient servers when the originator presses 'send'. In Diaspora, data are 'pulled' by the recipient servers when the user logs in. This latter method means that data are only needed to be transferred when a recipient wants to see messages. This means a lot of data doesn't need to be transferred, if recipients don't log in. Apologies for the unclear wording of this, but hopefully you understand my point. Using SMTP would seem to put unnecessary strain on servers and increase traffic. Email is known as a highly inefficient method of sending data in bulk. I may be misunderstanding something about Flaburgan's proposal, but that's what comes to mind initially.

This is a good discussion, and exciting.

Flaburgan

Flaburgan October 19th, 2012 13:32

@Goob : SMTP is certainly not the perfect solution, my point was that maybe we don't have to invent something new but start by looking at what already exists and works well.

goob

goob October 19th, 2012 14:10

Fair enough - it would definitely be good to discuss all options, and that's good lateral thinking about SMTP.

Joshua Vial

Joshua Vial October 20th, 2012 01:19

What about starting a stand alone loomio group that could be neutral territory for progressing this conversation?

Then you can invite reps from the different socnet communities and host a wider conversation about standards and interoperability.

JS

Julian Steinwachs October 20th, 2012 07:41

A privacy extension for Ostatus shouldn't really be that hard. At least for a scenario where the subscription server (the webapp) has the same rights as I as user. This would of course imply that you have to trust not only your contacts but also their podmins. But at least I have made my peace with that.

A tier 2 security can of course allways be built on top of the other for the tinfoilhats.

I see private messages and conversations as a fully parallel/seperate problem. We could use the jabber protocol for that or come up with a protocol that is similar to Ostatus. Maybe Omessages?

For private data storage there is allready Oauth, which is playing niceley with Ostatus i think.

Such a modularity would help to make to protocol more versatile as well as easier to implement.

Jason Robinson

Jason Robinson October 20th, 2012 12:48

Don't we already have the federation working group - shouldn't this really be there?

Sean Tilley

Sean Tilley October 20th, 2012 14:15

From everything I understand about OStatus, it's great for building a Twitter clone, but it's very limited for doing much else. Not to mention, as a protocol it has virtually no support for private posting. It doesn't cover very many use cases, and IMO, it'd be better to build together on something younger and more suited to being influenced by third-party change. OStatus, conversely, is much older, and I think a lot of projects would be facing an uphill battle trying to get it to fit their use cases. By design, it only really applies to a StatusNet-like use case.

Rasmus Fuhse

Rasmus Fuhse October 20th, 2012 17:54

I know, that idea with SMTP was only an example and an enforcement to think of alternatives. But my experience within social networks is this: direct messages from one person to another person are an outdated form of communication. People are used to group-discussions like discussions on threads in facebook, that are real-time. If such postings can be private to a restricted but extendable audience a social network doesn't need something like an email anymore. Your proposal for smtp is a nice idea, but a social network based on that would only be a subset of email and any real-email-user participating who is not clicking "reply" instead of "reply all" would totally destroy the flow of messages.

And now for something completely different: I really enjoy this discussion. Your ideas are all totally great and I thin we are heading into the right direction. I can't wait to get to know the protocol, that is going to be the standard. If it's Ostatus2, libertree, red or a revised tent, I don't care. But I wanted to work on adapting a federated protocol for a platform (Stud.IP) that is highly used on universities in germany. I already have created the social network-gui-functions, people who tested it enjoyed the function and it works within one server. But I still need to do all the work for the federation. My first thought was to implement OStatus. But whatever protocol you will pick here, I am going to implement it for a large new userbase.

Petar Petrović

Petar Petrović October 21st, 2012 06:11

People have said a lot of things that I wanted to say in the first place.

The problem with Tent right now is that it isn't open source. Maybe it will be one day, but that day may never come.

What I wanted to propose is to create an open standard, named, for example, Internet Social Contract, which would specify how data is structured, what kinds of various information can be exchanged between users and socnets, and it wouldn't care about the actual implementation. Some socnets might use SMTP, others might use OStatus, etc.

I wanted to develop a standard that would be implementation - neutral, and then every socnet that conforms to Internet Social Contract would be compatible with every other socnet implementing it. We can, for example, exchange data in pure XML between networks and users, and then write hot pluggable code that will deal with the actual implementation.

It is important to note that the standard would be completely open and free, otherwise it defeats its purpose. I am willing to dedicate my time and resources for this, only if we agree that we all need an open standard for exchanging data between different socnets.

JS

Julian Steinwachs October 21st, 2012 09:03

@petar i think what you are looking for is http://activitystrea.ms/

The protocol has to be modular to allow a hirarchy of compelxity, so that not everyone has to implement everything in order to communicate with the network.

Petar Petrović

Petar Petrović October 21st, 2012 11:46

@Julian Yeah, this is something that I was talking about. However, I think it's not as modular as it should be, though I've only taken a look for a few minutes.

JS

Julian Steinwachs October 22nd, 2012 13:56

Summed up my thoughts on Ostatus in this (longer) blogpost: http://tschaul.tumblr.com/post/34096733944/ostatus-state-and-potential

Flaburgan

Flaburgan October 23rd, 2012 08:45

I think we should ask guys who have a big experience with communication on the web. We can talk to Mozilla, for example. They made a lot of standards, validated by the W3C. Maybe they already work on something like this ?

Flaburgan

Flaburgan October 25th, 2012 09:49

I find this on the W3C website : http://www.w3.org/TR/2012/WD-push-api-20121018/
This is the future..

Petar Petrović

Petar Petrović October 25th, 2012 11:33

The problem I see with these standards is that they are not truly decentralized. I mean, you still have centralied PuSH servers and the like, which is essentially not good. What if we made a standard that was truly decentralized, like DNS? I think that would be kind of cool.

JS

Julian Steinwachs October 27th, 2012 08:16

Maybe we should make a wiki-page where we collect resources about protocols that are out there. Something like literature study on this topic.

JS

Julian Steinwachs October 27th, 2012 16:36

Started a page here: http://wiki.diaspora-project.org/wiki/Distributed_Social_Network_Protocols

Right now its not more than a very incomplete list of links.

Sean Tilley

Sean Tilley October 29th, 2012 19:49

Directly relevant, from Daniel Siders of the Tent project.

"All the software we've released (tentd, TentStatus, and TentAdmin) are MIT licensed, so absolutely. We wanted the open and commercial people to be able to use it however they wanted."

@Petar This means that Tent is indeed Open Source, and may actually provide some solid groundwork to build upon for federation.

The benefits we could gain include:

  1. Federation compatibility with Tent servers.
  2. Compatibility with existing Tent apps, both on the web and mobile.
  3. Two communities working on building a better standard while it's still in the earlier stages of development. The insights both projects could give to one another could actually be quite valuable.
  4. Some inspiration on how to improve our handlers for incoming/outgoing posts.
Sean Tilley

Sean Tilley October 30th, 2012 03:15

Proposal discussion for restructuring for Tent compatibility here, feel free to chip in any insight, or make a counter-proposal discussion using a different protocol to build on top of.

DU

[deactivated account] October 30th, 2012 09:12

This would be so important to have. Also, having a group of three to support whatever turns out to be the thing, would be good. E.g. if Diaspora, Status.net and Friendica would all introduce support at the same time, it would be an awesome symbolic act that the social nets besides the walled and profit driven FB and Twitter are willing to work on this together. It would be a huge argument to convince people to make the switch. But this is somewhere in the future. I like the shape this is taking so far.

DU

[deactivated account] October 31st, 2012 00:05

Also tried to spark a discussion on identi.ca, but the results are not that great yet I guess: http://identi.ca/conversation/96766425/replies

Thought it would be great to have them join the discussion. :3

MN

Mikael Nordfeldth October 31st, 2012 00:29

I'm not sure where Kevin Kleinman and Sean Tilley get their desinformation from, but it's definitely not the specification of ostatus.org or the reality of interconnectedness between various social platforms (namely StatusNet, Diaspora* and Friendica).

Tent.io is trying to solve a problem that doesn't exist with a solution that is less flexible than the already well-established millions-of-implementations OStatus protocol.

If there is anything work for interoperability should focus on is what Petar Petrović touches upon and Julian Steinwachs very much speaks about and what I mentioned above: Ostatus.
Diaspora and StatusNet already talk very much with each other over Ostatus and exchanging private posts are only a standardisation away. (my favorite idea is to use GPG encryption, which fits in easily together and is well-established too)

Tent.io also forces requirements of specific API endpoints which are only applicable on HTTP and I have not seen any thoughts on interoperability with networks such as XMPP (which has already been experimented successfully with for OStatus).

Sean Tilley

Sean Tilley October 31st, 2012 10:09

Granted, OStatus may be great for a number of things, but many of the projects I've talked to about OStatus have said it's just too limited in what it can do. For the most part, OStatus is relegated largely to microblogging, rather than a full-blown social app.

Tent, conversely, is centered around:

  1. Federation schema standardization.
  2. Decentralized app authentication.
  3. Control over what apps can see what data.
  4. Providing specifications and a framework to a number of use cases that aren't just microblogging.

That being said, it'll be interesting to see what's going to be done with OStatus now that it's a W3C project.

Sean Tilley

Sean Tilley October 31st, 2012 10:17

Also worth a look.

MN

Mikael Nordfeldth November 2nd, 2012 10:21

The thread over at http://loom.io/discussions/1017 just increases my support for OStatus.

And decentralized app authentication? That's OAuth (or if one dares, OAuth2). Just add it to the mix and OStatus has a defined way of letting third-party apps access specific data and

A very important problem that may arise when discussing "what data is available" for remote apps is the standardisation issue. Given that everything in OStatus is modeled around ActivityStreams (which closely matches Facebook activities) - Tent.io has to model along these lines or it will make interoperability harder.

Given that Tent.io uses Activitystreams for activity modeling, I guess it won't really matter what direction interoperability takes, as it'd just be different means of feed pushing or API endpointing.

MN

Mikael Nordfeldth November 2nd, 2012 10:26

Also, I have no idea where that "just microblogging" stuff comes from. OStatus is far more extensible even in its current state. The protocol allows for users, groups & pages - and subforums for each of these entities and whatnot.

If a certain instance doesn't support the specific application, likely it would just throw it away or handle it in a more basic manner (like subforum relations might go away but each ostatus:attention will still receive a representation of the post/thread)

Sean Tilley

Sean Tilley November 2nd, 2012 16:06

Mikael, please check this thread, one of Tent's core team members explains why they didn't go with it. It's not like they're saying that OStatus and ActivityStreams are bad, it just means that there are design limitations to both, and to better suit their needs, they decided to rewrite from scratch, basing their ideas on concepts they liked. It's been said that OStatus would've needed some heavy refactoring to support what they wanted to do.

DU

[deactivated account] November 2nd, 2012 23:20

Mikael: Great to see you here. :)

I can't judge the details being discussed, but as said, I think this discussion is important and I'd love to see more status.net dev involvement. Wether OStatus OAuth or Tent.io: it would be great to get this solved with all parties involved.

JS

Julian Steinwachs November 4th, 2012 08:01

tent is basically a dropbox for json and files. You put things in your "folder" share it and it gets replcated to the folders of your friends. They can interact with it and these interactions get synced back. Thats a very simple concept a lot of peope understand.

In that way tent offers a hirarchy of complexity. As a user you dont have to understand more than this conecpt. As a developer for apps you have to understand only a little bit more, but it still is about as easy to do something as with twitter. Then only at the server level you have the full complexity, which you can just leave to the nerds.

For Ostatus i don't see a simple concept or a hirachry of complexity. In Ostatus every participant of the network speaks to everyone with an abundance of protocols. Every protocol has its own concepts. Its hard wrap your head around all of this, privacy and files even being out of scope.

A protocol should provide a solid platform with simple mechanisms, that circumvent as much complexity as possible, even at the loss of versatility. The reason we are stuck with email is not, that we did not come up with something "better" but because we did not come up with something "better" and as simple as email.

Rasmus Fuhse

Rasmus Fuhse November 4th, 2012 20:50

I know we are quite off the original topic right now. But your comments (especially Flaburgan and Julian) here made me think a lot about compatibility with email. SMTP is probably not best for building a social network upon. But the original topic was "interoperability with other social networks" and we should probably have a serious look at email there.

I wrote three pages down describing how my ideal social network would look like. I focussed on ostatus, but I am not a fundamentalist there. If there is something more useful, we could exchange ostatus with that in my draft.

http://krassmus.virgo.uberspace.de/socialnetworkdraft.odt

JT

Jaussoin Timothée November 8th, 2012 18:44

Hello, I'm Jaussoin Timothée (aka edhelas) founder and main maintener of the Movim project. I'll follow your discussion and answer all the questions you can ask about Movim and more generaly XMPP. So please don't be shy, I think we can built beautiful things together :)

Petar Petrović

Petar Petrović November 10th, 2012 19:40

There's a lot of politics involved in this whole thing. Everybody is doing their own thing and in the end no one ends up as compatible with anyone else. Things are just not working this way.

What I would like to see in the future is an open standard that is completely agnostic, or to put it more precisely, a standard that would support anything, like, everybody is doing their own thing, but also have an interface to talk with others. If you know what I mean. How about that?

JS

Julian Steinwachs November 11th, 2012 10:31

I dont think that would work. To attract developers as well as users, it needs a solid basis, which just does what is says, so anyone can build on top of it. Not a loose web of interfaces, where you don't know in the end who received your message and who didn't.

XMPP could be such a solid basis. I don't know enough about it. Buddycloud is also using it, together with Activitystreams.

Florian Staudacher

Florian Staudacher November 12th, 2012 13:52

To me it seems like HTTP and XMPP are quite reasonable transports for the job, no argument there.
In the end it boils down to what exactly is exchanged with them.

Sure, XMPP has a lot of the whole 'status', 'contacts' and 'message' stuff already built-in, but I don't see any shared-hosting providers letting you set up a server for that any time soon.
In that regard HTTP is the more flexible transport, since hosting opportunities are out there en masse.
In my opinion it would be ideal if we could - some day - exchange the data with both transports (best effort/fallback).

As for the content ... that's really hard. We've had a few mentions of Protocols that try to improve upon ActivityStream, but none of them really can be considered "the next thing everybody will use" or even just "that's exactly what we need".
So either we go ahead and join forces with the separate projects one by one as we have resources to do so, write adapters and become like Friendika (which I would not favour) or focus on becoming a driving force behind pushing a common, expandable and - above all - easy protocol.

It's just code, nothing can't be changed ;)

Petar Petrović

Petar Petrović November 12th, 2012 18:21

Yeah, I've been thinking about XMPP too, and it seems like it is a solid platform we could rely on.

How about making some sort of interchange servers that would be much like DNS, pod administrators could run their own XMPP server or they could use some other for information exchange? That way, if someone is following a specific hashtag, for example, could see all public posts from all pods, no matter whether the actual pod users are connected with each other. Speaking of that, it could be a completely decentralised network with XMPP exchange servers functioning much like DNS root servers and everything would be truly decentralised in nature.

Flaburgan

Flaburgan November 12th, 2012 22:54

@Timothée : I know you build Movim on XMPP. Can you talk about it and about Moxl ? What were the issues you find using xmpp ? What had you added on Moxl ? We need your experience dealing with it.