Thursday, December 22, 2011

Partnership

I had a great conversation about partnerships with Chris Moody this evening. Chris and I have been working closely together for six months now at Gnip. As one of our investors put it, "the company is ending the year having completely exceeded any rational expectations." I personally described our year to my wife as having "f***ing killed it!" One of the contributors to our success so far has been effective partnerships within the company (certainly including ours).

Over the past few years the notion of "co-founders" and "partners" has pervaded much of the entrepreneurial/investment landscape. Techstars pushes the notion of "co-founders" hard. Generally a "technical founder" and a "non-technical founder" are considered essential to success. I have strong opinions around artificially binding two people together in a "partnership." Life-long buddies can yield priceless relationships in business (also disaster of course. it takes a special initial friendship to do business together down the road). However, putting two people in a fishbowl and seeing if they'll thrive together is a hard thing to do. Your odds of successfully partnering are much better if...

  • the way each party generally wants to spend their day is different.
    • if partnerA wants to wash the dishes, and partnerB wants to wash the floor, that's good.
    • if partnerA wants to wash the dishes, and partnerB does too, that's bad.
  • the line separating responsibilities reflects the parties' interests, and is clearly drawn.
    • if partnerA wants to wash the dishes, and partnerB wants to wash the floor, and partnerA is responsible for the dishes, and partnerB is responsible for the floors; that's good.
    • if partnerA wants to wash the dishes, and partnerB wants to wash the floor, and partnerA is responsible for the floor, and partnerB is responsible for the dishes, that's bad.
  • each party has the skills/ability to do great things in their area of interest.
    • if partnerA wants to wash the dishes, and partnerB wants to wash the floor, and they're both good at what they want to do, that's good.
    • if partnerA wants to wash the dishes, and partnerB wants to wash the floor, and one, or both, of them is not good at doing what they want to do, that's bad.
All of this assumes fundamentals like the belief that "two heads are indeed better than one" for a given challenge, honesty, trust, rapport, and overall common interest in the goals.

If you're in a partnership, or considering one, check against the bullets above to make sure the partnership is setup for success.

Saturday, November 19, 2011

iTunes vs. Amazon Fire

I've been intrigued by Amazon's Silk browser and associated Fire product. In the process of talking about it on Twitter and Facebook, one of the software industry's brighter individuals (and former Netscape/Mozilla colleague of mine), Chris Saari, has been asking me good, hard, questions about my thoughts/experiences/impressions/criticisms. He's working on Amazon's A2Z. He got me thinking, and this post is a result of that. He asked "what are the specific features in iTunes that you use?" I took the liberty of translating that into "why do I feel I can't leave iTunes?"

In short, the answer is that iTunes pervades my media consumption life; across devices.


With the advent of iCloud/spotify/rdio/pandora/etc things are changing of course.

I have several thousand dollars invested in iTunes library content (music, tv shows, movies), so part of it is wanting to NOT lose that investment. I'd say that's probably only a small part of it though.

A lot of it is indeed proprietary lock-in stuff. I actually do use voice control/siri to play music on a regular basis... "play artist wombats" on my iphone for example.

I use airplay regularly. I think that's iTunes only.

Toolchain stuff/workflow stuff also has me burned in. I use iMovie each year to build a family video. it "seamlessly" integrates with iphoto/itunes for content creation, and then exports to itunes for sync'ing to appletv and my ios devices. All those nice little integration points are a big deal and add up.

It's a pretty heavy toolchain issue for me. whenever I deviate, life is good for a few days/weeks, then suddenly I go to do something and I can't (or it will take a few more clicks and a new understanding of someone else's UI metaphor set, and I balk and just revert back to itunes' way).

My car stereo knows how to drive itunes on an ios device. I've learned all my car's shortcuts to control basic iTunes manipulation.

Another big one these days for me is offline support. I travel a lot and also spend a fair amount of time in the mountains. In those two cases, I don't have access to network connections and therefore, "streaming" solutions fall down. In a lot of ways I just view itunes as a local-disk sync'ing tool.

There's a big exception; Sonos. 90% of the music I listen to on my home Sonos system is streaming; pandora, rdio, spotify (in that order). pandora when I want to "listen to the radio," rdio when I want to listen to what my cool friends are listening to, and spotify when, in that one in a million random moment when I happen to recall the artist/song I want to be listening to.

