David StevensonDavid Stevenson
iPhone Interface for Pivotal Tracker
edit Posted by David Stevenson on Thursday March 19, 2009 at 04:59PM

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: http://itracker.heroku.com

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

Comments

  1. Benjamin Stein Benjamin Stein on March 19, 2009 at 08:57PM

    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. --Ben

  2. David Stevenson David Stevenson on March 19, 2009 at 09:15PM

    Ben,

    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!

    -David

  3. zlu zlu on March 19, 2009 at 09:47PM

    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 Chris Bailey on March 19, 2009 at 10:02PM

    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. Patrick Curtain Patrick Curtain on March 20, 2009 at 07:15PM

    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.

    Blessings! --p

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

  6. Jeremy Jackson Jeremy Jackson on March 27, 2009 at 11:55PM

    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 Shep on March 30, 2009 at 09:57PM

    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 Peldi on April 16, 2009 at 11:32AM

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

  9. David Stevenson David Stevenson on April 16, 2009 at 04:30PM

    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 David Stevenson on April 16, 2009 at 04:33PM

    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 Rob Lord on July 27, 2009 at 06:28AM

    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.

    Thx!