social software industry

Update: see story on ReadWriteWeb about the latest Activity Streams working group meeting.

For a while now many in the microblogging community have been wondering how to add contacts and exchange updates & comments across services.

For instance, some of my friends are on Jaiku, others are on Twitter, and a third group use Friendfeed. How could I follow everyone without having to deal with creating and managing an account on all three?

Currently, we’re forced to treat services as proxies for communities. For instance, my Twitter and Friendfeed contacts are mostly North Americans, whereas my European friends are on Jaiku.

This is not dissimilar to the way telephone networks used to work in the early days. To call someone, both the caller and receiver had to be on the same network.

Thankfully this is no longer the case with email. Imagine how restricted our day-to-day communication would be if mail servers didn’t interoperate.

Metcalfe’s law says the value of a network grows exponentially in relation to the number of members on the network. Walled gardens have been a bad idea from the start, since they limit the growth of the network. Because of this dynamic, they destroy value – and eventually also themselves.

There are two roads to the inevitable end state where everyone is reachable. Either the little networks agree on a standard for interoperating; or they get devoured by the most powerful player and the world is left with a monopoly.

In telecoms, AT&T gobbled up the regional networks — only to be artificially broken down into a dysfunctional set of baby bells by an antitrust ruling.

This Friday at the Learning about the Open Stack event, John McCrea described how AOL and the other internet walled gardens were brought down by the open Web.

And today, proprietary IM networks are being stamped out by an open protocol, XMPP.

The urgent issue now is to prevent microblogs from becoming the next dysfunctional dinosaurs.

A bunch of activity stream interoperability initiatives have been put forth in answer to this call, and the viable parts are now converging under the open stack umbrella term.

What the community is looking for now are concrete examples and implementations.

In his presentation at Friday’s event, Chris Messina demonstrated the use case of subscribing to someone who lives on a foreign Web service.

In what follows I’ll expand on Chris’ story by discussing another use case, where you add the foreign friend to your address book without needing to go to their site.

Imagine I want to add a friend, David Recordon to my contacts. I know his email address, so I click ‘add contact’ in my client and enter his email.

My client translates David’s email address into his OpenID URL, probably using a method called Email to URL Translation.

Now that my client knows where to find David on the Web, it goes out to David’s URL and fetches a little file that contains machine-readable pointers to David’s public profile and the photos, status messages, bookmarks, blogs, and other feeds he publishes. The enabling standards at work here are likely to be XRDS-Simple and Portable Contacts.

This loop is simply referred to as ‘discovery’.

Once my client is done, it is ready to display its findings to me. Here’s a mock-up to illustrate what I might see (the same mock is in Chris’ slides):

Dave

After selecting David’s contact information and some of his feeds, I click ‘Save’, and a subscription request is sent to these services. They return a few of David’s most recent public updates to me.

The next time David logs into these services, he sees a standard new subscriber notification. His service can perform discovery on me to display my name and profile summary to him, and allow him to reciprocate.

David may also choose to allow me to see some of his private information, such as his contact details. The enabling standard here is of course OAuth.

I have never needed to join any of the services David uses; in fact, I don’t even need to know their names. It is irrelevant to me if he uses Twitter, Plurk, or Friendfeed to publish his status updates or prefers Flickr, Photobucket, or Picasa for sharing his photos. All I care about is seeing his updates and being able to respond to them using my own client.

Information wants to be free, and social objects want to travel.

For a nice demonstration of federation in action, see this video by Sebastian Küpers.

In December 2007 Brian Oberkirch and I sat down in my home in San Francisco for a discussion about social objects. This week Brian added the conversation to his series of podcasts on social software.

Although it’s been a year and some of the discussed services have evolved (for instance, OpenSocial has progressed in leaps and bounds), the discussed ideas continue to be at the core of my work.

Here’s a topical breakdown of the 42-minute MP3 file in roughly chronological order:

  • definition of a social object
  • Facebook and OpenSocial
  • what makes a good social object
  • verbs
  • making objects shareable
  • turning invitations into gifts
  • charging publishers not spectators
  • status updates as social objects

It's been a little over a year since the Jaiku team and I joined Google.

My time has mainly been spent building infrastructure that makes it easier to share social objects on Google's Web and mobile services.

