Category Archives: software

DeepTrawl

deeptrawlI have been an enthusiastic user of Deeptrawl since the first beta was announced on the BOS forum. I run DeepTrawl on http://www.perfecttableplan.com every time I make major changes to ensure that there are no broken links, missing images or other website bugs. It has saved me quite a few potentially embarassing mistakes and helped me sleep a bit sounder at night. So I was very pleased when the author, Jonathan Matthews, asked me to do a day of consulting to assist in his efforts to move DeepTrawl sales to the next level.

The consultation ran to two long phone calls, lots of emails, some research and testing and a report with 21 pages of recommendations covering areas including: licensing, pricing, SEO, website, promotion, Adwords and usability. Here is what Jonathan had to say about the process:

I approached Andy Brice to do some consulting specifically because I wanted to increase sales largely through improving my marketing efforts.

Andy’s approach is one which I think those from a coding background will appreciate. From the first phone call it was clear his process was refined and methodical: not concentrating on fluffy marketing fads but rather on solid proven methods.

Throughout the consulting process it was clear that Andy was taking all the positive and negative marketing knowledge he gained making his own product successful & applying it to create unique recommendations for my own product.

The final report was delivered before the due date & on budget. Reading the report I was stunned by the wealth of information it contained. The report doesn’t just contain dry facts & statistics, the emphasis is clearly on actionable points. Reading Andy’s justifications for making his recommendations it’s clear that implementing them will ratchet up the effectiveness of my marketing efforts one step at a time.

My conclusion is that Andy’s consulting is probably the most cost effective investment I will ever make in my business; I fully expect the expenditure to be repaid many, many times over.

Jonathan Matthews, www.deeptrawl.com

If you have a website that runs to tens or hundreds of pages that you need to QA, I would definitely recommend  giving DeepTrawl a try. To sweeten the deal Jonathan is offering readers of this blog 20% off until the end of July (go to the buy page, click a ‘buy now’ button, then click ‘the checkout’ button, then enter the coupon code: successfulsw01 ).

Lazy instantiation marketing

lazy instantiationIt is often hard to know what sort of additional services customers will be interested in. Might they be interested in:

  • a yearly subscription instead of a one-off payment?
  • hosting their own server?
  • paying extra for 24 hour support?
  • a port of your product to Mac OS X?

You can implement the new service and then offer it to customers. But this can be a huge waste of time and money if it turns out nobody wants it. An alternative approach is to borrow the idea of “Lazy instantiation” from programming (also called RAII – Resource Acquisition Is Initialization).

Programs need to initialise various system resources, such as databases, files and hardware devices. It is generally considered good practice to only initialise these resources as they are needed. This is called “lazy instantiation” and results in faster start-up times and no wasteful initialisation of resources that turn out not to be needed. For example in C++ (glossing over various details of cost, smart pointers, copy constructors, error handling etc to keep the example code simple):

lazy_instantiation

So we can only access the resource by calling MyClass:getResource(), it will get initialised on first use and it will be cleaned up when MyClass goes out of scope. This much more elegant, efficient and less error prone than always initialising the resource at start-up or adding lots of checks throughout the code to see if the resource is already initialised.

A similar approach can be applied to marketing. For example, instead of spending days sorting out the intricacies of subscription payments, you just add the following to your purchase page:

Please email support@acme.com if you are interested in purchasing an annual subscription instead of making a one-off payment.

This will take you a few minutes. If someone emails you that they would prefer a subscription you reply along the lines of:

Thank you for your interest in purchasing Acme server via an annual subscription. We are currently assessing the commercial viability of a subscription approach. We will contact you if and when we decide to make Acme server available through annual subscription. But, for now, you can only purchase Acme server through a one-off payment, as detailed on our purchase page. … etc

If you get enough interest you go ahead and do the work to implement subscription payments. If you don’t – well, you didn’t waste much time on it.

MyClass::MyClass()
{
   myResource = NULL;
}

microisvcentral.com

MicroISV blog aggregator planetmiscroisv.com has died, for reasons unknown (Floyd, if you are reading this, I hope you are OK). Glenn Rice of backupbrain.com.au has kindly filled the gap with new aggregator microisvcentral.com. Thanks Glenn! Hopefully he will be able to fix the problem that is causing posts from this blog to not be displayed properly.

What are they smoking in Redmond?

I scanned the Microsoft ad below from a recent QBS catalogue.

microsoft_ad

