del.icio.us .:. tweet

Yahoo! Hack Day II: Bigger, Louder, Hack-ier! .:. kentbrewster.com

So I spent the day in a large room full of sweaty guys, junk food, spotty VPN access, and beer. Like the first time we did it, Hack Day was a stone blast.

I wandered in at 9am with no real idea of what I was going to do; I'd spoken to a couple of folks with bright ideas, but nothing that really made sense. I'd been looking at the Search APIs again, because the ideal Hack Day hack (for me, at least) should stand alone off Yahoo!'s network. (No, I didn't want to show SpiffY!Search at Hack Day; the point of the exercise was to do it in eight hours.)

Image Search, however, was something I hadn't messed with yet. I started with a vague idea: I'd get something together that brought in a set of results, ran some sort of context-checking do-what-I-mean sort of thing on the hosting sites, and came up with a tag cloud, so you could refine your search for the Perfect Image. (Vickie had mentioned the night before that it'd be cool to have a better image-search facility for use in quickly jinning up PowerPoint presentations, and that sounded fine to me.)

Around 10am I had a working prototype for step 1. The thumbnails in Image Search have always driven me crazy, since they're random sizes. Cropping them to 60 by 60 pixel Flickr-style thumbnails really made the project crystallize for me; suddenly it was worth doing. By pizza-time I had tickboxes on each thumbnail, so you could save the ones you liked when you went on to the next set.

At that point I hit a wall. Unfortunately, we do not (yet) have an API that will take an URL and return relevant search terms for that particular page. So I had to back up and punt: the prototype would simply break each image's title into words, add them to the pile of words it already had, sort them, and display them by popularity. (Huge, huge, huuuge props to Mr. Adam Platti here, who very patiently walked me through several misunderstandings I had around creating and manipulating Javascript objects ... it would not have worked without his advice. That's the sort of thing I like best about Hack Day: you're in a room full of very smart people who are grinding away hell-bent-for-leather on their own projects, and yes, it is a competition ... but they find time to help out when you get stuck.)

Suddenly, it was 4pm, and there were about 200 people in the room, drinking, talking, and eating Mexican food, which (once again, dammit) had snuck in without me noticing. I'd already submitted my hack in late morning, so I knew I'd demo early; at that point the list was up to eight and I remembered how long it was the last time. (Title: "Visible Search." Description: "I sure hope this doesn't suck." Only regret: that I didn't know the description would be visible to everyone as they scrolled through the nifty online rating form.)

Inspiration hit on the way up to the podium, however, and instead of typing in "cat" or "corn," which had both worked nicely in development, I tried "MP3." It was fast, pretty, and colorful and guess what? Brand names started appearing in those titles, the titles narrowed neatly into a creditable tag cloud, and three clicks later I heard somebody say "Holy crap, that's visual shopping search refinement!"

And ... you know what? It is! :)

No prize for me this time; Jesse and Jonathan got Best Use of APIs with a crackerjack plugin that integrated a half-dozen various search functions. And Dave won for Best User Experience with a very slick Maps magnifier ... nice going, Dave! There was a People's Choice sort of thing, however, and I'm happy to report that Visual Search came in second out of eighty or so hacks that were shown.

Big thanks go to Chad, for putting on Hack Day, and Ash, Bradley, David, Jeff, and Zod, for paying the bills. All in all, it exceeded expectations again; I hope to go back for the next one.

Comments from before Disqus:

Copyright Kent Brewster 1987-2014 .:. FAQ .:. RSS .:. Contact