Streaming my life away

I’ve been playing around with Twitter, a neat little service from the people who brought you Odeo. You send it little text updates via SMS, the website, or Jabber. It’s intended as a piece of social software, but I think it has potential for more selfish uses.

Every time I ping Twitter, the message is time stamped. Every time I post a link to, that’s time stamped. Every time I upload a picture to Flickr, a time stamp of when the picture was taken is also sent. Whenever I listen to a song on iTunes, the track information is sent to with a time stamp. And of course whenever I blog, be it here, at the DOM Scripting blog or Principia Gastronomica, each entry has a permalink and a time stamp.

Just about every time somebody publishes something on the Web, it gets time stamped. Wouldn’t it be nice to pull in all these disparate bits of time stamped information and build up a timeline of online activity?

The technology is already in place. Most of the services I mention above have APIs. In this case, a fully-blown API isn’t even necessary. Each service already offers an easily parsable XML file of activity ordered by time: RSS.

At the recent Take Back The Web event here in Brighton, Rob Purdie talked about RSS being the vaseline that’s greasing the wheels of Web 2.0. He makes a good point.

Over the course of any particular day, I could be updating five or six RSS feeds, depending on how much I’m blogging, how many links I’m posting, or how much music I’m listening to. I’d like to take those individual feeds and mush ‘em all up together.

There are a couple of services out there for mashing up RSS. FeedBurner is probably the most well known, but you are limited to a pre-set choice of RSS feeds that you can mix in. RSS Mix offers a more open-ended splicing service but it seems a bit confused when it comes to date ordering. There’s some other service I was playing around with last week but for the life of me, I can’t remember the name of it. All I remember is that it had an extremely annoying interface full of gratuitous Ajax.

I’ve mocked up my own little life stream, tracking my Twitter, Flickr,,, and blog posts. It’s a quick’n’dirty script that isn’t doing any caching. The important thing is that it’s keeping the context of the permalinks (song, link, photo, or blog post) and displaying them ordered by date and time. What I’d really like to do is display the same information in a more time-based interface: a calendar, or timeline.

Annoyingly, the feed of recently listened to tracks disappears if you don’t listen to anything for a while. Grrr…

Update: Here’s the PHP source code.

Have you published a response to this? :



Pretty cool quick’n’dirty script to visualize your online timestamped life. It’s interested to see, even in this small amount (relatively) of data, a pattern. Photos on Flickr, then journal post.

It’d be interesting to see what research people do (via delicious) before they post about a certain topic. This could even be a bibliography of that entry… cool.

# Posted by trovster on Tuesday, November 7th, 2006 at 1:06pm


interesting.. i believe this was the idea of Nokia’s LifeBlog (pete, please correct me :)

although from a mobile perspective, every picture, sms, calendar event etc..

very cool. what you’ve done is basically a method of tracking you online. it give’s a really good contextual journey of your day to day life!

# Posted by Josh on Tuesday, November 7th, 2006 at 1:25pm

Michael Heilemann

An interesting observation, which made me think of a little geek-story I heard yesterday from a guy here at work.

He sails a lot, and when he does, he uses a GPS, which of course tracks his position and timestamps it. And when he sails he also takes photos a lot, which of course are also timestamped. Combine the two, and you have geo-tagging a go-go.

Carry a GPS around and you’ve pretty soon got a pretty accurate record of your entire life.

Now, how do I protect all that information? :)

Anyway, this is actually quite a cool idea, and one that has also crossed my mind—though in a somewhat more crude form—in recent times, though more specifically to keep track of and allconsuming, to track my entertainment input.

Hmm… I would actually love to work on a project like that. I wonder…

Mark Hadley

Jeff Croft has something similar here:

He calls it a "tumblelog", but i think tumblelogs are generally seen as less automated?…

I’d really like to see some more RSS mashup tools develop too, to see those timelines in action…

# Posted by Mark Hadley on Tuesday, November 7th, 2006 at 2:55pm

David Swallow

Do you ever get concerned about the amount of information that you are putting ‘out there’ about yourself?

I’m not in any way suggesting that you have anything to hide, and I’m sure you don’t publish anything that is too personal or private. When such a large chunk of your life however, is logged and detailed for everyone to see (especially when it comes to times / dates / whereabouts etc.), surely you are putting yourself at some risk…?