click for larger image

I am still struggling to understand the underlying message. Use Team System and Microsoft will get its tentacles around you? I don’t know which is more unlikely, the basketball playing Cthonians or the athletic and good looking development team.

Using a Mac mini for development

mac miniI have been using a Mac mini to port my C++/Qt based code to Mac OS X for the last 3.5 years. This is one of the early PowerPC based Mac minis, upgraded to 1GB of RAM. Being Apple hardware, it is expensive for what you get. But it has served me well. The small form factor (approx 17 x 17 x 5 cm) has also been useful in my cramped office, where I have it attached to the same monitor, mouse and keyboard as my Windows box through a KVM switch. But it is struggling to keep up with PerfectTablePlan’s ever increasing code base. A clean build of the PerfectTablePlan source into a Universal (fat) binary now takes an eye-watering 36 minutes to compile and link on the Mac mini. Building a PowerPC-only debug version still takes nearly half that time. That is painful, even just for occasional porting work.

As my main development environment is Windows, I can’t really justify the cost (or office space requirements) of a Mac Pro. So I decided to buy a new Mac mini, with an Intel Core 2 Duo processor. I did look around to see if I could find one at a discount. However, this being Apple hardware, no-one dares sell  at anything significantly less than Apple’s RRP. I bought the smaller (120GB) disk variant and had the dealer upgrade it to 2GB RAM, which tests on my old Mac mini indicated should be plenty for compiling and linking. I didn’t want to do the memory upgrade myself as I know, from experience with my first Mac mini, that removing the case involves putty knives and some very worrying cracking noises.

I had all sorts of problems trying to get the right cables. Firstly I wanted a Firewire cable so I could copy the set-up across from the old machine to the new machine using Apple’s Migration Assistant software. But it turns out that the old Mac Mini has a Firewire 400 6-pin socket, whereas the new Mac Mini has a Firewire 800 9-pin socket. I ordered a 6-pin to 9-pin Firewire cable cable. Then I discovered that there is more than one type of DVI cable. The old Mac mini was attached to my KVM switch with a DVI-I cable. The new Mac mini only accepts mini-DVI or (via a supplied adaptor) DVI-D. So I ordered a dual link DVI-D to DVI-D cable as well.

Once I had the right cables things went relatively smoothly. The Migration Assistant software copied almost all the apps and data across from the old machine to the new one. It even preserved settings for the apps, e.g. the email accounts in my Thunderbird email client. I just had to re-install XCode (which wasn’t copied across) and rebuild my Qt libraries (to avoid copious warnings due to the fact they had been built with an earlier version of XCode/gcc).

To use the migration assistant you simply:

  1. connect the 2 machines with a Firewire cable
  2. start-up the old machine with the ‘T’ key depresses to put it in ‘Target’ mode
  3. start-up the new machine
  4. follow the on-screen instructions

Nice. If only it was was that easy to set-up a new Windows machine.

A quick test shows that the new Mac mini is nearly 6 times faster at compiling and linking a Universal binary of PerfectTablePlan from scratch[1]:

mac mini performance

The time the new Mac mini takes to compile and link an Intel-only debug release of PerfectTablePlan also compares favourably with a similar build on my Windows 2.13 GHz Intel Core 2 Duo box with 4GB of RAM[2].

mac mini performance 2

This isn’t a fair hardware comparison, as the two machines are using completely different compilers and linkers and the Windows box was running various background services. But it certainly shows that Intel-based Mac minis are worth considering for use as development machines.

[1] The newer machine is using a newer version of XCode/gcc.

[2] The Windows box is using Visual Studio 2005.

TrialPay results

trialpayTrialPay is an interesting idea. In basic terms:

  • merchants (e.g. microISVs like me) want to sell products, such as software
  • customers want to get a product without paying for it
  • advertisers (such as Netflix and Gap) want to sell their goods

TrialPay brings the 3 together by letting the customer get the merchant’s product for ‘free’ by buying something from the advertiser. The advertiser then pays the merchant, with TrialPay taking a cut. The merchant gets paid, even though the customer might not have been prepared to pay the price of their product. The customer gets your product ‘free’ by buying something else, which they might have wanted anyway. The advertiser gets a new customer. TrialPay get some commission. Everyone is happy. I decided to give it a try and signed up in October last year.

get_it_free

