Freedom! – Opening the Social Graph and all of its data

Braveheart battle-cry

There has been tons of buzz lately over the “Social Graph”: an atrocious misnomer (won’t get into why) which is used by Mark Zuckerberg to mean “the data which represents all of a user’s social connections”. Facebook is getting a $10 billion to $15 billion valuation because they “own” this graph, search and the entire world of developers is supposed to be forced to bow and write all future social web-applications as facebook apps.

While I would still consider it a decent investment in Facebook at this point because they have this data locked down, I cannot support this tyranny. It is not only intuitive, but now also the general internet consensus that users own their own data.

So what on earth are we to do? Free the data! Brad Fitzpatrick of LiveJournal/OpenID fame and David Recordon who worked with Brad on OpenID stirred up this whole movement in Brad’s widely cited braindump. They laid the groundwork for an uncentralized set of tools to use microformats and clever spidering to figure out a user’s ownership of several accounts from a single place and calculate all of their friendships to find missing links. Missing links would be for example, if you have someone in your gmail contact-list and as a facebook friend, but you don’t follow their twitter account.

Subsequently, both of these hackers have built code and convinced their companies to open their data and have made announcements to that effect – Brad at Google and David at Six Apart.

I’ve been involved in the conversation a bit, and as I’ve mentioned before, I think that not just friendships, but other data is an equally important part of a user’s data, and they need to own that too.

Right now, the users’ data is spread throughout many silos: their photos in Flickr, their blog posts on wordpress, etc.. This is a major limitation and is starting to get on people’s nerves. As of right now, there is no �bersilo where a user can sync up their info and social connections.

The solution? A commercial, but completely open site which lets a user aggregate all of their frienship data AND all of their other data (photos, videos, blog posts, tweets, bookmarks, etc.). This data can then be pushed to other networks on the demand of the user. Furthermore, the user can export all of this data in a standard format and just up and leave the site if they don’t like how they’re being treated. Beyond that, new social applications will be able to implement an API that can pull the user’s data down for them (only with their permission of course).

Side note: I bounced this idea off of Brad Fitzpatrick who said I should “go for it”… there really is no conflict of interest in being a commercial site in an open endeavor.

This solution would have to exhibit several traits:

entry posted to:
SeanColombo.com
Motive Blog
  • No compliance required – to be useful, this tool has to work with the most popular networks, even before they explicitly open their data through APIs. Since users are accessing their own data, this doesn’t violate ethics or terms of service… it just takes more code to accomplish this.
  • Extensibility – it has to be easy to add an arbitrary amount of new networks even if the site doesn’t have any idea what these networks are. Likewise, it has to be equally easy to add new types of data. For instance, tweets were a new concept… the system has to be able to sync up with entirely new types of data seamlessly.
  • Portability – it’s the problem we’re here to solve, so obviously this tool can’t lock down the data. It has to go to absurd lengths to make sure the data can be moved around easily.
  • Clarity – everyday users don’t know what all this “social graph”, “XFN”, “FOAF”, “microformat” talk is. The tool has to be extremely easy to comprehend for all users, not just �ber-geeks and technocrats.
  • Privacy & Controlthe user has to be the one in control of the data. Not the tool… not the social networks accessing this ubersilo… the user. They have to control what goes where, and they need to be able to easily control how this data will be accessed on other sites.

Sounds pretty sweet, huh? Well I’m not one to sit back and watch an important fight from the sidelines… I’m going to have to do something about this.

PNG Compression

Today I had a set of fairly sizable PNGs to compress, viagra sale and I decided that now would be as good a time as any to benchmark a few of the PNG compression tools available out there.

The files I used were a set of 7 annotated screenshots that were intended to be used on the web… I don’t know the originating program (although I know it was on Mac OS X).

The various compressions used were Pngcrush (a command-line utility), grip OptiPNG (drag-and-drop utility), The GIMP (image editing program), and (oddly enough) Microsoft Paint for Windows Vista. For The Gimp & Paint, compression was achieved by just opening the file and then saving over it (doing a “Save As” in GIMP and just a “Save” in Paint).

Long story short: OptiPNG is the best, but Paint had the exact same compression level. Here’s where it gets weird… to get the same compression out of Paint that OptiPNG achieved, you need to open and save the file 3 times. I do not know why.

THE STATS:
[Compression method]: [total size of all seven files after compression]

  • Uncompressed Files: 265k
  • The GIMP: 235k
  • Pngcrush: 230k
  • OptiPNG: 229k
  • Paint (one compression): 254k
  • Paint (two compressions): 233k
  • Paint (three compressions): 229k
  • Paint (four compressions): 229k

MS Paint must have undergone some serious changes to its PNG support for the Vista version. Even though it matches the best compression, I’m still fairly baffled as to why this takes three rounds.

In the end, OptiPNG is the winner in my semi-scientific test. If I had a larger data-set, this would be a little more valid. If people find this useful and are still curious, let me know and I’ll run the same tests on a much larger dataset.

Hope this helps!