Some of the pieces of this infrastructure are really basic. For instance, I've worked with the team that built a profile page for Google users (mine is here). If you are using google.com in English, you can now access your profile by clicking on My Account.

For more on profiles, see Duncan Riley's recent post on TechCrunch.

Another piece of the puzzle has been to enable people to share social objects with the contacts in their address book. Gmail now lets you organize your contacts to Friends, Family, and Co-Workers. You can then share items on Google Reader with your Friends group. You will see these same groups in various Google products that let you share information with people. If you own a G1 phone you know those same contacts are also synced to the mobile phonebook.

I also helped Brad Fitzpatrick launch the Social Graph API. Although this API is not a visible product, it powers many services such as the suggested links on your Google profile. Collaborating with Brad has been one of my delights of the year, since I had wanted to work with him on the social graph problem already before either one of us joined Google.

Jaiku has been a 20% project, meaning it has been getting about one day a week of my time.

Over the last few days a conversation about the future of Jaiku has been taking place on blogs (relevant posts in English here, here, here, and here) and Jaiku (current active threads here, here, here). I regard the Jaiku community as friends, and your concern about the future of the service is legitimate. It warrants a response. What follows is my personal angle.

We announced this spring on the Jaiku blog that Jaiku will be ported to Google App Engine. Since the porting has not been a full time project, and development involves working on a still maturing new infrastructure as well as maintaining the legacy site, its velocity has not been as high as I had hoped. That said, we're on schedule and expecting to ship in the new year.

Google isn't staffing up Jaiku.com. But we love the product and plan to open up its development to the user community more in the future. I'm not ready to talk about the details yet, so stay tuned for more news about that in the new year on Jaiku.

This is a step in the direction we all want to go: away from the
tyranny of silos towards freely interoperable social
networks. People should be able to post and follow status updates across servers just like they send email. No single service, no matter how large and powerful, is the platform. The Web is the platform.

In spite of the decision to not throw resources at building Jaiku into an independent Web brand, recall that the acquisition announcement stated that "Activity streams and mobile presence are important areas where we believe Google can add a lot of value for users." Of course this statement still holds true, and you can bet your Android that there are completely new Wow!'s in store.

I hope that after reading this you, like me, are getting more and more tickled by what 2009 has to bring.

And now that Ulla and I are done having kids for a while, my new year's promise is to also return to blogging.

Joe has been working on something I like a lot, the OpenSocial Foundation (opensocial.org). It was announced this morning (there’s a press call starting in about an hour). It’ll be jointly founded by Yahoo MySpace and Google. The current estimate for bootstrapping the entity is July.

Here’s a quote from him the release:
"The formation of this foundation will ensure that [OpenSocial] remains [a community-driven specification] in perpetuity. Developers and websites should feel secure that OpenSocial will be forever free and open."

The three key points are as follows:

  • all specifications are available under a Creative Commons copyright license
  • public community involvement shapes the specification direction
  • an open source reference implementation called Shindig is being created and developed as a project in the Apache Software Foundation incubator, available at http://incubator.apache.org/shindig

The jury’s still out, but OpenSocial could become an important creative enabler as a significant distribution network for social apps. If that’s the case, having the spec under the management of an independent entity is not a bad idea.

Recently more people have been tossing around the idea that an open social network enabler could be the Next Big Thing.

John Battelle wrote that

“PageRank was based on a big graph: the links that make up the web. The next breakthrough, many argue, will be based on the social graph, the links between us all.”

Earlier this spring David Sacks posted on TechCrunch about portals moving “from browse to search to share.

Little surprise then that one of the more interesting (and well attended) sessions at this weekend’s BarCampBlock was Brad Fitzpatrick (LiveJournal founder who reportedly has joined Google), David Recordon (OpenID, now at 6A), and Joseph Smarr (Plaxo) on the open social graph.

“Social graph,” for the record, is what  Facebook calls the map of how their users are connected to each other. Brad has been working on a distributed alternative for a while and he recently jelled his ideas together into a well thought-out essay.

(If you haven’t yet read the piece, you should go read it now).

The problem, in short, is the lack of a way to connect people across services. Anyone who has signed up to more than a single Web service will recognize the issue.

