Thursday, May 6, 2010

When pet projects grow up and become something bigger


I had a huge smile on my face this morning when I scrolled through my Twitter timeline and found @gl33p's pictures of the new display at Mother Fools Coffeehouse. Coffeehouse patrons are now enjoying real time arrival estimates for the Madison Metro buses passing by at the corner of Ingersoll and Jennifer courtesy of SMSMyBus!

It's amazing and gratifying to see this project come to life the way it has. And it reinforces the importance of doing rather than talking when a problem presents itself. You just never know where it will lead you.

A few months ago, Twilio ran a developer contest for their new SMS API. Having already built one Twilio app for blogging to Posterous, I was anxious to create another one and I immediately knew what I'd build with the SMS tools. 


I have long wanted a way to query the Madison Metro bus system to understand where my bus is when I'm standing in two feet of snow. I knew that Metro tracked their buses using GPS so I figured why not put that information in my hand using a mobile phone.


I was able to build the app in a weekend of hacking and SMSMyBus was born. I could query any bus and any bus stop in the city from my phone. My problem solved... But I quickly discovered that I wasn't alone. Several people around me were having the same problem and immediately started using the service as well. Feedback and bug reports came flying in and the number of users grew without an ounce of publicity outside of a few tweets. Today there are over thirty individuals using the service to make their bus experience better.


Since its initial release, I've added a number of other interfaces to extract scheduling data.... You can now receive real time arrival estimates via the phone, email, Twitter, and Google chat.


Through the prodding of my first user and biggest evangelist, Preston Austin, I was encouraged to build a truly platform agnostic interface and make the data available through a simple web service. Once made available, Preston championed the creation of the display at Mother Fools and implemented a terrific presentation layer that continuously refreshes throughout the day.


This has opened the doors for a number of different opportunities for partnerships throughout the city, and we're looking forward to expanding the number of displays to make the data more accessible and make riding the bus more enjoyable.


Do you have an itch? Have a problem that needs to be solved? Go solve it. You never know what it will turn into...


  1. Awesome! Have you ever checked out Professor Jignesh Patel's Locomatix app? It also does real time monitoring of the madison metro.Just curious, what was the coffee house interface developed with?I had a similar experience (on a much smaller scale) when I put out my linkedin python library: All of a sudden people were contacting me about fixing bugs and adding features. It definitely gives you a different outlook on open source/volunteer development.

  2. I'm familiar with Locomatix. It's very similar to the Metro's browser interface for mapping buses. I was primarily interested in specific queries and doing so via SMS. I'd wager that most of the riders in the Metro system don't have smartphones, but they all have access to SMS. The coffeehouse is just JavaScript/HTML and it queries an XML interface that I provide. What you see in that picture is Chrome running in full screen mode.

  3. Here is another one from my recent CS mobile development class:

  4. Thanks Max.... I installed that app - it's pretty nice. They do some nice UI things. I'm going to try it for a bit.

  5. Thanks for your post. It's nice to see people explaining how they can adjust to the new pricing rather than the vocal few complaining about how it's all so terrible and all that.One question: With the new pricing, when you enable billing doesn't GAE have a minimum spend of $9 per month? My take on that is that if something isn't worth $9 a month, it's probably not worth keeping up, but still, if I don't have to pay for something I'll happily keep the money for myself. So, now that you are at $0, but with billing enabled (I assume you do), do you have to pay the $9?

  6. @craig right now i have billing enabled. so, yes, i am paying $9/month. i'll need to run this a bit longer to see how it behaves relative to the free quotas before i try to turn it off.

  7. I've long been championing an idea very similar to this, but I lack the "programmer's mindset". I'm really grateful that someone else has come along to do this. When I move back to MADison in a year, I'm going to enjoy the hell out of this.Nice work.