Blaine Cook, formerly of Twitter, gave a talk about some of the elements of the Social Web that he thinks are particularly important, including networks of niche communities and real-time topic-centric content.
He started off by telling us to close our eyes, and imagine we were in a big room: in one corner is your mom, in another is your boss, in another is your football team, your ex-wife, your girlfriend, and so on, and everyone in the room now knows everyone else in the room. We should be horrified by such a scenario, but this is Facebook.
Blaine said that while he was working at Twitter, he had the realisation that sites like Flickr, Facebook, etc. don’t really work the way they are expected to. They aren’t just one big community but rather lots of smaller communities bound together. If he was giving this talk three days earlier, Blaine said he would have been slagging Facebook for not being able to address this. However, Facebook had just announced that they were tackling the issue of context with filters. This allows one to break big sprawling social communities up into smaller ones.
If we look to the wider web, there are a lot of sites out there like Ravelry which is a social networking site (SNS) for knitters that has two employees, is profitable and has rich social context. Blaine gave a list of sites that address specific communities including Orkut, Ravelry, and Nexopia. Nexopia is exclusively for Canadian youth: it’s ubiquitous, such that every student under 22 is on it. Together, all of these smaller networks comprise of 500 million users. These sites are bigger than Facebook, but on their own they are smaller.
Blaine said that when we can move beyond the defunct Friendster model to novel interaction patterns, we can get really interesting sites that people can interact with and love.
However, with the decentralisation of networks, we lose the ability to communicate. There are no bridges between services. The problem is that we want to be able to share social objects. Before this, it was all about being able to share contact lists and friends. But really what you care about is sharing photos, events, ideas. For example, maybe I use Flickr and I want to be able to see my grandmother’s photos from Facebook. There is a bit of a problem in that there is no way of addressing these things: “what’s your photo address”? It’s hard to give a Facebook ID [even now with usernames]. Blaine says that he doesn’t think the answer to this problem is OpenID or FriendFeed.
He suggested a couple of points that he claimed are core to how we can move forward. Federated social networks is one part. URLs are another part of it. Having a common understanding of RSS feeds is necessary and there should be concrete ideas for content addressability. Blaine says we have a massive gap in the Web, and the answer isn’t XRIs.
If you look back, one of earliest thing you learn as a child is your address. Hierarchical addressing schemes are something we learn and can understand. We also learn the same thing with phone numbers, which are also part of a globally-unique addressing scheme. Previously, different phone networks were run by different companies. There was limited usage of phones for a lot of people if they didn’t have the same carrier. The same happened to different e-mail providers and services until we coalesced on one system which is similar to physical addresses. Instant messaging (IM) is moving in the same direction: it hasn’t completely converged, but it’s getting there (e.g. by using e-mail addresses as IM identities).
He referenced platforms like OpenSocial and Facebook Connect, and said that while these give you access to larger social networks and potentially more virality, the problem is that it’s the wrong kind of virality (a knitting site sitting on top of Facebook doesn’t match up very well). There is also the risk that Facebook will pull the rug out from under you. Blaine says there is reason to believe they are benevolent but who knows.
Something can be done if there is some degree of these sites working together. The next sites we build aren’t going to be the next Facebook, but if we have networks of small sites working together then they can come to some unified agreement that will allow them to succeed together [see CrowdGather]. The story of Gulliver is appropriate here because the Lilliputians (although small) worked successfully together. If you’re working on a small site, you have to have laser focus. This is why Blaine loves Ravelry: the social objects are yarn, knitting wool, patterns, photos of projects, etc. There is passionate involvement: the networks may be small but the people are very engaged.
There are some other examples out there. Flickr released a few pandas into the wild, with near real-time feeds of panda photos. This gives a better sense of what’s happening in real time, with better interactions. Blaine referenced some good articles on the code.flickr.com blog about it. The New York Times has also announced something in this space recently. They have an open project providing real-time feeds of news material that is coming out of the New York Times. If you wanted to you could build a community that is targetting topics that the New York Times wasn’t oriented towards before.
Fire Eagle announced location streams in February 2009 that give real-time location information. With OAuth, you can only get a location at a time: bulk polling doesn’t work. If you want to track multiples over time, for example, using geotags based on locational data, you’d have to constantly poll Fire Eagle. Making it scale is the challenge, for example, there are 500,000 Fire Eagle users on Twitter but if you had to poll all of those e.g. at one minute intervals, it’d be really expensive and really hard. So with real-time feeds you can have an XMPP pubsub service to be notified each time a user updates their location. Then you can stop worrying about obtaining and geocoding a location: you can just get them pushed to you. If you can update your Twitter location you can then start to do stuff like deliver updates to people in a given geographic region, or only give updates if they haven’t been seen in three days, etc.
Blaine says that WebHooks is doing a fantastic job of stuff in this area. However, for high-scale implementations, it still has to be proven. WebHooks uses HTTP posts to push out data, like blog pings, acting like a GitHub where something can act on a change. Blaine finished by citing some other technologies of interest including XMPP, RabbitMQ, OAuth, Facebook Connect, OpenSocial REST APIs, Identi.ca, and the open-sourced Jaiku engine.
He then answered some questions. The first was why was he focussing on real time? Blaine said that real time is important because right now the delays we are getting in syndication are fairly random and quite long. In experiments between Facebook and Flickr, having real-time comments led to more interactions and better conversations. If you can interact with someone in real time on Twitter, conversation is much richer as opposed to e-mail (there are similar interactions using IM). When we meet in person, we don’t pass notes back and forth slowly over days: we sit down and talk. Immediacy is important to the Web.
He was also asked if he thought that social applications were still on the rise: have we reached a peak, or is it going to slow down? Blaine said that we haven’t even really started yet, we’re still just in the stone ages. Friendster was just a few years ago: add a friend, have a discussion. Ravelry is moving further in this direction of a truly social application. Blaine said that what’s coming is going to be a lot more diffuse, but there’s also going to be a lot more of it.