Friday, May 28, 2010

Is StatusNet Really an Appropriate Base for a Social Network?

Image representing StatusNet as depicted in Cr...Image via CrunchBase
Why is there so much talk of ditching ? Privacy issues, of course. There's also more. As much as Facebook does (and it does a lot), it fails to do what people need it to. Let's look at Matt Zimmerman's recent post, Optimizing my social network. I'll quote a bit from it.
Here is the arrangement I’ve ended up with:
If you just want to hear bits and pieces about what I’m up to, you can follow me on, or FriendFeed. My and Twitter feeds have the same content, though I check @-replies on more often.
If you’re interested in the topics I write about in more detail, you can subscribe to my blog.
If you want to follow what I’m reading online, you can subscribe to my Google Reader feed.
If (and only if) we’ve worked together (i.e. we have worked cooperatively on a project, team, problem, workshop, class, etc.), then I’d like to connect with you on . LinkedIn also syndicates my blog and Twitter.
If you know me “in real life” and want to share your Facebook content with me, you can connect with me on Facebook. I try to limit this to a manageable number of connections, and will periodically drop connections where the content is not of much interest to me so that my feed remains useful. Don’t take it personally (see the start of this post). Virtually everything I post on my Facebook account is just syndicated from other public sources above anyway. I no longer publish any personal content to Facebook due to their bizarre policies around this.
Mentioned are, Twitter, Friendfeed, Google Reader, LinkedIn, a blog, and Facebook. Matt needs seven services to cover all his bases. Sure, many of the services are syndicated to other services, but he checks some more ( and some less (Twitter).. What happens if I subscribe to the wrong service to follow Matt? Am I relegated to being a second-class social network citizen?

I believe that this situation frustrates the average person as much or more than privacy issues. A lot of people just don't care about privacy, are ignorant of what's being shared, are willing to make the trade-off because of a lack of alternatives, or just don't feel locked in.  You can see the feature creep in Facebook, now many people's main e-mail client, as Facebook tries to be all things to all people.

A week ago, Shashi write a wiki page called "Why build on StatusNet?"  responded to the article with this dent: "GNUsocial, Diaspora, et. al.: use StatusNet to build your distributed social network. It'd be dumb to start over from scratch." While I agree with the second half of the statement (starting from scratch would certainly be dumb), is it fair to ask a developer to build on SocialNet?

I'm no crack developer, but I'm going to attempt to answer this question by Looking at as many of the Facebook features as possible and comparing them to current StatusNet features as implemented, and try to gauge how difficult adding the necessary elements would be. I'm not going to pull punches. "Let's tie a bunch of unconnected services together and we're done" is not a realistic plan for replacing Facebook (and LinkedIn, and your blog, and ...) successfully. I'll be using the Wikipedia list of Facebook features as a starting point.

  1. Publisher: This is the core functionality of Facebook. You post something. It appears on your wall. It appears on your friend's wall in some cases. etc. StatusNet has a similar setup, but it's feed-based network obviously does things a little differently.
    Status(Net): Mostly implemented.
  2. News Feed: This is the first page you see when you log into Facebook. Users see updates and can "Like" or comment on these updates. Photos and video posts are viewable on the same page. StatusNet's "Personal" tab is similar, but is not the page seen on login (on, at least). This is easily changed, but the tab lacks threaded comments and direct viewing of multimedia. There is a gallery plug-in, but threaded comments are much more difficult to do. Do they even want to?
    Status(Net): Partially Implemented.
  3. Wall: The wall is where all your FB updates go, and where people can respond. SN has your profile page, much the same, but there are, again, missing features like comments.
    Status(Net): Partially Implemented.
  4. Photo and video uploads: FB houses many people's online gallery. It handles photos and videos. They can be tagged. There are comments. All this stuff goes to your news feed. SN has nothing like this. The Gallery program has none of these abilities. This is a hard problem.
    Status(Net): Ground Zero.
  5. Notes: This is a blogging platform with tags and images. It's limited, but it's far beyond anything that SN has. The only option is to use a Drupal add-on to turn it into an SN hub. What's missing from Drupal? I don't know.
    Status(Net): Ground Zero.
  6. Gifts: I know. You're a geek. You hate gifts. You especially hate paying for gifts. Other people give me gifts all the time, though, so there must be some interest. SN doesn't have anything, but gifts seem easy to implement.
    Status(Net): Nothing, but not too difficult.
  7. Marketplace: Craigslist on FB? Sure, why not? SN is in the dark here.
    Status(Net): Ground Zero.
  8. Pokes: What's a poke? Who knows? Who cares! Still, SN would need them because I cqn guarantee the absence of them would become a big deal. Again, nothing, though not too hard, I'd guess.
    Status(Net): Nothing, but not too difficult.
  9. Status Updates: This is what SN is all about, but status updates are public. Could privacy happen on SN? I don't know.
    Status(Net): Mostly there.
  10. Events: FB is the event planner and the place to post the pictures after the event. That's really what it excels at. SN? Nowhere?
    Status(Net): Ground Zero.
  11. Networks, groups and like pages: SN has groups and is getting Twitter-like lists, but there are no networks as far as I can tell. I can "favorite" a post, but there is no way to create a page for other people to "favorite/like." Networks should be just designated groups. Likes need to be implemented in other places, and could be added pretty easily after that.
    Status(Net): Mostly there.
  12. Chat: FB chat sucks, but it exists. SN doesn't really have chat, though there are some IRC and XMPP plug-ins which can fake it. They're not private, though. Ouch. Think someone will get bitten by that one? Sure. Tack on an XMPP server to SN, and you're ready to go.
    Status(Net): Nothing, but not too difficult.
  13. Messaging: FB can be your e-mail client. It can even send mail outside the walled garden (last I chacked). SN has a private messaging feature. With federation, this would operate similarly.
    Status(Net): Implemented.
  14. Usernames: FB lets you get a page with your name, unless your name is the same as someone famous, that is. ;). SN has your profile at a nice, readable URL by default.
    Status(Net): Implemented.
  15. Platform: This is probably the biggest thing FB has brought ot the table and Farmville numbers tell you that it's pretty important. Can SN follow? OpenSocial leads the way. Unfotunately, it doesn't have that viral thing going for it.
    Status(Net): Ground Zero.