I decided not to mention the TrialPay offer on my main payment page. I could visualise eager potential buyers of my table plan software, credit card in hand, being distracted by the TrialPay ‘Get it free’ logo. Off they would wander to the TrialPay pages and become so engrossed/confused/distracted by the offers there, they would forget all about my product. Sale lost. Instead I modified my Inno setup Windows installer to pop up the following dialog when someone uninstalls the free trial without ever adding a licence key:

trialpay_uninstall

If they click ‘No’ the software uninstalls. If they click ‘Yes’ they are taken to the PerfectTablePlan TrialPay page. I hoped that this would entice some of those who had decided not to part with $29.95 to ‘buy’ PerfectTablePlan anyway through TrialPay.

TrialPay allows you to set the mimum payout to any level you like. You can also vary the payout by customer country (e.g. less for poorer countres). The lower the minimum payout you set, the more advertisers deals are available to customers (and presumably the higher the chance of a conversion).

The Minimum Acceptable Payout (or MAP) is the lowest amount you are willing to accept per transaction and determines which advertiser offers are available to your customers. The lower the minimum, the more offers that will appear for your product and the more likely a user is to find an offer that compels him to complete his transaction. While you may set a low MAP, your average payout will greatly exceed the minimums you set. (from the TrialPay website)

It quickly became apparent that very few advertisers offer deals that pay the $29.95 I charge for my product (possibly none, in some countries).

trialpay map

I set a minimum payout of $25 in rich countries and $20 in poorer ones. After a few weeks with no TrialPay conversion I reduced the mimum payout to $20 in rich countries and $15 in poorer ones. TrialPay suggested that a $2 minimum payout was optimal in Africa and Central America if I was accepting $20 in the USA. $2? I don’t think so. That doesn’t even cover the cost of answering a support email. Especially if they aren’t a native English speaker.

I also gave the TrialPay option a mention in my PerfectTablePlan newsletter. Most of the recipients already have licences, but I hoped that that they might forward it to friends and colleagues.

The results to date have not been encouraging. Lots of people have gone to the PerfectTablePlan TrialPay page (approximately 1 for every 10 downloads), but the conversion rate has been dismal. The total number of TrialPay sales since I signed up over 7 months ago is two, for a total of $43.60. That certainly isn’t worth the time it took me to sign up, modify the installer and test the ecommerce integration with e-junkie. I am not sure why the conversion rate was so poor:

  • The TrialPay landing page isn’t compelling enough?
  • The advertiser offers aren’t attractive enough?
  • The concept of TrialPay is too complicated?
  • People are suspicious of ‘free’?

TrialPay’s poster child LavaSoft claim an impressive  5,000 additional sales per month through TrialPay. At $26.95 per licence this is an additional $1.6 million per year. But the numbers look a bit less impressive on closer inspection. 5,000 additional sales/month from 10 million visitors/month is only an extra +0.05% conversion rate[1]. And TrialPay probably didn’t pay out the $26.95 per licence Lavasoft normally charge. It is also noticeable that TrialPay only seems to get a mention on the download page of their free product, not the products they charge for.

Obviously the only way to know for sure whether TrialPay will work for you, is to try it. Your results might be very different from mine. If you do still want to try TrialPay, you can find out some details of how to integrate it here [2].

[1]I am being a little unfair here, as the quoted 10 million visitors probably aren’t just for Lavasoft’s Ad-Aware product.

[2]Note there is a bug in some older versions of Inno setup which means you can’t continue with the uninstall if they click “No” when you display a dialog, as shown above. So, if you are using Inno setup (which I recommend highly), make sure you are using v5.2.3 or later.

Interviewed on the Startup Success Podcast

startup-success-podcastI was recently interviewed by Bob Walsh and Patrick Foley for The Startup Success Podcast, episode 25. We cover a wide ange of topics including: microISVs, conversion ratios, being specific, PerfectTablePlan, usability, the global recession, software award scams, ‘works with vista’ certification, stackoverflow.com and twitter. I wonder how much I have to pay them to edit out the ‘ums’?

Download the MP3

Getting ready for Windows 7

windows-7I am currently downloading the new Windows 7 release candiate. It is 2.36 GB and the ActiveX download control predicts it will take around 10 hours in total (NB I am also doing a large FTP upload, which is probably slowing it down considerably). Once the download is complete I intend to install it in a VM to test my table planning software.

You can download the latest Windows 7 release candidate here. It is free to download and use, but  it expires on 01-June-2010 and will shutdown every 2 hours starting on 01-March-2010 (insert your own joke here). A couple of points to note from the Windows 7 FAQ:

