<div class="gmail_quote">On Mar 16, 2013 8:11 AM, "Justin Karneges" <<a href="mailto:justin@affinix.com">justin@affinix.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>
<div style="font-family:'Sans Serif';font-size:9pt;font-weight:400;font-style:normal">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">In thinking about federated social networks, I started to wonder if certain features enjoyed in monolithic systems might not carry over very well to our world. There are many situations where Facebook tailors your view based on its all-knowing graph database, but these kinds of things may be hard to pull off when there isn't any all-knowing entity.</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Take, for example, the case of viewing a Facebook post that contains many "likes". If any of your friends liked the post, then their identities will be placed in the data summarization of that post. This scales well, too. A public post which might have 10000 likes will still manage to include your 1 friend that liked the post in the summary.</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">I'm not sure if it's possible for these kinds of features to exist fully decentralized (or at least not without it being insanely complex), but we of course we don't want a wholly centralized system either. Maybe there's a middleground, whereby complex brainpower can be offloaded to special services dedicated to the task, without putting everything in that basket. I'm thinking of a model like the web and search engines. The web is functional without Google, but Google adds a lot of all-knowing value to those who wish to use it. So, perhaps services like Buddycloud could take care of all the storage, actions, federation, etc, but then separate smart searchy entities could be optionally integrated to augment the experience.</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">The reason I bring this up here is to discuss some protocol. I think all that is really needed for a system like this to work is for the smart entity to act as a proxy. So, when fetching a post, you'd send a request to the smart entity, which then requests out to the post source. If the post has 10000 likes, then the smart entity would need to download all of these and create a customized summarization to be returned to the initial requester. Oh, and of course we'd need a way for the post source to validate that the smart entity can act on behalf of the initial requester. The smart entity should not have full access to everything, but only what it is able to see based its users. The end result is that there isn't necessarily any smart entity that knows *everything*, but perhaps several that independently know enough to get the job done for their users. Like search engines on the web, these smart entities of federated social networks could be proactive in crawling, subscribing to, and caching data, such that in many cases they will immediately have answers for their users without needing to proxy out every time.</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Perhaps this could be accomplished with something like XEP-291 (to allow your JID to vouch for a third party JID allowed to act as you), and SHIM (for the proxied request to stamp who the original requester was).</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Is that it? Can anyone think of a smart feature they've seen on Facebook or Google+ that could not be accomplished with this very simple protocol? Maybe there are some features that absolutely require a central entity?</p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">Justin</p></div><br>_______________________________________________<br>
JDev mailing list<br>
Info: <a href="http://mail.jabber.org/mailman/listinfo/jdev" target="_blank">http://mail.jabber.org/mailman/listinfo/jdev</a><br>
Unsubscribe: <a href="mailto:JDev-unsubscribe@jabber.org">JDev-unsubscribe@jabber.org</a><br>
_______________________________________________<br>
<br></blockquote></div>