The Personal Blog of Stephen Sekula

The Coming of Pump.io

Many years ago, I opted to give the federated social web a try. I was impressed by platforms like Twitter and, later, Facebook, but unimpressed by the “walled garden” attitude of many of those platforms (that includes Google+, where I am presented composing this entry). For my primary social web tool, I chose StatusNet (http://status.net) – then known as Identica (http://identi.ca) – and opted to run my own StatusNet instance. StatusNet is federated – that means that a person can run their own instance and that instance can be populated by just their closest friends, family, etc. However, the instance can be connected through its users to other instances across the web. In fact, this is the perfect distributed social web.

This allows total ownership of the data by each user (they could always opt to take their data and close their account on my instance, either moving the data to another instance or closing out their account forever), something that platforms like Twitter and Facebook have been glacially and begrudgingly slow to adopt. I, personally, enjoyed StatusNet most when they implemented a kind of privacy, though that privacy setting had some strange limitations (for instance, if one sets all of one’s posts to “private,” even if you uncheck the private setting on a per-post basis, friends on other StatusNet instances will never see your posts – at least, that was the case with my running instance.)

In this calendar year, Evan Prodromou (who, interestingly, majored in Physics at Berkeley), the founder of Identica and CEO of StatusNet, embarked on a wholly new social web project intended to replace the guts of StatusNet on flagship sites, such as Identi.ca. However, the new architecture – pump.io (http://pump.io) – was intended to be a complete re-imagining of the open social web, with the philosophy being more that users want to stream activities of all sorts – photos, words, videos, etc. – and not just post words with occasional media attached. It was a platform for communication, social sharing, social gaming, social shaming, and so much more.

This project has met with cheers and jeers. For instance, on June 1 Evan will port Identi.ca, the flagship StatusNet site, over to pump.io. If you follow the pump.io group on StatusNet, you’ll see various rumblings (e.g. paraphrasing: “I hope pump.io will be feature complete on June 1,” or “I hope Evan has a bunch of secret code that he hasn’t committed to git for pump.io, or this is going to suck.”). Those people who’ve committed to experimentation with pump.io over the last months (myself included), will readily admit the software feels feature incomplete – but the features that are there do 90% of what people need from the social web anyway, and add some things that I could NEVER do with Facebook or Google+.

I’ll switch now from the more historical view of the StatusNet-to-Pump.io story to my own story. I have been enjoying Pump.io because it comes with a built-in set of command-line tools. This means that I can write scripts and software (inspired by user JPope [https://pump.jpope.org/jpope] here – gotta give total credit where total credit is due) that post on my behalf to a pump.io instance. I chose the instance holding my account at random – which is what Evan wants everybody to do to help balance the distribution of accounts and make the system hold true to its federated philosophy – and now I can post messages there using Bash, Python, etc. scripts. I am an app developer, and I didn’t have to learn some stupid development kit to do it – I just used tools I already knew and let the pump.io command line tools do all the hard work.

For me, this has been transformative. I can grab RSS feeds of my favorite physics papers (e.g. from www.arxiv.org) and parse only the titles and article links that will probably be of most interest to me, posting those on my Pump.io account for later perusing. This lets me automatically share my interests, without waiting for some company to write a crappy app to do this (and steal my personal information in the process). Cool sites like “ih8.it” and “hip2.it” have been set up for the web app-inclined. These let you “hate” or “like” something just by going to the site, linking your pump.io account, and then clicking on a bookmark when you visit a site you want to like or hate.  There is even an Open Farm Game, if you must grow fake corn.

I’ve started to expand my script world. I have a blog, and daily I want to share a digest of my posts on pump.io. So I wrote a modification of my arxiv paper-posting script that makes my blog RSS output pretty and posts only the new articles on pump.io. Basically, if you can munge something into HTML and post it to your pump.io account using the command line tools, you can post anything you like formatted nice and pretty.

June 1 is coming soon. Evan has his work cut out for him. But I, for one, am excited and optimistic about the transition. I am psyched to see my drsekula@identi.ca account get migrated. I am excited to learn how to move my drsekula@pumpbuddy.us account to identi.ca and merge it with my auto-migrated pump.io account (or vice verse – migrate my identi.ca account to pumpbuddy.us). And I am VERY excited to run my own pump.io instance at my domain, polari.us, later this year. For me, pump.io has awakened creativity. How might I develop tools for social physics interaction? Sharing of data, papers, etc. with total control over the instance is a powerful idea. Can we develop this? After all, high-energy physics gave birth to the World Wide Web – what will it do with the Federated Social Web to improve collaboration?

For more information, check out this LWN Article on the transition to pump.io: http://lwn.net/Articles/544347/