Web services should be able to freely combine. But as it stands each Web service has to implement their own user accounts and friend policy (the social graph). We want simple services that do just one thing really well – for instance, I might use Tripit or Dopplr to share my travel and Goodreads to share my books – but the cost of maintaining accounts on multiple services is too high if they all require me to add and update my contacts manually.

The lack of interoperability between Web apps left open the opportunity for Facebook to create an environment where it’s easy to develop new apps without needing to waste time implementing user accounts and friend policies (Facebook already provides those for you). Users can fluidly discover what apps their friends are on and quickly add new ones without having to create new accounts and add contacts each time. Facebook has critical mass – that is to say, enough people are on it that this actually works.

The problem, however, is that the apps interoperate only within the closed world of Facebook. It would be better to have real interoperability between independent apps.

Brad’s solution is to create a service where people go to aggregate all their networks into a master network, and then let other services check against that to automate friend discovery. The outcome to the user who signs up to a new service should be “These 8 friends of yours are already users here, would you like to share your books / music / pictures / trips / etc. with them?”

Furthermore, the proposal is that the service that hosts the master networks (or administers the code that generates them if people run it on their own servers) should be run by a nonprofit.

This is a familiar scenario: all services benefit from certain shared data, such as track IDs (music), ISBNs (books), and now people. The idea in giving the project to a nonprofit to run is to get competing services on board and ensure impartiality.

People look for two qualities in this type of infrastructure provider: 1) critical mass and 2) ethics. It should appear stable enough that it’s reasonable to expect it to stick around for a while, and since we trust it with our data its intentions have to come across as good not evil.

My initial reaction is it doesn’t matter if the provider is a business or a nonprofit as long as the two criteria are met. The MusicBrainz / CDDB case is illustrative of the difficulties one can run into both when a for-profit service starts misbehaving and when a nonprofit that takes over its job struggles without critical mass. There are positive examples too. Wikipedia is a nonprofit with critical mass; Google is, for most people, still an ethically acceptable ad/map provider.

The discussion‘s ongoing. Some prefer a more radically decentralized approach. Brad’s piece inspired Dave Winer to do a podcast on the topic. His conclusion:

“a network that, from Day One, allows users of other networks to participate, and allows developers to access user’s data, with the user’s permission, but without permission from the network, may become the www of open identity systems.”

See also: An open Facebook?

Wiki inventor Ward Cunningham is the guest in the latest episode of Janne’s and my Verkko 2 podcast. We talk about the history and future of the wiki as a collaborative tool. Ward’s interview is in English – if you’re interested but don’t speak Finnish, just skip the first couple of minutes where Janne and I yak in Finnish.

A journalist friend asked me for some things to watch in the online world. Here’s what I came up with off the top of my head:

1. Internet TV

BitTorrent, YouTube, Blip.tv, Toodou, MetaCafe, Google Video, the ‘Venice project

2. Webware

Writely, DabbleDB, ZohoWriter, Stikkit, Wikia

3. Aggregators

Netvibes, Google Personalized Home, Vox

4. Places

World of Warcraft, Second Life, SketchUp

5. Recommendation-based music

Last.fm, Rhapsody

6. Mobile 2.0

Fon, Wi-Fi handsets, Skype Mobile

7. Lightweight project management

Basecamp, Writeboard, Campfire

8. Open IM

Jabber, Meebo, Google Talk

9. Presence

Plazes, Twttr, Jaiku

10. Shared calendars

Upcoming, Eventful, Meetup, Google Calendar

11. Structured data

Microformats, Google Base, Thinglink

12. Classfifieds

Craigslist, TheAdCloud, Google Local

13. Toys

Stardoll, WeeWorld

14. Customization

Etsy, Threadless, Spreadshirt, MooCards

Phew… what did I miss?

Microformats
Tantek, I, Ryan, and Ulla looking jovial after lunch in SoMa (photo by Kevin)

Episode 2 of the Verkko2 podcast is now available for download. The topic is microformats, featuring Tantec Çelik and Ryan King from microformats.org and Technorati. There’s a Finnish intro but the interview is in English. It was recorded in April when Ulla and I visited Technorati. Towards the end, I ask Tantek and Ryan to describe the future of microformats. Tantek calls it a revolution:

I think we’ll see more and more sites publishing their data in microformats. And that is the start of the real revolution. Just like RSS has enabled complete decentralization of episodic content on the Web, we see microformats as enabling total decentralization of contact information, of event information, of reviews.

