Elect.io is a side-project I've been working on for the past few months, and is my attempt at providing a tool for voters in the U.S. to learn more about the candidates that are running for office in their area.<p>In addition to providing basic candidate bio information, when possible I also provide details on what issues a candidate supports or opposes. I calculate each position programatically using the following data:<p>- Special Interest Group ratings for this particular candidate. i.e. the NRA may give a candidate a score of 90 out of 100 in the year 2007 for the candidate's position on gun rights issues.<p>- The bias of the Special Interest Group i.e. the NRA strongly supports issues related to the preserving of Second Amendment privledges.<p>These ratings are then weighted by year (more recent ratings have greater weight) and run through an algorithm to determine a candidate's calculated "position" for each issue.
I've wanted something like this for a while. It takes a lot of effort to find info about candidates that are less well known.<p>A couple of comments:<p>- I find the use of checkmarks and "X" to be a little too simple, since you're calculating this stuff based on an algorithm. It might be better to devise some sort of little visualization (a small pie chart, thermometer, etc...) to show me the actual score in addition to the "X" or
"check". This is useful to identify situations where a politician is deliberately waffling on an issue. For example, my own congressman has a twisted history with respect to "Card Check". The algorithm shows this, but I have to click into the checkmark to see his score is 75/100.<p>-It's hard not to introduce bias in the phrasing of issues (I don't have a good solution for this). For example, I'm sure some would take issue if you had labeled the abortion issue "pro-life" vs. the current "pro-choice" (conversely, I'm sure some take issue with the current use of "pro-choice" as a category). About the only (not great) solution I can offer for this is to show both labels and give a score (as mentioned above). Civil liberties is another. Just because the ACLU doesn't like a candidate, doesn't mean they're a knuckle-dragging, sexist, racist, homophobe.<p>-There's the potential for subtle incumbent bias by letting the candidates with the most information drive the display. If one candidate is better known, the vast majority of the categories are driven by that candidate and it has the effect of making the other candidates look like they don't have positions on those issues (when in fact, the info is probably just not as readily available). Again, I don't have a really good solution for this issue either, but detecting extreme cases and really calling it out to the user is probably the best way to mitigate this.
Unreasonably hard to pull up "Chicago"; your search didn't accept a Chicago zip code, the name "Chicago", or "Chicago, IL". Instead, I had to select "Chicago" from a list of every city in the entire state of Illinois.<p>Any UI decision that involves selecting from a list of every city in a state is a bad UI decision.
That's quite clever. I'm impressed at how you can composite fairly objective views from special interest groups.<p>As mentioned by others, you seem to have a (lack of) data issue. Perhaps you could also work with public voting records (<a href="http://www.votesmart.org/" rel="nofollow">http://www.votesmart.org/</a>) to help mitigate that.
Curious about what you're using for your data sources; Wikipedia? OpenCongress? Check out Sunlight Labs API for Congress if you haven't already: <<a href="http://services.sunlightlabs.com/docs/Sunlight_Congress_API/>" rel="nofollow">http://services.sunlightlabs.com/docs/Sunlight_Congress_API/...</a>.
It's dead, Jim?<p>Hitting enter after entering my ZIP code gives me:<p>Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
handler.post(*groups)
File "/base/data/home/apps/codeablepolitics/1.344842764317514643/controllers.py", line 66, in post
geonames_results = geonames.zipcode_search(query, 1)
File "/base/data/home/apps/codeablepolitics/1.344842764317514643/utils/geonames.py", line 26, in zipcode_search
if len(web_service_response['postalCodes']) == 0:
KeyError: 'postalCodes'<p>Also: add this on the ZIP code input box: onfocus="this.value=''"
Have you also considered a mode in which the website first asks the user about his agreement with a series of political statements, and then offers the best-matching candidates?<p>(In Germany, there's Wahl-o-Mat which operates like that)
<a href="http://www.elect.io/elections/Orlando+FL-32899/chief-financial-officer" rel="nofollow">http://www.elect.io/elections/Orlando+FL-32899/chief-financi...</a> - Error.<p>Most of the pages in my area only have positional data on 1 candidate. Some have no info at all, or only 'gun rights'.<p>Until it's got more info, I can't see it being very useful.<p>Also, without references as to why the system thinks they have that position, I can't easily double-check. That means I end up doing most of the same work I'd have done anyhow before voting.
First line says "Abortion issues: Pro-choice"<p>Now, putting it like that already causes a bias in the reader, the opposite bias that "Pro-life: YES,NO" would cause, of course.<p>My point being: is very prepotent to say your site provides objective information. And you're probably pro-choice, right?
I like the sound of this app, but it doesn't seem to work with IE7 at all. I tried searching for my state and it gave an error and if I try to pick the state I see the select a city briefly appear and then it disappears.
I'm not sure about your color choices. It is just hard for my eyes to focus. I mean I can read it, but I can feel an extra one or two mississippi before my eyes really lock in.