Facebook Hockey Pool Demo Q & A with Ben Nevile

hockeypool.gifQ: Can you tell us a little bit about your Hockey Pool Facebook app?

Ben Nevile: Hockey pools are a very popular game for hockey fans, and since Facebook is so popular in Canada I decided it would be a good subject for my first Facebook app.

I’m a music producer/electrical engineer/math and statistics nerd. Before this August my primary contract was with a company called Cycling ‘74, a company whose main product is a graphical signal-processing programming language for real-time manipulation of audio and video streams, amongst other things. Last year I became interested in web programming and taught myself Rails. When I joined Facebook a few months ago and saw that people from every one of my disjoint friend groups were already signed up, I decided the time was right to focus on web development.

I started working on the app at the beginning of August. It took me about two weeks to set up the players in the pool and design the sign-up flow. I released it to the public on the evening of August 15th by inviting 7 of my friends to sign up. Currently there are more than 300,000 participants, and more than 55,000 “active users” - my logs tell me that between 60 and 80,000 people check the pool every day. Hockey Pool is the most popular sports application on Facebook, and - as far as I know! - the biggest hockey pool in the world.

Q: What’s the Facebook advantage? How is your Hockey Pool Facebook app different from a plain old web application/widget? How does it tap into the social network?

Ben Nevile: There are four key ways Hockey Pool uses the Facebook environment:

  1. Through their breadth of users and the invitation mechanism, Facebook minimizes the friction involved in going viral. If your application’s core functionality is valuable, and the design of your app is palatable, you have a great chance of becoming popular. Hockey pools are things you traditionally do with friends and co-workers, so it was a perfect candidate for the Facebook way of virally spreading applications.
  2. In addition to the worldwide pool of all participants, Hockey Pool creates a custom pool for each user made up of friends who are also participating. Users are also entered in a pool for each of their affiliated networks. The infrastructure of the social graph is leveraged to create valuable structure within the game, and from the user’s perspective, all of this organization happens automatically. In addition, competition between networks is encouraged through pages that show inter-network standings based on broader statistics such as the average score for each Network pool. Engagement is increased (in some cases, dramatically) because the social network empowered me to turn what is traditionally a solo game into a team event.
  3. Hockey Pool uses the Facebook news system to disseminate relevant and interesting information efficiently and help keep people engaged. Participants have a limited number of “trades” they can use to improve their chances of winning. When a participant makes a trade, a news item is created that includes a link back into the application. Friends of the participant see news of her trade in their news feeds.
  4. Facebook facilitates support and encourages tight feedback loops between the users and the developers. I am a Facebook user like everyone else in the pool, and so through my profile picture the application has a face. I’m focussed on encouraging the creation of a community associated with the application, and I believe that being a public participant in that community can be a powerful part of that process. I try to answer every wall post and personal message as if it’s the first time that question has been asked. If I’m getting too many messages about something, it tells me there’s an improvement to be made in my design.

Q: Inside Hockey Pool: What languages (PHP, Java, Ruby,etcterea), libraries and frameworks have you used to develop your Facebook app?

Ben Nevile: I used Rails with the rfacebook plugin. I like Rails, but who cares? :) There are lots of great languages you can choose to use to develop a Facebook app, and a good programmer doesn’t waste too much time thinking about which is best because he or she could learn and work with any of them.

Q: Any tips and tricks or advice you can share on developing, designing or marketing Facebook apps?

Ben Nevile: I believe that there is huge opportunity for entrepreneurial developers on the Facebook platform. Never has it been easier to acquire a large audience for a new application - not easy, but easier.

My advice to people starting a new project is to worry as little as possible about technical things and spend most of your energy on the really important, interesting and difficult problems:

  1. your app’s PURPOSE. what’s it do? is that valuable?
  2. your app’s MESSAGE. what’s it say to people? what’s it say about people?
  3. your app’s DESIGN. what is its flow? is it frictionless?

My advice to people who have an app up and running is to LISTEN. The feedback loop between the users, the developer, and the next version of the software should be as tight as possible. Yes, it is irritating to answer the same question one hundred times a day, especially when the answer is “obvious”, or has already been posted somewhere else. But developers who answer user questions with derision or scolding are missing something really important. Every person who takes the time to complain could represent 10 or 100 or 1000 people who have the same issue. Listen carefully to a user who complains or asks a question, and carefully design your app so that nobody will ever have to ask that question again.

Thanks Ben Nevile for your time. Interested in more? Join us at Vancouver’s first Facebook Developer Garage.