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.