New Board of Elections Site

Wednesday, 27 February 2008

The rea­son I’ve been putting in so many late hours since the first of the year is now live to the world. The new Cuyahoga County Board of Elections site is now live. Our whole group has done pret­ty much noth­ing but re­code the site from the ground up since January 1st. I put to­geth­er a site tour to show off all of the new bells and whistles, but I’ll touch on my fa­vorites here.

My Voting Information

The My Voting Information page is a great one-stop-shop for per­son­al­ized vot­ing in­for­ma­tion, all of which is pub­lic record. If you en­ter your last name and date of birth you get de­tailed re­sults con­cern­ing your polling lo­ca­tion, bal­lot, dis­trict in­for­ma­tion, past elec­tion par­tic­i­pa­tion [not your votes, just the elec­tions you’ve vot­ed in], poll work­er par­tic­i­pa­tion and com­mu­ni­ty out­reach events in your city. There’s even a Google map which will give you di­rec­tions from your home to your polling lo­ca­tion.

Election Results Wizard

The Election Results Wizard lets you fol­low on­ly the races you’re in­ter­est­ed in in­stead of hav­ing to scroll through the huge mas­ter re­sults list.

Events Calendar

The Events Calendar lets you search for the events that you’re in­ter­est­ed in, and on­ly the events you’re in­ter­est­ed in.

Validation, Accessibility

