Lifestreaming With Friends
23 May 2008
As part of my thoughts of data portability and its little sister ‘data share-ability’ through public APIs, I’ve created a Zend Framework based class for aggregating data streams from a few of the popular sites I use and sort them cronologically. Though the class itself is not ready for the public eyes, the result is a lifestream of (some of) my activities online, visible from the lifestream link in the menu.
While this provides a simple way of tracking my steps, it does not help me follow my friends. To remedy this, I’ve started working on an open social web application. It will provide a simple means of adding information on yourself and friends and an interface for following both.
The application will be a distributed social web and as such can be installed on any webhost. I believe this is key while waiting for the One True Portable Data Format as it puts the social relations in the hands of the user - where it belongs - and not in a data silo of a private company (Facebook anyone?).
The Dataportability Website is a great resource on the matter. There is a wealth of great and useful standards already defined; The biggest problem is getting them out there in big enough numbers for it to matter.
It is, in many ways, the problem of structured data versus the way humans think. Computers are rooted in logic and structures and though the thought of an ideal taxonomy of the world and us is appealing (at least to some), I don’t see it happen. The universe is a far too messy place for it to truly succeed (though Google seem to have a few tricks). Compare this to the enormous usage of the so-called folksonomy or use of tags. They are easy to use, have no cumbersome hierarchies and appear to work most of the time. They do give rise to synonyms, homonyms, and lack of normalization (stemming) - concepts humans navigate easily but computers need help with.
There are many problems on the way to realizing my application, let alone a standardized way of parsing human relations online. At the moment what I have is
- A proprietary model for storing account (e.g. kind and username) and contact information (using xfn markup) used by
- A class for parsing data feeds from service providers and outputting it in a consistent way as
- A data stream structure loosely based on RSS
For it to be of any real use, the application should to accept connections directly from service providers (flickr, twitter, etc.) rather than just from another installation of the application. It would also be immensely useful if it could parse and auto-discover any microformat markup encountered (other sites I use, people I know, personal info).
A successful solution cannot be accomplished by one man, but it is interesting to work on and the prototypes keep me updated on my friends :)