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 pretty much noth­ing but re­code the site from the ground up since January 1st. I put to­gether 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 voted in], poll worker par­tic­i­pa­tion and com­mu­nity 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 only the races you’re in­ter­ested 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­ested in, and only the events you’re in­ter­ested in.

Validation, Accessibility

Working within 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 within .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­utes are in­ac­ces­si­ble be­cause they aren’t hard-coded. I man­aged to give them ti­tle at­trib­utes, 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 into the script where it typ­i­cally is be­cause ASP​.NET doesn’t al­low code blocks within the header. This means there are script ref­er­ences out­side of the header. And, ASP​.NET la­bels spit out every­thing be­tween tags which the val­ida­tor also chokes on be­cause block-level el­e­ments can’t be con­tained within 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­nitely one for a de­vel­oper to look at. The alt at­trib­utes were in­serted by us­ing a text=”” at­trib­ute in the asp:hyperlink line. I’m used to a text at­trib­ute ac­tu­ally 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­ally clicks on a di­rec­tions link, so there are now no scripts out­side of the header, 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 upon 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­nately the site is heav­ily de­pen­dent on JavaScripts. There isn’t re­ally any­thing I can do about that as a de­signer, 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­ity state­ment, at least. There is al­ways more to be done, but the hon­est truth is that ac­ces­si­bil­ity be­comes a low pri­or­ity when the lim­its of time, money and in­ter­est are more con­cerned with other 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 these 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­tinue 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 lately, fram­ing art, work­ing on cur­tains, get­ting a rug for the bed­room, so the bed doesn’t ruin the wood floors, work­ing on the wall in the en­try room, pay­ing down debt, do­ing laun­dry, do­ing dishes, along with var­i­ous other ap­point­ments.

I’ve had a bad sore throat/​chest con­ges­tion for a week now. I fi­nally bought some Mucinex, but al­though oth­ers swear by it, I no­tice no change in my abil­ity 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­ally likes peanut but­ter.

For din­ner tonight I’m mak­ing sweet potato 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 grandma 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 woman. 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 plenty to eat. She was born in Kokomo, IN, but grew up in Flora, a place I’ve never 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 once be­fore, so this post is likely to have some re­peats.

She loved dirty jokes and beat­ing the tar out of any­one she played at Scrabble. I only ever beat her once. She was a great part­ner at bid eu­chre, and a great grand­mother al­to­gether. 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 cookie jar. At least I thought I did, Grandma was on to me, but pre­tended 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­ily 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­nally 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 only 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­neral ahead of time, down to the last de­tails. Readings, songs, who she wanted to do what, even the type of flower she wanted, ivory roses, were laid out for us. My mom and Camy read the eu­logy, and did a great job. They ended with a poem that Grandma had writ­ten for her own fu­neral, which tore the flood­gates open anew. After the fu­neral Mass, we learned that my cousin Chris, who was singing along with my cousin Jess, said “Shit, I have to sing now?” right af­ter the eu­logy, and into 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­ily 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­mately 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­ity val­ida­tor is no longer avail­able on­line. It is now bun­dled into a piece of IBM soft­ware for pur­chase only. This makes it harder, 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 drive, since the E 9th and Euclid in­ter­sec­tion snarls every­thing up. It is ac­tu­ally faster to exit 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­dated 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.