Friday, January 31, 2014

Let’s make a Pi

One of my aims with my solo attempts at ISV’dom is to try and allocate a portion of the sales income to good causes.  Obviously this isn’t happening at the moment but a recent Facebook conversation led to an exciting opportunity to do something.

I was responding to a friend who runs a charity, called Life Begins, based in Livingstone, Zambia. Lynne (our friend) had posted up an entry showing some local kids crowded around her laptop checking out Facebook. Apparently an opportunity to obtain some old computers was a possibility.

“Pity we couldn’t get some Raspberry Pi’s out to you” was my response.

RaspPi4What followed was brilliant.  After the chat Lynne went off browsing all things Pi and, like many before her, was instantly amazed.  A quick agreement to donate two Pi kits (Pi, case, keyboard, mouse, cables, cards etc.) followed, with the charity funding another two. But hey, this was social media right! Another post to friends quickly funded another Pi kit leaving the charity with only a single Pi to fund.  Monitors would be sourced locally, with someone already lined up to help out.

Lynne’s planned trip to the UK two weeks later was then the target for pulling together the hardware and a suitable OS install. The hardware only required a few days to source and have delivered. The OS configuration was even easier than the last time I played with a Pi.  The NOOBS installer had Raspbian installed and running quickly - booting directly to a desktop. A desktop tidy up and an install of LibreOffice resulted in a great little introductory computer which the kids, and adults alike, can use for education and acquiring computer skills.

I left Scratch and IDLE installed and available from the desktop too.

The only hiccup in the whole process was with the secondary, backup, SD cards I’d bought.  The image created from the installation using the pre-installed SD cards was too big to fit on the backup cards (even though both were 8GB). The installation was simple enough to do again on  the smaller cards though, and a new image was created and written to all 8 cards (1 primary and 1 backup per Pi).

The Pi’s are en-route to Zambia now and we’re looking forward to the first reports appearing on Facebook as they’re put to use!

If you would like to follow their progress then pictures and updates will appear on the Life Begins Facebook page.

Friday, September 20, 2013

The Feedback Plan

I spent some time this week looking at the way I gather feedback from the trials of StrokePlay to try and determine if I could make some improvements which may generate more feedback.

The current feedback route is driven by the uninstaller. When the uninstall is nearly complete the user is asked if they’d like to leave feedback. If they cancel the question window then that’s the end.  If they agree then the feedback page is loaded in to their browser and they can leave feedback - but only freeform comments.

Not great - judging by the number of trial downloads and the number of hits on the feedback page the “No” button is the most used feature of the feedback process.

So, some simple changes:

  1. On uninstall automatically load the feedback page. Most of the trial software I’ve evaluated does this so it’s not uncommon.
  2. Add options to the feedback page to provide easy, but meaningful, choices for the user.
  3. Regularly change the feedback webpage options to see if I can get feedback on features I have planned.

So, there’s a plan of action.  I’ll add one other update in - when I change StrokePlay to remove the choice of going to the feedback page I’ll migrate to Visual Studio 2012.  The build is already done, it just needs an update to the installer and some testing.

Monday, September 2, 2013

Time flies…

….when you’re earning a living.  But, it’s an embarrassingly long time since my last blog post.


I was in a fortunate position when I was in the final push to launch StrokePlay of having a client looking for less of my time and that fitting with me looking for ways to spend more time on ISV work.  So the sudden ability to work part time and use all the new found spare time to finish and launch StrokePlay was fantastic.


The flip side was that I still needed to go back to full time paying work after StrokePlay launched.  Of course, had StokePlay done the unimaginable and started generating lots of sales right from the outset then that would have altered plans, but I was erring on the side of reality.


Move forward to today and where is StrokePlay? 

  • Very modest sales.
  • Trial downloads numbers are consistent
  • Only two minor updates since launch and none in the past year.
  • Doesn’t generate enough sales to pay for its costs yet (hosting, advertising, card handling account, signing certificate etc.).
  • Very little user feedback from purchasers or trial users.


So, since StrokePlay was my first attempt at the ISV world do I need ponder some questions:

  • Was it the right first product?
  • Are there lessons to be learned?
  • What now?


Was it the right product?

I guess this is a difficult question to answer given the amount of time spent developing StrokePlay and the personal investment you make in your products.


But, the indicators are that the golfing market continues to grow and that stats analysis is still an active software market.


Are there lessons to be learned?

Yes, many, many lessons – but my top two are:

  • Momentum

When I returned to full time work I lost the momentum in advertising, blogging, tweeting and website traffic that I’d spent time building up.

I think this was my single biggest issue.  I should have found a way (and time) to regularly focus on these items.

  • Feedback is King.

Early purchasers provided invaluable feedback which led to the two minor updates.  Without user feedback the development lost some direction.  I eventually got direction back and started on the “Version 2” release which is sitting waiting to be completed.

What now?

A difficult question to answer objectively.


Without user feedback and reasonable sales then it looks like madness to spend what time I have in looking at a major update to StrokePlay.  But, are there smaller things that could be done to try and bump up the feedback level from the number of trial users?


Also, given StrokePlay is my first product in the attempt to move in to ISV territory do I chalk this one up as a big learning experience and move on to the next idea?


I think that simply side-lining StrokePlay in favour of a new idea is the easy option. 


But who ever said trying to start a Micro ISV is easy!


Rather than look at large scale changes I think I need to focus on the smaller things and the place to start is with one of my top issues - lack of trial user feedback.  Sales aren’t going to come unless I can work out what’s putting potential purchasers off.


So, to move forward I’ll start looking at my feedback mechanisms and work on ways to boost the information coming from paid users and trial users.

Monday, March 19, 2012

Spot the difference





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:


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:


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.