While the RC is stable and has been thoroughly tested, it’s not the finished product. Your computer could crash and you could lose important files. So please back up your data and please don’t test the RC on your primary home or business PC.

When you use the RC, your PC sends information to our engineers to help them check the fixes and changes they made based on Beta tests.

Microsoft hasn’t officially announced when Windows 7 will be for sale. But there are rumours that it is planned for October 2009. Will you be ready?

Twitter backlash begins?

Vodpod videos no longer available.

From current.com via Sean Prescott on the ASP members forum.

It didn’t take long for Twitter to move from hype to backlash (although blaming Twitter for the current recession is perhaps a little unfair). Dave Collins offered a $100 Amazon voucher to anyone who could convince him there was a business case for spending his time on Twitter. None of the responses convinced me it was a good use of my time. My favourite was from Mark Roseman:

I find myself sometimes drifting back towards improving my software, answering email (email! can you believe it?) from customers, or other arcane activities, but I know these are just procrastination techniques, dragging me away from the truly important work of Twittering.

To me the real question isn’t whether Twitter has any value, but whether it is the most useful thing you can be doing with your time. What business value does Twitter have?:

  • Updating your customers: What is wrong with a newsletter? I would like to think a lot of my customers love my software, but surely even its most ardent fans don’t need updates several times per day? Only a stalker needs to know what you are doing in real time.
  • Following others: I tried using Twitter to follow a few people who write excellent blogs. This experiment only proved that even intelligent and articulate people can’t write anything useful in 140 characters. Following the links posted can be entertaining, but is a black hole for productivity.
  • Monitoring conversations: I can set up a search and appear, genie like, every time someone types the relevant phrase. But this sort of 1:1 marketing doesn’t scale very well and it can come across as creepy/spammy.
  • Increasing your online presence: Twitter is touted as another way to increase your online ‘foot print’. I can see some value to ‘tweeting’ a link to each post you write for Twitter searches to find, but I doubt it would lead to much additional traffic.

Isn’t Twitter just ICQ for “web 2.0”? How long before Twitter is overrun with spam from bots? Will they ever fix their scaling issues (I saw the ‘fail whale’ a fair number of times in my limited dabblings)? Can Twitter save us from swine flu?

Perhaps the real business value of Twitter is that it distracts your competitors while you get on with improving your product, improving your marketing and giving great support.

The truth about conversion ratios for downloadable software

conversion funnel?Overview

An anonymous survey of software vendors shows that the average sale to visit ratio is very close to the much quoted “industry average” of 1%. However the data shows large variations between products and across different sectors (e.g. Windows vs Mac OS X).

The data

The data set comprises 92 valid survey responses to an 8 question survey in April 2009. The survey was advertised through a request on this blog, posts on  BOS, ASP, MACSB, OISV and BOSnetwork forums and emails to the author’s contacts. The results are inevitably biased towards small software vendors, due to the places where the survey was advertised. As the survey was anonymous it is impossible to verify the accuracy of the data. However it is unlikely that many vendors would have completed a survey that wasn’t anonymous.

The survey consisted of 3 compulsory questions (unique visits, downloads and sales over a given timeframe) and 5 optional questions (the time frame of the data, primary market, primary OS, licence price and trial type). One record had 0 visits (an iPod app), another had 0 downloads (presumably a web app) and a few had numbers that I didn’t consider statistically valid for some purposes (e.g. <500 visits per month or <3 sales transactions per month).  I did the best I could with the data available, ignoring obvious outliers in some cases.

The data set comprises a total of:

  • 8.1 million unique website visits
  • 2.2 million downloads
  • 110 thousand sales transactions

Where a time frame for the results was given it is possible to work out the range of visitors, downloads and sales per month.

metrics_all_visitors

metrics_all_downloads

metrics_all_sales

Interestingly the distribution of monthly visits, downloads and sales across the different products all follow the Pareto 80:20 power law quite closely:

  • 22% of the products account for 80% of the visits
  • 21% of the products account for 80% of the downloads
  • 19% of the products account for 80% of the sales

This gives me some faith that the data is reasonably accurate and representative of the industry as a whole.

The data is broken down by OS, market, price and trial type as follows:

metrics_all_os

metrics_all_market

metrics_all_price1

metrics_all_trial

Analysis

The average (mean) ratio of downloads:visits across all products is 28%. 50% of products are in the range 12.1% to 35.3%.

