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.