Poker Stats: The Accidental Genesis of my Poker Stats App

It is a bit of an accident that I am developing an app I can feasibly sell. Here’s the story.

A few weeks ago I read Apple’s “Java Development Guide for Mac OS X”. It gives good information on how to make Java apps “feel right” on Macs. Being a Java programmer and since late last year a Mac owner, I was interested to write a quick test app to try the advice from the article.

I soon had a Mac app that integrated well with the OS X environment. Preferences and the About dialog were in the right place. In Finder the app looked and behaved just like any other Mac app. The only problem was, it didn’t actually do anything.

About a week later I restumbled upon Edward Tufte’s Sparklines, an excellent way to show certain types of data. As I had some time on my hands and the weather had turned a bit nasty, I wrote a Java implementation of Sparklines, which I then plugged into that empty Java app I had written. I was pleased with the result, but I wasn’t graphing any real data. While out walking (despite the cold) I asked myself, what data do I have that I could meaningfully graph to properly test out my Sparkline code?

Lately I’ve been getting into online poker. The online poker software I’ve been using writes a history of all my hands to the local hard drive. This seemed the perfect thing to graph with sparklines.

I put the three together -the empty Java app, the poker data, and the sparklines. I mentioned what I had done to a couple of friends who also play online poker. I was surprised by their high level of interest in what I done. It turns out they had been discussing how one might go about parsing the hand history. Before I knew it they were suggesting features for me to add – live update of graphs while playing, showing win/loss not in terms of dollars but in terms of “big bets” to get a better reflection of what was going on, showing the most successful combination of cards one has played.

I did these things they suggested and suddenly found I had an app that was useful to me. I started using it to monitor my own progress at poker. Naturally, as soon as I reached that phase I discovered things could be better and features that should be added. Oh, and things that didn’t work properly and needed fixing.

As of a couple of days ago, this project has morphed from a personal toy to try out some new stuff, into something I aim to have available for purchase on the web by the end of June.

Poker Stats: Mac, Windows, or both?

My Poker Stats app is written in Java. I’ve successfully built and run both Mac and Windows versions. However I want to keep the launch by the end of June as simple as possible. I don’t have the resources to thoroughly test against two different operating systems. So which will it be?

My primary computer is a Mac. As I am “eating my own dog food” (using my own product) already, I figure it is wiser to launch with a Mac-only version. The only thing that could change my mind is an avalanche of feedback requesting the Windows version already.

And now a screenshot

I mentioned that I’ve already been working on this app for some weeks. Here’s a screenshot of my progress to date. It shows the approach I am taking with the GUI:

The App is called…

…actually I don’t know. The first 10 or so options I came up with are not available as domain names.

The product keeps track of your progress with online poker. It tables statistics and makes graphs showing how fast you are losing (or rarely, winning) money and how well you are playing according to a bunch of metrics. It helps you find weaknesses in your playing style.

So the name would ideally be poker[something], where the domain poker[something].com is available, and is an appropriate word.

30 Days to Launch a New Software Application

Patrick McKenzie suggested forming a peer group of people interested in launching a new app by the end of June. I’m dead keen to join in. This site is for tracking my progress.

I’m cheating a bit, because contrary to Patrick’s idea of starting on June 1st, I’ve already been working for 3 weeks.