Thursday, September 29, 2011

Opportunity Knocks

Today was quite a challenge!

A new user purchased StrokePlay and immediately started hitting problems that I hadn’t previously seen.

But, rather than demanding an immediate refund, I’ve found myself having a user who’s prepared to work through the problems they’re seeing and being extremely patient as I work to build a new test release.  This release contains additional diagnostic logging and some fixes and updates from the upcoming 1.1 release.

So all of the focus is on solving this users problems to ensure they get the best from StrokePlay.  My mantra throughout development and launch has been the importance of providing first class support and here’s an opportunity to do just that.

My new user also asked about future editions, specifically Mac.

As I mentioned on a previous post I’d ordered a Mac Mini to allow me to start putting in some time on Mac development.

Todays other news is that the Mac Mini (or MiniHomer as it’s now named) arrived and is happily sitting in the PC cupboard.  It seems to run very cool, even the brick power supply isn’t hot, and it just works!  Plug in and go.

Once I’ve shipped my test release I’ll have a play with the Mac.

Monday, September 26, 2011

Mini Homer

I may be in the middle of development for the next release of StrokePlay Pro but that didn’t stop me advancing some future plans ahead of schedule.

It was also a chance to put an end to my long running frustration with iTunes on Windows.

Yep, I bought a Mac.  A Mac Mini to be precise.

Mac and Mobile have been on the StrokePlay planning board since day 1 but I’d always said I’d wait until there was some demand appearing. 

So why the sudden change of heart?

First up, I’m keen to dip my toe in the mobile development world. 

Next, there’s a decent enough range of test devices available in the house right now in the form of phones and pads. 

Then there’s the size of StrokePlay right now.  It’s early enough in it’s lifetime to make a port workable before I start adding the planned features.

Finally, I’m tired of fighting to try and get iTunes working well on Windows.  The Mac Mini can double as a small media server in its spare time and look after the various iDevices.

I should add, just for a little clarity, that Mac work will be a back burner task – something I’ll work on if and when I get some spare time from the planned Windows releases of StrokePlay.  There is a natural time for making the Mac work a bigger priority in the StrokePlay plan but I’m nowhere near that point yet.

Mini Homer?  Seemed natural since the main development box is called Homer.

Sunday, September 25, 2011

Onwards and Upwards

Even if I say so myself, I’m pretty pleased with the way the new scorecard entry window looks and works.

I changed one or two things once I had the layout working as I originally envisaged, primarily to remove a drop down list that I didn’t like and to replace a couple of check boxes with something that was a better match to the data being entered.

And all I had to code was one additional owner drawn control.  I modified the static control to allow me to display a bitmap that I could click on and have it record where I clicked with a check mark. 

So the layout and initial functionality of the new scorecard is done, just the load/save to the scorecard object to go.

The changes to the original vision meant I didn’t release the new scorecard this weekend but I’m ok with finishing it off this week and having some more testing time before a new release slot next weekend.

In other areas, my AdWords campaign is still going strong and the targeting of the keywords continues to improve.  There’s an increase in the number of trial edition downloads and the general stats for the website are seeing day on day increases in traffic.

Analysing the in-page analytics is interesting and it’s leading me towards some changes and potentially some A/B tests on the download and purchase page. 

Thursday, September 22, 2011

The Sighlence of the Geek

It’s a double sigh day.  One good, one bad.

Let’s deal with the bad first.  A big sigh for MFC.

Work on the redesigned scorecard is going just great.  The first page of the tab control is done and by doing that all of the base classes and templates are in place for the subsequent pages.

But, I was tripped up by the old GUI stalwart, the Combo Box.  It may be a very common control, used everywhere, but I just find the MFC implementation inflexible when you want to do something slightly different.

For instance, making the static text control element of the combo box thinner whilst retaining a more expanded look for the drop down list element.  It just ends up with a perfectly fine drop list and a static control that, due to vertical margins, positions the text halfway down the control which chops off the lower half.

I know I can just write an owner draw version of the control to do what I need but for once it would be a nice surprise to see that it had already been thought of and included.  *SIGH*

Now the good part.

Visual Assist X by Whole Tomato Software

Where has this tool been for my entire programming life?

I’m not going to mince words.  It is absolutely fantastic.  It is the dogs cojones.

