Who is the best foosball player in the company? This question has followed me through three of my last four employers, ever since I spun my first rod back in 2005.

I’m happy to say that I’ve been able to provide my coworkers with an answer to that eternal question, through FRank, the foosball ranking site I first developed nearly ten years ago. If you’re interested in ancient history and FRank’s inception, you can read more about it in this blogpost from 2007.

A year after I wrote that post I left Optaros, and my foosball ranking site languished, nearly forgotten. After wasting a couple years at a sad little company that didn’t even have a foosball table, last December I found myself interviewing at Buildium, whose kitchen included not one but *two* tables! During the interview process, I made sure they knew that hiring me meant access to my foosball ranking site, too!

Naturally, after years of neglect, I wanted to clean things up a bit (and size up the foosball culture) before I opened the app up for public use. So over the past few weeks I put a few hours into a bit of a refresh. And I’m pretty happy with the result.

Here are some of my favorite new features:

Foosball table

First, I rewrote everything using Google’s Angular javascript framework. For non-techies that probably doesn’t mean much, but it’s cool new technology that I really need to learn anyways. And it allows me to easily do some cool things like providing predictions of the score of any given combination of players.

I also made it a single-page app, which means everything happens on one page, kinda like Google Docs, without any page refreshes because all that data comes from behind-the-scenes API calls. It feels more like a native application and less like a website.

Next, I redesigned it to have a mobile-friendly user interface, so that it would be simple and easy to use, whether you were on a desktop, laptop, tablet, or smartphone. It even has its own little icon so that its bookmark looks just like any other app on your phone.

I even added the Web Speech API, which allows anyone using Google Chrome to enter a set of players by saying aloud something like “Jordan and Matt versus Dave Owens and Ben”, rather than having to manually navigate four cumbersome drop-down lists.

In the first two weeks of public availability, the adoption rate among players here has been great. This week I added a user-suggested feature: when someone logs a game, a message is automatically broadcast in our company’s foosball chat room (from “FRank Foosbot”), summarizing the result for all to see.

Needless to say, I’m pretty happy with how I was able to bring it up to date with how the web has evolved. It’s been a fun coding exercise, while contributing something unique to the company culture.

The biggest irony, however, was when Buildium hired my old friend Dave. I worked with him at both Sapient as well as Business Innovation, where he wrote (and then lost the source code for) his original Microsoft .Net foosball application that inspired me to create FRank. And years later, we’re working together again, and I get to show him what his old foosball ranking system has evolved into.

Frequent topics