8.26.2010

History of RTools - 2007 through August 2010

This isn't here for any reason in particular, but it's just something that I wanted to write and get down somewhere...

RTools has a history that began in 2007, with the release of DCI Reporter v3. At this time, a program called Tournament Board functioned as the augmentation program, which functioned with DCI Reporter v2. As a stop-gap measure, I had looked at making a program which converted v3-compatible files to v2 files, only to the point where Tournament Board could see these produced files as v2 files, and then use them successfully. I had also gotten back in touch with the original programmer, who was happy to be contacted about the issue and setup v3 functionality with some assistance from the converter code which I had written.

Flash forward to 2009 and the release of Wizards Event Reporter. (WER) When I first looked at WER, I had the same thought as before in regards to compatability, and began looking for a route of access to back-end files. I had localized the file in question to one very deep in Windows' OS, but I had no idea how to work with this .dat file which looked to be encrypted in some way.

At the same time, though, in past months I had looked around at figuring out ways to build the scrolling pairings interface into a Java program. At the time, I was only familiar with the high-end Java GUI libraries, and the furthest I have gotten was a set of text fields which updated automatically. It looked cruddy, but gave me the hooks to v3 for future use.

These two issues came together quickly in early 2010. I had just graduated and was looking for something to do while job-searching, and had solved both issues within a week of each other. The latter was solved first through me experimenting with the low-level Java UI (java.awt) interface. From here, I was able to achieve a window which had a piece of text moving down on the window; this quickly scaled to the current scrolling windows and checked one piece off.

The former issue was solved through a lucky break when fooling around with WER at home. I had randomly a windows explorer open to the folder that contained that encrypted file, and I suddenly noticed a file called "TournamentData.ldb", which tipped me off immediately to the solution. The test was to try to open that .dat file through Microsoft Access. I got all the tables immediately, telling me WER used a Microsoft Access database file to store everything, and giving me the link I needed to go straight towards building a new version of Tournament Board. When I thought of a name, I had randomly thought that Tournament Board was called "Reporter Tools", and called my version "RTools" as a successor. Sounds better than "TBoard", at least.

Feature parity was the initial goal for the original release of RTools, but the goals quickly became greater whenever I saw things being printed at local events. The most eggrerious thing was, for me, result slips being used once again at these events. Way back, Tournament Board made this great printout which we used both for FNMs and prereleases: at FNMs, you got one sheet with all results on them at once, while prereleases gave you a half-sheet with all result slips, making it trivial for a judge to carry all results with them. At the local store, this also was shown with pods for drafting, where we kept posting pairings on a sheet with 30-odd players crowding around to find their location.

The latter began the advance in features which the program is now being known for. Pod seatings turned into all forms of seating for events. Standings came from having the interface available and wanting to tackle coding tiebreakers. Further advances were spawned from both requests and "enabling" features that people wanted in WER that weren't yet available. Result slips, tickers displaying outstanding results, the 8-man draft print interface, and many other small features came from these requests and needs. For comparison, Tournament Board's features were the equivalent of RTools' pairings, ticker, and clock, with the printer functionality solely being the equivalent of RTools' compact sheet pairings.

No comments:

Post a Comment