top | item 1334274

So what would we need to implement an open alternative to Facebook?

28 points| wherespaul | 16 years ago |reddit.com | reply

44 comments

order
[+] ErrantX|16 years ago|reply
So, here is what I suggest someone does:

- A "drop it in and it works" wordpress like app that acts as someones homepage/social network interface so people can host their own pages

- - include oauth/openid in the app so the homepage can act as a central login too

- - drop pubsubhubub or something similar into the app so that people can share information with their friends and followers directly

- implement a central website to act as a "search" clearing house (search for names and email addresses which resolve to url's). All it will store is name and a hash of your email (with options to store more if the user allows).

- produce a "web bar" like the blogger one to go at the top of the web app - so people logged into their "network" get easy tools when on other peoples pages

All of this exists in parts already (oauth, pubsubhubub etc) so it's just a case of drawing it together.

[+] jasonlbaptiste|16 years ago|reply
This is by far the best, most realistic, and most useful spec I've seen. I would use this. Drop in easy ala wordpress is the key.
[+] DennisP|16 years ago|reply
Search for friends on Facebook and the top result for "John Smith" is the one in your own social circle. It's not just a raw search for a name.

You could have a central database with all the friend relationships, but you don't need that. You can search the way some P2P networks do it. Send the request to all your friends, who forward it to their friends, for a certain number of iterations. When the target is found it can reply to you directly.

[+] jcl|16 years ago|reply
Maybe I'm missing something, but wouldn't a site that maps names and e-mail hashes to a homepage URL make it really easy for a spammer to take a list of name/e-mail pairs and find the ones that are in active use?
[+] mrkurt|16 years ago|reply
What "we" really need is a whole bunch of people to use it. An open Facebook alternative isn't a technical problem.
[+] lallysingh|16 years ago|reply
It might work well for corporate hosting of pages -- a work-life social network makes a lot of sense as a separate entity from our private lives.
[+] rue|16 years ago|reply
I think stopping thinking about and in terms of Facebook would be a good first step.
[+] jcdreads|16 years ago|reply
Well, except that when most people say "Facebook" they mean "a place online where I can look up and interact with my friends and family". That's a perfectly reasonable thing to want, and many people do.
[+] rit|16 years ago|reply
I'm not sure why exactly we "need" an alternative to Facebook.

But why not leverage what's already out there. I recently killed my Facebook account out of frustration from seeing their social widget all over the place. But the main reason I was using it was: a) People who felt the easiest way to do event invitations was through facebook by way of a point and click here's all my friends in one place interface. b) People sharing Photographs with groups of friends w/ discreet privacy interfaces.

The C) of this list is all my friends who aslo have twitter accounts who add #fb to the end of every.damn.tweet because that's some kind of special operator to "update their profile message".

The question I put forth is why not create a thin layer to pull together the services which provide these already? Twitter already does short one line status updates. Flickr has discreet friend-level privacy settings. There are 8 billion easy to use invitation services. There are other photo services which I'm not familiar with like Picassa which likely do the same.

Rather than reinvent the wheel - we should be pushing for some kind of OAuth or OpenID services to tie these things together CLEARLY. Maybe a simple one-stop page to manage relationships with people, and your services. Your "profile" page can simply be "rit stores his photos at Flickr." and a link to those (or show them inline). But nothing stops me from having a friend who does things on Picassa.

The last few iterations of Facebook seemed to me designed to be more and more like Twitter. Why reinvent the wheel when you can just integrate?

[+] weego|16 years ago|reply
Is this a completely arbitrary use of the term "open" or am I missing something? What does it even mean in this context? How does using "open" systems address any of the concerns they mention. The moment you upload any data to a server that is not your own I don't see how any solution is any different to Facebook because the person with the datastore can do as they please, good or bad.

And a question: is it coincidence that popular products are always heavily controlled by a handful of peoples (at most) vision of their product and not "open" design by committee products?

[+] DennisP|16 years ago|reply
But if it's not a single entity controlling the whole thing, then if the entity controlling your data acts badly you can change to a different one. If you're paranoid and knowledgeable you can run your own server.

Popular open systems: Email. XMPP. The Web. The Internet.

[+] robryan|16 years ago|reply
The central server would just contain a reference to your data. Your data would remain on your own hosting or a 3rd party of your choosing and updates you post will only be pushed to your friends. That's how I'm getting the general idea.
[+] rythie|16 years ago|reply
All of the stuff that would be needed already exists, it's just not being used yet.

  - A standardized personal information representation = Social Graph API
  - A centralized database with pointers to user profiles = Social Graph API
  - A security mechanism = oAuth
  - An information delivery mechanism = PubSubHubbub + Activity Streams
  - Easy deployment = buddypress, onesocialweb and others
