Freezing my arse off tonight waiting for what seemed like way too long for the bus to come, I had an idea of how to make bus tracking even easier than it already is.
The CTA Bus Tracker is a great site run by the CTA that lets you check when the next bus is coming for buses along many routes in the city. The website has a very simple WAP interface which is easily navigable on a mobile device's browser. But there's still quite a few steps you need to go through to find out the time you want:
1. Load up the site
2. Choose your route
3. Choose your stop
4. Choose your direction
It's cold here, and one's fingers can freeze in no time at all pressing that stupid little five-way navigation pad.
All this information is encoded very simply and straightforwardly into a URL as follows:
http://www.ctabustracker.com/bustime/wireless/html/eta.jsp?route=80&dire...
You wouldn't want to type that in, of course. But it's not particularly easy to get to through the series of links, either. Plus, each page load can take a significant amount of time if your phone has a slow data connection.
This is where a new technology called Microsoft Tag comes in handy. It is a 2d barcode technology which lets you snap a photo of this funky looking little geometric-looking tag thing and magically, using your phone's browser, punts you off to the website which was encoded in the tag! the cool thing about the microsoft solution is that the website is not actually encoded in the tag. instead, the tag encodes some unique identifier which the Microsoft Tag reader app reads, then checks with a server to determine which web site to go to. The upshot of this is that you can change where any given tag points to dynamically, through a microsoft web site.
I imagine a tag printed on a sticker, stuck to every bus stop in the city. all a rider would need to do is take a photo of the tag (the reader app works is available on most smart phones, including windows mobile, blackberry, iphone, any phone that runs java....) and it will bring you to the exact page of the cta site which will tell you how long till the next bus comes ....
how can we make this happen?
is it illegal to put stickers on a bus stop? (probably yes)
but what if it's for a useful purpose? (probably yes, still)
Bus tracker
By clintHmm, it might be illegal, or at least frowned upon by the cta. But I see where you are going with this and I'm really interested in it. Something like the shopsavvy app for the G1(http://www.biggu.com/).
However, I really do not the logistics of making something like this happen are all that difficult. First we would need a repository database that would be something like a key-value pair where each individual stop would have its own stop id, which is something the cta has already done with their bus tracker. IE stop 14914 is the eastbound stop for the 77 Belmont bus at Belmont and Broadway. Using the CTA as the data source would could build pre-configured queries, pass the stop id to a web service and then using this amazing API(http://ctabusapi.jottit.com/) load the appropriate url for the necessary bus.
That gets me thinking, are the bus stop signs labeled by their individual stop id? If they were all one would need to do is take a photo of the id and then a program could translate the image into text and do a look up on that bus stop. Hmm... I'll be sure to check this out in the morning.
The other day my fingers were freezing and I wanted to look up 2 buses in order to see which was going to arrive first. As I was doing this and the feeling in my fingers slowly faded away I found myself very frustrated with all the different page loads and unnecessary paging that I had to go through when going from one bus stop to another bus stop. So to fix that problem, using the api I mentioned above(http://ctabusapi.jottit.com/) I created this simple CTA Bus Tracker page with three drop down lists for route, direction and stop - www.scaredpanda.com/bustracker - I use it now because I wanted everything on one page. I have found it to be much simpler than the CTA's mobile site.
Thanks,
- Clint
Great ideas ...
By dan.greenblattHi Clint -
Wow - great ideas there, and I love your little AJAX-ified (??) CTA site. I will most certainly tell all my friends about it.
It all seems simple then - just encode the proper CTA Bus query in a tag, and post it at the stop. The logistics of creating one of these is pretty easy, but how does it scale? We could create all the tags and then post them somewhere and ask people to print them out on stickers and post them at their favorite bus stop, but my guess is that that is not bound to happen, for the simple reason that most people don't easy have access to print-able stickers :)
I think you're really on to something with the unique id of each stop. instead of asking people to take a photo and then send it via MMS (which I can never get to work) or email ... why don't we just use SMS!
We create a TextMark (see www.textmarks.com) so that when people send a message to 41411 with the body "diycta STOP_ID_NUMBER" it forwards this requests on to our little script and returns the next three buses....
Did you find out if each stop has its uid printed on it?
D
Thanks, I didn't create it
By clintThanks, I didn't create it with any ajax functionality, just javascript post backs on a single page.
The TextMark is a great idea, I think we are both on the same page here. I looked at the bus stop yesterday and there is an identifier, but I don't know where the cta stores this particular id and if it is made public.
I think that we need to look into this some more.
bus stop info
By msmithivasYou may also want to check out http://commuting.in/chicago/why
I use it, and while you do need to set up your stops in advance, once you have them set, the site remembers your stop for the future. The mobile interface works well in both iPhone and Android G1.
The problem I see with Microsoft Tag and other barcode apps is that you still need to download and install an app on your phone. Most of the general public still don't have smartphones (although that is changing). So I think that a text messaging solution is still the best least common denominator solution.