Archive for the ‘General’ Category

Is OnlinePrimary.us a “Showcase of Naivete?”

Wednesday, January 30th, 2008

Zoli Erdos, having read about OnlinePrimary on ReadWriteWeb, has branded it a “showcase of naivete.”  An excerpt:

I think the critical issues all boil down to these points:

  • Identification / Verification of who votes (did not ask for any)
  • How many times can you vote (I just voted twice)
  • Can your vote be tampered with (sure…)

Plain and simple.  Not so plain and simple to resolve. And this simple webform does not attempt to address any of these issues. 

In a comment to Zoli’s post, I responded…

…it’s not naivete that has kept OnlinePrimary.us from addressing the issues of voter identification and non-duplication. It’s lack of ability to leverage the machinery of the state. In the OLP illustration, one must assume the ID and non-duplication problem could and would be solved … via some state-assigned unique and non-predictable ID at the time of voter registration. (I use UUIDs in the OnlinePrimary illustration, but assign them at the time of voting rather than in a preliminary registration step.) A more troublesome design issue for me is preserving the auditability of the system while strictly separating the voter’s unique ID from the votes cast by that ID. The intent of OnlinePrimary is to stimulate community dialogue on how to solve such issues as you raise, not to present a fait-acompli solution (though I’d love to present one if I had it all figured out).

As for voting twice, yes - in the absence of any “one ID - one vote” controls you can do it.  The best OLP can offer in its present state as a barrier to “vote early and vote often” abuse is a not-terribly-sophisticated algorithm that assigns a “credibility score” to each vote.  I didn’t want to limit a given IP address to a single vote, since computers are often shared.  (In some cases, as at a public library, shared by many.)  So I try to factor in recency and frequency of votes from a given IP address to arrive at a measure of credibility for each vote.  It’s an intentionally porous screen right now, and Zoli slipped through it easily with his second vote.  I haven’t exposed credibility scores on the siter yet, but I plan to, as well as providing a way for visitors to set a “minimum credibility” value as a filter on their view of the results.

Regarding the potential for tampering, I have some thoughts that I’ll share in a future post, but acknowledge that it’s not addressed in this simple illustration.

OnlinePrimary.us is indeed a “showcase” - but not of naivete, I hope.   Rather it is intended as a showcase of possibilities that, with a lot of constructive criticism and input, we might be able to achieve.

ReadWriteWeb covers OnlinePrimary

Wednesday, January 30th, 2008

Thanks to Richard MacManus of ReadWriteWeb for a nice writeup today of OnlinePrimary.us.

OnlinePrimary Launches

Tuesday, January 1st, 2008

It’s just after midnight (East coast time) on January 1, 2008 and the basic voting function of OnlinePrimary.us has just gone live.

The development journal that wasn’t

Sunday, December 30th, 2007

I started this blog in steath mode in June of 2007 when I first began work on OnlinePrimary.us.  I intended it to be a journal of the development process, which I would bring out of stealth mode when I launched the site.  As you’ll see from the preceding posts, I adhered to that discipline for a while, but soon went off the rails.  I hope to retroactively fill in more of the development highlights and lowlights (such as the mid-course shift from Ruby on Rails to PHP) after I get more of the site built out.  But in the meantime there’s an awful looong gap between this post and the bunch that precede it.  If you get all the way back to the first post, you’ll see my original intention was to build the site in a dingle month.  For a variety of reasons, that went off the rails too.  I’ll try to talk about that too one of these days.

Day 10 - Design Spec Done! Job Posted

Thursday, June 14th, 2007

OK, the design spec is done.  You can see it here.  The next step is to get prospective designers to look at it and make proposals to do the work.  In the past, I might have contacted web designers I know and have worked with in the past.  But for Online Primary I decided to try a couple of the internet-based work exchanges that have cropped up recently.  (About a dozen years ago I tried to interest people in working with me on a website concept I called Freelance Exchange, or fex.com.  But I got no takers.  The time may not have been right then, but it appears the time has now arrived.)

