Tom Insam

Shelf



Version 0.0.15
Universal binary
(7.6m zipped)
Changelog

Shelf is an app for MacOS that looks at the current foreground application, and tries to figure out if what you’re looking at corresponds to a person in your Address Book. Then it’ll tell you things about them.

Using Shelf

Just run it. It’ll sit in the background, and watch the foreground application. If it can tie something you’re looking at (the current url in your web browser, for instance, or the target of an open chat) to a person in your Address Book, it’ll open a window and show you their name and picture, and it’ll try to fetch RSS feeds for any URLs in their address card.

It’s possible that you don’t have a very deep address book (most people just have email addresses, the URL field is hidden by default in Address Book.app). If you want a demo, just download my VCard file and import it. Then when you look at this page Shelf should figure out that you’re looking at me, and show you my recent Flickr photos, blog entries, etc.

Getting Shelf

Download shelf by clicking the icon to the right there. Once installed, Shelf will update itself when there’s a new version available. It requires MacOS 10.5 ‘Leopard’ (there are no plans for a 10.4 version, sorry) and is a Universal Binary.

Shelf’s source code is available in GitHub if you’re a developer.

Other references

Context

Shelf can derive context from the following applications:

  • Safari - looking at the foreground url, and for microformats in the source of the current page.
  • Firefox / Camino / Opera - looking at the foreground url. No microformat inspection here, alas.
  • Mail.app - From the email address of the sender of the currently selected email.
  • NetNewsWire - From the homepage url of the currently selected feed item, the feed url, and microformats in the HTML source of the feed entry.
  • Twitterrific - From the homepage or twitter page urls of the currently selected tweet.
  • Adium - From the IM username of the current conversation.
  • iChat - From the IM username of the current conversation.
  • Address Book - The currently selected person.

Adding new data sources is very easy.

Information

Shelf displays things about the foreground person, assuming it can find one.

  • Basic address book data - name, email address, real-world address, web pages.
  • Current Twitter status.
  • Current location and time according to Dopplr.
  • Last 4 Flickr photos.
  • Recent entries on their RSS feeds.
  • Recently-played last.fm tracks
  • Various other things

Shelf can only display these things about people if the URL to their homepage on the service is in their address book record. So for instance, to get Flickr photos visible for a person, put the ‘http://flickr.com/photos/{username}’ URL into their address book record. Likewise for Dopplr and Twitter homepages.

If you’re willing to sacrifice a little privacy, Shelf can ask the Google Social API about the URLs that it sees, and this can make it a lot more intelligent - if the person you’re looking at has a homepage that participates in the open social graph Shelf will be able to find other pages about them and display context from them as well. But be aware that this will send URLs that you look at to Google. This may bother you. But don’t worry - it’s off by default.