January 30th, 2008

Tumblr API Feature Requests

I noticed a number of posts on my Tumblr Dashboard over the last few weeks regarding new features people would like added to the site.  The team working on Tumblr is faced with the challenge of addressing those requests while trying to maintain the simple, clean interface that drew many of us to Tumblr in the first place.  That’s not an easy balancing act.  David and Marco have done an excellent job managing the trade-offs so far.  For a future release, I think a good approach would be for Tumblr to expose some of the additional features through their API as tools for developers to customize their experience or to build services on top of the Tumblr platform.  For example, the latest release allows people with CSS / HTML experience to add a module to their page that automatically displays the people they follow on Tumblr.  Rather than impose that change on all users, Tumblr offered it as an option for customization.  That’s smart.  In just a few days, several developers created new themes that make use of the follower feature and made the code available to the rest of the community.  If you want to add a follower module to your page, you can.  If you think it’s clutter, leave your theme as is.  You choose the front-end experience you provide to your readers.  Everyone is happy.

I hope Tumblr uses a similar approach for some of the back-end data via their API.  If Tumblr continues to open up their data, external developers will meet the demand for new features without cluttering the Tumblr.com experience or tying up internal engineering resources.  Twitter, Flickr, and other sites have had great success with this approach.  Passionate developers build services that compliment those sites and address niche needs like a mobile interface, flash visualization tools, Facebook apps, and so on.  The current API is a great start, but it’s lacking some essential data needed from the developer community in my opinion.  

What would I like added to the API you ask?  Well, it turns out I made a little wish list:

  • Posts All: the posts “read” method should offer an option to query all Tumblr sites, not just one specific user.  User name / site name should become a filter option, but if you leave that field blank, the API would return a list of recent posts from all Tumblr users, similar to the public timeline on Twitter.
  • Post Search: keyword search API that returns posts matching a particular phrase for either one particular Tumblr user (site search) or across all Tumblr sites (Tumblr search).
  • Popularity Sort: the “read” method should offer options to rank results by some measure of popularity.  Popularity would be a function of the number of times a post was reblogged, the number of followers the author has, etc. 
  • Reblog Indicators: each item in the posts results should include reblog data similar to the info accessible through the theme tags (ie. reblogged from, originally posted by, and reblog count).
  • Following Method: a new API call that returns a list of all the people being followed by a particular user.  If people have privacy concerns, they should be able to opt-out of this feature and keep their follower list private.
  • User Method: a new API call that returns high-level profile data for a particular Tumblr user including their user name, site name, avatar, number of followers, number following, total number of posts, total times reblogged, etc.  
  • Groups Method: I’m not all that familiar with the groups feature in Tumblr, but I guess there should be an API call to capture that data.  

I’m confident that hundreds of interesting products and features would appear within a few weeks of exposing this level of information to the developer community.  I hope we see these API features added in an upcoming release.

If I missed any important API changes, reblog them or leave a comment.

Keep up the great work team Tumblr!

| |

  1. hunterpryor reblogged this from joelaz and added:
    needs some love. Currently...looks like aTumble,...iPhone...
  2. web-mastered reblogged this from joelaz and added:
    You’re totally right. Everything that...theme variables should
  3. joelaz posted this