Intentionally Building Great Teams

I recently had the privilege to speak at the Microsoft Accelerator, Kinect Class. The topic was teams, something I have always been passionate about, and I was able to get a copy of the video the recorded. Quite useful for improving your delivery. The video is a bit long, even after removing the Q&A. I’d love to hear your comments below…

Posted in Agile, Lean Startup, Microsoft Accelerator, Teams, TechStars, Uncategorized | Tagged , , , , | 2 Comments

First Mentor Meetings at The Microsoft Accelerator, Kinect Class, powered by TechStars

A picture of the Kinect Accelerator office
The Kinect Accelerator Office

The Microsoft Accelerator, Kinect Class, powered by TechStars.

Yep, quite the name. I liked the original name better, The Kinect Accelerator, although it was also “powered by TechStars”. The name change makes it sound like Microsoft may have other types of classes. Stay tuned, I bet there will be news about this soon.

If you don’t know what this accelerator is, you can find out more here. Suffice to say, there are some cool teams doing crazy stuff with the Kinect device. Mashable talks a bit more about it here and references the press release about the 11 teams.

The name may be a mouthful, but that doesn’t stop the group of eleven teams from being awesome. Thanks to a generous offer from Dave Malcolm, the managing director for the program, I’ve joined a group of 25 other mentors to help these teams create world-class businesses. A few days ago was my first long mentor stretch of meetings with the teams, and it was a lot of fun.  I spent an hour each with four of the teams, and then I was able to watch the teams weekly demos.  It was quite inspiring.

I mean, here are a group of people at a similar stage in their business creation process that I am at with FANZO, and they are all asking the same questions I am. And, funny enough, it’s a lot easier to answer those questions as a mentor than it is to do so as a CEO. I thought I would share a few of the common questions, this being only the 2nd week of the three-month program, for those other teams I haven’t had a chance to chat with yet, and for those other entrepreneurs out there looking to move ahead.

Who is my customer?

This was probably the most discussed question.  This is probably not surprising given that it is one of the hardest startup questions to answer.  What was interesting, however, is that each team seemed to already have the answer, they just couldn’t let go of all the other possibilities.  One team is focusing on the interior decorating vertical, and was trying to decide between working with design firms or going straight to customers.  This seemed an easy answer to me, but the allure of the mass market is hard to ignore when you are in the thick of it.  My advice, pick a passionate subset who would see the most benefit from your idea, and focus strictly on them.  You can always pivot later.

How can I get in touch with someone in my target market?

For some the answer to this is easy.  Buy a few clicks on google, and away you go.  But if you are doing business to business stuff, or have a unique set of customers, it can be a bit more challenging.  One of the teams in working in the health care space.  They would like to get in touch with someone locally who is working with people who have a specific ailment.  They would also like to chat with someone in the insurance world.  This is where Steve Blank’s “get out of the building” can really pay off.  You just gotta start making phone calls and buying lots of people coffee.  Your drinking a ton of it anyway, might as well get some use out of the time.  It is good to work your network, definitely start there, but don’t be afraid to just google for people.  You’d be amazed at how helpful even busy people can be.  Especially in the northwest…

Can you help me with technical/product problem X?

One of the nice things about being a geek is that people ask you geeky questions.  It was fun to geek out about software update strategies,  brainstorm some ideas to address lighting concerns.  I love this stuff, so it was a joy to work on product stuff with some amazing technologists.  The key is to have no fear.  Every problem is surmountable, if you just look at it the right way.  And asking for help can really help you identify that unique perspective.  It is something I practice as often as I can.  It’s part of the reason I really miss pair programming now that I am working on FANZO alone. (Hope to fix that soon..:)

What is the thing that is keeping you up at night?

This isn’t a question the teams have asked me, but one I have been asking the teams.  When Brad Feld gave his chat about being a great mentor, one of the stories he shared was how he has been working with teams recently.  He doesn’t have much time, so he asks this question and they work on that.  I love the open-ended part of this question.  Founders are people first, and they run into lots of challenges that have nothing to do with the business, but can totally kill their progress.  This allows a discussion about those things with a person who has been there.  Great question leads to great discourse.