According to Tantek, the microformat revolution benefits everybody:

The beauty is that even in a situation like that, where all the data is distributed, all these centralized sites that are currently keeping this data, by syndicating their data out, they become part of this larger network of information. So it’s good for them as well. It’s good for everybody – not just individuals; we think it’s good for corporations as well.

He sees three waves in the rise of microformats: the microformats themselves emerging first, then a growth in the quantity of microformatted content, and third the appearance of new microformat-specific tools:

The first wave is the rise of different kinds of microformats. We’re seeing the rise of that now and we think it’ll totally take off in the next year. Trailing that is a wave of content published using microformats. And trailing that is a third wave of tools. You’ll start to see toolvendors say ‘Hey, there are millions of hCards out there! Maybe I should start developing tools that could read those and do interesting things with them.’

In the long run, Tantek believes microformats will become as ubiquitous as HTML:

At some point we’re just going to take microformats for granted, like we now take HTML for granted. I truly believe that’s the path we’re on and that this is only a matter of time.

To learn more about microformats, check the Wikipedia. There’s more about microformats on microformats.org. And here’s a slide presentation titled ‘What Are Microformats?‘ by Tantek Çelik.

Together with Janne Jalkanen of ButtUgly we’ve been working on a Finnish-language podcast titled Verkko2 on and off for a couple of months. The first episode is now out – so fellow Finns, we suggest a headlong rush to download the show while it’s still hot!

We’ll be dissecting the Web 2.0 meme, interviewing key movers and shakers, and making a general ruckus. The plan is to loosely dedicate one episode to each of the seven principles in Tim O’Reilly’s What is Web 2.0 article. The first episode is about the Web as a platform.

We also serve you this appetizing trailer that dramatizes how the Seven Theses were really created…

A little while ago Janne Jalkanen asked me if I’d partner up with him to create a Finnish-language podcast about the second generation of the Web. I thought it’d be a good idea especially since Finland is strong on mobile, and mobility and the Web are now starting to integrate in cool new ways.

This week I was over at Tim O’Reilly‘s house in Sebastopol, so I asked Tim for an interview for the podcast and he agreed. I recorded the podcast while we were unwinding in the hot tub.

Update: my iPod didn’t save the audio file. Either I did something wrong or it’s a problem with the disk or the Belkin mic/software.

Everyone in the O’Reilly family is doing something interesting: Tim’s wife Christine is writing and directing a play that will debut in August; their daughter Arwen is a brilliant editor at Make: and Arwen’s younger sister has a band, Feathers Family, whose album was recently reviewed in the Rolling Stone. Tim himself is a unique mix of hippie and entrepreneur. If you don’t know Tim, read Steven Levy’s short piece about him in Wired.

The most interesting part of the interview was Tim’s vision about the future of the Web. Tim’s vision has slightly evolved since the publication of his canonical Web 2.0 article. The top three blips on his radar right now are business applications, multiple devices, and virtual worlds.

Tim’s main argument is that the Web (and the internet more broadly) should be understood as one single plaftorm the same way that Windows is a platform for the desktop. The applications that succeed are the ones that extend the platform by adding some capability to it that was previously missing. The applications that fail are the silos that don’t share their data.

Up until now, online business applications have been mainly silos. But the platform logic extends to them too. In Tim’s view it doesn’t matter if your networked application plays music or does inventory management – it’s more fit to survive if other applications depend on it. That’s why he believes the B2B field is going to get Web 2.0-ified over the next couple of years.

The second point is multiple devices. For example, Tim uses a device that displays the real-time Bay Area traffic data. He could get the same information on his smartphone but the single-purpose device is more convenient. As the price of memory and wireless connectivity drops, Tim predicts we’ll see more handheld devices that deliver an optimized ready-to-hand experience for online applications.

The third point is virtual worlds. Virtual worlds are changing from games to “places”. We’re already seeing this in Second Life and Google’s release of SketchUp takes this to the next level by enabling people to place 3D models in Google Earth. You can show up at the virtual place or the physical location. For instance, Make: Magazine has an area in Second Life, and according to Tim, when someone shows up there, Senior Editor Phil Torrone gets a ping telling him who’s there.