So ... where does SN stand as a base for Diaspora to build on? Maybe 50% I guess that's better than nothing. I've heard from a mailing list that the Diaspora guys are going to use OStatus. If that's true, then they might want to think about SN. I understand they have already built a base application, though.

What do you thin? Have I missed any Facebook features that SN needs or already has? Did I get something wrong? Do you think that SN would make a decent social network, or is micro-blogging just the wrong model for it?


  1. I absolutely think that the essentials of a social network -- creating an identity, establishing relationships and broadcasting activities -- are already part of StatusNet.

    Building different kinds of activities into the platform is possible because we have a powerful framework for plugins.

    Most important, we've worked out the details of distributed social networking -- OStatus. We have ~25K sites running in a federated network-of-networks, with 1.5M registered user accounts. That's by far the biggest distributed social network ever. Trying to build this from scratch is a bad idea.

    You've made the incorrect assumption that because something's not built into StatusNet already, the platform is a bad way to build that feature.

    You've also made the incorrect assumption that a feature-by-feature replication of Facebook is the best way to build a social network. I think a distributed social network will have different functionality at different nodes.

    Finally, you've got some factual errors in your post that I'd like to correct.

    4. We have file uploads already. Any kind of file. Videos and audio are disabled on but can be done on your own StatusNet site.

    5. You can do unlimited-sized posts in StatusNet. We have a plugin to do HTML editing in-page. I think "Notes" could work this way.

    8. We have "nudges", which are like pokes. Except less pointed, I guess.

    10. We don't yet have event broadcasts, but this may be the most important next step. They'll probably be a core plugin.

    15. Widget platforms like OpenSocial make sense if you don't own the server and you want to deploy code to it. Our software is Free and Open Source; anyone can deploy their own site and write their own plugins or download third-party plugins.

  2. Wow, comments from the man himself! I couldn't ask for a better expert to critique my thoughts.

    I didn't say (or even imply, I think), that StatusNet was a bad way to go. Certainly the most core functionality is already there. I just wanted to try to give the best evaluation _I_ could of what's really needed and how far there is to go. As I said in my conclusion, I figure that StatusNet is 50% of the there (and I think having everything on this list except pokes and gifts is actually important to people), and the Diaspora guys might want to look at you if they don't already have a bunch of code written -- or even if they do, really.

    Of course the plug-in architecture is powerful: I looked through what's available so far and tried to evaluate the platform and the plug-ins if those were available.

    Thanks so much for the factual corrections. I'm not an SN developers (nor am I of any other social networking project). I didn't know about nudges or HTML. I did know about uploads when I originally wrote this article a week ago, but lost that bit of information when I re-wrote the piece after Blogger ate my homework.

    Finally, I mentioned OpenSocial as a way to get what are probably the most important pieces of Facebook -- farms and restaurants -- into StatusNet.

    Thanks for a great piece of software. Keep up the good fight. We need more standard ways to communicate that any programmer can implement and that any company or organization can self-host.

  3. From what I understand at this point, the last thing we need is one particular distributed SNS implementation to dominate.

    We need to evolve/coopt distributed SNS protocols to enable many implantations to coexist in such a way that their instances can talk to each other.

    Third party applications should be able to collect (willing) users data from arbitrary SNS nodes and add unique value to this collective information.

    Above all, I suspect that this field is very very far from being mature, so competing approaches must be present for a working consensus (and running codes) to emerge.

  4. Elgar, StatusNet is promoting OStatus, which is an open protocol based on PSHB, Webfinger, Salmon, and Communication between clients and servers wouldn't depend on StatusNet being the server.

    Social networking is, indeed quite immature, and if you watch the Building 43 interview of OneSocialWeb, you'll see that most people are taking a very long-term view of this (By the way, Building 43 also interviewed Evan about StatusNet and its future -- also worth a watch). Right now, you've mainly got StatusNet's HTTP-based method and OSW's XMPP-based one "competing" against each other. Then there's whatever the Diaspora guys plan on putting out. The Diaspora site says "We’re also getting in touch with other projects in the space. We had a great talk with the guys behind Ostatus [note: that's StatusNet] earlier this week, and we are excited to implement the Ostatus standards." I don't think there's too much more info on that right now.

    The good news about OSW and SN is that they're both using and PubSubHubbub, meaning that there will be a certain amount of interoperability even with competing models.

    Competitors' ace in the hole is that Facebook and Twitter offer no control over branding and content, which doesn't matter at all for individuals, but which is extremely important for
    businesses, universities and schools, and non-profits. Small to medium, federated networks serving a niche and keeping unnecessary traffic inside the firewall will likely be the wedge for this new, open model of social networking.

    This looks to be a very exciting space over the next two years, and I hope that Facebook suffers AOL's fate of being forced open and pushed into the general social networking market.

  5. From a non-technical perspective: I came across a few days ago. Finally, a platform that has true commercial potential!

    As a non-programmer, short of using the 1-click DreamHost installation (which I want to avoid at any cost) I need to find someone or negotiate with the company. Furthermore, the support packages offered are not useful to someone who can't write a line of code; again, I need to find someone.

    Is there a listing of StatusNet experts somewhere?

  6. Teresa, will host at if you like. No coding required. Support the developer!

    A2 hosting:

  7. I saw that option, but the cost to run a large community is prohibitively expensive, but more importantly, there is no way to customize the features.


  8. There are tons of hosting options: Rackspace, A2, etc. Dyta Driven will host a community for under $20 a year. That doesn't seem expensive at all.

    If you want developers to help you with a deployment and need custom features, you can just join the mailing list and ask. I'm sure you'll get some bids.

  9. Thanks again. Unlike everyone else, I actually *want* to spend money at a really top of the line web hosting firm -- in case my project is a success!

    I'll try your suggestion re: mailing list.

    Thanks for your help.


  10. Your best bet is to contact SN directly about getting a deal on hosting and making the modifications you need. They're the experts.

  11. Out of sheer desperation, I signed up at DreamHost to try the 1-click install and got the platform up in no time.

    The only thing that took a few minutes to figure out was that I needed to go to the MySQL panel to get the name of the local host and make a new user name and password for the database which was created by the 1-click installation.

    It turns out that you cannot import a Twitter or RSS feed into the public timeline (see, so the only two mods I want are no-can-do.

    Looks like the problem is solved and I can proceed to style it. I saved myself $1,500, which is what was quoted to install and get one year of email support.

  12. I'm sorry that you couldn't get the mods you wanted. I hope that your project turns out to be successful.

  13. Great Blog and great conversation around statusnet.

    I'm migrating away from facebook and think statusnet is the useful portal.

    The major stumbling block I see is more tech support.

    Richer forums and a wiki.

    I currently use the free single user cloud hosted alternative, but it takes some digging to realize that the plug ins/themes/ etc mentioned in the help forums don't apply.

    regular SP such as Dreamhost or siteground have various levels of help in setting up a statusnet instance (Dreamhost is 1 click, siteground a nightmare) but neither is really prepared to let you have the features you would need for chat and twitter/facebook integration and their low price levels.

    A list of hosting sites with pros/cons/workarounds would be great for helping boost the number of instances out there.

    Personally, I think with Amazon's EC2 free pricing tier I can run my Wiki and a statusnet instance with a small number of members for absolutely free for 12 months.

    I'll let you know as I get it configured.

    I would like to see more of a Ubuntu/Debian model around support. Forums with lots of help and step by step answers and clearer wiki pages at statusnet.



Other I' Been to Ubuntu Stories