My kids know how to drive iTunes (movies on an airplane is a simple scenario that we run into a lot), and that matters a lot. There is nothing more frustrating that trying to give a kid what what they want in a frustrating moment (the reality of traveling w/ children) and either you or they are fumbling with a new UI.

The downsides to iTunes are obviously real. The lockin can be painful, and I often feel like I can't leverage new cool stuff. It doesn't support for 1080i/p HD movies anymore. Movie title availability (and sometimes music) sucks (always). It doesn't support "channels" like Pandora. It doesn't support "heavy rotation" stuff like rdio.

It's hard for me to imagine a world in which I move off of iTunes.

Monday, October 31, 2011

Injury Update

A year ago I sustained the most significant injury of my life. It has been a truly unbelievable experience. Here's an update on where I am, and how I got here. There will be some detail in here that may seem odd to 99.99999% of you, however the details are breadcrumbs for others struggling with some of these symptoms, and they can matter a lot.

MRI results while trying (unsuccessfully) to identify a stroke
Month 1 through 3: What's wrong with me?
I spent the first few months trying to understand what happened. I dragged in everyone under the sun to help. Neurologists, Eastern Medicine "experts" (nutritional + acupuncturists + spiritual types), Physical Therapists, mental therapists, Specialist-this, and Specialist-that, friends, family. After endless appointments and tests, no-one had a clue, and no therapies were having a positive effect. There were a couple of theories (BPPV, some other vestibular disorder, or brain dammage), but no-one could say with any certainty. By the end of the third month, I was very discouraged. I was considering the prospect that things might not ever change. I might have impeded orientation for the rest of my life. I even backed off of sex while I was trying to sort things out; sex made things worse.

Month 4 through 6: No-one can help me.
By month four, it was clear no-one would be able to diagnose or help my situation. I'd scraped up against online forums and blogs that were pretty scary. There were a handful of people out there who's description of what they were feeling matched mine; not a single one of them could diagnose it, or have it diagnosed. There were some pretty hard stories to read (shocker; gotta love the network). By the end of month six, I'd started to resolve that this could go on forever, and that it was odd that the most common characterization of what I might have, BPPV, could go on for up to "two years." I spent a long time thinking about the "two year" stat that was floating around. How could you actually measure a medical condition going away after such a long duration. I resolved that people suffering from BPPV either killed themselves after two years of pain and suffering, or that they stopped complaining about it and just went on living in the misery indefinitely; falling off of any survey/doctor radar after about two years. Toward the end of month six, the sex cut-back was taking it's toll. I decided to take the condition regression over abstinence.

April
One of the dichotomy's in April's and my relationship is that she is as empathetic as they come, whereas I'm of a different, much more selfish, cloth. We've traditionally been polar opposites in this regard. Her unwavering belief that "things would get better" defied all logic. There was no evidence that things would get better. On the contrary there was a fair amount of evidence to suggest things in fact would not get better. She believed it though, and spent countless hours booking appointments for me, filtering doctors and experts to remove the wheat from the chaff, and most importantly talking me back from the edge. She's magical at this. It is who she is, and one of my favorite things about her.

That said, things were feeling dire. I didn't know how long I could last.

By now I'd bucketed my condition into two buckets. I either was suffering from BPPV, or brain dammage (that wouldn't show up on a scan (MRI, or CAT)) in the occipital region of my brain. I sussed out the BPPV angle, I went six months without caffeine or alcohol. I like to blame a friend of mine for turning me straight after a rough drinking binge at his house one night, but the reality is that I was cutting out chemicals that impacted the viscosity of the unique fluid that fills our inner ears. If the issue was BPPV, you can (not always, but sometimes) actually hack the fluid density/viscosity (which impacts how the calcium crystals move in the fluid) of your inner ear by controlling diet. After six months of cutting out these two substances, and no discernable difference in my condition, I jumped back into coffee and socially drinking (wine, beer, scotch).

If the issue was brain dammage, the scarier of the two in some ways, I'd bank on my brain re-wiring itself to work around the bustage in due time.


London: Inspiration in the oddest places
On a business trip to London I randomly found myself with a business acquaintance and her significant other... in a bar. This guy was five years my senior and about six months earlier had suffered a very severe mountain biking (downhill) accident in Malibu, CA. Clear brain damage, a week in a coma, smashed chest/ribs, punctured lung; the works. This guy was beaming! He'd fought through this mess tooth and nail. We empathized with each other for awhile. War stories. What therapies helped. Which didn't. Then he said something that has stuck with me. Him: "don't you hate it when someone says 'we're getting old' in the context of our injuries!?!" Me: "I sure do." Him: "Bullshit I'm getting old. This is something else, and I'm going to own it, and then I will destroy it." I can't tell you how many times I'd thought to myself "I'm just getting old." He was right. Screw getting old (as true as it was).