Working with­in the de­sign con­straints [not a big fan of hav­ing to use #EF3E42] and the con­straints of the ASP​.NET CMS was great for the most part. I’m still hav­ing fits try­ing to get the server to stop spit­ting out so much trash code, but I’ve learned a lot about styling with­in .NET it­self. Despite that, I’m at a loss of what to do with the re­main­ing val­i­da­tion er­rors since even the three im­ages miss­ing alt at­trib­ut­es are in­ac­ces­si­ble be­cause they aren’t hard-cod­ed. I man­aged to give them ti­tle at­trib­ut­es, but can’t fig­ure out the alt text trick. I’m try­ing to con­vince the de­vel­op­ers to take the Google Map API key out of the web.config and put it back in­to the script where it typ­i­cal­ly is be­cause ASP​.NET doesn’t al­low code blocks with­in the head­er. This means there are script ref­er­ences out­side of the head­er. And, ASP​.NET la­bels spit out every­thing be­tween tags which the val­ida­tor al­so chokes on be­cause block-lev­el el­e­ments can’t be con­tained with­in in­line el­e­ments.Update: I’ve whit­tled down the val­i­da­tion er­rors to one, the onClick at­trib­ute that’s called as a user con­trol for the site search. That’s def­i­nite­ly one for a de­vel­op­er to look at. The alt at­trib­ut­es were in­sert­ed by us­ing a text=”” at­trib­ute in the asp:hyperlink line. I’m used to a text at­trib­ute ac­tu­al­ly spit­ting out text, so that wasn’t an in­tu­itive choice for me. The Google API isn’t called un­til some­one ac­tu­al­ly clicks on a di­rec­tions link, so there are now no scripts out­side of the head­er, and all those span tags can be got­ten rid of by us­ing ASP:Literal el­e­ments in­stead of ASP:Label ones. That sim­ple switch cleaned up about 80% of the trash code that I was see­ing up­on view­ing source. I’m learn­ing even more. Maybe I’ll even learn some pro­gram­ming here in a bit.

There might be a bet­ter way to go about this, but I’ve not had the chance to take an ASP​.NET course yet, and it is new hat to the de­vel­op­ers as well. Those guys are frig­gin’ he­roes though, no doubt.

In ac­ces­si­bil­ity­land, un­for­tu­nate­ly the site is heav­i­ly de­pen­dent on JavaScripts. There isn’t re­al­ly any­thing I can do about that as a de­sign­er, and most of the in­ter­ac­tive items de­pend on it. I made sure to provide ac­cess keys and tab in­dex­ing where it would be help­ful and we’re now pro­vid­ing an ac­ces­si­bil­i­ty state­ment, at least. There is al­ways more to be done, but the hon­est truth is that ac­ces­si­bil­i­ty be­comes a low pri­or­i­ty when the lim­its of time, mon­ey and in­ter­est are more con­cerned with oth­er things. On the bright side, the new site is worlds bet­ter than the old one for those who use al­ter­na­tive brows­ing meth­ods.

The End

In the end I hope that [as cheesy as it sounds] my work on the BOE site will help im­prove the elec­toral process and ex­pe­ri­ence for folks in Cuyahoga County. Although I say so my­self, the Cuyahoga County Board of Elections site is the best board of elec­tions site I’ve seen. I hope it in­flu­ences oth­ers to step up their game as much as the Web Group at the ISC has the­se past two months.

Time for a beer.


Sunday, 24 February 2008

Life has been too busy to pay much at­ten­tion to this web­site. I’ve got a re­design about halfway done, but it will con­tin­ue to lan­guish un­til I don’t have to put in quite so many hours at work; so, af­ter the March 4 Primary. There have been a lot of er­rands to take care of late­ly, fram­ing art, work­ing on cur­tains, get­ting a rug for the bed­room, so the bed doesn’t ru­in the wood floors, work­ing on the wall in the en­try room, pay­ing down debt, do­ing laun­dry, do­ing dish­es, along with var­i­ous oth­er ap­point­ments.

I’ve had a bad sore throat/​chest con­ges­tion for a week now. I fi­nal­ly bought some Mucinex, but al­though oth­ers swear by it, I no­tice no change in my abil­i­ty to hack up dense globs of phlegm. Sleeping is a night­mare.

On the baby front, we can feel him kick and punch and throw dance par­ties all of the time. Apparently he re­al­ly likes peanut but­ter.

For din­ner tonight I’m mak­ing sweet pota­to gnoc­chi with sautéed ar­ti­choke hearts and broc­coli with meat­balls on the side.

Eulogy for Frances Sue Berkshire

Saturday, 16 February 2008

My grand­ma died last Sunday night. Her obit­u­ary can be found here. I no longer have any grand­par­ents. Grandma Berkshire was a strong wom­an. She grew up in the Great Depression, but she liked to point out that she grew up on a farm, so while they were poor, they had plen­ty to eat. She was born in Kokomo, IN, but grew up in Flora, a place I’ve nev­er been, but one I’ve passed by a few times on my way to West Lafayette. She lived for years just down the road in Logansport, IN, where she raised 4 chil­dren, in­clud­ing my mom. I’ve writ­ten about her on­ce be­fore, so this post is like­ly to have some re­peats.

She loved dirty jokes and beat­ing the tar out of any­one she played at Scrabble. I on­ly ever beat her on­ce. She was a great part­ner at bid eu­chre, and a great grand­moth­er al­to­geth­er. When she lived in Connersville, I used to ride the bus to their house af­ter school and watch the af­ter­noon Disney car­toons in the kitchen. I’d sneak E.L. Fudge cook­ies from the cook­ie jar. At least I thought I did, Grandma was on to me, but pre­tend­ed not to hear. It was rough at the wake. There were dis­plays of Grandma through­out life, the book of her life with Grandpa which they re­ceived at their 50th wed­ding an­niver­sary; and a book of her po­ems. She wrote po­ems for the fam­i­ly for the big events in our lives; I re­ceived one for my high school grad­u­a­tion. When I came to that page, I fi­nal­ly let my­self cry. Grandma had so much love for all of us. 

She al­ways asked Grandpa to fix her half a drink, and when she’d feed me, she’d al­ways try to get me to eat more, in­sist­ing “there’s on­ly a dab left.” She saved every­thing. The bags bread came in, the wire twists that kept them shut, in­finite plas­tic con­tain­ers, po­lit­i­cal para­pher­na­lia from years gone, every­thing. And I was ter­ri­fied of com­ing any­where near The Lamp.

In typ­i­cal Grandma fash­ion, she planned her fu­ner­al ahead of time, down to the last de­tails. Readings, songs, who she want­ed to do what, even the type of flow­er she want­ed, ivory ros­es, were laid out for us. My mom and Camy read the eu­lo­gy, and did a great job. They end­ed with a po­em that Grandma had writ­ten for her own fu­ner­al, which tore the flood­gates open anew. After the fu­ner­al Mass, we learned that my cous­in Chris, who was singing along with my cous­in Jess, said “Shit, I have to sing now?” right af­ter the eu­lo­gy, and in­to the mi­cro­phone. He was wor­ried that every­one heard it. I don’t think any­one did, but if Grandma had, she’d’ve been, in her words, “tick­led.”

There is no way to say enough about her, but it is eas­ier to point out the ex­cel­lent fam­i­ly that sur­rounds me as a tes­ta­ment to her love and abil­i­ties. I miss you, Grandma.

Notes, Lately

Wednesday, 6 February 2008


  • $110 will get you ap­prox­i­mate­ly 250 items of sec­ond­hand baby clothes. No one needs to buy us any­thing re­sem­bling a baby cloth for at least the next 9 months.
  • The Bobby web­site ac­ces­si­bil­i­ty val­ida­tor is no longer avail­able on­line. It is now bun­dled in­to a piece of IBM soft­ware for pur­chase on­ly. This makes it hard­er, not eas­ier, for web de­sign­ers to build ac­ces­si­ble web­sites.
  • It is faster to ride RTA down­town than dri­ve, since the E 9th and Euclid in­ter­sec­tion snarls every­thing up. It is ac­tu­al­ly faster to ex­it on E 22nd Street and back­track.
  • No one is used to the bus lanes yet, they’re be­ing used as right turn lanes, which fur­ther snarls traf­fic.
  • After 3 years of pay­ing my con­sol­i­dat­ed col­lege loans on time, I just re­ceived at 1% re­duc­tion in the in­ter­est rate. Now it is at 2.375%, which is awe­some. I can pay it off faster now.