Monday, March 19, 2012

Spot the difference

Old:

OldDashboard

New:

NewDashboard

No major differences apart from the “New” image being more centred, having heavier borders and squared edges to the groupboxes?

The “Old” image is StrokePlay as it is available now, complete with a High-DPI GUI that’s, to be honest, a pain to maintain and enhance.

The “New” image is StrokePlay as it will be in the next release, with an HTML/CSS based dashboard that’s as simple to maintain, amend and enhance as editing a couple of text files.

The charting functionality remains the same, but the 9 “Performance” charts (right hand side) are all clickable which is an improvement over just the gross scores being clickable.

The move to a more browser based display (albeit an internally managed browser) was an enabler for features that were planned for V2 but I decided to bring it forward to ease the DPI awareness problems I was seeing in the new scorecard.

What now?  Since the new layout and display processing is working a treat I’m extending it to all of the other dashboard pages.  In addition, the course entry window and scorecard handling window will also be moved on to the new code.

Doing them all in one go keeps the interface consistent across the application and has the added benefit of removing two 3rd party libraries, improving stability and performance, and by pulling out bundles of MFC code the final exe size should shrink by a good margin.

Finally, some really good progress!!

Saturday, March 10, 2012

Re-engaging with your software.

I should have made this blog update ages ago but one of the side effects of getting annoyed at your product is a lack of enthusiasm to tell people about it!

Followers of @StrokePlayPro on Twitter will have seen more activity, and much more of late, detailing the issues I was having with the planned upgrade but the blog hasn’t updated for a while – me bad.

Anyway, to cut a long story short, I’d made all the changes for the new release and was working on the DPI support on the new scorecard to allow it to display correctly at the various resolutions, DPI settings and text sizes which need to be supported on Windows.

I’d previously build a small library to help with this but making the new layout line up correctly and look acceptable at the higher DPI settings was proving to be lot of work – a lot of very frustrating work!

Essentially I disengaged from my software because I was unhappy with the route I was taking on the GUI and I could see that it was going to be a maintenance nightmare.

So, as the end of February approached I took the decision to bring forward a V2 improvement.  Not a decision I took lightly since it was a big GUI change.

The change?  Essentially ripping out big chunks of Windows specific GUI (dashboard pages, score entry, course entry, player entry) and replacing them with an embedded web browser based GUI.  This removes the reliance on some 3rd party GUI libraries, reduces the installation size and gives me a hugely flexible and consistent GUI which is easily ported to other platforms and, better still, a breeze to enhance and maintain.

Where am I in the process? The internals required to support this change are already in place and I’m just putting together the HTML required to support the layout – so pretty far along!

Even better, I’m having a great time doing the development and enjoying not only the coding but the path I can now see StrokePlay taking in terms of future releases.  In short, I’ve re-engaged with StrokePlay.

Sunday, January 1, 2012

2011 Gone, Now for 2012

Happy New Year all!

The annual Loony Dook has finished and Irn Bru is being consumed to clear the hangovers.

New Years Resolutions?  None.  But finding a brand of golf ball which doesn’t automatically seek out hazards would be good.

2011 – The Good

2011 was a great year – StrokePlay Pro was finished, launched and had a first update released.  I had a great launch press release which achieved good coverage and I was pretty pleased by the response to it.

I also started a new contract which took me back to the front line of development which is a welcome change to the higher level architecture I’d been working on for the previous 18 months.

2011 – The Not So Good

There’s not much that I could say went badly.  Lessons on marketing were learned post-launch and I’d say I could have done better with maintaining momentum.

The new contract has diverted me away from StrokePlay for a while but the balance is slowly returning.

And lastly, the release I’ve been trying to put out for a couple of months still hasn’t released – but I’m working on it now.

2012 – What does it hold?

First up is the update release.  That’s the January priority.  It contains a number of fixes, some enhancements and a few new features.  I’d go as far as saying that this release is the one I would have launched with if I hadn’t decided it was better to launch than continually tweak.

After that, the 2012 plans have three branches I’d like to tackle:

1. Enhancement

I have a number of features I’d like to add to StrokePlay Pro this year, from additional stats and charts to multi-player comparison and even some league/tournament functionality.

2. Expansion

I’m still only playing with the iOS development tools but I’d like to see a StrokePlay Pro related iOS release this year.  Maybe not a full implementation but a score data gathering app for use during the golf round.  It’ll need careful design to prevent too much data being gathered at the point of play to prevent it being a source of slow play.

3. Product Line

