identi.ca early adopter: OS X ambient intimacy Howto

February 5, 2009
64 Views

Been playing with identi.ca since it officially opened to the unwashed masses yesterday. I find identi.ca very interesting, compared to its obvious rival, Twitter. First off, identi.ca is open source. That means we have all kinds of transparency into how it works, which will allow us to help it succeed (we’d be happy to help Twitter, too, but they follow another path, young Jedi). Second, it’s designed from the ground up to be federated (although this part of the code seems to still be very rough). This is a huge difference, and makes Laconica (the open source platform that identi.ca is running on) very cloud friendly. Which, in turn, solves the scalability problems that have so plagued Twitter. Interestingly, as far as I can tell, identi.ca is, in fact, running on Amazon EC2 (which would have been my suggestion, had anybody asked ;)). It’s still not clear how the MySql database in the background is architected, and I’d sure like to find out, but this thing is already light years ahead of Twitter’s design (as far as we can tell). Third, it’s designed from the ground up with plenty of XMPP (Jabber) goodness.

Since it’s only the second day of it’s official life, you would

Been playing with identi.ca since it officially opened to the unwashed masses yesterday. I find identi.ca very interesting, compared to its obvious rival, Twitter. First off, identi.ca is open source. That means we have all kinds of transparency into how it works, which will allow us to help it succeed (we’d be happy to help Twitter, too, but they follow another path, young Jedi). Second, it’s designed from the ground up to be federated (although this part of the code seems to still be very rough). This is a huge difference, and makes Laconica (the open source platform that identi.ca is running on) very cloud friendly. Which, in turn, solves the scalability problems that have so plagued Twitter. Interestingly, as far as I can tell, identi.ca is, in fact, running on Amazon EC2 (which would have been my suggestion, had anybody asked ;)). It’s still not clear how the MySql database in the background is architected, and I’d sure like to find out, but this thing is already light years ahead of Twitter’s design (as far as we can tell). Third, it’s designed from the ground up with plenty of XMPP (Jabber) goodness.

Since it’s only the second day of it’s official life, you would expect there to still be lots of deficiencies in the overall platform, and there are some — replies are at the top of that list, and Evan has let us know they’re at the top of his list, too. But, despite that, all of this openness and the good design lead to an interesting, and virtuous, consequence: a lot of identi.ca’s weaknesses don’t really matter, because you can build around them.

Thus, I had managed to cobble together a complete desktop experience for identi.ca that features a reasonably attractive “client” tool, and full-blown “ambient intimacy“, within a matter of hours after signing up yesterday. Here’s how it works, for the curious.

First off, let’s list the requirements / goals (I am an architect, people, come on)

  • I want an easy-to-use, dedicated, and ideally, visually appealing client, in which I can read my identi.ca stream and post updates
  • I want full blown “ambient intimacy”, complete with semi-transparent popup windows
  • Because Twitter is still where this particular social graph lives, for me, I want to be able to seamlessly cross post to both services.
  • Non-requirement: I don’t need all of that integrated into my Twitter client (Twhirl) (although I wouldn’t object). I can live with a third little window on my screen (alongside Twitter and Friendfeed, running in Twhirl), if all the other requirements are met

My setup achieves these goals. NOTE: this setup is peculiar to OS X on a Mac, and uses features of that platform that are unique to it. It may be possible to replicate this kind of a setup on Windoze, or (more likely) Linux, but that’s not my problem. 😉

Twitter + Twhirl + identi.ca + Adium + GTalk + Growl = works fine

Step One: Setup identi.ca for instant messaging (IM)

Under the “Settings” link for registered identi.ca users is a tab for “IM”. Set that up as shown below

IM settings in identi.ca

Step Two: Rig your IM service up to identi.ca

I use GTalk as the example here, but it should be widely applicable. Basically, what you need to do is add “update@identi.ca” to your buddy list. That will prompt a confirmation ritual: get through it. Once that’s done, you can open a chat with this “user”, and voila, you’ve got a two-way client to identi.ca. What you see here (via the XMPP stream) is apparently the updates of the people you subscribe to, plus Evan’s updates (which are global, or something).

Step Three: Setup your IM client to use Growl

Growl is an open source application for OS X which, like Quicksilver, is so profoundly cool that it’s almost an argument for OS X in and of itself. You need an IM client that can “talk” to Growl. I use Adium. The screenshot below shows how I have configured Adium to send me updates to Growl. Ambient intimacy: check.

Settings in Adium to use Growl

Step Four: Enable cross-posting to identi.ca and Twitter

More precisely, what I mean here is that I want to be able to post once, and have the text of that post go to both Twitter, and identi.ca. I setup Ping.fm to do that (just ask around, it’s not hard to get an invite). The key here is that Ping.fm can do two things I want. First, if not obvious, it can post to both Twitter and Identi.ca (and Plurk and FB, and half the universe, while we’re at it). Second, it can also be used via XMPP, which means I can rig it up so that I can post right from Adium. To do that, you just have to work your way through the ritual of connecting to Ping.fm in your IM buddy list, which you trigger from the Ping.fm dashboard, as seen below.

Ping.fm IM settings in dashboard

This involves another confirmation ritual, get through that, and that’s basically it. In Adium, you can now start a second chat with your Ping.fm buddy, which shows up as a second tab in the Adium window. By switching back and forth between the tabs, you can go from cross posting to the identi.ca stream with minimal cognitive dissonance. 😉 You can see the tabs in the screenshot of my desktop.

Done. Easy, works well, looks OK, meets all requirements. Twhirl will almost certainly add identi.ca support shortly, which will make this obsolete for many people (I’m not sure I’ll switch — the XMPP stream seems to work better — unless Twhirl makes itself into an XMPP client, why not? ;)), but for now, it’s good enough.

UPDATE: Twhirl did just that – made themselves into an XMPP client for identi.ca. So I’ve updated my setup to use Twhirl in a 3 window setup, and I’m back to using Adium for GTalk and Sametime. Here’s a screenshot:

Twhirl with FF, Identi.ca and Twitter streams