Quicker Cleveland RTA Schedule with Django
posted by brian at 02:54 AM
Since moving to Cleveland Heights, Sara and I have been taking the RTA to and from campus pretty often. The stop outside our apartment can get us there via the 9X or 7X, so we usually check those big tables before catching the bus. I thought it would be a big improvement if we could just have a little desktop widget that would say when the next bus on either route was coming.
But what's the fun in making such a simple widget if the backend powering it isn't generally useful? So I made a simple site that shows the bus schedules in a format more suited to our riding patterns. The plan is to have iCalendar feeds of the routes and stops, which the widget will read, while others can use the feeds however they prefer. For now the Superior & Mayfield and Mayfield & Euclid pages serve my needs.
This is after a couple days of hacking, so there are bugs, particularly in the early morning hours (due to weekday buses running until Saturday morning, for example). A trip planner would be nice too. One annoying limitation is that there isn't a list of all stops for every route that I can find. The 6 stops at Mayfield & Euclid, but it isn't listed in the abbreviated 6 schedule, so it won't show up there. Argh.
If the route you want isn't listed yet, just replace the 7X in http://exogen.case.edu/rta/route/7X with the route number and it'll fetch it from the RTA site.
Happy commuting...
Comments
Psst... you probably didn't mean "http://localhost:9000/route/6/" for the 6 link.
Neat project.
--Tom
Fixed, thanks!
Neat thinking ..... eek hope you are well.
I'm using it right now. It's nice being able to see all the buses associated with a particular stop, at one glance. And very importantly, no more missing the bus because you forgot to check the saturday/sunday/holiday schedule (this does that for you)....which sucks so bad.
What does the yellow background on certain stops mean? The darker the yellow the closer a bus is to reaching the stop?
Right now it tries to figure out the "major" stops and highlight them, by counting the number of buses that stop there. I was also thinking of logging the stops people click on the most so I could highlight the most popular. Kinda like a tag cloud. The other day I had your idea too, highlight the stops with an approaching bus, which I kinda like. Still haven't decided which to keep. What do you think? Either way I can make it more clear somehow.
Excellent site! Thanks very much. Tried to add the 20A and the 35 though, and it said they only run on Sundays from 12am to 3am. Does it take some time after adding before it gets all the information? Also, does it have info on the rapid? Tried the 66X unsuccessfully.
Ed,
Thanks for letting me know, I found a bug and fixed it. The 20A and 35 should both work now. The rapids are a little weird because the naming is inconsistent on the RTA site. For example, the 66X is shortened to just 66 in the URL, unlike in other routes. I think if you enter just 66 it should work. The 67X and 67AX are another story, they both point to the same schedule...
I'll take a closer look at dealing with all those cases this week.
Check it out, we're talking about you at realneo.
Here's a challenge -- make a better trip planner for RTA. http://realneo.us/blog/johnmcgovern/new-front-end-for-rta-route-scheduling#comment-3095
Susan -- cool! I do plan to attempt a trip planner, probably with some lightweight Google Maps integration. That will probably come after the iCalendar feeds and other upgrades.
That's great, Brian: Thanks!
Note that route URLs missing the trailing slash don't seem to work.
This is awesome. Keep up the good work.
just a few ideas.
you should group the stops by city, soon u'll have every stop in cleveland and people will have too look through the whole list to find a couple stops they are interested in.
a better way to do the same thing would be to have a google maps mashup and map all the locations with the next times in the caption bubbles.
-brandon
also i noticed that ur cms app and now this are written in django. did u lose interest in turbogears?
brandon,
Good idea about the stop grouping. I quickly realized I'd need to tame that list somehow and that sounds like a good solution.
Pagoda is still built on TurboGears, with no current plans to move to Django. I use Django for many of my small projects because it comes with lots of nice little extras, especially for templating.
brian,
great application! i've been spreading the word about this exciting use of technology. i really like the mobile device applications (eventhough i dont own one) of your little app.
i'm thinking that it would be incredibly useful for users of web-enabled mobile devices to be able to get a schedule based not only on the current time, but on their current location as that would make mass transit as convenient, or perhaps more so, than automobiling. I suppose there are still some issues to work out on the mobile device side, before this can become a reality.
also, do you have any interest in working with rta's web designer to reconfig their site a bit in order to make it more user friendly. i know some folks are working on the inside to get rta's attention re: your elegant solution.
congrats again on a fine application!!
ps. would you consider your little app a web2.0 development?
Your site looks pretty nice as it is on my Treo 700p, so consider this just a reminder to think about mobile users as you move ahead with any enhancements since this is the sort of app which is especially handy while away from the home/work PC.