All for now.  Looking forward to my next half day with the teams.  I’ll be meeting at least three new teams, so I’m looking forward to hearing some more good questions.  In the meantime, if you have a question, and answer or both, feel free to drop it in the comments.  Thanks!

Posted in Lean Startup, Microsoft Accelerator, TechStars | Tagged , , , | Leave a comment

How to stub geocoder for use in cucumber tests

As I continue to work on FANZO, I occasionally run into something where google doesn’t help much. When this happens, I am forced to be creative to get something to work. I always wonder if there is a better way, so I thought I would post my latest kludge and see what others know that I don’t.

I’ve been using geocoder to help me get geospatial data for addresses when they are entered into our system.  I’ve also been enjoying using cucumber for BDD. To complicate things a bit more, I’m also using guard to auto run my tests, and I’m using spork to keep the framework bootstrapped so the tests run faster. However, my tests were still running slow. I figured, rightly, that I was making too many requests to the google maps api via geocoder, and that was slowing things down. So, how to fix it?

First, I had to address the problem in RSpec. Google helped me here. There is a gist here that adds a call you can use to mock all of the geocoding calls, and it warns you if you missed one. I found this very helpful, and I really sped up my RSpec tests.

Second, I had to address the problem in cucumber. The cucumber initialization works differently than RSpecs, and my first attempt at dropping in something similar to the RSpec fix just didn’t work. So, after the tests taking longer and longer I finally worked out a solution. I am including it here. Please let me know in the comments if you know a better way to accomplish this

In features/support/env.rb I put the following in the Spork.prefork

  require 'geocoder/results/base'

  class MockResult < ::Geocoder::Result::Base
    def initialize(data = [])

Also in features/support/env.rb I put the following in the Spork.each_run

  Before do
    options = {address1: 'address1', address2:'address2', coordinates:[1,2], state_id:1, postal_code:'98003', country_id:1 } do |result|
      result.stub options
      ::Geocoder.stub :search => [result]

That was sufficient to mock the search call, which actually hits google maps, for each test. Hope this helps.

Posted in BDD, Cucumber, RSpec, Ruby on Rails | Tagged , , , | 2 Comments

Testing a Devise OmniAuth view with RSpec

So, in the process of building FANZO’s latest experiment I’ve been creating a new web application with Rails.  This is my first foray into Ruby and Rails, so I’ve been bouncing all over google and stack overflow picking up the bits and pieces necessary to duck tape the first experiment together.

After working through Michael Hartl’s excellent tutorial on building a simple twitter-like app, I started off by putting together a simple rails app.  I then looked into how to integrate user authentication and application authorization into the registration workflow.  Devise has a nice integration with OmniAuth which I thought would speed this development flow up, so I installed those gems and I was off.

Once I got into the details, however, I find a dearth of information about how to effectively test views that are generated with Devise.  Turns out there are a bunch of steps, which I pieced together from various stack overflow questions and blog posts, but I didn’t see the last mile.  So I thought I’d blog about what I ended up with, in the hopes that someone with either benefit from it or tell me that I’m doing it all wrong…:)

So, why am I testing a view?  Because I have some logic in it to handle the case where a new users authenticates through twitter, but I still want to capture their email address and allow them to set their own password (I will generate and email the user a password if they come through facebook, then they can reset it at their convenience). So, without further ado, here is my spec for the view for the new action that registers a new user:

describe "devise/registrations/new" do
  before do

  it "renders default look for completely new user" do
    view.should render_template( partial: "_new_user" )
    view.should_not render_template( partial: "_twitter_authed_new_user")

  it "should show post twitter auth fields" do
    OmniAuth.config.mock_auth[:twitter] =
       { uid: '12345',
        info: { nickname: "wilma" },
       extra: { access_token: { token: "a token", secret: "a secret"} }

    session["devise.twitter_data"] = OmniAuth.config.mock_auth[:twitter]

    view.should_not render_template( partial: "_new_user")
    view.should render_template( partial: "_twitter_authed_new_user" )
    rendered.should have_selector("#user_twitter_user_id", value: '12345')
    rendered.should have_selector("#user_twitter_user_token", value: 'a token')
    rendered.should have_selector("#user_twitter_user_secret", value: 'a secret')
    rendered.should have_selector("#user_twitter_username", value: 'wilma')


There are a couple key pieces that took a while to figure out how to include:

How to properly create the mock auth hash. When using the mock, valuable not only in view specs, but in controller and request specs, it needs to have the type OmniAuth::AuthHash or you will get a bunch of undefined method errors.

How to set the environment up with appropriate mocks so that the form in the view will properly execute without a bunch of undefined objects. This code:


is necessary to render the form. This code:


is necessary to render the links partial, which devise creates by default.

The view code that makes this pass looks like this:

<% if session["devise.twitter_data"] %>
<%= render "twitter_authed_new_user" %>
<% else %>
<%= render "new_user" %>
<% end %>

The new_user partial looks like this:

<h2>Sign up</h2>

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Sign up", id:'commit' %></div>
<% end %>

<%= render "devise/links" %>

and finally the twitter_authed_new partial:

<h1>Almost there</h1>

<% resource.twitter_user_id = session["devise.twitter_data"].uid %>
<% resource.twitter_user_token = session["devise.twitter_data"].extra.access_token.token %>
<% resource.twitter_user_secret = session["devise.twitter_data"].extra.access_token.secret %>
<% resource.twitter_username = session["devise.twitter_data"].info.nickname %>

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

  <div id="hidden_twitter_fields">
      <%= f.hidden_field :twitter_user_id %>
      <%= f.hidden_field :twitter_user_token %>
      <%= f.hidden_field :twitter_user_secret %>
      <%= f.hidden_field :twitter_username %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Complete", id: 'commit' %></div>
<% end %>

And for those interested, here are the relevant cucumber tests that drove the feature:

Feature: Creating Accounts

  Scenario: Create account via email and password
    Given a user visits the registration page
    When the user submits valid email and password
    Then he should see his profile page
      And he should see a signout link

  Scenario: Create account via facebook
    Given a user visits the registration page
    When he clicks the facebook link
    Then he should see his profile page
      And he should see a signout link
      And his facebook data should be stored in the DB

  Scenario: Create account via twitter
    Given a user visits the registration page
    When he clicks the twitter link
    Then he should see almost there page
      And there should be hidden twitter data
    When the user submits valid email and password
    Then he should see his profile page
      And his twitter data should be stored in the DB


Posted in Devise, OmniAuth, RSpec, Ruby Gems, Ruby on Rails, TDD | Tagged , , , , , | 1 Comment

What Drives Sports Engagement

Sports Engagement

I know I promised a posting on the scientific evidence around why so many people are passionate about sports, and I am working on it.  But, while waiting to meet with a Professor of Anthropology who has graciously offered to discuss her class on Culture and Sports, I started thinking about the drivers around sports engagement (Thanks to Suraj Rajwani for planting the seed).

The question is, what increases or decreases a persons engagement with their team or their sport?  This will be another good question to discuss with my scientific friends, but in the meantime I thought I would capture a few of my impressions.

Skin in the Game

As we all know, there is a big difference between watching a game where we care about the result, and one where we are indifferent.  The emotional connection is significantly higher in the first case, whereas the second is more of an intellectual, almost artistic, exercise.   Although it can be fun to just watch in amazement at what some of these athletes are capable of, this can wear off after a bit and doesn’t provide the emotional attachment that explains the passion inherent in sport fans.  So, if caring about the result can drive emotional engagement, what are some different reasons people care?  I think a lot of them have to do with having skin in the game.

Notre DameOne way to have skin in the game is to be publicly affiliated with a team.  When all of your friends and acquaintances know you are a fan of a certain team, then there is a correlation between the team results and your behavior.  Teams are, in essence, brands and generally iconic.  They have a mythos about them.  By associating with their team, they tie their identity to the brand.  It is a deeply personal connection.  A study done on brand communities and personal identity shows how people express themselves through their brands.  With a part of their identity tied up with their team, I would say a fan has a lot of skin in the game.


March MadnessAnother way to have skin in the game is to derive a direct result from its outcome.  March Madness started today.  What separates this particular basketball tournament from other tournaments throughout the year and the post season?  The level of engagement is extremely high, even relative to other post season tournaments such as the NIT, or even other sport playoffs such as the college world series or BCS bowl games.  What drives this?

I am sure there are many answers, but what struck me is the importance of the bracket to my personal engagement.  Without having filled out a bracket I would not be interested in any of the games outside those of my team (Go Irish!).  But, having filled one out, and sharing it with my friends and family online, now I have skin in the game.  The competitive nature of the “bracket game” itself makes all these other games interesting because their results impact my success.  Now I can watch any game of the tournament, and have a team I desire to win.  My engagement is 100x.


Sports BettingNot too different from competition, but Suraj reminded me that having money on the table is the most basic way of having skin in the game.  Whether it is a simple side bet with your buddies, or a more sophisticated routine in Vegas, a bet increases your engagement with that event substantially.  Now there is a prize waiting at the end, be it a wad of cash or just bragging rights.  This makes the outcome of the game much more compelling as it will entail a personal result.


So, how does this information impact FANZO?  Obviously, engagement is a huge goal for a consumer social community.  No engagement, no community.  Based on the information above, if we are to increase engagement with our service we should include elements of affiliation, competition and betting.  If done well, this will make more teams and more sports relevant to a single consumer, and therefore drive more engagement.  So, expect to see elements of each eventually in FANZO.  Betting will be tricky, given all the legal constraints, but I imagine we’ll come up with something interesting.  After all, bets for prestige are almost as compelling as those for money.  Just ask my fellow madness bracket players who the reigning champion is…:)

