Day 19: Setting Priorities

I signed up with Google Apps last night. It seems like an easy way to have a top-notch mail server and client for supporting and promoting my poker app. I don’t need to worry about spam filtering because Google will do it for me.

I just managed to crush a sporadic concurrency problem I’ve had for a few days. It’s not the nicest bug to be hunting down after a day at work, so I’ve been putting it off. However I’ve decided to set some new priorities:
Highest Priority: Get all features working
High Priority: Get all known bugs and issues resolved
Low Priority: Tune the fine details of the UI. These are the things I can leave to the last days before launching.

That means I won’t spend another whole evening trying to get a iTunes-style look to my tables, unless the app is feature complete and fully functional.

Day 18: Stress Testing, a Big Win, and a Serious Bug

Last night I performed some stress testing on my poker app. Although it passed the stress testing, in the process I discovered an important bug.

First the intentional stress testing. While my app was running, I played Full Tilt Poker on three tables simultaneously. Therefore my app had three tables to monitor. I also had Mac OS X’s Activity Monitor running to see the load my poker analysis app puts on the computer. The results were excellent. Once the initial hand history loading is over, my app causes barely any CPU usage. Activity Monitor itself was using more CPU. So it seems my strategy of regularly polling for updated hand history files is fine.

Now the accidental bug discovery. I had a very good hand of poker, where I won $11. I play only very low stake games (in this case $0.05/$0.10 Pot Limit Hold’em), so this is the best win I’ve ever had.

I expected to see a enormous uptick in my real-time results graph. Unfortunately the opposite happened. The graph actually swung sharply downwards! A bit of investigation revealed that under some conditions, I was incorrectly calculating the result.

Day 17: Website Draft Content Written

With the help of Bob Walsh’s book, “From Vision to Reality“, I wrote some draft website content. For a first draft I’m quite happy with it. The next step is to find, steal, or create a website design which can contain the aforementioned content.

Quickly the pieces are coming together.

I think I’ll put a freeze on development at the end of next weekend. I keep thinking of more features that my Poker app absolutely must have…I’ll have be stricter about putting them in the “version 2” bucket, so that I’ll have a chance of meeting the end-of-June deadline.

BTW: “From Vision to Reality” is a very common book title or sub-title.

Day 16: Payment Processing with a Personal Touch

It’s a rarity to receive a personal touch when signing up to something online. Usually everything is automated, and you are just numbers in a database.

I completed signing up with FastSpring, the company I chose to handle my online shopping and payment processing. It was probably the nicest experience I’ve had when signing up online. I had a pleasant e-mail conversation with a human being at FastSpring. He did all the initial setup for my poker app in their online ordering system. He also had some encouraging words for my app.

The FastSpring admin console is a nice online app. I especially appreciated the different levels at which I can integrate. The facility to handle test payments was nice too.

For the dubious, the sceptical, and the Turing Test fanatics: I’m almost 100% sure there was no automated pretend-personalisation involved.

Day 13: A Monastery, Wine and Berlin

Yesterday I went on a work “team building exercise” to the scenic Eberbach Monastery for wine tasting and dining. 800 years old or so, for the last 200 years it has functioned as a winery instead of a monastery. Some indoor scenes of The Name of the Rose were shot there.

Straight after work today I am going to Berlin to visit a friend for the weekend. With the monastery and Berlin taking up my free time, I’ve put aside my poker analysis and statistics app for a few days. It’s a four hour train ride to Berlin so I might do a little work on the website to kill time.

Day 12: Google Likes Me More Every Day

I’m glad I added Google Analytics to this blog the day I started. It gives me some heartening statistics. It’s great watching the upward trend in visitors. It seems there are plenty of people who enjoy reading along as I try to launch this poker app by the end of the month.

Even better, the number of people who find this site through Google Search is increasing. The search terms people use to find my site are varied. Not all have something to do with poker. Some are matching are things like “JFreeChart” and “FastSpring”. But motivatingly, a significant amount of searches are for terms like “full tilt poker history parser” and “mac poker stats”.

If I have a problem with Google Analytics, it’s that I find it too addictive. When I get up in the morning, even before I have my first coffee, I’m scouring the latest Google Analytics reports.

Day 12: Icon and Logo Rethink

Contrary to my decision two days ago regarding icons, I’ve sought a quote by a professional designer for a logo and application icon. I want my poker app to look elegant and professional. The whole appearance could be marred by a cheap icon and logo.

This will be the only major up-front expense for my poker app. Because this will involve more than a trivial amount of money, it constitutes a sort of psychological commitment to the project. With this one step I am elevating it from hobby to business.

Day 11: Website Hosting

I have a hosted web server that I use for It’s vastly underutilised, so I decided to use it to host the website for my poker app. I knew that would involve mucking around with intricate details in obscure configuration files, which is something I don’t enjoy. Programming is my passion, and system administration is my pet hate. I rate it almost as badly as going to the dentist.

With a one-person software company, I have to do many things I wouldn’t normally choose to do. So I rolled up my sleeves, doused my body in caffeine, and gave it a shot.

After a couple of hours of tinkering, I was successful. My new domain now points to my web server. My Apache Tomcat installation maps different domains to different folders. A test index.html file is served up correctly.

Now that hosting is completed, I can turn my attention in the days ahead to the somewhat harder – and rather more enjoyable – task of creating the website for my poker app.

Day 10: Icon Indecision

This evening I researched my options for obtaining an application icon. It seems my options are:

  • commissioning a graphic designer to make an icon
  • using a free icon available on the web
  • purchasing a stock icon

I ruled out the option of getting something custom-made pretty quickly, due to the cost.

The free icons I found on the web were simply not good enough.

That leaves stock icons. There are some decent stock icons available. Nevertheless this is a compromise. Currently I’m leaning towards an icon from StockIcons‘ “Sprite Basic” set. It’s the middle one on the second row that has grabbed me. The only thing holding me back is that to obtain that one icon, I have to buy the whole set for US$349.

I’d love to hear your opinions on my choice, as well as other icon recommendations.

Day 9: Resting, Testing, Listing

My work schedule has been quite relaxed of late, which has given me plenty of time and energy to work on my poker app. Nevertheless, I’m taking a break from any active development today. I’ll still spend an hour or so “dogfooding“, as the mangled phrase goes, by playing Full Tilt Poker with my app running.

Here’s what I have to achieve before launch on June 30th:

  • buy, borrow, create, or steal a logo
  • create a website
  • arrange web hosting
  • integrate with a payment processor (probably FastSpring)
  • create a registration system. Any recommendations for a third party solution that is cross-platform and works with Java apps?
  • systematic testing

Update: change of plan. Instead of testing I’m heading to a local mexican bar to watch the Euro 2008 soccer with some friends. When in Rome…