Everything from commenting out chunks of code, adding method implementations, fantastic pop-ups telling me what options I have for whatever I happen to be typing, renaming methods and variables, clear mark-up and it even indents whole chunks of code with a single press of the tab key.

The above does it no justice at all.  Those features are not even scratching the surface of what it can do.

*SIGH* (content and happy geek sigh this time).

Sunday, September 18, 2011

Less is More.

It certainly seems that way with my Google AdWords efforts.

Now that the campaign has been running for a few days it has accumulated some stats which I can use to tweak it a little.

I found that I had too many keywords that weren’t achieving many impressions so I’ve paused those for now.  I also paused one of the 4 Ads and slightly reworded one other.

The outcome of this minor trimming has been a decent increase in impressions and the clicks are finally starting to appear.  I’ll check the website stats in the morning to see if there has been any impact.

On the press release front, I’m starting to see an increase in web traffic to the website from links in the release.  I also had my first enquiry from someone having seen the release, a golf school in the US, which was great to see pop into my inbox.

On the coding front, the new scorecard is really taking shape now.  I added in all of the notification code which auto-updates the various totals and fields on the window when the user changes one of the data fields.  All that remains is the sanity checks on the data and saving the data to the scorecard object which updates the database.  At the moment, V1.1 is looking good for next weekend.

Planning for post-V1.1 is under way too.  I’ll be using the follow on release to correct some data filter auto-updating and to introduce some new charts and graphs to the player dashboard.

Saturday, September 17, 2011

Implementing Simplicity.

It feels like I’m really back into a coding phase at the moment.  The press release is doing the rounds and generating a good number of website hits and the Google AdWords campaign is starting to pick up too.

With those two items ticking over nicely I was able to re-focus on the scorecard design.

The current scorecard is a daunting prospect to the new user judging by user comments received so far:


Looking at it post launch I have to agree.  It looks like the user has to enter a huge amount of data and it’s only using colour to differentiate between fields which need data and fields which are informational.  There’s also no real separation between the categories of data being requested.

So, the new scorecard will look like this:


This version incorporates a tab control, which brings consistency with the main application window and it allows me to categorise the data entry options available. 

The new scorecard also uses different visuals to show the split between informational items and the data items (proper entry fields and standard controls such as the check boxes).

Another thing this does is make a future feature, user definable data, easier to implement and process.

The version shown is the current development version which still has a bit of work to finish off, but it’s essentially what users will see in V1.1.

The course information entry window will get similar attention in a future release to enable easier data entry and to make it more consistent with the rest of the application.  The added bonus of updating the course information window is that I can completely remove the dependency on the Ultimate Grid control which will reduce the installation size and remove a 3rd party library from the build.

Friday, September 16, 2011

No news is good news?

It's one of those full on work days with nothing much to blog!

The launch press release has gone out but I'll need to wait until tomorrow mornings stats to see any initial results.

Similarly, I made some changes to the AdWords campaign which produced a sharp uplift in the stats from Google but any real effect on the website or downloads will only show up tomorrow.

So, just a solid coding day. The redesigned scorecard entry saw the base classes and templates completed and great progress but nothing specific to report on.

A slow news day. Wish I had some other news to sneak out in the same way the government does on days like this.

Thursday, September 15, 2011

The Head of Many Hats

It’s a bit of a mixed bag update this time round since there’s been a lot of hat swapping going on.

On the advertising a promotion side the launch press release is ready to go.  Tomorrow it’ll be sent and it’s available to view on the website now.  I still get a kick whenever I read it.

I also had an expiring Google AdWords introductory offer which would be a missed opportunity to play with AdWords for free if I let it go.  So part of yesterday was spent setting up my first campaign.

I’m finding AdWords to be strangely addictive and I’ve had to stop myself tinkering with it and just let the first campaign run for a few days.  There’s enough free cash in the AdWords account to run at reasonable rate for a week or so which gives more tinkering time before it runs out.

Last bit on the advertising front.  My friendly neighbourhood ad-man also gave me a good tip on approaching a particular golf magazine so that task is next up.

After what seems like ages I finally back coding the next release.  There’s a decent enough change in this release to warrant a single jump in the minor release number so the next release is 1.1.

What’s in it?  A completely redesigned scorecard entry.  I’d looked at the usability of the current design and how it’s going to work going forward.  I also had a user comment that the scorecard looks overwhelming when first viewed due to the amount of data that can be entered.