odesklogo.gifThe first service I decided to try is oDesk.  So I created an account on oDesk and filled in the forms to create a job posting for “Website Design.”  The posting covered general details of the job, but linked to the design spec for all the details.

odesk.gifThe job post went up in the middle of the day.  I checked in on oDesk again after dinner tonight and there were already six expressions of interest.  I made a preliminary survey of the proposals and found they were all from people or organizations in India.  Most were from companies rather than individual designers.  (This latter fact wasn’t a problem, but was a bit of a surprise.) I decided not to look into the proposals further until tomorrow, allowing time for more to come in.

Day 9 - Mapping and Speccing

Wednesday, June 13th, 2007

I’m eager to finish up the design spec so I can start soliciting proposals from visual designers.  My four wireframed pages are now ready, and today I made a site map - a structural outline of the site elements and how they interconnect.  site_map_thumb.jpgI also fleshed out the web pages that make up the design spec, which I will point prospective designers to when I solicit proposals.  In addition to the wireframes and site map, these pages have details about the specific items I’ll expect the designer to deliver, the format they must be in, the rights I want to have to them, and so on.  (For example: “Each page design to include (1) design comp as layered Photoshop or equivalent file , and (2) browser-neutral, valid XHTML + CSS (table-less) layout ”)referencesite_thumbnails.jpg

There’s one more section I want to add to the design spec - a set of links to sites that suggest the context Online Primary will be part of (such as candidates’ campaign sites), and sites that have some of the design qualities I’d like to see in the Online Primary design.  Today I made a tour of candidates’ sites, capturing links and screenshots, and making notes about parts of them that might be relevant to the design I plan to commission.  Tomorrow I’ll add a similar set of links to non-political sites that have the lightweight, simple feel I’d like to see for OnlinePrimary.  These will become the “gallery” - the last thing I’ll add to the design spec.

Day 8 - The Rest of the Story

Tuesday, June 12th, 2007

Voting and results are the heart of the Online Primary experiment, and Primary Central (if it happens) will be a nice supporting element.  But there are also several content pages the site will include.  I expect to have a page - maybe several pages - discussing what the goals are for the experiment and what the different elements of the experiment are (single national primary, ranked-choice voting, open primary voting, seeing results-to-date before your vote, ability to change your vote until voting closes, etc.).  interior_thumbnail.jpgThere’ll need to be a page with the site’s privacy policy.  One with contact information  And I hope to have multiple ways people can share their thoughts and ideas relating to Online Primary, such as a forum and a wiki.  These pages can all share a common visual design, and I need to wireframe that template page for the design spec.  Along with finishing up the results wireframe, making that template wireframe was today’s task.

Day 7 - Results At Last

Monday, June 11th, 2007

There was still some work to do today on the voting page.  Issues to work through included how to discourage people from voting multiple times, and how (or whether) to limit the voting to people who will be elligible to vote in the actual election.  In the end, I decided it would be interesting to let anybody, eligible or not, to cast a vote; but I’ll ask people to say whether they’ll be elligible or not.  That way, results can be filtered to look only at self-identified elligible voters, but we can also see how those results compare to those of people who are not elligible (too young, not citizens, convicted felons, what-have-you).  Since Online Primary is not an actual election, why not try to find out what people in the non-elligible group are thinking too.  It might be illuminating to see if, for example, the top choice of elligible voters turns out to be the one least-liked by citizens of other countries. 

As for repeat voters, it will be impossible to screen them out entirely.  But I’ll have one of those “Can you read these squiggly numbers and type them into a box” things (a “CAPTCHA” in tech-speak) to discourage robot voters.  And I’m working on an algorithm to give a “credibility score” to each vote; with the results filterable to omit any votes below a chosen credibility score.  (This algorithim is the only element of the Online Primary code I don’t plan to make public.)  It’s not perfect, but I hope it will be good enough to make the results reasonably interesting.