[+] mattmiller|16 years ago|reply
Your right. But this will never take down Facebook. FB is more of a marketing achievement than a technical one. Who is going to put in the work to market open FB if there is no upside?

I don't think we need an open FB, I think we need a few companies specialize in smaller portions of FB. One company runs the graph, but does not do messaging, or IM, or photos... Then other companies use that companies graphs to build on. These companies should all be for profit, otherwise I don't think they will be able to out-market FB.

[+] gokhan|16 years ago|reply
In such a decentralized (pushes of feed updates, for example) architecture, how do you revoke a given permission? The data is no longer yours once you pushed it to some other dude's server. DRMing little chunks of data would also be expensive and time consuming if you check every feed item you can see all the time from publisher's servers.

Facebook, also, is not just profiles and the feed. How about events, in a decentralized way, for example? Will a single accept will be amplified to the rest of 500 people invited?

For the profile part, my basic identity is my email address. Implement something on the mail server that I can manage and let that be my profile. Emailing a specific command to [email protected] results my profile as the attachment, for example.

[+] pyre|16 years ago|reply
So it would just not come with a delete function. Once you've given someone a piece of information, it's hard to revoke it anyway. If you published a phone number to a bunch of friends that you didn't want to have the number, the protocol could allow your client to contact theirs, and ask to delete that information if it exists. Sure their client could refuse to abide by that request, but it's equally likely that they could have exported that phone number info Outlook/AddressBook or written it down on a piece of paper. How do you revoke it then?

As to blog/microblog posts, the same thing applies. The communication protocol between clients could specific a mechanism to request a deletion, but there's no guarantee that their client would obey. But there's also no guarantee that the other person hasn't already read your post.

Once you send information out into the world, it's very hard to pull it back in. Even on Facebook, if you broadcast information to people, there's no guarantee that they haven't written it down, exported it, screenshotted it before you deleted it or revoked privilege to it.

[+] jcl|16 years ago|reply
The big problem, I think, is that this decentralized system requires "a centralized database with pointers to user profiles". Who pays for and curates this database?
[+] xenonite|16 years ago|reply
An open alternative is necessarily decentralised, standardized and extensible.

Jabber/XMPP is a decentralized contact list with communication and authorization protocols. It is easily extendable with XEP's.

With a sleek web interface that anyone can host himself - this is an open alternative to facebook I imagine.

[+] bbsabelli|16 years ago|reply
Women can host these too!
[+] p858snake|16 years ago|reply
What about status.net for the base (what identi.ca runs on), It could easily provide the base for the activity/status feed since that is basically what it's designed to do anyway (And it's open source!).

Then you would just add on the other parts you want to system (for example: pages, apps etc)

[+] zandorg|16 years ago|reply
First, get Oracle to buy Facebook and for Oracle to shut it down.
[+] bbsabelli|16 years ago|reply
I can't help but think of OpenOffice here. By the time it's built, the world has most likely changed and it's irrelevant.

Innovation anyone?

[+] korch|16 years ago|reply
Psst, here's how I think Facebook is going to unravel itself: just like Microsoft not seeing the forrest for the trees, getting blind sided by the Internet and Google, Facebook sows the seeds of its own decline by pushing the social graph everywhere. Facebook has carved out a nice hub for itself, being the most visited site other than Google, but what all these startup visionaries may be failing at is vastly underestimating the usefulness of an open social graph. If Facebook suddenly finds its social graph baby is appropriated by an ad hoc open network that dwarfs its users, then Facebook loses control of the graph.

How might this happen? Browsers sure have changed a lot in just the past 2 years. Local storage is here today already, but almost no sites are doing anything with it. Google Gears had so much potential, but was too ahead of its time to become a trend. What if your browser stored your entire social graph locally, and you could configure your own privacy settings to only share what you want with sites you visit? That eliminates Facebook from being the master hub of the social graph—they are just another federated end point. As Facebook becomes "spammy" more users will want to block Facebook, so they might be convinced to use a local social graph in the same way hundreds of thousands are using AdBlock and FlashBlock. We already know Facebook will kill links to GreaseMonkey scripts that do this.

Alot of mashups and wild Javascript ideas will have to be seen over the next 8 months or so, but I definitely think the Facebook "diaspora" movement will take off once it's dead easy for end-users to run their own social graph programs locally from their own browser. Just like a desktop app. Perhaps even that might be asking too much of end users, the average of whom cannot recognize the difference between their browser and the Internet. Hopefully Apple will start baking new identity features into the iPad, since you know they will nail it as far as being simple enough for everyone to use.

The Techrunch rumor mill does keep whispering about Apple putting Facebook Connect into iTunes, but it seems more likely that Apple would take them on. Facebook will wish they had their own browser to push back with.

It's probably going to be a great tragedy that Apple is so unstoppable now that they can just roll over any other tech company at-will.