So, this is some serious Web 2.0 action: Instructables user zachninme (and ex-intern) wanted to have a rating system for comments on the site (so far, we only allow users to rate the instructables themselves.) He built a Greasemonkey script that any Firefox user can install; this injects a rating interface into all the comments whenever that user visits Instructables. Then, he wrote a backend using the new Google App Engine that collects all of the ratings, aggregates them, and pushes the show/hide logic back to the user’s Firefox client.
Voila: instant community/social feature, completely disintermediated from our site. The web being what it is, nowadays, he doesn’t have to run a server or get permission from us. Innovation accelerates…
Here’s a link to his announcement.

No Comments »
Instructables moved to its new location in SOMA, today. From now on, I’ll be doing five-minute bike rides to and from work and two-minute walks to Alter Center, where I do my kickboxing.
View Larger Map
3 Comments »
Having not read the session description ahead of time, I was expecting this to be all about browser hacking in the narrow sense: specific tricks, workarounds, and hacks. Instead, it was a much more interesting talk about why this approach to feature development is vital to the web itself.
We are in the midst of an incredible acceleration in the variety of technologies vying to serve as our interface to the cloud. Dillard did a great job characterizing the forces at play (standard vs proprietary, open vs. closed.) He then explained the complicated role that technical hacks play in this ecosystem, since they can both allow developers to adopt standards before browsers support them, and at the same time push the standards themselves (treading dangerously in the territory of proprietary feature sets.)
His advice to developers boiled down to this: Don’t wait for standards, but hack as dangerously close as you can to the bleeding edge of where you think the open web is headed. The most valuable hacks are the ones that bring future standards to today’s (and yesterday’s) browsers.
Do Try This at Home: Ajax Bookmarking, Cross-site Scripting, and Other Web 2.0 Browser Hacks
Development, room 2003, Friday 3:50 PM
Brian Dillard (Pathfinder Associates)
My rough notes are after the jump.
Read the rest of this entry »
1 Comment »
This was the one-year follow-up after Steve Souders did his first presentation (at last year’s Web 2.0) on optimizing the performance of frontends. He’s done some amazing work collecting best practices, including a whole decision tree on the best methods to inject script into a page, based on browsers, the need to access scripts cross-domain, etc.
As far as immediate applicability to my work at Instructables, this was by far the most interesting talk of the conference for me. Rough notes after the jump.
Even Faster Web Sites
Focus on Web Operations, room 2002, Friday 1:30 PM
Steve Souders (Google)
Here’s a link to the slides. As a preview, below is the money shot: a full decision tree for how and when to use any one of six different methods for dynamic script inclusion:

In addition, I had a very interesting conversation with badass engineer/analyst Artur Bergman who has suggested some ninja moves to get us past the the external script loading problems that we’re having at Instructables. I’d previously been stumped, so this may be something of a coup.
Read the rest of this entry »
1 Comment »
This was a great talk by Gregg Pollack, who’s a big Ruby on Rails evangelist. Here, he makes his case for TDD (Test-Driven Development) in general, and a new form of it called BDD (Behavior-Driven Development) which he hearts. The live-coding was fun (it always seems fun, with Rails) but it made for some very bad note-taking. Fortunately, I found a video online with similar content, so you can watch for yourself.

This doesn’t have immediate application at Instructables, though I’ll be looking into BDD and TDD systems that have been developed for frontend code. Rough notes and links after the jump.
The Art of Testing Web Applications
Thurs 2:40 PM, Development 2003
Gregg Pollack (Rails Envy)
Read the rest of this entry »
No Comments »
The fun project I helped out with at Saturday’s Alchemy: Origami lanterns made with “LED Throwies” stuffed inside. Here’s a photo I found:

Photo by broxtronix
Update: Stephanie took some more photos, too:
No Comments »
This was a session by Matt Jones (Dopplr) and Tom Coates (Yahoo! Brickhouse / fire eagle) on the past, present, and future of “data portability” and other ways in which users experience and give access to their personal data. They discussed a lot of interesting design patterns that are fundamental to our current phase of innovation. These are interactions and metaphors that don’t always come to mind when people think of the superficial aspects of Web 2.0. Rough notes after the jump.
Polite, Pertinent, and… Pretty: Designing for the New-wave of Personal Informatics
Design and User Experience 2006 Wed 9:40 AM
Matt Jones (Dopplr), Tom Coates (Yahoo! Brickhouse / fire eagle)
Read the rest of this entry »
No Comments »
This was a session by Alex Payne (Twitter) and Michal Migurski (Stamen Design, who did the Digg Labs apps) on their experiences designing, implementing, and scaling APIs. My rough notes are after the jump.
Design Your API: Learnings from Twitter and Stamen
Development, room 2003, Wed 2:40 PM
Alex Payne (Twitter), Michal Migurski (Stamen Design)
Read the rest of this entry »
No Comments »
I’m hanging out at the web2.0 conference, this week, checking out occasional sessions and schmoozing. Instructables is doing free laser etching on the conference floor for your laptop/phone/genitalia.
I’m also doing a web2Open (the un-conference running parallel to the main one) session tomorrow afternoon at 12:50PM called “Coding Lazy.” It will be all about how Instructables uses tags to model Javascript dependencies in the client, and how that allows us to code at full speed while procrastinating on proper factoring and optimization for as long as possible. Stop by if you’re interested!
Here’s the Web2Open schedule. And here’s how to get a free pass.
No Comments »
Dust-Me Selectors looks like the killer app for clearing out CSS that your site doesn’t need. We’re using it to quickly cut down the CSS mess on Instructables.
Dust-Me Selectors is a Firefox extension (for v1.5 or later) that finds unused CSS selectors.
It extracts all the selectors from all the stylesheets on the page you’re viewing, then analyzes that page to see which of those selectors are not used. The data is then stored so that when testing subsequent pages, selectors can be crossed off the list as they’re encountered.
You can test pages individually, or spider an entire site, and you’ll end up with a profile of which selectors are not used anywhere.
No Comments »