Software houses and table tennis are synonymous. Like macaroni and cheese or peanut butter and jelly. Here at DiUS we’ve had table tennis tables for about two years.

From humble beginnings

At first, the matches were ad-hoc and scratchy. People would play on Fridays, in between builds and at lunch time. Rumours emerged who was best.

So I decided to hold a tournament. Two actually. Here’s a time-lapse video of our last tournament.

To find out who was actually the best. This solved a short-term problem. It answered the question of who was the best player at that point in time. It didn’t give anyone an overall ranking. Like who is the best player over a period of time?

Trophy

Screenshot: The coveted trophy from our tournament

The quest for the ultimate Table Tennis Champion

My next step was searching for an application to track our results, matches and provide a leaderboard. I had visions of the ATP world ranking in tennis. I came across ping pong ninja which seemed great except it blew my budget of not much money (read: $0) out of the water.

The second option was looking for an open source project and I came across Braintree’s elovation. It was a rails app that allowed for tracking for any type of match. I really liked its use of the ELO ranking system which meant that points would be gained or lost depending on the strength of the opponent. You gain more points for beating a stronger opponent than a weaker one.

So, without a perfect solution – I created my own!

In the spirit of Eric Rees’ Lean Startup, I started with an MVP, forked it, deployed it and rapidly iterated over it. These are the main changes I made.

  • Moved it from heroku’s free dyno tier to our own AWS account. I used elastic bean stalk which simplified the architecture and deployment process
  • Integrated oauth and made it such that only DiUS staff could login
  • Optimised the user interface workflow to suit playing only one type of game
  • Optimised the workflow for entering results
  • Purchased a domain name
  • Added a notion of active players as we would often have players coming in and playing a couple of games and distorting the overall rankings

And voila, the end product looks like this.

Screenshot - DiUS table tennis

So that’s it. That’s how Table Tennis evolved at DiUS. We have a table. We have an app. We have a leaderboard. It does the job. It does also provide a bit of extra incentive when people are playing.

So who’s ready to play?

table-tennis-in-action-at-diusAction shots (no ping pong ball was harmed in the making of this collage) 

 

References