Saturday, April 23, 2011

Running Straight Into The Abyss

Time flies. While telecommuting for AOL from Boulder back in 2006 as a Technical Advisor, I realized something had to change. But for a four year stint in Silicon Valley, returning to Boulder in 1999, I'd spent my life in Boulder, yet I'd never really made my business address here. Boulder didn't have enough software brain power up until 2006 (apologies to all those who were crushing it in Boulder with software prior to 2006; you're obviously out there). I had to go elsewhere to do what I wanted to do. Whether it was living in California, or living in Boulder, but working in Mountain View and Dulles, didn't really matter. Airplanes and technology would fill in the gaps.

It was early in 2006 that I realized that I had inadvertently retired. I'd muscled through the ranks of a big company for years, reached peak on the technical career ladder there, was making a truly appallingly large annual salary/bonus, and was effectively on an extended vacation from doing anything really hard with my brain. On a beautiful morning walk to my quaint private office on Pearl St I realized it had to stop. We'd just had our first child and I didn't want him being raised in an environment that showed him being lazy was ok. You can't explain to a child how the work you did long ago was paying off now; they can't piece that together at an early age. This revelation coupled with my passion for my hometown of Boulder, provided impetus for doing something about it.

After talking things through with my wife, we leaped together. It wasn't a solo decision of course. Our livelihood at the time (a crucial time mind you with a baby) was being put into play. I was guaranteed to take a massive AGI hit. I'd be jumping into totally uncharted territory in a geography that had never proven it could thrive in software. Having never worked in Boulder, despite living here nearly my entire life, I had effectively zero network to tap into. This was going to be a total reset. We looked each other in the eyes and said "let's live. let's jump." We did, and five years later, we're both incredibly grateful for having done so.

Step 1: leverage the beast
I sold AOL on building a development team in Boulder. We were going to be their "Web 2.0" group that would tap into all the data web services that were coming online, and build cool products on top of it all. Separate from the mother ship, we could innovate at a better pace, and do great things quickly. The office opened in 2006, but we had to nuke it after six months due to overall shrinkage at AOL. While I still had support for the office, it became clear I was going to have to be on a plane at least once a month out East justifying our existence; no thanks. Zap!

Step 2: think global, act local
Now what? Time to hit the pavement. What exactly was going on in Boulder? Who was innovating? Who were the entrepreneurs? What were the ideas? Who was executing? Where was the capital? Who was the capital? A combination of New Yorkers and Boulderites grounded me at a startup called me.dium. It was a shot at doing everything I'd hoped could be done in Boulder, but it was just too early in our ecosystem. We couldn't get all the pistons to fire at the right intervals. It was a great lesson for the community, and we all grew from it.

Step 3: try again
By 2008 much of the infrastructure was in place. Capital was more of a known quantity. Execution paths had been experienced first hand; the dos and the don'ts were clearing up. Between me.dium and the next thing, I was EIR'ing out of Foundry Group's (a venture capital firm; and current lead investor in Gnip, Inc; my company) offices in Boulder. That intermission brought Eric Marcoullier and myself together, and we ultimately, and quickly, founded Gnip. We split the company's home-base between Boulder (software dev) and San Francisco (everything else). This was my first crack at building the engineering team I knew could be built in Boulder, actually in Boulder. Too much talent, and too much ego, caused us to morph the team in a big, unfortunate, way. Boy had I'd screwed that up. Lesson learned. Next.

Step 4: try again
About a year ago I took on the CEO role at Gnip. Things are going really well at the moment. It's been a year of rebuilding, relearning, refocusing, and executing. A year of very hard work by a hard working team, and it's paying off. A year of applying learned lessons.

When I think back to my wife and I looking at each other and saying "let's live. let's jump," I realize we actually landed on our feet; against all odds.

The past five years have been unreal. How could we have made it through the worst macro economic conditions of our generation, while jumping from a lucrative/secure career into the maelstrom of startups, venture capital, and taking on parenting simultaneously?

Hard work, exercise and luck. I know my need to exercise a lot drives my wife crazy at times, and I suspect some at the office get annoyed too. If I don't keep blood and oxygen flowing well in my body, I'm a mess. I need it to relieve stress and to be productive. If you don't exercise a lot, you should consider it.

The story I can tell my children now, and when they're older, has made this whole escapade worth it even if it crumbles tomorrow.

Tuesday, April 19, 2011

Greplin: I so want this to work

This is a quick post to the Greplin crew. If you follow this recipe you will win and win big. This is a huge problem plaguing all of us. Go forth and conquer.

While I don't necessarily like it, the fact is that search is the navigation paradigm of our generation (and probably for several more to come). Blekko is doing some cool stuff for web searching in so far as blending verticalized, curated, search operators into the mix (though operators aren't great for ease of adoption... they're a further necessary evil to get us through this phase). While Blekko takes on the mess that is web search, a few companies have taken a stab at _search_ over the past year or so. The wasteland of companies that have tried broader search approaches over the years is vast, but the past few years have yielded some companies like Greplin. I'll admit I tend to ignore the space a bit because no-one ever comes very close to getting it right, but yesterday Greplin came across my tweet stream from a respected friend, so I dove in head first.

What you have got right so far:

  1. oAuth/oAuth equiv support. I need to be under the illusion of control, and oAuth models give me that warm and fuzzy feeling. Thank you for using technology as it was intended, rather than chumping out with lame credential storage weakness.
  2. Long list of services. I hesitate to mention this one, because the list I actually want is 100x bigger than the one you offer, but, nice job on coming out of the gate with a decent list. Other services I've tried give me a couple of options, and thus, the primary use case isn't satisfied. The goal is _search_ (across it all), not search across a couple of things.
  3. UI. Don't waste my time with a bunch of useless UI. Google got it right with the search box, and you're mirroring that well. Keep it up.
  4. Upgrade model. What you're building will take untold sums of CPU cycles and disk bytes. Charge me for it. Don't do some stupid thing where you think you can support this without billing me real money. You'll die. Charge me for specialized services, and resources. Feels like you're on the right path here.
  5. Native service URL resolution. Rather than building a copy of all the content and pointing me to that, when I click a search result, you take me to the native service. Beautiful. Don't lose track of this. There may be cases in which you don't have a choice but to point me to a local copy, but fight those hard.
What you need to do:
  1. Add all the other services all the users want. My personal short list: pogoplug, my local disks, my mounted disks, (notes), my curated RSS feeds.
  2. Build out operator support. Like everyone else, I have a lot of crap, and searching for "Boulder" across it yields too much data. I need to be able to apply the set of operators you'd expect in order to narrow things. "Boulder last week", "email: boulder", "work-email: boulder", "events: boulder from last month", "documents: boulder", "photos: > 5 stars from last year" "photos: Joe yesterday" "email: has:attachment utility bill" "home-computer: file-size > 1mb soccer flyer". I need the ability to go wide, and go very narrow in order to pull the needle out of the haystack. Giving me the Google equivalent of "first 1-10 out of 1,234,113,554,665,334 results" obviously doesn't help me.
  3. Operator documentation. If you support any operators at all today, I can't find them easily. Search operator usage is complex, and I need to read about how to drive yours.
  4. Native search box integration support. Apple'e working hard to get users to use Spotlight search on iOS and OSX operating systems. This is the right thing to do, and you need to follow suit, build the plugins accordingly, and do low-level native OS search box integration (complete with your syntax/operator support). You may think you have a better way to get users to change their navigation behavior, but you don't. Let the OS vendors fight that battle... ride their coattails. If you haven't dug into the API docs around Spotlight search... dig in... it's impressive stuff.
Looking forward to the progress.