StrokePlay Pro, as it stands, is the core product.  But it’s been built with expandability in mind.  I’m looking at the possibility of a more “corporate” edition which would have an altered feature list geared towards a corporate environment rather than the individual, or small group, of golfers.  I’ll use the forums as a place to discuss this edition as plans become a little clearer.

So, one or two things to do and all of them achievable with some focus.

Thursday, November 3, 2011

Normal Service Resumed

A temporary StrokePlay development hiatus has just finished. 

The end of a client contract required my full attention so the StrokePlay development experienced a pause.  But, with a new contract secured and a few days between contracts I can focus on finishing off the next release.

The core contents of the new release remain the same as before with one more addition.  In the Raw Stats the putt details now include 1 putt in addition to the 2 & 3 already shown.

Some additional refactoring of the code resulted in much more consistent handling of the statistical data which corrects some differences between the charts and the raw stats.  Similarly there was corresponding refactoring, and in some cases complete re-writing, of a few SQL statements which, as a side-effect, improved the performance of the raw stats SQL.

Finally, I’ve amended some of the charting code to take account of larger numbers of labels on pie charts in order to avoid the labels colliding in the display areas. 

As mentioned in the previous entry, the biggest change in this release is the reworked scorecard entry.

The current scorecard looks like this:

currentscorecard

This version places all data entry, with the exception of round notes, on to a single grid.  Post-launch I decided this wasn’t going to work going forward and comments from new users showed that it could, initially, be intimidating to use.

With that in mind I’ve re-worked the scorecard and it now looks like this:

newscorecard

You can see that the common round details area is virtually unchanged and the overall look is very similar, retaining the tabbed notebook but just moving it into the window and splitting the data into areas which are consistent with the dashboard.

I also replaced the drop downs which were previously used to capture ball position after the tee shot with custom control which is much simpler to use and read.  Another small enhancement was in the capture of round notes.  There is now a visual indication when a hole or round note is recorded making it easy to see where data has been added.

What all of this is intended to do is make data entry for users who just want to record basic details much simpler whilst retaining the ability to enter all of the data previously captured for the more advanced users.  It also greatly enhances the ability to extend the scorecard to capture additional data, something that I’ll be doing in future point releases.

In my own day to day use of the new layout I’ve found it to be much simpler to use and much easier to go back to and add additional details.

I think it also uses colour more effectively (less is more in this case) to aid clarity.

The release is locked now, with final testing under way.  I’ll need to take a little extra time on this one to go through the updates to the help files to cater for the new scorecard layout.

Thursday, October 13, 2011

Better and Better

I’ve been a tad quiet on the blogging front recently.  It’s not a reflection on the lack of work going on – exactly the opposite, it’s a reflection of the large volume of work going on.

First up, I’ve been playing around with Trello as a day to day way of tracking tasks and change.  It’s pretty good and it’ll be one to watch as it develops and matures.  But, as a day to day tool it’s ease of use is hard to beat.

MiniHomer – my future Max/iPhone/iEverything Mac Mini – is now fully up and running, complete with an Xcode development environment.  I’ve been playing around with it, but nothing serious.

On StrokePlay, release 1.1.1 is shaping up very well.  Strangely, this is a bigger release than 1.1 was but then again, 1.1 was all about stability and making it DPI aware.  The DPI awareness was a big change and so merited the 1.1 moniker.

A preview of 1.1.1 contents:

  • New “All Courses” data filter
  • Complete redesign of the scorecard entry dialog
  • Auto-addition of a new course to the player’s course list
  • Additional “Getting Started” instructions in the help
  • Some smaller bug fixes, including the correction of painting issues on the “My Scores” group box, retaining font settings for the scorecard and course notes after StrokePlay closes, ensuring the overall round note saves correctly.
  • Refactoring of the colour scheme handling to make it all centrally managed to allow for multi-theme support in a future release.

So, not a minor release after all.

Thursday, October 6, 2011

New Release: StrokePlay Pro v1.1

StrokePlay Pro v1.1 has now been released.

This release is focused around numerous changes to the window scaling and sizing.

A number of smaller fixes and enhancements are also included.

Details of the release contents can be found on the website Release History page.

Registered users can download the new version using the “Check For Updates” option in the Help menu.

Sunday, October 2, 2011

Scaled Effort

The weekend has disappeared in a blur of screen metrics and font scaling.

A bug in the StrokePlay window scaling code has turned into a rewrite of the scaling and sizing code and the addition of scrolling functionality.

No minor task!

The code changes for the dashboard pages are almost complete and I can just carry over the same base class changes to the scorecard and course handling windows.

With a fair wind coding should be complete on Tuesday evening with a release on Wednesday/Thursday.

An annoying delay to the release of the new scorecard layout but StrokePlay looks better for the changes.