results_thumbnail.jpgAh yes, the results.  They were on today’s agenda too.  I have big ambitions for the different ways people can look at the results.  (One element of the experiment is exploring what happens when people can see the current state of the results before they cast their vote.)  You’ll be able to see the grand totals, of course, with no filters applied.  But I also want to make it possible for visitors to “slice-and-dice” the results in a variety of ways, using as much self-identifying information as voters are willing to provide (state of residence, gender, age group, party registration, and several others).  Then there’s that business of looking at the results with different formulas applied to the ranked-choice and anybody-but votes people enter.  I’m punting for now on wireframing the details of all that, but I’ve done enough to let the visual design process go forward.

Days 5 and 6 - Voting and Viewing

Sunday, June 10th, 2007

Earlier in my entrepreneurial life I used to work through weekends regularly and without giving it a thought.  But I try not to do that anymore.  So this first weekend of my Online Primary month was a mix of family and household stuff with a little bit of advancing the project.

With the home page pretty much wireframed, I moved on to the ballot page. Among the questions I wrestled with was how to present the Ranked Choice voting.  Should I use a set of selection dropdowns or lists, a list of candidates with a rank-number selector next to each, or something closer to a typicballot_thumb.jpgal printed ballot.  I went with the latter.  Another choice I debated with myself was how many levels of choice to offer:  First second and third?  As many choice ranks as candidates?  The 1-2-3 alternative seemed just a bit too limiting, and the latter choice overwhelming.  So I settled on 1 through 5.  No real justification for that; it just felt like a good alternative to try.  (This is an experiment, right?)  In a fit of experimental zeal, I also decided to throw in an “anybody but” column, providing voters one opportunity to give thumbs-down to a candidate they really objected to.

How will those ranked choice votes and “anybody-but” votes figure into the results?  Well, that remains to be seen.  I’ll have more to say about that when I get to the results section, but my initial thinking is the site will offer multiple approaches for calculating a result from these additional levels of vote.  I’ll supply a couple, and I’ll try to leave room for users to provide other approaches and see how they affect the results.

tony.jpgNo work on the site Sunday night, for sure.  We’ve had a regular group coming to our house for dinner and Sopranos viewing since the start of the final season.  (Yeah, we TiVo it, but none of us wants to wait any longer than necessary to see what happens next.)  Not a chance I’ll miss the series finale tonight.

Day 4 - More Home Building

Friday, June 8th, 2007

More work today on the home page wireframe.  At first, I’d planned for the site to include only voting and display of results.  But, as I was working on the page, I came up with the idea of having a place on the site to aggregate information of all kinds relating to the 2008 US presidential primary.  “Primary Central” I dubbed it.  I’m not sure yet how easy it will be to find and aggregate that information, and I may yet end up dropping the whole idea.  But for now, it’s in there.

Originally, I wanted visitors to be able to cast their vote right on the home page.  There would be something like a pair of radio buttons to choose which party, and a select box that would be filled with candidate names once you make your party choice.  This would, I thought, encourage immediate involvement in the process.  But since one element of the Online Primary experiment is to try “ranked choice” (also called “instant runoff”) voting, I felt the ballot needed the space of a whole page.  So the voting action item on the home page became choosing your ballot.

That’s another place where my thinking evolved.  Originally I planned just Republican and Democrat ballot choices.  I was troubled a bit by omitting other parties (Green, Libertarian, et al), but also concerned about complexity that might be added by expanding the scope.  Then, thinking about the “ranked choice” dimension, it occurred to me that a voter’s first choice might belong to one party, but a member of another party might be their second or subsequent choice.  So I decided to add an “Open Primary” ballot option where all candidates would be available to choose from, including those from both major parties, other parties, and candidates (if any) running as independents. 

As for results, I plan to display detailed results on a page devoted to that purpose, but I want the home page to show at least some highlight results.  At first, I thought about having the home page show vote totals for just the current top two candidates in each primary, with a “more results” link. (I may still come back to that approach.)  For now, though, I went with tabs for each primary, each tab having the simple vote totals for all candidates in the primary.  To avoid implying bias toward any party, the active tab will be chosen randomly on each display of the page.