Ok, there’s been another flurry of updates to SacTraffic.org that bring about a number of major changes behind the scenes. No wait, “changes” is too weak a word, “total freakin’ rewrite” would be more appropriate here.
Google App Engine
The first major change is the use of Google App Engine to power SacTraffic.org. Heretofore SacTraffic had a backend powered by Perl on a LAMP-based system and relied on pretty much whatever hosting I could scrounge off friends for its home on the web.
Now, sitting on the shoulders of App Engine, with the firepower of Google behind it, I don’t have to worry so much where it’s hosted or how much traffic it can handle before it melts down. I know it can handle whatever gets thrown at it.
Also by using App Engine there’s an honest to goodness data store underneath it so this allows for more flexible and detailed queries on the CHP data. Data is now available via arbitrary queries, down to the CHP “Area” level, like ‘Placerville’ or ‘North Sacramento’.
Maps API v3
On the client end, the map engine behind SacTraffic has been updated to the Google Maps API version 3. This means, among other things, that it’s a lot faster to load.
I’ve also tweaked the look of the map a bit, but mostly because I could.
Atom Feeds instead of RSS
Because the CHP incidents are more data than content, I found that Atom feeds are better suited to syndicating them that RSS was. Along with the PubSubHubbub support that’s part of the new setup, the new Atom feeds are ideally suited to be the foundation for other systems (like the @sactraffic Twitter feed, which they do in-fact power).
More Live Cameras
The CA Department of Transportation has added quite a few cameras — like 25 more — since I last checked so I added them this time around. Sadly, they still use that nasty Microsoft ASF format so they still play like crap on non-MS systems, but when they do play they’re still pretty neat.
More to come
I’ve got other tricks up my sleeve, like more mobile development and faster data updates, all just waiting on the time to implement them, so check back often.