HackDay – writing a Twitter dictionary

As I said on Friday, Friday was IBM Hackday 5. I didn’t really explain what HackDay is, but if you’re not familiar with it, Kelly has posted a good description.

I made all my excuses in my last post, so with them out of the way, here is my hack.

The idea is an old one – but I’ll summarise it again here.

The hack was to extend the twitter.com website to provide additional context for people’s tweets.

Every twitter user can maintain their own personal dictionary of terms, that describe their personal significance when they use them in tweets. When one of these terms is used in a tweet, it is highlighted in some way, and if the user hovers their mouse over them, the full description is shown in a pop-up.

For example, my twitter dictionary might include entries like:

  • Grace – my three-year old daughter
  • Faith – my baby girl
  • Hursley – IBM Hursley Park, the site where I work
  • SYA – a youth charity that I started and am now on the board of trustees for

an example - screenshot of my hack in action

The idea isn’t to say what something means (why try and replace people’s ability to use Google?) but to say what it means to the tweeter.

Other uses could include to provide ‘disclosure’. For example, when I see posts by James Governor, I often see a few lines at the end such as:

…IBM is a client. RedMonk runs Google Docs. Google and Salesforce are not clients. We don’t currently use Salesforce apps…

But in the twitter world where thoughts fit into 140 characters, there isn’t the space to include this sort of context with every tweet. So James’ twitter glossary might include entries like:

  • IBM – IBM is a client

To demonstrate the idea, I used a Firefox extension to make my changes to the twitter.com pages. To save me having to write any clever Javascript or CSS, I just used the <acronym> HTML tag to implement my definitions.

The extension connects to a MySQL database used to store the twitter user’s dictionaries. The database access is performed by a php script hosted on the same server as the MySQL database.

The Firefox extension was written using Greasemonkey – because the HTTP request API it provides lets you access sites with a different domain to the page you’re changing – so it was a good quick way to get started.

I didn’t get around to writing an interface to let users edit their dictionaries – for testing, I just used phpMyAdmin to populate the database with some test entries.

But it works! And it is kinda cool to see your twitter page start getting dotted with definitions.

It’s all hosted on internal IBM servers – my web host provider struggles enough with the teeny traffic my blog gets as it is. If I tried hosting hacks here too, I fear it would tire out the little hamster in a wheel which I assume must be powering the server… 🙂 Sorry.

Update (9 Jan 2008): This is now available at http://twitterglossary.appspot.com/

Tags: , , , , ,

One Response to “HackDay – writing a Twitter dictionary”

  1. Brian Hayashi says:

    Great stuff! I discovered you thru your notes on DevNest.

    I tried signing up for the service…but it appears Twitter is having some latency issues, so I may need to wait for a whilst until your system can verify my tweet.

    I’ve had similar ideas…but they involve putting a tinyurl in the tooltip.