metrics_download_visit_ratio

I am surprised at how high the average ratio is. This could partly be due to products that receive a high percentage of downloads from download sites, without the downloader ever visiting the product site. Conversely sites where visitors make frequent returns after purchase (e.g. to read forums) will have a lower downloads:visits ratio.

The average ratio of sales:downloads across all products is 4.5%. 50% of products are in the range 1.3% to 6.4%.

metrics_sale_download_ratio

The average sales:downloads ratio is noticeably lower than the average downloads:visits ratio. The sales:downloads ratio is noticeably skewed on the right of the graph – a sales:downloads ratio >20% seems very high.

The (logarithmic) scatter plots below show that the downloads:sales ratio varies a lot more than visits:downloads ratio.

metrics_visits_vs_downloads

metrics_downloads_vs_salesThe average (mean) sales:visits ratio of all products is 1.16%[1]. However one of the product ratios is an obvious outlier at 13.94% (see below). With this outlier removed the average sales:visits conversion ratio across all the products is 0.99%. 50% of products are in the range 0.28% to 1.39%.

metrics_sale_visit_ratio

0.99% is suspiciously close to the mythical ‘industry average’ of 1%. But I haven’t (consciously) massaged the results to get this figure.

You can work out how you compare to this data set using the red (cumulative) graph in the histogram below. For example, if your product sales:visits ratio is 1.5%, then it is higher than approximately 80% of the products in the data set.

conversion-ratio-distribution2

We can also look at how the ratios vary across sectors. Surprisingly the average Mac product conversion ratio is more than 4 times the Windows product conversion ratio.

metrics_sale_visit_ratio_by_os1Even if we try to compare like for like, and only compare consumer products selling for <= $50, the ratios are still 2.27% for Mac and 0.51% for Windows. Possible reasons for this large disparity include:

  • Mac owners more ready to spend money.
  • There is less competition in the Mac software market.
  • Mac vendors have a higher percentage of purchasers  who never visit their site due to higher quality of Mac download sites.
  • It is a statistical blip (there are a lot less Mac products in the survey).

My own experience with selling a cross-platform product (Perfect Table Plan) on Windows and Mac OS X is that the Mac sales:visits ratio is approximately double that for Windows.

The sales:visits ratio is similar for business and consumer products, with developer products lagging behind. However there are too few developer products in the data set to draw any real conclusions.

metrics_sale_visit_ratio_by_market1The sales:visits ratio does vary across the price range. However there are too few products with price >$50 in the data set to draw any real conclusions.

metrics_sale_visit_ratio_by_price2The sales:visits ratio does not seem to vary significantly by trial type. There were insufficient ‘number of use’ trial products to include them.

metrics_sale_visit_ratio_by_trial1

Conclusion

One has to be careful about drawing conclusions from a relatively small and unverifiable data set. However the results certainly seem to support the much-quoted “industry standard” sales:visits conversion ratio of 1%. But there are huge variations between products.

The fact that the sales:downloads ratio is both lower on average and more variable than the downloads:visitors ratio implies that getting people to download is the easy bit and converting the download to a sale is a tougher challenge.

The average sales:visits conversion ratio is noticeably higher for Mac OS X products than Windows products. This is supported by anecdotal evidence and the author’s own experience with a cross-platform product. However the number of Mac respondents to the survey is too small for the result to be stated with any great confidence. Also remember that the Mac market is still a lot smaller than the Windows market before you rush off to start learning Cocoa and Objective-C.

These ratios can be useful for a number of purposes, including: identifying a bottleneck in your conversion funnel (is your downloads:visitors ratio low compared to other products?); estimating how much traffic you might need for a viable business; or estimating how much you can afford to bid on Google Adwords. And it is useful to track how these ratios change over time (I track mine on a monthly basis). But make sure you compare like with like if you are comparing your ratios with other products. For example, a 10% sales:downloads ratio might be achievable for a niche business product, but unrealistic for a casual game. And remember that these ratios are only one part of a bigger picture. There are other, more important, metrics. Profitability for a start.

The data set is available here:

Raw data (some invalid records deleted), CSV format

Processed data, Excel XLSX format

Feel free to publish your own analysis. Thank you to everyone that took part in the survey.

[1] Calculating the mean of all the ratios probably isn’t the way a proper statistician would do it. But anything more seems overkill given the limited size and unverifiable nature of the data set.