Can you think of other ways to drive sports engagement?  I’d love to hear about them in the comments…

Posted in Sports | Tagged , | Leave a comment

Why Do Fans Love Sports?

A Leap of Faith

As we dig into building this new company, we need to ask and answer some fundamental questions.  Following the Lean Startup stuff, one of the first things we need to do is identify our leap of faith hypothesis, and figure out ways to test it.  Our current best shot at our core hypothesis is:

The vast majority of sports fans consider watching the game alone a big enough problem that they will actively look for a solution.

Pretty much our first crack at an MVP will be to test this hypothesis.  So, the question then is, how does one test such a hypothesis?  While tooling around with this in my head, I though of a more fundamental question I should fully grok the answer to prior to working on this.

Why do fans love sports?

There are so many sport fans, and they circle every sport known to man.  Some sports are well-known, like College Football or the NBA.  Others are strange, like the Modern Pentathlon, but still have cult followings.  What attracts us to these games?  Why do we keep coming back for more?  Why do we dress up in crazy outfits, make fools of ourselves and scream at the TV?

Fans go crazy for their teams
Fans go crazy for their teams

Seriously, why?

So, got a question? Ask google!  A quick search finds lots of people asking the same question.  Either bloggers, or on your favorite question sites like Yahoo Answers or Ask Jeeves.  Very empirical, non scientific data,  but fun to look at all the same.  This post will review some of those answers.  My next post will, hopefully, focus on more scientific data.

There is something magical about sports

First let’s have a look at what a sports writer has to say about why we love sports.  Ben Miller writes a column for The Daily, the University of Washington’s newspaper.  Ben asks the same question, and provides three thoughts on the answer, at least for him.

  1. We will always come back because our teams are always there for us
  2. Anything can happen in sports
  3. Sports is a way to unite people.

It’s funny that Ben included number one.  He wrote this in Seattle in 2006.  Shortly after in 2008, the Seattle SuperSonics left to become the Oklahoma Thunder.  So perhaps they won’t always be there for you.  But I get his point.  There is always next season.  When a new season starts, the pains of the past are forgotten.  I notice this myself every August.  “It looks like Notre Dame may put it together to make a big run this year”.  I easily forget the mauling we received in the previous years weed wacker bowl.  Each season brings new hope, and as humans we need and love hope.  It is what keeps us going.