What’s not clear from the current design is that the majority of the data is optional.  Obviously I’d like users to enter all of the data to allow them to get the best possible score analysis but at the same time it should be clear exactly what’s required.  -1 for UX on that window right now but working towards a much better user experience in 1.1.

One odd thing is the support forums.  I seem to be getting a fair number of spam registrations.  It’s set for e-mail verification of registrations and the first posts for a new user are moderated but spammers keep arriving.  I’m boggled at what possible value this has at such an early product stage.  Takes all kinds I suppose.

One last thing I noticed was how quickly this blogs Technorati ranking drops whenever there’s a change in posting frequency. During the months building up towards the first release I was blogging pretty much daily.  Post release its every 2-3 days. Boy has that altered the ranking.  It’s a fickle taskmaster!

Monday, September 12, 2011

Neighbourhood Watch

Do all programmers find self promotion and promotion of their products difficult?

I certainly do.

My first, second, third and every other attempt at a launch press release for StrokePlay Pro were pretty dry, technical and, to be honest, a fairly dull read. It was no different from many others I'd read recently either.

Thankfully the actual press release for the launch of StrokePlay Pro wasn't written by me.

A neighbour took pity in the plight of a lost programmer and, as luck would have it, Mark is an advertising industry pro.

I never thought a press release for something I'd developed would mention not only me but Victor Kiam too.

Saturday, September 10, 2011

Keep it simple stupid.

I caught a quote from Jason Fried on Twitter the other day:

If you have to convince yourself it’s simple/easy/obvious/intuitive then it’s not simple/easy/obvious/intuitive.

Very true, and very apt for the work I’m doing right now.

This period of time, post-launch, is very interesting.  I’m spending a good deal of time away from StrokePlay Pro while I concentrate on the promotional side of the ISV such as advertising and press releases.

When I do go back to StrokePlay, to work on fixes or future features, I’m finding little things that just don’t quite work.

The biggest is the scorecard window which is used to enter all of the data.  This has to be right.  But, looking at it now it could appear extremely daunting for the first time user.  If it were me I’d be thinking “I have to enter all that?”.  It’s not obvious, but no, you don’t  The minimum amount of information required is the course details, player, date of play and a single gross score.

So, I’ve redesigned the scorecard entry window.  It’s not a huge departure from what’s there right now, just arranged better and categorised consistently with the other areas of the application.  The redesign is also going to make some the the upcoming enhancements, like user definable columns, easier to implement.

Tomorrow should see a good chunk of the new scorecard window completed so I’m pencilling in a release in the next week or two.

Thursday, September 8, 2011

Why grow?

I’m not normally given to book reviews or book recommendations but in todays connected world a tweet led me to a blog entry on Peldi’s site which piqued my interest in a book and resulted in a lost afternoon staring at my Kindle.

The book in question was ReWork by Jason Fried and David Heinemeier Hansson over at 37signals.

Throughout my working life I’ve found the corporate environment a frustrating place.  Full of policy, bureaucracy, politics and working practices that don’t work.  And we never learn.  It’s the same wherever you go.

The first time I really came across a company which said “no” to all of this was when I read about Balsamiq. This was a company which wanted to stay small and was happy to say just that.  It was happy producing great products which people really wanted to use.  It prided itself on customer support and wouldn’t be afraid to say “sorry” if it messed up.

This was all wrong.  You have to grow, look bigger than you are, generate more money, put processes in place, use support ticketing systems, out-feature the competition, keep revenue information secret, never publish plans, don’t interact directly with the customer and never admit when you’ve messed up.  In short you had to go corporate.

What a load of garbage.

I have no desire to be a huge company.  I WANT to be able to talk to my customers, to hear what they’re saying and to answer them myself.  I DON’T WANT to become mired in process or policy, to stifle innovation by killing the desire to think for yourself, to have layer upon layer of management, to spend endless hours in meetings only to end up working late so that I can actually get some work done.

In short, I want to work at a small company which thinks on it’s feet, doesn’t need deadlines, delivers great customer support, tries to give something back, where leaving at 5pm is the norm rather than the exception and where having a life outside work is not only allowed but applauded.

ReWork tells me this is ok.  That it’s fine to be a small company, that I don’t need the corporate scars called policies, that it’s ok to have a geographically distant employee, that I don’t need to work 24/7 and that connecting with my customers is a good thing.

