Friday, December 4, 2015

iRacing Stats App Update

I've been able to get a bunch of work done on my stats app over the last week. Here's a dump from the change log:

  • sync process: improvements to the way the progress bar is updated
  • sync process: improved logging, display % completion of results collection
  • changes to hide / show timing when updating a tab to avoid flickering
  • fixed bug making previous / next buttons on all tabs not work
  • general tab: updated html layout to match updated GUI layout
  • corners per incident graphs now start at 0 like all others
  • fixed crash bug with stats button on all tabs
  • removed a bunch of debug code
  • general tab: series list entry for each car if MC
  • general tab: skip graphs with no content, reformatted general stats
  • fixed bug where All Oval/Road Series menu option displayed when not required
  • refactored messaging between sync thread and main GUI process
  • fixed bug with normal completion of sync
  • only update track and car lists if counts are diff
  • improved aborting sync
  • kill sync threads on close, disable sync button during sync, enable on complete
  • threadify sync process
  • warn user of things that can take a while
  • fixed installer not creating appdata folder
  • fixed main process left running on close of window, added exe version info
  • fixed how multiclass races are detected and fin pos in mc events
  • packaging complete; app installs into program files, user files are in appdata
  • fixed uploading to blogger; moved to new version of google api lib
  • db filename now uses custid
  • new build system, fixed avg fin pos graph for MC events

    I'm now able to easily create a user friendly and well polished release version of the application, packaged up with a simple installer. I've done significant testing for fresh installs and brand new users. I'm pretty chuffed with how things are going. I feel like there isn't much more user testing required before I make a version available for wider use. One thing that definitely needs some work is the branding.