June 13, 2024

Antisocial networking

I just got my invitation to Google Wave. The prototype that’s now public doesn’t have all of the amazing features in the original video demos. At this point, it’s pretty much just a way of collecting IM-style conversations all in one place. But several of my friends are already there, and I’ve had a few conversations there already.

How am I supposed to know that there’s something new going on at Wave? Right now, I need to keep a tab open in my browser and check in, every once in a while, to see what’s up. Right now, my standard set of tabs includes my Gmail, calendar, RSS reader, New York Times homepage, Facebook page, and now Google Wave. Add in the occasional Twitter tab (or dedicated Twitter client, if I feel like running it) plus I’ll occasionally have an IM window open. All of these things are competing for my attention when I’m supposed to be getting real work done.

A common way that people try to solve this problem is by building bridges between these services. If you use Twitter and Facebook, there are several ways to arrange for your tweets to show up at Facebook (bewildering Facebook users with all the #hashtags and @references) and there are also a handful of ways for getting data out of Facebook. I’d been using FriendFeed as a central hub for all this, but it would sometimes stop working for days at a time. Now that they’ve been bought out by Facebook, maybe this will shake itself out.

The bigger problem is that these various vendors and technologies have different data models for visibility and for how metadata is represented. In Twitter, everything is default-public, follow-up comments are first-class objects in the system, and there’s effectively no metadata outside of the message, causing Twitter users to have adopted a variety of seemingly obscure conventions (e.g., “RT” to indicate a retweet of some other tweet). Contrast this with Facebook, where comments are a very different sort of message from the parent messages, where they have all sorts of security rules (that nobody really understands) about who can see what, and where there is actually structure to a message. If I link to a Youtube video, it gets magically embedded, versus the annoying URL shorteners that people have to use to shoehorn messages into Twitter.

Comments are a favorite area for people to complain. Twitter comments are often implicit with the @username tags. If I’m following a friend and a friend-of-my-friend comments on one of their tweets, I won’t necessary see it. In Facebook, I have a better shot at seeing those comments. But what if I wrote a blog post here at Freedom to Tinker, which Facebook nicely picks it up and makes it look just like I posted a note on my Facebook page. Now we’ll have comments on Freedom to Tinker and more comments inside Facebook which won’t intermingle. Of course, thanks to FriendFeed, a tweet will (probably) be automatically generated when I post this, causing some small amount of Twitter commenting traffic, and there may be comments within FriendFeed itself as well as Google Reader commentary (which is also different from Google Reader’s “share with note” commentary).

Given these disparate data models, there’s no easy way to unify Twitter and Facebook, much less the commenting disaspora, even assuming you could sort out the security concerns and you could work around Facebook’s tendency to want to restrict the flow of data out of its system. This is all the more frustrating because RSS completely solved the initial problem of distributing new blog posts in the blog universe. I used to keep a bunch of tabs open to various blog-like things that I followed, but that quickly proved unwieldy, whereas an RSS aggregator (Google Reader, for me) solved the problem nicely. Could there ever be a social network/microblogging aggregator?

There are no lack of standards-in-the-wings that would like to do this. (See, for example, OpenMicroBlogging, or our own work on BirdFeeder.) Something like Google Wave could subsume every one of these platforms, although I fear that integrating so many different data models would inevitably result in a deeply clunky UI.

In the end, I think the federation ideas behind Google Wave and BirdFeeder, and good old RSS blog feeds, will ultimately win out, with interoperability between the big vendors, just like they interoperate with email. Getting there, however, isn’t going to happen easily.


  1. http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/471e334e90dcf5e0#

    Quite a usenet thread (with some flamey bits) has developed over someone de-time-bombing the personal edition of some software. There’s a big copyright debate (of course) and other issues relevant to the concept of “freedom to tinker”. Some people are arguing that even though the time limit is not mentioned in the license agreement (and the license agreement is one of those after-the-fact ones that is pretty questionable as a supposedly binding contract), circumventing it is violating the publisher’s “right to restrict usage”.

    Where did this concept that a copyright holder has a “right to restrict usage” come from? Certainly not Title 17 of the US Code, and not the DMCA either, I should think. (Chamberlain v. Skylink, anyone?)

    If removing a limitation of functionality is regarded as wrong, or even as illegal, even if not a) mentioned in any license agreement or b) copy protection, then applying a workaround to a known bug must be illegal. That’s very worrying.

    P.S. Why was I accused of trying to spam when I posted this the first time, and told nastily that I should have filled in some captcha? I never even saw a captcha on the first attempt.

  2. I think we all just want a way to have a single presence online. And while it can *sort of* be achieved with 3rd-party services like Disqus, Python scripts, and various importing features, it’s still nowhere near accessible to 99% of people online right now. Let’s remember our non-techie moms, dads, and friends that we’re paving the wave for.

    I think we all agree too that if someone does move towards a single presence, it needs to have a great API and use open standards. Google, while not perfect, seems closer to this vision than the [insert name here] corporate giant. Look at their Data Liberation front for example.

    I guess what I’m saying is, I’d rather see the goal met with microformats, but I’m incredibly excited about wave. And on that note, if anyone has an invite: henson.d.sturgill (at) gmail


  3. Just to let you know that Dave Winer is actually working on a microblogging rss as we speak called rssCloud. WordPress already supports it and he is working on bootstrapping it into the main stream. Here is the website for the project


    and its current state


  4. I think the wave object is rather well done, and it would be great if these objects could live outside wave as well as inside it. I agree that Wave’s user-attention interaction is a current weakness.

    Dan, I encourage you to experiment with the wave public object by making this post a public wave. (add Bloggy as a participant) I found that it was very easy to do, and the user annotations are interesting, even though the access controls are very immature.

  5. I’ve never had a problem getting twiiter, facebook, friendfeed, and my blog comments to follow me around the Web. Facebook now allows content to flow back into twitter. Friendfeed pulls in my twitter messages. My blog displays them all. When I use friendfeed I can also post to twitter which facebook gladly pulls in for me. I use IntenseDebate on my blog which allows my readers to post comments with their existing twitter, facebook or friendeed accounts. I can configure Intense Debate to post those comments back to twitter. It’s not completely fool proof but it works. There is another system called Disqus that does similar things and most web sites (not this one) now allow readers to post comments using any number of social networking identities.


    • I like that third-party tools like this are making strides at integrating the major social networks, but they really strike me as a kludge. You’d really like things to be properly integrated by design, not by afterthought.

      • History repeats. The Internet itself is a kludge integrated by afterthought, though now that the vast majority of machines attached speak the same dialect of TCP/IP and things like bang paths and X.400 are archaisms, it doesn’t show as much as it used to.

  6. Hello,

    Could you please invite me to Google Wave? thanks. My email is ccming#gmail.com

  7. Since you mentioned Facebook’s notoriety as a greedy walled garden, I thought I would take the opportunity to plug my recently-released project, StreamFeed.

    StreamFeed is an open-source data portability tool that allows you to export your Facebook activity stream into popular syndication formats like RSS and Atom, by way of the new Facebook Open Stream API.


    I wrote StreamFeed specifically to solve that same complaint that’s kept me off of Facebook for many years: the inability to get my data OUT of it. Since Facebook opened up a bit with the Open Stream API last spring, things are looking a little better – at least enough that I’ve reactivated my account.

  8. It’s really sad to see how much of the initial awesomeness of Wave, from the IO presentation, faded with the specs, and sandbox.
    The only really good idea, which is not in any way new, but simply against the current “cloud computing” web20-mainstream, is federation.
    Unportable widgets (state seems to be synchronized by packing it as JSON and sending the whole thing), and horrible, horrible Processing Instruction-hacks to emulate SGML. It would have been great, if Wave was just the Jabber-based XML-delta editing system it looked like in the beginning. We could have used open data formats (or at least easily portable ones) with the UI of our choice. But once Wave hits the public, we will have to rely on Google’s UI for it, since no widget or format will work anywhere else (well, if the alternative UI does not just emulate the web browser. But that’ll be hard for the console-UI they showcased. Users of alternative UIs won’t be able to use every feature.) Now, that’s the case with XMPP/Jabber, too. But at least, they try to standardize the protocol extensions, and clients are free to implement them. This surely won’t happen for Wave. At least for the majority of extensions (well, all with a more sophisticated UI)