I take one of my many hats off to Jason and David for writing and publishing a book which should be required reading for any aspiring Micro-ISV’er.

Tuesday, September 6, 2011

Do you remember your first?

Had lunch with Andreas Baumhof of TrustDefender today and there was the inevitable mention of StrokePlay Pro.  I unashamedly take every opportunity possible to mention it.

The part of the conversation that stood out for me wasn’t focused on what I was saying about StrokePlay itself, it was when I mentioned how I reacted to the e-mails hitting my iPhone detailing my first sale - excitement at the level which can make you fall off your chair. 

At that point Andreas recalled his own reaction to the first TrustDefender sale and how similar it was, to the point that you would want to print off the e-mails and frame them.

We’re at opposite ends of the spectrum, I’m starting out and have just achieved that first sale whilst TrustDefender now operates on a global scale.  Despite that, it’s good to know the feeling of accomplishment when that first customer hands over their own money for your work doesn’t diminish as a company grows.

Monday, September 5, 2011

How to get ahead in advertising.

Nope, I don’t have a talking boil on my shoulder which means I’ll need to work out the best way to create an effective press release and get it into the hands of editors, bloggers and reviewers across the globe all by myself.

There does seem to be a lot of advice out there and weeding out the good from the bad will take a little sifting.  But I do think this is an important hat to try myself before looking to the professionals for assistance.

On the ASP, one name keeps popping up – Al Halberg at DP Directory whilst on other sites a common recommendation is PRWeb.  I’ll keep looking around for more information and recommendations before deciding how to jump.

On other advertising fronts I’m starting with the basics, putting together a small “Press Pack” which I can put on the website and which pulls all of the relevant StrokePlay Pro information into one easy to read PDF.

At the same time I’m joining various groups and contributing to discussions to raise the profile of StrokePlay Pro and myself a bit more.

Later this week I’ll delve into Google AdWords and try redeeming some of the many free offers I seem to have accumulated recently.

The last point for today was that I found a StrokePlay Pro mention on a friends blog.  It was certainly a nice surprise to see it pop up on my Facebook page!

Sunday, September 4, 2011

StrokePlay Pro Release v1.0.12

StrokePlay Pro v1.0.12 is now available for download.

This release includes a small package of fixes and two enhancements to the install/upgrade process.

Details are available here

Friday, September 2, 2011

End Of First Week Report

StrokePlay Pro has been live for a week now and I thought a quick pause for reflection was called for.

In the space of a week I’ve gone from a pre-release product, through a release, gained the first forum user, had a good number of trial editions downloaded, seen more hits on the StrokePlay Pro website in a week than on my other company site had in the last year and, pause for breath, sold my first licence.

Fantastic.  Better than I could have hoped for.

But I think the real work starts now.  The momentum has to be retained, more trials downloaded and a push for more sales.

I’m also readying the first post launch release (v1.0.12) which is shaping up into a fix release (8 fixes) with one UX enhancement.  This release will go live over the weekend.

Great first week, roll on the second.

Thursday, September 1, 2011

What does your first software sale look like?


Oddly enough, it looks like a large glass of 14yr Old Oban Whisky and sounds like a great big YES!

A great big welcome to my first licenced user!

In Praise of the NAS

I’ve sung the praises of the Netgear ReadyNAS NV+ before but it really impressed me again this week.

I started to see some fluctuations in the response times from the device, nothing major but enough to get my attention.  Then it stopped serving web pages.

A quick run through the diagnostics and it identified a potential bad disk.  After the recommended reboot and file system check it determined that one of the two Western Digital Caviar Green (the 2TB WD20EARS model) drives was dead.  Judging by what I read on various sites today it’s not an unusual occurrence for these drives.  Score those off the future purchase list.

But, a new disk ordered online arrived today (Seagate Barracuda this time).

The NV+ is a hot-swap capable NAS so I simply ejected the Western Digital, took it out of the caddy, popped the Seagate into the caddy and inserted it back into the NV+.  At this point the new disk was checked and then the NV+ just started a resync to bring the new disk into the array.  Easy.  And the NV+ e-mailed me a few times to let me know what was happening.

Technology that just works.  Who’d have thought.

And StrokePlay Pro?  The first post-launch update is on schedule for this weekend and it’ll consist of a small package of fixes and a little code refactoring.

The new scorecard layout has been designed and mocked up and I’ve started coding he classes.  I’m aiming to make it available in the following release.