Archive for June, 2007

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.

Day 3 - Wireframing Home

Thursday, June 7th, 2007

Today I started codifying what the elements, flow and process of the OnlinePrimary site will be.  “Wireframing” is what some call this activity (by analogy to roughing-in the outlines of an under-construction physical object using stiff wire).  I need this for the visual design spec, but it will guide the implementation as well.  First up: thinking through what will appear on the site’s home page.

The tool I chose to do this work is on online drawing tool Gliffy.  (I might have used Microsoft’s Visio software, which I have, but I like to learn about the capabilities of new web-based tools by using them for real work.  I’m pretty impressed with Gliffy.) gliffy-home.gifGliffy’s tools let me sketch in the elements of the page, them move them around, resize them, and so-forth as the work evolves.  To avoid any suggestion that my drawing was a visual rather than structural design, I stuck with a pallette of black, white and grays and with simple rectangular shapes and plain type. 

 It was a short workday though.  The morning was taken up with a long-scheduled doctor’s appointment, extended by a trip to the (busy) lab for the usual tests, and then a revisit to the lab in late afternoon for a second test the doc ordered.  So today’s yak was a different sort, but I still spent a lot of time yak-shaving.

Day 2 - Toward a Visual Design

Wednesday, June 6th, 2007

The one piece of this project I feel least qualified to do is the visual design.  I’ve spent enough time working with good designers over the years to get a feel for general principles, so if I have to I can come up with a reasonably “clean” design on my own.  But “clean” is a long way from “great” and I want the site to be visually appealing and look serious about what it’s doing.  Moreover, I expect that a good design will involve creating some artwork (a logo, an icon, visual cues for the various sections and functions, etc.) and I’m definitely inept in that department. 

So I plan to enlist a visual designer to do those pieces of the project.  But before I get to that point, I need to be able to communicate to the designer what the heck it is am asking them to design.  I plan to do this via the Web. Over at  http://www.onlineprimary.us/designspec I’ll be building a design specification (”spec”, or “brief” as some call it).  When it’s done, I’ll seek proposals from designers to create the design elements from that starting point.  Today I get started on that.

Day 1 - Yak Shaving

Tuesday, June 5th, 2007

yak.jpgYak shaving” is tech-speak for unrelated, often annoying tasks that must be completed enroute to a primary goal, and that’s what most of my Day 1 turned out to be.

For quite a while I’ve had a web server at a commercial data center, which I’ve used for various personal projects and to host websites for friends.  I didn’t want to use it for OnlinePrimary though, because my hopes are that the site will get more activity than my solitary server could handle.  So I decided to sign up for GridService from MediaTemple in hopes it will provide some scalability insurance.  (As additional motivation, both my server and its backup were starting to show signs of age, and my lease at the data center was up for renewal.)  A lot of the day went to migrating all of the sites, email accounts, etc. from my old server to the new, and getting all the internet addresses changed over to the new server, and testing that everything still worked.

Then there was setup to do on the server for the onlineprimary.us domain and this blog.  (Though MediaTemple does make it mighty easy to get Wordpress set up.)  And doing my first blog post, of course.

Bottom line: Migrations successful, and infrastructure taken care of.  But no hands-on work on the thing that’s the reason for this party.

Oh yeah, and what am I supposed to do with all this yak hair?

Bang!

Tuesday, June 5th, 2007

That’s the sound of the starting gun going off for my month-long marathon to launch the OnlinePrimary.us website and experiment on Independence Day 2007.

Welcome!  My name is Jim Edlin and I’m the instigator of this craziness.  I’ll have more to say later - on the site itself - about the reasons and ideas behind the Online Primary experiment.  For now, this is going to be a journal about the process and progress of creating the site.

banggun.jpgSince the Online Primary site isn’t public yet, and at this point only a few folks even know this blog exists, I’m mainly writing now to create a record of how OnlinePrimary.us came into being.  Today is the “official” start of the process - meaning today I started a leave of absence from my “day job” to devote full time to the project for a month.

There’s been some activity already, obviously.  About a month-and-a-half ago (April, 2007) I hatched the initial idea and decided to pursue it.  A few days after that I acquired the onlineprimary.us domain (and onlineelection.us, for a possible extension of the experiment).  I signed up for GridServer service from Media Temple to host the site.  And I’ve been noodling out details of the site’s functionality and design in my head pretty much every spare waking moment since then.

Now comes the cold water of reality — getting it out of my head and into code and pixels.  So wish me luck.

I’m on my mark.

I’m set.

Bang!