Months 7-9: Bottom of the Barrel.
After a couple of months of doing reasonably well, I took a family vacation that involved a plane, followed by a ferry, and ultimately an old house (built mid 1800's) with crooked walls, floors, stairs, etc. I'd been flying every couple of weeks throughout this whole ordeal for work, so I'd resolved flying wasn't an issue. This was my first boat though. When I got off (I was fine while actually on the water) I was a little affected, but not more than a previous large-boat-ride in the Chicago river with some friends. However, after 24 hours in the old-house, I was a mess. It felt like complete regression. This was a tremendous blow given that things were going ok for awhile. I chalked it up to the lacking flat surfaces or right-angles to ground myself in, inside the house. It really threw me.

Upon returning to home, I was in a bad place. A month or two went by with no "good days." Work and family were keeping me distracted so I was getting by. Then, one day...

Boulder Creek: Epiphany
The kids and I regularly bike up into the mountains along the creek to enjoy life. On this particular trip I decided to push past the disorientation and "fuck it." I was going to move and act like it didn't exist. While playing in the water with my daughter I turned my head quickly to catch sight of my son further downstream. I moved so fast that my eyes didn't have a chance to focus and track along the way. When my head stopped, I wasn't dizzy! That move previously would've resulted in some decent disorientation. What happened?!? It clicked. Right then and there it clicked! For 8 months I'd been hyper-controlling my vision and eyes. Every waking moment of every day I'd been focusing as intently as you would if you were trying to read small letters from a distance. I'd been inflicting unbelievable strain on my eyes, the associated muscles, and associated brain matter in order to control the disorientation. Somewhere along the way I'd been actually causing much of my own agony, in an attempt to control whatever was underlying. At that moment I resolved to do the inverse with my vision. I'd actively not bother focusing on things for a couple of days to see if that helped. Turns out it worked like magic! I'd found at least one culprit in what was dragging this mayhem on. Ureka!

Months 10-12:
The past few months have been great. Things are nearly back to normal. There are acute instances in which symptoms appear, but I've learned to live with them or ignore them (they're fleeting at best). I still don't know what's wrong; I'm just as lost as to whether it's some sort of BPPV (or some other vestibular disorder) or actual brain dammage. Multiple MRIs show no evidence of stroke either. I do know after 12 months however, that whatever it is, it hasn't stopped me from being who I am. I've been able to do everything on "my list" of things (tests really) in the past 12 months; _everything_. Well, there's one exception. I haven't been on a trampoline since I realized bouncing on one could aggravate things. If the result of this injury in the end is that I can't jump on trampolines, I'll be really bummed, but I can live with that one for sure.
self plot of perceived severity on scale of 1 (red); bad, 2 (orange); good, 3 (green); great
My To Do List (to validate that the orientation related things were still ok to do)
Swim: check (various pools, lakes and oceans)
Swing Olympic length pool underwater while holding breath: check (multiple times)
Run: check (ran on all sorts of surfaces for many miles. ran the Bolder Boulder)
Bike: check (I've biked a ton, both easy and hard rides)
Wrestle: check (plenty with the kids)
Handle jet-lag: check (several trips to East Coast, and a couple of trips to Europe)
Spiral Staircases while jet-lagged: check (catacombs in Paris)
Fly on airplanes: check (tons of flights)
Drive: check (driven plenty)
Jump off high objects: check (rocks, walls)
Induce Vertigo: check (stood on very narrow rock formations greater than 40' off the ground with sheer drops on either side). I still need to do glass floor at Seattle Space Needle.
Use computers and small devices/screens: check (everyday)
Walk through house in the dark: check
Sit down with eyes closed: check
Ride bike in a straight line indefinitely while head looking off to side (peripheral vision thing): check. this one took awhile, but I'm baaaaaack!
Drive car in straight line indefinitely while head looking off to side (peripheral vision thing): check.
Play Video games: check
Have intense sex: check
Massage: check
Cross Country Ski: check
Downhill Ski: check
Skateboard: check
Balance across logs: check
Everything else that I can't remember at the moment: check


My Extended List: Stuff I've done in my life, but I'm not going to bother repeating.
Trampolining
Fist fight

Finally: Today
Things are not 100% better, but they're 99% better. I've had a few consecutive months of feeling really solid, and I've noticed a true shift in that time period. I can confidently say I'm in a good place now. Even if I regress at some point in the future, I know I can have multiple months of goodness after several months of badness, so if I lapse back into it, I'll have light at the end of my tunnel.


I can empathize with others now to a degree I've never been able to. This is really powerful and I'm really happy about it.


The human mind/spirit prevails. A friend of mine who'd suffered a life-threatening accident on snow a couple of years ago told me "the mind/body will heal itself. calm down." I doubted him gravely, but he was right. The mind/body will find a way.


If you think you're suffering from BPPV (or some sort of vestibular disorder onset), and believe that is what I have/had, then I can tell you things are better now, and none of the reset maneuvers worked; none of them. There was a definite progression from bad to good; granted it took a year to get here. Hang in there.

Tuesday, October 18, 2011

TechStars Cloud (Skynet)

Building server-side applications/systems has changed forever thanks to virtualized infrastructure. I'll never forget asking a colleague at Netscape when I'd just started my professional career "why are we thinking about hardware at all?!? Shouldn't software just abstract all of that?" He chuckled at my naiveté. Lo-and-behold ten years later I was able to think about hardware like I did software; disposable resources that I used a command prompt to setup and tear down, script, load, configure, and tightly integrate my software with.

Beyond exciting.

Over the past four years at Gnip, we've used nothing but virtualized hardware for a highly-scalable piece of infrastructure sustaining countless, sustained, high-bandwidth connections to customers all over the planet. The only hardware we own are the laptops we use to write the code. Wow... every time I say that I get chills down my spine; so cool.

I've been a TechStars Boulder mentor for a few years now, and I'm stoked that TechStars spun-up a focused "Cloud" program. I'm excited to be engaged in a more infrastructure focused thread of TechStars (something I've criticized the program for in the past). TechStars is an amazing thing, but I'd always wanted a more explicit systems/infrastructure twist (my bag, frankly, because I think these kinds of plays are more impactful).

If you've considered using TechStars in the past, but thought it might be too consumer focused for your idea, you should consider TechStars Cloud as a mechanism to get your idea squarely into the execution phase. Even if you haven't considered TS in the past, and you're looking for a place to hone your idea into something with traction (or at least die trying), check it out.


I hope to meet you soon, and to have an opportunity to help you build something cool using our new fangled "infinite resource" that is now Skynet (errr... the Cloud).

Tuesday, October 4, 2011

Lijit Acquisition

Wow. What an illustration of how sticking with a company/team through thick and thin can yield big dividends. With a little time, amazing things can happen. I'm overjoyed with what the Lijit team pulled off. After four years (at least) of various strategies, business models, and approaches, they made it rain. I'm just blown away.

  • It can take years for something to come to fruition. If at first you don't succeed, try try again. We've learned this lesson over at Gnip (my co.) as well. It took a couple of years, but the pistons caught and things are going great. I can only hope for an exit on the order, or greater, than what Lijit just pulled off. Patience.
  • If you're an employee at a startup, buy every share of stock you have access to, as soon as they become available, no matter how bad things look/feel. If you quit, or are let go, buy everything you have access to. You never know what can happen downstream. To those who left Lijit and didn't acquire your stock, I'm sorry, but you broke the golden rule. You simply can't beat the odds and economies of scale that employee private stock option exercises offer. Sure odds are stacked heavily against a startup, but the potential upside dwarfs anything you can do in open public markets.
  • Todd & Manny stuck with co-located hardware for their system. I always thought this was odd (still do). Gnip is 100% in the cloud. Lijit does go to show buying/leasing/managing your own iron isn't dead (yet).
  • Seth Levine at Foundry Group is going on to be a board member of the acquiring/combined company. He's obviously becoming a powerhouse in the adtech space at large. Nice having him in our backyard (even though he trounced me on a gorgeous fall ride the other day).
  • This was a huge win for the Boulder, CO software community. Undoubtedly big economics involved here, in Boulder.
  • Hardcore systems engineering == intense value and amazing product. No web-app here folks, just nose-to-the-grindstone engineering (Manny... you and your team are "the [wo]men").
  • AdTech remains a massive marketplace and economic driver on the internet (whether you like it or not). The deal sizes that continue to happen 15 years after ad networks really kicked in, on 15 yr old frameworks and models, tell me that AdTech is evermore poised to evolve to take into account, or even be overrun by, real-time behavioral frameworks and models that social content enables (go Gnip!) in the AdTech arena. 15 year old models built on cookies and clicks still driving the economy... you've got to be kidding me. Time for change.
I'm proud of the entire Lijit team.

Wednesday, September 7, 2011

Sate

I was talking with a friend awhile ago about how I behave under certain circumstances. He was trying to read me and I clarified things by telling him that when I'm notably happy, things are likely very stressful and heading in the wrong direction. When I'm cranky, stressed and a mess, things are likely going unbelievably well. Pretty twisted, I know. To illustrate this another way, when I'm stressed I don't eat and I lose weight. When I'm happy... I'm fat and happy.

I've been lucky enough to have achieved several major personal goals over the past year. Furthermore, I've had some significant (good & bad) personal events hit me over the same timespan. Simply put, a lot has changed for me over the past year, so I've been able to reflect on the personal behavioral hypothesis I posited awhile ago with my friend.

Unfortunately, or fortunately depending on how you look at it, I'm realizing there's some void I'm trying to fill. I can't measure its volume, so I can't predict what will fill it. The rate at which I can fill it changes frequently, which therefore complicates the attempts to fill it. This leads to a constant lack of satisfaction. I'm sure this is starting to read like a resume describing how "my biggest weakness is that I work too hard," but this goes way beyond work. It permeates my being.

As my wife can attest, living in the "now" is very hard for me; I'm always somewhere in the future (the past is dead to me the moment the time passes). We walked in the door as a family the other day after a long exhausting, though fun, day, and before I realized it, she was frustrated and blurted out "we haven't been in the house 30 seconds and you're already doing 10 new things." When I wake up in the morning there is no "warm up" period that I hear people talk about, I am just "on."

I used to think this would change with certain milestones being met. Well, I'm "older" now, and while that's certainly had it's impact, it hasn't calmed me down. It hasn't slowed me down. It hasn't shown me any light to make me content.

I don't want to be content. Ever! My highs will be very high, but the trade is that my lows can be very low. Meandering through life with a constant level smile feels boring. Someone at an Ignite Boulder event last year made a remark that stuck with me. Something like "if you want to be content, go take a warm bath!" I do take baths from time to time (sorry Cosmo Kramer), but they're recharge moments, not relaxing experiences.

Every few years I'll have one of these completely blissful moments. They last only a few minutes at the most, but they're truly pure elation. Nothing is wrong in the world, and life is perfect. I haven't had one of those in awhile, but I'm looking forward to the next one. They're so cool.

More please.

Thursday, August 11, 2011

Minimally Viable Products & Native vs. Web Apps

This is unfortunately two blog posts poorly mashed into one. I couldn't reign in my stream of consciousness into something more coherent. I usually don't publish under that circumstance, but I want to get these thoughts out so I can creatively move forward with the thoughts.

I've been on the MVP bandwagon for awhile, but I've realized something of late. Either I need to move up a level on the consumer ladder, out of the low-level, early adopter, stage I've been in forever, or we need to raise the Minimally Viable Product bar (in the consumer app category at a minimum).

Something has shifted over the past few years while standing up Minimally Viable web apps has been the best way to get tight, fast, feedback loops to close with your potential users. That something is that native apps have swung around and crushed web-apps, at least on mobile devices, and end-user expectations around native apps are vastly different (always have, always will be) than web-apps. I had a great meet w/ a new friend in South Park Monday morning who said it well... "Look at Google Spreadsheets... if that's what a small army of engineers at Google can produce using client-side web technologies... we have a big problem." Google realizes this too and is investing in Native Client API; here are my thoughts on that little project.

I'm sick of using products that use Minimally Viable as an excuse. I don't have minimal needs. I have vast and maximus needs.

To get some of those needs out there...

Cross OS/device Synchronization
More of my network use centers around content consumption (probably always has). Twitter, Video, Facebook, Books, IM sessions, email, RSS readers, etc. I consume across probably a half-dozen devices on any given week. Two iPads, an iPhone, Apple TV, my OSX laptop, my home iMac, a friend's laptop at a cafe b/c I forgot mine, a kiosk at an airport, etc. As I chug through all the content I consume (a 30 minute video, a book, the 200 RSS posts I want to skim/read over the course of a day, my Tweet stream... etc), I do so across all these devices that are like little state islands. My reading state is utterly lost across all of these devices and content sources. Scrollbar/word position, partial form fillout, "read-items," "seen-items," etc. I spend way too much time finding the logical pointer into my content when I move to a new device. webmail/IMAP are the only things that have gotten this right over the years.

Kudos to RockMelt (I thought I'd _never_ say that) for getting this sync thing at least partially right across devices/apps. Unfortunately they do that through Facebook API goop, but it's not that big a deal considering as a consumer I get most of the functionality I want.

I've actually started using RockMelt as my primary Twitter client because of this position sync'ing functionality, and it's not even as good as it can be. The high bar I want has gradations as well.

Category/Abstraction Metaphors
Some new photo categorizing service fell out of Y-Combinator the other day (at least onto my radar). The promise is great, but upon digging in I would need to rethink/relearn my photo grouping methodology in order to use it. Yea, right. Conform to _my_, and every other random user's broken way of doing things, way... don't try and tell me your way is better. Only Steve Jobs & Avie have the permission level necessary to do that.

A lot of good software has been written over the past several years, and it has baked its way into millions of users functionality expectations. Embrace that.

Login
Don't you dare try to get me to register a username/password. That's a dead model. Use Twitter for that on the web and Twitter/iOS auth once iOS5 is released. If you can't wait for iOS5 to be released use Facebook Connect for now.

Conclusion
Of course app builders need feedback fast and early, and that's the conundrum. End users want products that meet their needs immediately. There is a threshold that, once reached, demands product release in order to get feedback loops going quickly. Getting the feature/funx combo right before that moment is magic. What I'm getting at is that MVPs need to redefine what "minimal" means across some new functionality categories that consumers (I) have come to expect as truly minimal.

Web Services are starting to feel like a bag of APIs upon which native apps should be built. Reminds me of Marc Andreessen's famous quote about Windows: 'Windows will be reduced down to being a poorly debugged bag of device drivers.' Of course he was referring to what the web would do (and has now done) to Microsoft's OS, and let's not carry the "poorly debugged" bit forward, but it seems like the gap is widening again between native apps and web-apps. Native OS client apps leveraging web services with a native "driver" access to fundamentally networked functionality (sync'ing, login) feels like a good future.

Tuesday, July 12, 2011

Twitter, Apple & The Most Profound Namespace Network Effect Since The Dawn Of Man

I've blogged about my feelings regarding the utterly dismal state of authentication on the network, and client-side, today. It's a pain we've all, sadly, just accept. It's also a pain that will soon, partially, go away on iOS devices, and could ultimately go away across the network at large. How you ask? Read on.


iOS Single Sign-On
Everyone's talking about the power of Twitter and Apple's native single sign-on model in iOS 5. While this is a phenomenal coup for both Twitter and Apple, it's only the tip of the iceberg. Having a widespread, networked, account namespace (Twitter) baked in at the operating system level is one of the few things that can truly revolutionize the network again. The splintered efforts on Android devices to accomplish this are well... splintered and therefore the network effect is hobbled; oh the power of owning the software, and the hardware. There is only one condition that has to be met, and it's a big one; though logical.

JavaScript navigator Object
I usually don't talk about client-side JavaScript object model modifications because they're mundane, typically small tweaks to existing functionality, and frankly just very rare. One of the more interesting, and only, ones in recent memory was navigator.geolocation which allows a web-page to consult the client/browser for geo-coding information in order to tailor the user's experience to their "current location." Extremely powerful.

Enter Twitter single sign-on, native JS user objects (e.g. navigator.user), and iOS Safari. I'd be surprised if iOS 5's Safari ships with this, but I believe it ultimately will deliver some incarnation of it. Imagine writing JavaScript that can determine whether or not the viewer is already logged into the client, and if so, access their username. Client-to-web single sign-on achieved! Never again will a web-app have to ask me for a username and password, just like iOS apps that leverage Twitter's namespace for single sign-on won't.

Precedent
While very large social networks have had client-side software installed for years (AOL Instant Messenger for example), and some experimentation around this model has occurred, this is the first time the mobile use case, a widely used social network, and a widespread browser have come together with single sign-on precedent being set across iOS apps natively. The next step is to bridge this into web-apps, and I believe Apple will make this leap with Safari, and that Twitter will gleefully be the namespace upon which it takes place.

Google has hinted at Chrome OS/Chrome Browser single sign-on native integration as evidenced by a checkin Lee Mathews noticed in Chrominium awhile ago. I wonder if iOS5 will push Android Chrome hard in this direction.

New World Order
Even without navigator.user, the native single-sign support between Twitter and Apple in iOS 5 is going to change usability forever more. I can't wait for it to trickle into the network and web-apps. We've needed this for 15 years and it's going to be awesome to watch this evolve over the next several.

Saturday, July 9, 2011

Social Graph Overlap After A Week With Google+

After one week of Google+ being in the mix, here's my reaction to where my "friends" are. This doesn't attempt to say where engagement is. 99% of my "engagement" with "friends" on Facebook is with a tiny set of FB friends. It does say that nearly everyone I'm related to via Circles in Google+, is a Twitter follower or vise versa.

Sunday, June 26, 2011

Hiring & Poaching

We've been doing a lot of hiring at Gnip lately. While I've hired a lot over the years, I've never hired across this broad a role/responsibility spectrum before, nor in such a small geography as Boulder. I pulled this flow chart together as a model for how my thinking has evolved over the years, with some recent, influential, lessons tied in. I hope you find it useful.

Saturday, May 21, 2011

Taking Things Head On

I had two major challenges hit me without notice this past week. One personal, and one business-personal. After working through the immediate associated drama and challenges, and letting the first wave of aftershocks pass through, folks involved with both independent situations made comments to me like "I'm glad you took this head on."

Things were so fresh at the time, and in the throws of the work week proper, that it wasn't until my run today that I had a chance to reflect on the events, and those comments.

I hadn't done anything differently in these heightened scenarios that I haven't done my entire adult life, but I realized that I do tend to take serious situations "head on."

Why is doing so important?
If someone in your world, personal or business, raises a serious issue, and you *don't* engage with it head on, you're sending one of three signals to them. You're saying "this issue actually isn't important to me," that "I'm hiding something," or "I'm not adult enough to face the fire." I'd argue, generally you don't want another party perceiving *any* of those signals.

If the issue isn't that big a deal to you, then it is what it is, and you shouldn't bother taking it head on. The other person might feel slighted, but that may be exactly what you want to convey in the given situation. If you are hiding something, then you have bigger problems on your hands in that relationship and I'd recommend taking the situation head on anyway as to not compound your woes (which is what will undoubtedly happen). With respect to whether or not you are mature enough to face fire, you might not be.

If the issue is a big deal to you, taking it head on lets the real you come out in the process of resolving it, and everyone involved gets to see that, and benefit from it. Pre-processing your position while someone else is in a heightened head-space, prolongs their intensity and the overall situation. Taking too much time to calculate how you feel can often take you down winding roads without all the data, and when you finally emerge at the end, face to face with the situation, you'll likely find that there were critical components of the situation that would have had you turn right instead of left, and thus, you've wasted a bunch of time and mental energy.

I think most of this was taught in Kindergarten, but I'm amazed at how often I see folks chew things without these notions in mind. It takes all kinds I suppose.

If you're avoiding something hard, consider a radical change of course and take it head on.

Wednesday, May 4, 2011

Sleeping Sweet Spot

I fall in/out of good/bad sleep periods every several months or so. I'm in a total sweet spot right now (probably a function of my life being so busy since taking on the CEO role at Gnip), and have been for awhile. It feels great! I'm out cold when I hit the mattress, and I'm generally out like a light until the sun starts to peek over the horizon each day. I was poking around my fitbit's sleep data and this chart popped up. Data around my sleep patterns; love it!

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, backpackit.com (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.

Friday, March 18, 2011

City of Boulder, DBI & Tech Firms

Trada hosted a meetup today that included downtown Boulder tech firms, and representatives from Downtown Boulder, Inc, and the City of Boulder's Economic Vitality initiative. Thanks for hosting Niel!

A couple of months ago downtown Boulder tech firms made themselves heard after it became clear they were going unnoticed by various groups that work to ensure Boulder is a great place to be. In short, our perspective and interests didn't have a seat at some relevant tables. What's cool, is that we rallied, and we're now at the table. It's just the beginning, so who knows whether we'll ultimately have any impact, but we've gotten to step one which is where you have to start. The cynic in me can't get past a point that Joe Pezzillo made during the meetup: "Downtown Boulder's tax revenues come from retail... not commercial." That said, it's Boulder's commercial base that dumps a ton of money into the system, and we need to be vocal.

Topics that came up while I was there...
  • Car parking for commuters is a mess.
    • Monthly passes are expensive.
    • Parking garages aren't filling up (supply not being consumed though there's heavy demand suggests a pricing problem).
  • Bike parking for commuters is a mess (this is my personal peeve)
    • City spends a ton of time/money trying to fix car parking, yet tech firms wind up spending commercial real-estate office space square footage on parking for bike commuter's bikes in the offices they lease.
    • Can we get some incentives to bike to work instead of drive a car?
    • Maybe the City should pay attention to bike parking as much as it pays attention to car parking. For those of us with expensive bikes, there are bike locker options that offer security and protection from the weather.
    • Bike parking corals have been great. Perhaps one per block?
  • Incredible amount of bike commuters into downtown 2nd floor businesses (e.g. the tech firms).
  • So much downtown real-estate owned by so few landlords causes unnatural pricing dynamics. Landlords would gladly see great office space sit vacant for years on end instead of leasing it at potentially lower rates.
    • Disincentives for owning and leaving office space unleased?
  • Microsoft is about to have a significant impact/presence Downtown.
  • Eco passes are awesome, but the process to obtain them makes them prohibitive to obtain.
  • Google doesn't count because they're outside the Downtown District.
I had to leave early, so I'm sure I missed some stuff.

While there's a ton of work to do, it was really neat to see us come together, get the attention of these groups that help define our Downtown world. Boulder Tech has come a long way. So cool.

Wednesday, January 26, 2011

Business & Technology; Yin & Yang?

This conversation (errr spirited debate) has come up too many times in my world over the past week to not blog about it. It's the age-old discussion around what is the most critical component when building a software product/company; the "business" end of things, or the "technology" side of things.

Let me start by saying I've always hated this separation in companies. The "business guys" and the "engineers"... even in language the separation puts me on edge. I fought using the separation, mental and in conversation, for over a decade. I recently conceded however (just might have had something to do with me porting from CTO to CEO at our company Gnip) and now believe they are two camps. A company or product's success comes from getting them to work as one. Sometimes that's natural and easy, and other times it's brutal and tears the product/company apart.

However, a "technology" or "software" company, as the label implies, is nothing without engineering. I'll repeat that... _nothing_. If you're trying to build a software product/company sans engineering ballast, you are listless, and your boat will eventually crash on that hidden reef just under the surface. How you obtain that resource is another ball of wax. Outsourcing, crowdsourcing, dedicated staff, high-quality, low-quality; I have my bias, but there are lots of ways to get it done.

It goes without saying that incredible engineers and engineering efforts can just as easily crash and burn without the right injection of a business model or marketing plan.

I was doing some due diligence for a friend at a Valley VC firm recently. He is considering an investment in a highly technical product/team that I'm friends with. He highlighted that the team was heavily weighted on the technical side of things (both founders are amazing engineers with proven backgrounds), but not as shiny on the sales side of the house where he saw a need. I, jokingly at the time, but now the topic of this post, pointed out that the hardest part had been solved; the technology. If you have the recipe for the software, and the software tastes good, sufficient business-side brain power can always be found.

Why Is That True?
Engineering is hard and takes a resource that is in relatively short supply. Engineering brains are different from other human brains. If you see a good piece of software, and good people that built it with their hands, you are a fool not to join the party. If you see an awesome business model that lacks a recipe for cooking and baking it, who cares (unless you're the engineering talent to provide that recipe)? I always use the teleporter example to make this point. I have the most incredible business model you have ever heard. It is one that will make more money than any business in civilization's history. The product will change the world. Here it is; let's charge people for a teleportation service that allows them to move between any two points on Earth (we can expand to other planets later) in a split-second. Everyone will buy it; bottom line. Unfortunately, there's a complete lack of engineering support for this product.

I'm not suggesting that any engineer or technical team will be successful. Untold hours are spent writing useless software because engineering is lost wandering around without a map. Untold hours are also wasted because there are plenty of bad engineers in the world. I've lost many months of my life working on software that was cool and fun to write, but flopped because of bad "business." I've also written plenty of bad software.

The game is about getting the right blend together. Whether it's a team comprised exclusively of engineers winging the business, or it's a crew of business guys winging the engineering (Nate/Natty of Everlater are a great local example of this being successful), or a balanced team of both, it doesn't matter.

You do need code that solves a good challenge at the end of the day though. If that code can't find a good business model and associated execution, it may eventually be cast into the open source abyss and hopefully move human-kind forward, even though it's economic potential might not ever be directly realized.