Notre Dame beats Syracuse
ND beats #1 Syracuse - Photo by Joe Raymond - AP

I like his second answer best as I think it gets closer to the core truth.  Anything can happen in sports.  His examples are George Mason making the final four, and the Seahawks getting to the Superbowl.  There are tons of stories of Cinderella fitting the glass slipper and winning big.  Everyone loves the Cinderella story because we all can easily identify with her.  We can project, and dream that someday perhaps we will win something big.  And every year, there is a chance that something like this could happen with our team.

Case in point, my Notre Dame team was picked to finish 12th, in the bottom of the bucket of the Big East.  Then they lose their best player, a preseason all-american, to a destroyed knee before he played a regular season game.  Now 12th looks more like 16th, aka dead last.  And yet, as I write this they are sitting in second place.  And they beat Syracuse, the number one team in the country.  Who knew they could pull this off?  Humans love hope, but they love happy surprises even more!

I agree that sports are something that help unite people, but I don’t know if this is a legitimate reason why people like them.  I think it is more of a side effect of a shared love.  It’s also a safe topic for small talk, similar to the weather, although with more passion behind it.  I think the shared experience aspect of it is quite compelling, so I will chat more about that below.

Why do we give so much attention to sports figures?

A similar, related question, is why do we give so much attention to sports figures?  Eric Ringham asked this question on  Minnesota Public Radio after Brett Favre toyed with his sport by playing with retirement.  A number of people provided answers to his question, while others complained that people like sports too much.

  1. Sports are a celebration of the human body and spirit.
  2. Sports are a shared experience defined by strong emotion.
  3. It includes winning and losing

I think the idea that sports are a celebration of the human body and spirit is also core to the truth.  I am constantly awed by what people at the top of their sport can do with their mind and their body.  Seriously, have you read anything about what the Tour de France does to its participants?  We treat athletes like gods because they come close to showing us what God looks like, since they are created in his image.

But there is also a dark side, which adds even more drama and attention.  Be it the competitiveness of Michael Jordan, the mental fortitude of Tiger Woods or the pure endurance of Lance Armstrong, we see the limits of human capability, while also seeing how human they are by how easily they fall.  As fans we place them on pedestals, we still hold the ability to knock them off.  And we love that.  We love to identify with greatness, dreaming for the moment that perhaps we could reach a similar pinnacle.  And when we fall short of that, we love our ability to knock the athlete down a notch as well.   Sports allows us to celebrate the best within us, as well as the darkness within us.  It’s therefore very attractive.

#2 ND beats #1 Florida State
#2 ND beats #1 Florida State in the Game of the Century

There are few moments people remember more than those associated with strong emotion.  Be it the highest highs, or the lowest lows, we remember.  For those my age, I’m sure you remember where you were and what you were doing with the Space Shuttle blew up.  You also, I’m sure, remember where you were and every detail of your first kiss.  Well, sports can also provide those highs and lows.  When your team wins the championship, or even that big game, you live it vicariously.  It remains with you.

I remember so many details of the “Game of the Century”when #2 Notre Dame played #1 Florida State in 1993.  And my memory stinks, just ask anyone who knows me.  I also have very clear memories of the game immediately following, when ND lost to an unranked Boston College team ( to this day I can’t stand BC ).   The highs are euphoric, practically intoxicating.  They are religious experiences.  The lows become shared experiences, things that tie us closer together with our fellow fans.  War stories we can discuss for years and years to come.  By providing such highs and lows, sports make us feel more alive.  They help us reach our edges, where the good juice lives.  Their emotional peaks and valleys are addictive, and we love them.

Another commenter discusses the fact that sports include winning and losing, and that makes it attractive.  I agree, but would like to expand on that by saying that sports allow us to enjoy the richness of competition within a simple environment where there is an obvious winner and loser.  I think what is attractive from this sense about sport is that the game, in general, is clean.  People who cheat are ostracized by the sport and by its fans (just read about all the doping scandals in cycling).  So, even though the rules of the particular sport may be complex (I still don’t get cricket), the rules are basically black and white.  Anywhere this isn’t clear, such as the human elements of the ref etc. we put in place mechanisms to control the variance, such as video replay.

