About Google Reader's Birth: Part 2.
Other posts about ReaderThis story isn't just about me. But for a long, bad while it was, as described in Part 1 of the lore of Google Reader's birth. This is Part 2, however, where smarter people help limit my ability to totally destroy a good idea...
Besides, I knew that preparing for constructive iterative feedback on the not-really-a-parser project would take time and a lot of careful design and preperation and reflection.
"Lemme tell you why your thing sucks," Aaron Boodman helpfully offered before I'd barely begun.
Aaron and I sat near each other in Google, feet apart actually, and after seeing some early development he wanted to talk about the design I'd thrown together.
He let me know (I'm paraphrasing) that I was missing the big picture and that a reading tool would be more useful if its model started with the item (not the source) as a building block and allowed items to be interleaved and maybe even ranked and recommended to other people. Our conversation meandered into comparing certain views to television as TV channels are important but not as important to viewers as the shows themselves.
Aaron's a good coach. Not only did I buy into this model, I found his advocacy infectious. I added a feed reader as my 20% project later that day.
A speeding car without brakes.With code quality reminiscent of Ariane 5, I strung together a prototype using Apache, MySQL, and PHP. (aka LAMP) Except I didn't use Linux. I had a Mac running Panther. So, technically it was PAMP.
Shellen and I met to review my progress. After seeing the something instead of a parser he swept us into a conference room and sketched user models and personas and lightspeed business analysis. "We'll need to get onto the release calendar," he remarked. "How's next Friday?"
I knew he was kidding. Especially funny was an appointment that floated onto my calendar to meet a team that was making a sort of homepage for Google. The agenda noted plans for actually launching the thingamajig.
At home the joke deflated. The appointment remained scheduled.
The Hudsucker Moxie.All of the following is true. I can understand if you don't believe it.
The prototype wasn't well-defined, though it clearly had potential. Desperate for definition I decided to try something I'd half-remembered about the actor Jim Carrey. Something about getting out of L.A. and going to Las Vegas, searching deep within himself, and finding his first principles - whatever he was destined to express.
Ok, except I couldn't actually go to Vegas. I used the nearby conference room as a Vegas proxy and sketched madly on whiteboards, thinking deeply about feeds for days.
I arrived at a meeting with a simple pitch - a first principle for a feed reader. On a whiteboard I drew a circle, you know, like that Coen brothers movie. Beneath it I wrote the following:
Clumsily articulated, that phrase nevertheless became my focus. If true, it would follow that a feed reader's interface might have to be athletically flexible to match a wide variety of reading styles. I then drew spokes along the circle's edge to highlight various related but differing uses that Shellen and I had outlined over a series of intense discussions.
Feed reading is inherently polymorphic.
I heard the team's response as another Coen brothers reference. Simply: "Ok, then."
A ninja bowl filled with ninja sauce.When bad software is made, ninja coders can hear it moving even while they're sleeping.
Steve Goldberg was working on the Google homepage and offered to help with finding ninja-level engineers. I asked how I should help. "Show 'em", he said. This meant the prototype resembled an abused puppy and that an innate sense of duty would compel expert coders to rescue it from its cruel master.
In Google when ninja-coding apprentices need to go to ninja school and ask a question that stymies the ninja instructors ... the board of supervisory ninjas will, when they need ultimate wisdom, ask the advice of Ben Darnell, Laurence Gonsalves, and Mihai Parparita. So I was shocked they expressed an interest in the project. I then discovered that Laurence had already begun a project that dealt with feeds and ranking items, like the Thumbs Up/Thumbs Down feature in TiVo, I thought, "yikes, I just have a Atom parser in pancake clown makeup, what will he say about the prototype..."
When I showed them code for the prototype, I observed the same response. Each of them sagged in pain as if millions of variables cried out in terror and were suddenly silenced.
I will be forever grateful they believed the puppy could be saved. Serious plans appeared and real work could start, so with steely resolve ...
I fled the country.
End Part 2.