Visualizing time series data embedded in tweets

Over the last few days I have been building a simple Twitter client to visualize time series data embedded in tweets. You can find the proof of concept client here. Feel free to play with the tool and to repurpose the code. Read on for my initial thoughts on embedded Twitter data and ambient visualization.

Time series data visualized in twitter feed

A couple of days ago I stumbled across the Twitter Data proposal.

In 140 chars: Twitter Data lets people embed bits of data in their tweets so that computers can read the data and do cool stuff #twitterdata“.

The syntax behind Twitter Data is simple.

  1. Data is structured as name-value pairs of strings.
  2. Names are start with a $ character.
  3. Values start with the first non-space character following the termination of the name with a space (e.g. “$name value”).
  4. Spaces within values are literal and unescaped. (e.g. “$name value1 value2 value3 value4″).

These rules enable folk and bots to embed structured data in a tweet and send it out to the interested world.

I made a new Twitter account (sparkviz) and tweeted some time series data.

A raw data tweet - 13 years of NZ population figures

I also built a proof of concept web-based Twitter client to visualize time series data structured in this format. The client grabs the most recent posts for a specified user. Posts containing structured data are transformed into sparklines – “small, high resolution graphics embedded in a context of words, numbers, images”.

I think there is some merit to this idea. I would love to see visualizations of financial market trends, climate data and river health appear in my Twitter stream, nestled between tweets from my friends and colleagues. Am I a special case though?

I have reservations about this technique. It is difficult to appropriately contextualise the data. In particular, there is no facility to record the dates and time when these measurements were taken. There should also be some way to link to the source dataset. This could be as simple as a link at the end of the tweet. Of course, this consumes valuable characters. I have some ideas but I will let them sit for now.

This entry was posted in data, visualization and tagged , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

9 Comments

  1. Posted March 2, 2010 at 12:27 pm | Permalink

    Definitely a nice idea. If you’ve never taken a close look you might want to check out the Google Charts API, particularly as a good example of a concise vocabulary for passing chart data around using URLs.

    If you’re excited about posting realtime feeds of data, you might also like to click around http://www.pachube.com/

  2. admin
    Posted March 2, 2010 at 12:56 pm | Permalink

    Thanks, Tom. I have played with Google Charts. There are certainly some nice ideas about how to encode data and display paramaters in a concise way. I should take another peek.

    Thanks for the pachube.com tip. I will check it out this evening.

  3. Posted March 3, 2010 at 3:37 am | Permalink

    This is brilliant ! Imagine what would be possible with that kind of raw data stream and a geo tags…

  4. admin
    Posted March 3, 2010 at 7:39 am | Permalink

    Glad you are into it, Martin. Funny you should mention geo tags. I have been working on an extension to this idea that situates the data in its geographic, rather than chronological, context.

    I really like your blog – especially since you are providing code examples in Python.

  5. Posted March 4, 2010 at 3:03 am | Permalink

    Thanks Chris …I looking forward to seeing where this proposition going

  6. Posted March 4, 2010 at 1:01 pm | Permalink

    I’ve just written a post based on a generalization of this idea. See
    http://neoformix.com/2010/EmbeddedImagesInTweets.html

  7. Posted March 4, 2010 at 1:14 pm | Permalink

    This is a brilliant idea. Might be that a Greasemonkey script could adjust the HTML Twitter stream for you so you wouldn’t need a whole new Twitter client.

  8. admin
    Posted March 4, 2010 at 3:43 pm | Permalink

    Jeff, thanks for your comments and for extending the idea. I have been circling something similar but you have expressed the idea far more clearly than I have been thinking. Nice one.
    BTW … I dig your Twitter visualization tools.

    Chris, a greasemonkey script is a cool bridging idea and it would work for certain power users. However, to get real traction though the concept needs to get picked up by the popular web clients such as TweetDeck.

  9. Posted June 18, 2010 at 8:58 am | Permalink

    Chris,

    Great post. Have you read about Twitter’s Annotations initiative? This generalizes the Twitter Data idea and blows open a whole new set of possibilities with respect to embedding non-text data in tweets. I imagine it could also be used for sparklines, or any kind of chart data, really. The catch is that Twitter has not specific any kind of universal data standard–it’s up to the community to figure it out, and to the Twitter client authors to decide which kinds of data they want to natively support in their client apps.

3 Trackbacks

  1. By Four short links: 2 March 2010 « Murder Manual on March 3, 2010 at 12:39 am

    [...] Visualising Time Series Data in Tweets — builds sparklines from Twitter Data tweets. [...]

  2. [...] Visualising Time Series Data in Tweets — builds sparklines from Twitter Data tweets. [...]

  3. [...] Visualizing time series data embedded in tweets [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>