Glad You're Ready. Let's Get Started!

Let us know how we can contact you.

Thank you!

We'll respond shortly.

iPhone Interface for Pivotal Tracker

I’ve been wanting to use Pivotal Tracker on my iPhone, so I wrote a little proof of concept using the Tracker API. I thought that a native application would be much more difficult than a skinned web application using ActiveResource.

I tried out Dashcode, Apple’s recommended iPhone-compatible front-end web development tool, but was disappointed. I basically found myself developing the entire application in javascript, actually using XMLHttpRequest to talk directly to the API. This would have been pretty neat if I could have pulled it off, but I’d rather develop a data-heavy application in rails than javascript.

I ended up using simple CSS to skin the application called UiUI. It’s the best looking iphone UI I’ve seen, with tons of elements to choose from. It’s missing effects, of course, being only CSS. I also used Heroku, a free and scalable rails deployment environment to host my application. With it, I was up and running with a functional tracker application in under 3 hours. Since then, I’ve added the ability to create and update stories.

Check it out, let me know what you think:

If you’re not on an iPhone, be sure to use Safari. It doesn’t look great in Firefox or IE.

  1. That’s awesome, David! Definitely psyched about this.

    I tried it out this afternoon; I was able to view my list of projects but crashed going to the show action for my project.
    Do you get exception notifications? Let me know if you want me to send you any info from the client side.

  2. David Stevenson says:


    I got your exception notification –

    ActiveResource::BadRequest: Failed with 400 Bad Request

    That doesn’t tell me much. It’s just a simple GET request to the tracker API, so I can’t imagine why it would fail. ActiveResource is a pain in this respect – no way to know why it failed.

    It’s possible that your project doesn’t have API access enabled on it? It’s a project-specific setting I think.

    I can’t test this problem myself, because all my projects seem to work correctly.

    Let me know if you figure it out!


  3. zlu says:

    i tried it and it looks great.

    my project has over 500 stories and it was fast to load.

    the only request i have now is that i’d like to store username/password on the phone for a long time so i don’t have to type them everytime?

    i can’t imaging typing in the api token. it won’t be much a problem for me on os3 where copy&paste is available. so i can use evernote to transfer to token.

  4. Chris Bailey says:

    Thanks for this, pretty cool! It’s funny because just the other day I started thinking about building an iPhone app for Tracker as well. I wanted to do it a bit different, and even submitted a Get Satisfaction request to be able to filter stories based on Current/Backlog/Icebox, etc. But, this may satisfy my basic need. Thanks!

  5. David! Great ambition. I’m a huge fan of the tracker app and I’m evangelizing it everwhere I go. Would *love* the iPhone access. I’m also getting that error, so… let me know if I can test or help or provide you with data.


    ps> I’m up for building an iPhone app with you for it. :)

  6. Jeremy Jackson says:

    Hey David! It’s been too long. =)

    This was forwarded to me because it’s been a project I’ve wanted to do for a while now (a few months). I’m planning on doing it as an Objective-C app, as I already have xml and network code handy, so it’s a matter of tying an interface and the API together. We should get together and make this as an embedded app if it’s something you’re interested in.

  7. Shep says:

    I get an error after trying to login. I’d love to use this so I wish you the best in getting it up and running!

  8. Peldi says:

    I am also getting an error after logging in…so sad. Does it work with an API key instead?

  9. David Stevenson says:

    Peldi & everyone who’s failed to log in –

    I’m seeing a lot of “Unable to get token: Net::HTTPNotFound” errors, but I can’t duplicate. I think you’re not entering valid login credentials. You might also try email if username doesn’t work.

  10. David Stevenson says:

    Tracker is coming out with some API improvements that will allow you to get the current iteration, backlog, etc easily without making lots of requests. Things should go faster when I fix these issues.

    I’d love to see a native app, but I’d wait for these improvements (unless you’d prefer to just load all stories, which might be fine). Also, tracker doesn’t let you reprioritize via the API, so a native app might be limited in that respect.

  11. Rob Lord says:

    David, thx so much for this. Solid iPhone support is a game-changer for my projects.

    I’m also getting the 500 err from one project. I’d be happy to log the err, test, etc.


Post a Comment

Your Information (Name required. Email address will not be displayed with comment.)

* Copy This Password *

* Type Or Paste Password Here *