Thursday, February 26, 2009

February Miniapp: Call My Reps

You give it your address; it gives you names and phone numbers for the people who represent you in Congress.

I wrote it while watching Silence of the Lambs and debugging issues with work code on a production server. It's the simplest thing in the world; it just leverages the Sunlight API.

More complicated apps exist, and they look better, but all of them are too complicated in my point of view, and some of them are just fucking stupid as hell. There's one I can't find at the moment where you set up a script you want people to say; they give the Web app their phone number and address, and it automatically calls up their representatives on the phone, then patches the user through to one of their reps, then the user reads the script, and when they're done they press # instead of hanging up and the Web app automatically calls the next Congressperson and patches them through again. You don't have to be psychic to predict that many users forget all about # and hang up halfway through just out of habit, because that's what you do when you use a phone; it's basically the weirdest, most overcomplicated nonsense you'll ever see.

With Call My Reps I switched from Heroku to Slicehost, from Rails to Sinatra, from HTML to Haml, and from minimal graphic design to none at all. Setting up the slice was way easier than I thought it would be; deployment was a pain in the ass; all the actual code was easy. Like sssstolen!, I have no idea if anybody else will use this app at all, but I know that I'll use it all the time. Every single time I hear about something I need to contact my representatives about, I get sent to one of these overcomplicated nonsense sites when all I need is a phone number. I needed something Google-simple. Now I have it. Problem solved.

I actually wrote this in January to learn Haml. Because of some serious health issues this month, I didn't have time to build a real miniapp for February, so I deployed this one instead. Having gone this far, though, I figure I might as well go whole-hog later on at some point. That would involve moving it to its own domain, setting up design, and coming up with some improved, faster system for geocoding Congressional districts, so that data could be cached rather than obtained via HTTP in real-time, which is as slow as a retarded sloth in a coma.

The scaling problem is actually an interesting problem; I've seen some neat ideas it might be useful to explore. It'd be nice to make it a Google Maps mashup. Who knows, anything could happen. Most probably I'll just move it to a subdomain, use it myself when I need it, and never touch the code again because I'm busy developing the next thing.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.