I think the purity of sport is attractive because it is so different from the real world, a world full of grey and half truth.  The purity of the sport allows us to escape our own lives for its duration.  The sport can be understood, and its repeatable rules applied.  They are like computer programs that a sporting community can compile and run.  Clean, pure, simple, focused, we love them for all of it.

 Where does that leave us?

So, after reviewing other people’s answers, and throwing my own thoughts in as well, I propose the following as an unscientific, gut feel answer.

We love watching sports because they make us feel like we are closer to the Divine.

We just discussed that each new season brings us hope, and how our team is always there for us.  Isn’t this similar to the role the Divine plays in our lives?  Do not most religions espouse hope?  Do not most religions provide an avatar of that which we can depend upon?  We all have this hole in us that we wish to fill with hope and communion.  Sports give us a taste of what we need.

We also discussed how we identify with the athletes, especially the Cinderella ones, and we place them on pedestals for worship, as if they were gods.  Why are they treated this way?  For what purpose?  Again I would say it is to fill a need we have to believe in something bigger than ourselves.  These athletes show us the capabilities of the human spirit, pushing the bounds of body and mind.   It is no wonder that, as the world becomes more secular, the salaries athletes can demand grow astronomically higher.  We need to fill that hole, and the athletes become willing accomplices in our worship.

We discussed how the euphoric high of the big win was like a religious experience, almost like touching God.  Watching your team win the championship has been likened to great sex, also a spiritual endeavor.  Our spirits call out for these strong emotional experiences, as they make us feel more alive.

Finally, we discussed how sports are clean, pure, simple and focused.  We might say God like.  They define a world that is more controlled and easier to understand, as we wish a clear moral code would do for our world.  Cleanliness is next to Godliness, and we strongly desire it’s simplicity.

So, I believe I can say that sports give us experiences and icons that show us what being close to God would be like.  And by living vicariously in them or through them, we attempt to sate our desire to get closer to the Divine. Sports stretch us emotionally, physically and mentally, even as spectators.  They unite people in shared experience, touching the communal necessity of the human spirit.

Next I will strive to see what science has to say about this question.  In the meantime, what is your answer?  Let me know in the comments below.

Posted in Lean Startup, Sports | Tagged , , , | 1 Comment

A New Adventure

There comes a time in your life when you need to make a decision between following expectations or breaking with tradition.  For different people this happens at different times.  There are plenty of stories of young folk going on walkabout, trying to find themselves.  Great stories like Into the Wild are so popular they get sucked into Hollywood, because people are fascinated by young folk who break with Tradition. Heck, the whole punk movement was a response to this question.  I’m not saying that things only happen at extremes, but the extremes certainly make the most noise.

Some people, however, are slower than others.  For them, it’s called a midlife crisis.  They buy a crazy new car to publicly espouse their virility, or they find a new lover for the same purpose.  Other’s quit their job to follow their dream, or perhaps “turn their life around”.  Or some, like Kevin Spacey’s character in American Beauty quit their job to turn their life around by finding a lover.  Now that is hard-core.

Finally, there are those who refuse to even think about the concept of breaking from tradition.  I can understand why.  Even people making obviously positive change are still change agents, and frequently considered deviant.  By countering tradition you face public ridicule, even from those you love.  Certainly, differing from the norm is a hard step to make, which is why I think the majority of people will not consider it.

So where do I fall in all this mess? I’ve always danced on the fences of tradition, working in various startups. I have done this both inside large companies like my work building RealArcade at RealNetworks, as well as losing the salary in return for the shares when I helped start Smilebox. But I’ve never gone and done it on my own. So, as I hit my 40th birthday and it was time for my own midlife crisis, I left Smilebox to cofound a new company. This blog will be about me, striving to achieve my full potential while fighting the gravity like pull of tradition.

Off I go, on my new adventure.  I hope we all enjoy the ride.

Posted in Uncategorized | Tagged , , , | Leave a comment