You just need to add a list of desirable items you own to Listal, and you have a ready-made shopping list for any IT-savvy burglars out there!

Perhaps I am being a little paranoid, but it is something that has made me rather cautious about sharing too much information. As you are such a passionate adopter of such technologies, I would be interested to know your thoughts on this issue…

# Posted by David Swallow on Tuesday, November 7th, 2006 at 3:01pm

Luke L

Jeff Croft’s site has a nice tumblelog of all his data spread across multiple systems. Also I think the ability to maybe drilldown the data (by time, service, area etc) would be very useful to someone simply perusing through.

# Posted by Luke L on Tuesday, November 7th, 2006 at 5:30pm

James Darling

This is a fantastic Idea, and one I think will spread. As out information gets increasingly spread over multiple services, our personal sites are just turning into a collection of these accounts’ information.

I can imagine a home page with all my doings, navigatable by a simple javascript, perhaps a simply as check-boxes along the top to see only what you want.

I see the future, and the future is APIs.

Bob Hope

It’d be great if you gave this script away for free to those that might want to use it. Even if it’s not perfect, it’s exactly what I’ve been looking for. :)

# Posted by Bob Hope on Tuesday, November 7th, 2006 at 8:12pm


I absolutely love this idea, and all I can think of saying is please share the source code, I love the possibilities this presents.

# Posted by Zeerus on Tuesday, November 7th, 2006 at 8:39pm

Mark Jaquith

You could use something like Gregarius to aggregate the feeds and republish the combined feed. That’ll store the entries in a database so that you can make the output feed longer than the input feeds. And that’d give you more control than an external service.

Zach Hale

You wouldn’t be willing to release that "quick’n’dirty script" to the rest of us to experiment with, would you?

# Posted by Zach Hale on Wednesday, November 8th, 2006 at 12:50am


FASCINATING! The first thing that came to mind was that the "life stream" could certainty use some hCalendar mark-up, but you beat me to it!

There is a Web-based time-lining app that works in a similar fashion to Google Maps. It is called "Timeline" and it takes either an XML or JSON as input to map to the timeline. It is possible for the hCalendar Microformatted data to be converted to an input for "Timeline". "Oblivious Development", Instant mashup!

# Posted by Brian on Wednesday, November 8th, 2006 at 12:44pm

Mikel Maron

Take Back the Web looked like a really good event .. how come I didn’t hear about it .. guess I need to update my RSS feeds

# Posted by Mikel Maron on Wednesday, November 8th, 2006 at 1:47pm

Kelly Abbott

Jeremy - Brian Suda forwarded this link to me. It’s an awesome read. I must confess that I’m trying, albeit accomplishing slowly, to create this very system over at If you want to help, I’d be grateful for any attention you could afford us. Either way, keep up the good work. Your original musings on the subject of feed aggregation to track an individual’s bits were a part of my inspiration to create the site.

Peace, Kelly, co-founder,

Patrick Haney

I had been thinking about doing this for a while now too, integrating it into my new site design (someday I’ll finish that…). I dig the life stream page you have, though I have some thoughts on how to make it a) more readable and b) more timeline related.

As for twitter, thanks for pointing that out. I hadn’t used it before, and it’s really easy to play around with. I just wonder if there isn’t an easier way to get that information without a separate service dedicated to "what I’m doing right now."

Nik Steffen

This is great. I saw this Life Stream on Jeff Croft’s Blog a while back, but never figured out how to do it. Thank you.

# Posted by Nik Steffen on Wednesday, November 8th, 2006 at 7:22pm

Lachlan Hardy

So pretty, Jeremy!

I’ve had just the same idea. Wouldn’t it be fantastic to offer a service that pulls together all your disparate interactions on the web into one location? I hate having so many different components of my online identity strewn across the web. Especially since a certain Mr Adams is drawing public attention[1] to my lack of such a space

Something else to put on the list of things to do


Boris Anthony

Hmmm.. you just gave me an idea for another use for my multi-contextual aggregator system, based on WordPress and SimplePie, which I have dubbed "ggalaxy" (in honor of "planet").

See, now I am not interested in tracking my own output on the web, I would love to have one place where I cna pull in all my friends’ output. And this I can do. Cool.