Iniquitous social platforms - free my data!

Monday, August 20th, 2007

Scarcity power over your social connections is the lynchpin of many social networking sites. If only LinkedIn has the power to connect you to a business colleague, because that’s where your contacts, your social graph, resides - well that’s going to do LinkedIn a lot of good. If on the other hand you open your social graph, free it from the grip of LinkedIn (or Plaxo, or Facebook, or …), where does that leave the likes of LinkedIn? Will they be far less competitive without your social graph? Undoubtedly. Will Facebook? Perhaps not - Facebook has a platform built around the graph, which provide an abundance of additional functionality.

A while back I wanted a website where I can share and record books that I’m reading. After a few searches, I ended up on goodreads, which has a lot of nice functionality. Cool, I thought. Then I started experimenting with Facebook, and goodreads didn’t have any Facebook integration then so I started using “Visual Bookshelf” on Facebook. Great, now I could share the books I read with friends in my Facebook social network. And it works too. But in my excitement I forgot to check on something: can I export my data from Visual Bookshelf? The answer appears to be a resounding no.

This cuts to the heart of open data. This is what makes Visual Bookshelf iniquitous (I’m reading Wodehouse) - it is utterly unacceptable for a site not to provide export functionality of my data. Flickr does it, which is why I trust it with my photos. Okay, it doesn’t provide an export button, but searching for export in the help makes it clear how easy it is. Visual Bookshelf does not.What’s linking these two thoughts? I recently read this great article on wired, Slap in the Facebook: It’s Time for Social Networks to Open Up, damning the Facebooks and MySpaces for holding onto our data. Artur Bergman then pointed out the manifesto, Thoughts on the Social Graph, which makes a great point at explaining how these social networks, from Facebook to LinkedIn, are holding on to my social graph, and what you can do about it.

I think the problem area should be expanded a little, especially when social networks become platforms as Facebook has done. I want Facebook to liberate my social graph, but I also want the applications that I use on Facebook to liberate my data too. Trawling around goodreads, I found that they now have an API. So I’m in the process of dumping Visual Bookshelf and returning to goodreads, in the hope that they’ll make it dead simple for me to export my reviews in future, and that they fix their abysmal Facebook integration.But a question remains: What makes people so eager to use an application without thinking about the consequences of what it means to their data? Why do millions of people continue to store their book reviews in goodreads and visual bookshelf and Amazon?

  • Do they expect these companies to be around in a decade or two? In other words, do they expect permanence?
  • Do they expect that these companies will act in good faith and provide an export feature in future?
  • Are they not interested in the data? Perhaps they just want to express themselves now - if it’s temporary well that’s okay.

It’s quite okay to be in the temporary camp. My throwaway data may be your bread and butter; that’s okay.For those in the permanence camp and good faith camps - we need to do a lot more to ensure our data survives the company hosting it. Is it really too much to ask that our contributions to Amazon and LinkedIn and Facebook remain ours? Even if I publish my liberated book reviews on my own site, that’s not going to undermine the true value of Amazon (selling the book) or goodreads (aggregating my book shelves).I’m still willing to make use of these services, just let me have my data.

The problem with mail is that messages aren’t intrinsically addressable

Sunday, July 9th, 2006

If we had URNs for mail items, we’d have a much easier time finding emails. Think about it. You can find the address of a web page, of a blog item, of just about anything that matters. But you can’t do it for a mail message. At least not in a way that’s useful. That’s absurd.It doesn’t matter what operating system you use: why can you not construct a list of email addresses (say in another email). Why can’t I point to an email message, right click, and select “Copy link” and then write “Hey Jim, you haven’t answered <paste>mailid:foobar” Surely it’s simple to do too? Doesn’t every mail message have a unique ID, Message-Id. On OS X, surely Mail can locate a message given an ID, and surely we can rewire the internals to recognize a different type of URN? We have “http:” and a few others, so how about “mailid:fooobar@zap.com” being a link, and if I click on it, Mail locates the message? And if the message is not there, give me a 404. What am I missing here? Doesn’t a sent mail have the same Message-Id as the received email? This would be so useful, there must be a reason why somebody hasn’t implemented it. Extensions could offer support for naming the attachment in a message too.What brought this on? I was playing with Kinkless GTD, following some of Merlin Mann’s excellent advice. Here I am organizing projects and actions and reference material. I can drag AddressBook items, spreadsheets, documents, you name it. Woo hoo. I can’t drag Mail items though. WT! This would be useful here, for programs like kGTD, but elsewhere too. Mail messages should be intrinsically addressable.Aside: If you’re interested extensions to Mail.app, check out Hawk Wings.

Every bug becomes equally important over time

Tuesday, November 8th, 2005

I was going to give some naff advice about “consider all common use-case scenarios very carefully before assigning a priority to a bug” before my left brain kicked in to tell me that “As the number of users of a product increases, so too does the number of use-cases. Every bug becomes equally important over time, as enough use-cases develop that intersect with the bug.” What led me to this was the following: I can finally consider switching to Firefox. Firefox 1.5 in particular. The reason? They’ve just fixed a bug that has prevented me switching. Essentially, if you navigated to a URL, and for whatever reason you couldn’t get the page loaded, a blank page would result (and an error dialog). The problem was that you couldn’t discover the URL of the page that you were trying to visit after the error.My browser usage pattern is to use tabs. I read a page, it may have several links I’m interested in, and so I open them on separate tabs and continue reading. When I’ve finished with my current tab, I kill it, move on to the next, and repeat. So if some pages don’t load…well, I’ve lost them. And that is unacceptable. It was also inevitable - until recently I lived on a 56k modem - timeouts, congestion, whatever. So now I can finally consider switching from Safari.What’s interesting is that this was not a show-stopper bug. But it was for me. It was probably not very interesting, technically, nor did it impact on many other aspects of Firefox. But it interrupted my usage pattern. It was a show-stopper for my common use-case scenarios.