Category Archives: tools

Donationware – An interview with Hillel Stoler of GetSocial

This blog is hosted on WordPress.com. This has its advantages, but it means that I can’t use the huge range of add-ins that are available to those that host their own WordPress server. In my attempts to find a simple way to add social bookmarking to WordPress posts I stumbled across GetSocial, a Windows desktop program that generates the social bookmarking icons you see at the bottom of my recent posts. GetSocial is donationware – the author requests a small donation if you find the software useful. But the software is not crippled or time limited in any way and the donation is optional. I found the software useful so I made a small donation.

I use a number of donationware products. Human nature being what it is, I rarely get round to making donations – despite the best of intentions. It just never quite makes it to the top of my ever expanding TODO list. I have also heard various tales about how dismal the donation rates are. So I was curious about how well the donationware model works in this particular case. I emailed the author of GetSocial, Hillel Stoler, and he was kind enough to do this interview.

What was the motivation behind GetSocial?

GetSocial is not a business – it’s my contribution to the WordPress.com community. I needed a way to generate social bookmarking buttons for my own blog, and when I saw none was available I made GetSocial. I decided to request donations because I too was curious about the feasibility of donationware, and wanted to investigate the subject. I hate spammy “business models” such as installing Toolbars, embedding ads and so forth and wanted to make software that I would like to use.

Does anyone actually make a donation?

Surprisingly, yes. Many people donate, and I think all of them are glad to do so.

What is the average donation?

At the beginning I was only asking for a fixed amount (5 USD). The reason for this was that a fixed donation simplifies the donation process (because the potential benefactor needs to make one less decision). I’ve selected 5 USD because it was the lowest sum of money for which the PayPal commissions amounted to less than 10% of the donation.

Recently I’ve enabled donations in different currencies and variable amounts (but only on my websites, donations made from inside the application are still fixed). I’ve seen some decline in the ratio of donations per download (although it could be explained by many factors, and cannot be directly attributed to the added complexity of the process without applying proper A/B testing methods). However, the average donation has increased to 9.19 USD, and I’ve also received donations of over 20 USD. This is interesting because 19.99 USD is enough to purchase many commercial software products. To date, no one has donated less than 5 USD.

What is the donation/download ratio?

First of all, please consider that GetSocial is upgraded frequently, and I cannot differentiate between a new download and an upgrade download. Also, I can only count downloads which originated from my own websites. That said, dividing the number of the donations by the total number of documented downloads yields a donate/download ratio of about 0.55 percent (e.g. a single donation is received on average about every 182 downloads).

Can you make any money out of donationware?

I do make some money out of GetSocial, but I’m far from making a living out of it. With the current donation/download ratio, GetSocial will only begin to become economically interesting when it hits the 500k download mark. It’s not impossible market-size wise (there are about 10 million bloggers in WordPress.com) but it’s not easy.

The amount of money one can make with donationware is directly proportional to the number of people involved. For example, in the case of GetSocial, take a million downloads, divide by 182 and multiply by 5 dollars and you have 27k USD (before PayPal commissions). This amount of money can cover the development costs for many small software products.

That said, a million is a big number, even for free software. If you’re thinking about making real money out of a donation based product, I would recommend that you research the size of your market carefully. Getting those million downloads is not an easy task.

I personally don’t think that money is the sole motivation for doing things though. When discussing profits, we should also take into account the indirect benefits I receive from GetSocial such as incoming links, a user base, visits to my website, comments, world fame (or at least some publicity), and even fan mail!

And hey, the donationware model works for Wikipedia, doesn’t it?

Why did you choose a donation model instead of selling licences?

The reason I made GetSocial was that when I started hillelstoler.com (on a WordPress.com platform), I wanted to add social bookmarking buttons for my visitors. When I realized no one was doing that (there was an old text file floating around for manual use) I decided to make GetSocial. I wanted to attract visitors to my new blog, and I knew that distributing a hyped piece of free software would help me build credibility and acquire an international audience. It did.

Why did you choose donationware over freeware?

Out of curiosity, I guess. I wanted to know if one could make any money this way, and if people actually pay when they don’t have to (especially in cases where no one is looking). Today I can clearly say that I was pleasantly surprised. I think that Donationware is a beautiful (and very user-friendly) concept, and I’m glad it’s not just another web myth. Besides, I knew that people needed GetSocial, but to be honest I didn’t really think that anyone would actually pay for such a service at the time. In the end, I think that my potential buyers are also the ones who made the effort and donated, even though they didn’t have to. I’ve actually received some donations larger than what I could possibly charge if GetSocial was a commercial product!

Another important factor in my decision was the fact that I could do it rather easily. Recall the old days, when Donationware DOS programs asked you to kindly snail-mail some cash to a P.O box? That’s the kind of thing I would never bother with, especially when we’re talking about an international market.

Do you think you have made more money through donations than you would have through selling licences?

Absolutely! When I’ve received my first donation I was surprised (so people do donate after all), and as donations kept pouring in I realized that there is a donation culture. Selling licenses also meant becoming a part-time police officer, and that’s not what I was after.

What really amazed me, is that even in this very specific niche of social bookmarking for WordPress.com blogs (where I offer an industry grade solution for free) competition still sprung!

How did you promote GetSocial?

I didn’t. I’ve posted about it on the WordPress.com forums several times, and wrote about it on my website, hillelstoler.com. Other people wrote about it too. No paid ads or anything like that. You’ll notice that I didn’t even include a link on the toolbar itself (the viral ‘Get one!’ link you see everywhere else) because it was important to me not to impose.

You now have a web version of GetSocial. How long did that take to create compared to the desktop version? How do the desktop and web version compare in terms of the amount of use and the amount of donations?

GetSocial Live (the on-line version) started as a weekend project actually. GetSocial is a Windows application, and many people wanted a Mac version. Since I don’t even own a Mac, I decided to make a cross-platform web service (currently, about 40% of GetSocial Live visitors are indeed Mac users). It was easy to make, because I copied some of the code directly from GetSocial. The images are all photos I took of the plants in my house. In the end it did mean additional costs (hosting, domain, etc), but originally it was hosted for free on (the late) Google Pages service.

Later on, I discovered that the on-line version made GetSocial much more flexible and dynamic. I can now post updates much more quickly and effectively. The web version is also much easier to upgrade and maintain because it lacks some of the internal complexity of the GetSocial application (things like self encryption).

Do you get any useful revenue from the Google ads on getsociallive.com ?

As in the case of the donations, I was curious about AdSense. I know for a fact that I never click sponsored links myself, but I guess some other people do because Google makes a living out of it. I didn’t bother with A/B testing and other cash boosters, I just added a single ribbon of ads.

So far revenue has been disappointing (this is also the place to mention that the process of getting my AdSense account approved was very annoying and arbitrary, with zero support). There were some cases where I got more than 1 dollar per click, but I currently get more money through donations than through AdSense. Interestingly, the ratio of ad clicks per page view is similar to (though a bit lower than) the ratio of donations per download.

You can find out more about GetSocial here and GetSocialLive here. Hillel’s blog is here.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Easy screen sharing with Skype

The latest version of Skype allows you to share all or part of your screen with another Skype user in a couple of clicks.

This can be incredibly useful. So far I have used it for:

  • support – Sometimes email just doesn’t cut it. If your customer has Skype, you can use screen sharing to see exactly what your customer is doing while talking to them.
  • remote usability testingUsability testing is very important. But luring a stream of  fresh victims  to your office to take part is a logistical headache. If you use Skype screen sharing neither of you has to leave the comfort of your own computer. I have used it successully to do usability testing with people on the other side of the world.

Skype screen sharing has its limitation. The images are bit blurry, there is some latency and you can’t interact with the remote computer (as you can with services such as Copilot). But it is good enough for most purposes, and it’s free!

If you are going to be using Skype much, then I strongly recommend buying a USB headset. It is much more comfortable than holding a phone to your ear for extended periods and it keeps your hands free for typing. I use a Logitech headset and I have been quite happy with it. I sometimes get sweaty ears during a long call, but it seems a small price to pay.

Logitech ClearChat Pro USB on amazon.com (affiliate link)

Logitech ClearChat Pro USB on amazon.co.uk (affiliate link)

Zed builds and bugs

zedI did some consulting for Zed builds and bugs a few months back and made some suggestions on how they could improve their marketing and product. In particular I focussed on their marketing message/positioning, website, Adwords campaign and set-up usability issues. They have now been kind enough to write-up their experiences working with me on their blog. Best of all, they have included some hard data on improvements since they implemented the recommendations:

Metric Change
Website Visitors 10% Increase
Trial Downloads 200% Increase
Google Organic Search Hits 320% Increase
Visitor Time Spent on Website 250% Increase

Obviously I can’t claim too much credit, as they did all the hard work. But it certainly looks like things are heading in the right direction and I think the changes to their website are a huge improvement.

Zed is an interesting product, integrating a continuous integration server with a bug tracker, wiki and forums, all behind a slick web interface. Obviously there are plenty of products that do these things individually, but Zed’s power comes from the integration of them all. For example, a build failure can automatically generate a bug report and bug fix can trigger an automatic build.

If you are interested in continuous integration and/or a more integrated approach to developer collaboration I recommend you try Zed. If you have less than 5 users you can take advantage of their free community edition.

A test of Cost Per Action (CPA) vs Cost Per Click (CPC) in Google Adwords

CPA vs CPCThe traditional approach to Google Adwords is to set a bid price for each keyword. This is known as Cost Per Click (CPC). Google then then uses the bid prices in conjunction with a secret formula (the quality score) to decide how high to rank your ad in the Adwords results. If you bid more, your ad will appear higher and typically get more clicks, but your cost per click will increase. So setting an optimal bid price is important. Bid too little and you won’t rank high enough to get a decent number of clickthroughs. Bid too much and you will potentially end paying more to Google than you recoup in sales.

An alternative approach is to tell Google Adwords how much you are prepared to pay for a particular action, e.g. a sign-up, download or sale. This is known as Cost Per Action (CPA) or Conversion Optimizer. Google will then automatically calculate your bid prices and attempt not to exceed the CPA you set (although this isn’t guaranteed).

CPA sounds great. I can stay in bed a bit longer while the mighty Google brain does the bid tweaking for me. Unfortunately I wasn’t able to use CPA. I  count sales as conversions (not downloads) and I have my adwords account split into a number of campaigns by geographic region and by type (e.g. search vs content). Having my campaigns structured like this, rather than one monolithic campaign, makes for more flexibility (e.g. different ads, phrases and bid prices for different geographical areas) and more useful reports (e.g. separate reports for search and content). But it also meant none of my Adwords campaigns made the minimum threshold for conversions per month.

When Google dropped the minimum threshold for CPA to 30 conversions per campaign per month, one of my Perfect Table Plan search campaigns became eligible. So I did an experiment. I ran a campaign for 4 weeks using CPC, then 9 weeks using CPA, then another 4 weeks using CPC. I set the CPA bid to roughly the average cost per conversion I got for CPC. I was curious to see if Google would find sweet spots that I had been missing or whether they would bid as high as they could to take as much money off me as possible. Summary: CPC outperformed CPA on all key metrics, including: 4.4% higher conversions, 9.4% lower cost per conversions and 8.0% higher profit.

The detailed results are as follows:

metric CPC  (vs CPA)
impressions/day +13.9%
clicks/day +1.3%
conversions/day +4.4%
CTR -11.1%
conv rate +3.1%
income/day +4.4%
cost/day -5.5%
CPC -6.6%
profit/day +8.0%
PKI -5.2%
ROI +10.4%
cost per conversion -9.4%

In graphical form (click to enlarge):

CPA vs CPC graph 50pc

Notes:

  • The values given are taken by computing (CPC metric – CPA metric)/(CPA metric). E.g. ROI of +10.4% means that CPC had a 10.4% higher ROI than CPA.
  • Only a single (geographically based) search campaign was measured. The total number of conversions during the time period of the test was in 3 figures.
  • I only measured sale conversions. This gives me less data than measuring downloads, but I think it is unsafe to assume the number of downloads correlates closely to the number of sales.
  • The PerfectTablePlan sale price is £19.95/$29.95. To calculate profit I only counted 75% of the price of a sale (the other 25% was assumed to cover the cost of support, ecommerce fees and other overheads associated with the sale).
  • Each of the time periods was a multiple of 7 days to avoid any issues with different results on different days of the week.
  • I ran CPC for an equal amount of time either side of the CPA test to try to balance out any seasonal factors.
  • Google conversion tracking uses Cookies and is therefore not 100% accurate.
  • PKI is Profit Per Thousand Impressions.
  • ROI is Return On Investment.

It wouldn’t be wise to draw any sweeping conclusions from one test with a limited amount of data. However I believe the results show:

  • A CPA campaign running for 9 weeks wasn’t able to outperform a mature CPC campaign. The CPC campaign had been running for over 4 years, but one would have thought CPA would have been able to use that pre-existing  data. CPA might have performed better if given longer. It would probably also have done better against a less mature CPC campaign.
  • Google didn’t rob me blind using CPA bidding. The CPA cost per day was only 5.5% higher.
  • The results weren’t hugely different. On the basis of the above results one might still conclude that CPA is superior to CPC as it requires less time to manage.

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 ).

Tips on travelling with a laptop

airbus a380I recently returned from a month’s holiday in New Zealand. As a one-man software company I still have to check my email every day, even on holiday. Here are a few tips from my experiences of running my business from a laptop whilst travelling.

Laptop

In theory you can run your business from a Blackberry or a mobile phone that supports email. But it is impossible to answer some support emails if you can’t run your own software. So I took a Toshiba laptop PC with a 13 inch screen with me. I find a 13 inch screen is a good compromise between portability and ease of use. Much bigger and it would have been too bulky. Much smaller and I would have struggled with the screen and keyboard.

The laptop contained my licence key generator and customer database. I owe it to my business and my customers to keep these secure and the Windows password is no protection at all if someone gains physical access to  your machine. So anything sensitive was encrypted using the free Truecrypt software. Whenever I brought the laptop out of hibernation or restarted it I just had to type the password to mount the Truecrypt volume as a virtual drive[1][2].

laptop lockI took a combination laptop lock, but I rarely used it. The problem with laptop locks is that the only things strong enough to secure your laptop to are usually in plain view, and a laptop left in plain view is a bit of an invitation. Locked or not. I am also not convinced how strong the laptop security slot is. I suspect an attempted theft would wreck the laptop, even if it wasn’t successful. So I generally prefer to keep the laptop with me or hide it somewhere a crook wouldn’t think to look. I have since found out that laptop locks aren’t even very secure (see here and here). There are still occasions when a laptop lock is better than nothing though. Incidentally, don’t rely on that padlock on your hold baggage either.

The laptop was also invaluable for playing Thomas the Tank Engine DVDs (using Windows Media Player) to keep my little one occupied for part of the very long flights and for backing up photos from the digital camera. I also took a universal power adapter.

Laptop bag

I have a traditional Targus laptop bag with a shoulder strap. But I have found this uncomfortable for carrying a laptop any distance due to the uneven distribution of weight. It also makes it extremely obvious that you have a laptop. A fact I would rather not advertise.

wenger-swissgear-hudson-1wenger swissgear hudson laptop rucksack bagFor this trip I purchased a Swissgear Hudson laptop rucksack from Swiss Army knife manufacturer Wenger. It was much more comfortable to wear with the weight distributed across both shoulders and left both hands free for dealing with passports, boarding passes and a bored two year old. It was small enough to take on to an aircraft as hand luggage, but surprisingly spacious. It also had some useful extras, including: a carry handle, a breathable back and a compartment for an MP3 player. I was impressed with the quality of the construction and finish. My only quibble is that there wasn’t as much padding around the top and bottom of the laptop as I might have liked. So I wrapped my laptop in bubblewrap for additional protection. But on the whole I would recommend this bag highly for travelling.

Back-ups

As well a backup on DVD I also took a 2 Gig USB memory stick that contained everything I would need should my laptop malfunction or be stolen. This included copies of my licence key generator, customer database and various passwords. All the sensitive files were encrypted using the free Axxcrypt software, except my passwords which were encrypted using the free Keepass software. The memory stick also stored various third party software installers (including Axxcrypt and Keepass). I kept the memory stick on a lanyard around my neck when I wasn’t sleeping.

I also stored an additional encrypted back-up on a secure server.

Internet access

Trying to find holiday accommodation that was the right size and budget, in the right location and free at the right time was problematic. Insisting on broadband Internet as well was a step too far. I also wasn’t keen on relying on broadband at accommodation. What if it didn’t work? Relying on Internet cafes seemed an even worse idea. What if I couldn’t find one? And the security issues of using Internet cafes are very real. So I needed my own mobile Internet access.

The roaming charges for using my UK three networks mobile Internet in New Zealand are an outrageous £6/MB. Vodaphone has more sensible roaming charges for some plans, but I couldn’t justify the high monthly price for the occasional trip abroad. So I tried to find a company that would rent me mobile data access in New Zealand for a month, without success. In the end my brother-in-law very kindly sorted me out with a USB mobile modem and a 1GB/mo data plan with Telecom New Zealand. He picked the modem up cheap second-hand on trademe.co.nz and the data plan was of the order of $70NZD/mo, with no minimum term. So, rather than paying >£1000, I ended up paying about £50 (thanks Derek!). There is definitely a business opportunity for someone there.

I am glad I didn’t rely on broadband at the accommodation. It turns out that most of the New Zealand ISPs have restricted SMTP access to prevent spam. So I could receive email via IMAP when plugged in to an xtra.co.nz broadband cable, but I couldn’t connect to their SMTP server to send email. Thankfully I didn’t have this problem with the mobile broadband or I would have been stuck with webmail for a month (the horror!).

Mobile coverage is patchy outside the bigger cities in the South Island of New Zealand, due to the low population density (sheep can’t afford broadband). But I was able to get some sort of signal everywhere we stayed. This might have been helped by the aerial attached to the mobile modem. During the month a I used approximately 40% of the 1GB allowance. I could have used quite a lot less, if necessary.

Stopping over in Singapore I just purchased wifi access from the hotel. It was quite expensive, but I didn’t need it for long. Wifi and hardwired Internet access are available for free in Singapore airport (I couldn’t get the wifi to work, so I just plugged in a network cable).

Conclusion

Running an Internet-based business while travelling isn’t that difficult, with a bit of planning. I doubt my customers even realised I was on holiday. What are you waiting for?

PS/ New Zealand is lovely.

[1] Truecrypt can also encrypt the whole OS, but that seemed excessive for my requirements and I wasn’t sure what impact it would have on performance.

[2] If Truecrypt is so easy to set-up and use, why is it apparently beyond the capabilites of the UK government to encrypt sensitive data?

Photo of Airbus A380 by Claire Brice

Interview with Craig Peterson of Beyond Compare

craig-peterson

I am a fan of file and folder comparison utility Beyond Compare from Scooter Software. It is a very polished and powerful piece of software with a big following. But I was intrigued by some of the unusual decisions they had taken: competing in a market with lots of free alternatives; going 6 years between major upgrades; re-writing from scratch; releasing a Linux version; and having an extremely generous trial policy. How had they succeeded despite ignoring much of the conventional wisdom? Craig Peterson of Scooter Software kindly agreed to answer my questions.

Can you tell me a bit about your background before working on Beyond Compare.
I started at Scooter Software straight out of college.  I did a lot of programming for fun before then, but this was my first professional job and my first introduction to Delphi.

How long have you been working on Beyond Compare and what is your role?
I’m the lead developer and I started here in late 2000, a few months before significant development on v2 started.  Most of my time is spent working on the directory comparison and the virtual filesystem layer (ftp, zips, version control), but there are very few places in the program that I haven’t worked on.  My non-development tasks include managing the build process, interfacing with our component vendors, keeping track of any interns, and tech support, when there’s difficult questions or when the dedicated staff don’t have time.

How many other people work on Beyond Compare on the business side and on the development side?
There’s one other full-time developer, one part time developer, two in tech support, two in sales, and our president, who handles everything else.

There are lots of different file comparison tools. How do you manage to run a successful business with so many competitors, many of them free?
Competing with the free tools hasn’t been as hard as I expected.  The big advantage we have here is that people are paying us for the software, so we have strong incentive to provide good tech support and to provide the features they want.  We work 8 hours a day on it, which gives us more time to develop new features than someone doing it as a hobby, and we can afford commercial libraries that someone providing a free utility can’t.

As for the commercial competitors, it’s mostly a matter of providing something that they don’t.  In our case BC’s directory comparison is much more powerful than the alternatives, and we have viewers for other file types like images, binary files, and data files.  That allowed us to keep competing even when we were lagging in other areas.

What are the main methods you use to promote Beyond Compare?
We rely almost entirely on word of mouth.  We’ve had lots of customers tell us that they brought BC with them when they switched jobs and ended up getting their companies to spring for larger licenses.  We do spend some money on Google AdWords, and we hired a company to periodically submit our site to search engines and download sites, but we’ve never run a print or banner ad.

scootersoftware.com has an enviable Google page rank of 6 and ranks second for “file comparison software”. Have you spent a lot of effort on SEO?
We had a company help with SEO for a lot of the 2.x lifetime, and they’d suggest tweaks to improve things.  For v3 we took a different approach and redesigned the site to make it more accessible to potential customers.  I’m sure some of those changes helped, since we ended up adding more descriptions and using more synonyms, but it was primarily a case of asking how we could make it easier to find the information someone would want and expanding on that.  We still have a fairly wordy page title though, and I think that’s entirely for the search engines’ benefit.

Are most of your customers programmers, or does the software appeal to a wider audience?
I’d say more than 50% are programmers, but there’s definitely a wider audience.  System administrators use it for migrating servers, web developers use it instead of a traditional FTP client, and non-techs use it for backups or synching their laptops and desktops.

How long do you allow people to use the trial version?
The trial is for 30 days, but it only counts days you actually run it, so if you use it infrequently you could easily go six months or more before it times out.

I used Beyond Compare for ages before I bought a licence. I would have bought it sooner if you had been less generous with the trial. Why did you go for such a long trial period?
That goes back to competing with all the other products out there.  If someone installs two programs to evaluate, and then doesn’t have a chance to really try them out until a month later, the one that works is more likely to get the sale.  It also makes it more likely that potential customers will learn the application and start relying on it, so when it does come time to pay they’re less likely to throw out that investment and switch to another tool.

I understand Beyond Compare v3 is a complete re-write. Why did you feel a complete re-write was necessary? Was it a good business decision in hindsight?
There were two reasons why we felt a re-write was justified: (1) we had a lot of features we wanted to implement that wouldn’t work in the current framework, and (2) we over-estimated the speed that we could re-write it.

In the text compare we wanted inline editing with dynamic re-comparisons and 3-way merge, neither of which would have been easy to integrate into the v2 codebase.  The directory compare had similarly major changes, though a lot of that is internal and in preparation for other features, so it isn’t as visible.  There was also all the work we did to get a Linux release out.  It wasn’t a complete re-write though.  Anything that didn’t need significant changes, like our reporting engine, was brought over mostly as is.

I think it was a good business decision in that it allowed us to rethink and rework a lot of things without the old baggage, but it was bad in that it significantly limited what we could release in the meantime.  We ended up going 6 years between major versions and even though we were always busy adding new features, we couldn’t release them until we got back to feature parity with v2.

Beyond Compare is written is Delphi. What would you say are the advantages and disadvantages of Delphi compared to other development ‘stacks’?
I think Delphi is still the best tool for developing a native Windows application quickly.  It’s very easy to mock up interfaces and then fill them in with code.  The resulting exes don’t have any external dependencies, which makes redistributing them easy.  The VCL (UI framework) ships with source code,  and that has permeated the community, so the vast majority of third-party components also include source.

On the flip side, it still can’t produce 64-bit executables and isn’t cross platform.  It doesn’t have a garbage collector or as large of a class library as Java or C#.  The community isn’t as large either, so there’s usually only a couple of choices when you’re looking for specific components, and if that vendor stops developing it, there aren’t as many people to pick up the slack.

If you had to do it all again, starting now, would you still choose Delphi?
Probably, but I would seriously consider C# or Qt.  In our case we have a lot of experience with Delphi and we know the libraries, so starting from scratch in another language would be a significant barrier.

Beyond Compare has a very slick user interface. Did you do any usability testing?
Not as such.  Our primary usability improvements come from using our own product.  We use BC every day, for every comparison we do, so anything that sticks out tends to get squashed quickly.  We also get alpha/beta versions into customers’ hands as soon as possible, and keep iterating until they’re happy.  V2 and v3 both had private beta tests that lasted over a year and a half, and some of the features changed dramatically in response to that feedback.

Beyond Compare has a nice integration with Windows Explorer. Was that difficult to do? Were you able to do it in Delphi?
The first version of it was submitted by a user, so it wasn’t difficult at all.  It has taken a lot of refinement to get perfect though, and we were changing it all the way through to the final 3.0 release.  It is written in Delphi, though I did rewrite it in C++ in order to get a 64-bit version working.  FreePascal has since started producing 64-bit binaries, so we’re back to the single Delphi version again.

You have Windows and Linux versions. What did you use to write the Linux version?
We’re using a heavily customized version of Borland’s now-dead Kylix product, which was Delphi for Linux.  It does allow us to compile both versions from the same source code, but it’s showing its age and I wouldn’t recommend it to anyone else.  Our driving goal is to have the best Windows version we can, which means sticking with Delphi and using what’s available to produce the Linux version.  If OS X and Linux support outweighed that we would use a cross-platform option like Qt or Java, but we believe the Windows version would suffer in that case.

Do you sell many licences for Linux?
We sell enough to fund its development, so it’s a successful product.  It does introduce new challenges though, both in development and tech support, so if we were a smaller developer it probably wouldn’t be worth the overhead.

Do you think there will there ever be a web version of Beyond Compare?
I can see it as a possibility, and it would be interesting to explore, but it’s not something we’re looking into right now.  I think it would have a different audience than the current product, and would probably never be as powerful as what we can do locally.

How did you choose the price?
Our $30 standard edition is about the same price as our commercial competitors, and seems to be the standard shareware utility price.  The pro edition was priced based on our competitors, what our customers were telling us they’d pay, and what we felt the downward pressure of the freeware/opensource alternatives introduced.  We keep the price low in order to make our profits on larger quantities sold, instead of a larger margin per-unit.  We have increased our multi-user pricing considerably over the years though;  the discounts were very steep in v1 and v2, and the feedback we got was that it was just too cheap for what it provided.

I see some translator credits on the website. Is v3 available in languages other than English?
Not officially, but we have just released beta versions of a couple of languages.  The current credits are for the v2 translators, who are generally the same people working on v3 translations.

How important are resellers to your sales?
We get a lot of sales through resellers, but it’s generally from people who would buy it either way. Foreign resellers are a help to the customers though, because they allow them to order in their own language using the local currency.

Does Scooter Software have any other products besides Beyond Compare?
No, BC keeps us plenty busy.

Thank you Craig.

You can download a free trial of Beyond Compare from the Scooter Software website. I have no affiliation with Scooter Software beyond being a paying customer.

Qt to be available for free under LGPL

qtToday Nokia announced that the cross-platform Qt framework is to be released under the LGPL, with no developer licensing fees or royalties. As someone who has been using Qt continuously for the last 9 years, this is of particular interest to me. Especially since the hefty annual renewal fee for my commercial Qt licence is due in a few months.

Here is the email I received from Nokia:

Dear Qt User:

Nokia is pleased to announce that with the release of Qt 4.5 you will be able to use Qt under the Lesser General Public License (LGPL) version 2.1 terms. When released in March 2009, Qt will be made available under three licensing options: Commercial, LGPL and GPL. Prior versions of Qt are not impacted by this announcement.

Nokia is committed to Qt and its continued development. By offering Qt under LGPL version 2.1 license terms alongside today’s licensing options Nokia hopes to:

– facilitate wider adoption of Qt across industries, desktop, web and embedded platforms.

– establish Qt as a de facto standard for application development.

– receive more valuable feedback and increased user contributions to ensure that Qt remains the best-in-class, cross-platform framework.

– extend Nokia’s existing platform commitment to the open source community.

By offering a cost-free LGPL license as well as commercial and GPL licenses to Qt, you can choose the license model that best fits your development requirements.

Irrespective of which license model you choose:

– Qt Software is committed to continuing to provide our customers with the same level of professional support, services and regular releases you have come to expect of Qt Software.

– We will continue to actively develop Qt, and with a greater degree of cooperation with the community through a new contribution model, we hope to make Qt even more valuable to our users.

For more information on the introduction of the LGPL license and what this means for you, please consult the Frequently Asked Questions section on http://www.qtsoftware.com.

Best regards

Tom Miller

Director of Sales

Nokia, Qt Software

I am a big fan of QT. Over the years it has evolved into an extremely polished and comprehensive framework, with: impressive cross-platform capabilities across a wide range of desktop OSs and embedded devices; C++ and Java APIs; excellent documentation and  a wide range of supporting tools (there is now even a cross-platform Qt IDE). The introduction of WebKit also takes Qt some way towards bridging the desktop/web divide. Widely admired by developers, the main stumbling block to Qt’s wider adoption has been the relatively high cost of commercial development licences.

Qt has been available for a while with both commercial and GPL licensing. The commercial version is expensive and the GPL version is free. However, using the GPL means you have to release the source of your own application, which is enough to make it unattractive to the vast majority of commercial software vendors. With the LGPL you can use the Qt libraries for free while keeping your own code proprietary.

So why would Nokia licence Qt under the LGPL? They even have a page on their site saying why they don’t think the LGPL is a good fit for Qt. A commercial licence for Qt is expensive, both in initial purchase costs and annual maintenance. Why is Nokia giving up a fat revenue stream? I am too cynical to believe that it is pure altruism. I guess the Qt licence fees are fairly insignificant to their new owner, Nokia, and they see it as an important strategic step to allow their mobile devices to compete against the free iPhone and Android APIs. Feel free to speculate on alternative motivations in the comments below.

As a commercial Qt licencee I am still working out the full implications of switching to LGPL Qt.

  • Including a copyright notice, the licence agreement and a link to the downloadable Qt source shouldn’t be a problem.
  • Shipping a linker and object files isn’t realistic, so I would probably have to dynamically link Qt. I much prefer static linking to avoid ‘DLL hell’ issues.
  • It isn’t clear whether all the Qt classes and widgets available in the commercial version are available in the LGPL version. Does it include the Qt 3 -> Qt 4 backward compatibility layer?
  • Will I still be able to get decent technical support, or will I need to buy a support contract?

I haven’t had time to assimilate it all yet. But I think a number of trends could make the free LGPL Qt into a big player in the future:

  • The increasing interest in cross-platform tools due to the growing Mac market share and an increasing numbers of mobile devices.
  • The neverending uncertainties about the future of Delphi.
  • The shortcomings of .Net for some types of development, e.g. ‘shrinkwrap’ software.
  • Microsoft’s apparent lack of enthusiasm for MFC and Windows Forms.
  • The many technical strengths of Qt.

It certainly looks like very bad news for directly competing cross-platform technologies such RealBasic and WxWidgets.

Further reading:

PS/ Thanks Nokia (I think)!

Getting website feedback with Kampyle

kampyleGetting good feedback from customers and prospective customers is essential to any business. I think I already do quite a good job of getting feedback from paying customers. But what about visitors who click around my site for a few minutes and then leave, never to return? I would love to know why they didn’t buy. This sort of feedback is much harder to come by, so I was interested to read about Kampyle in the article 14 free tools that reveal why people abandon your website.

Kampyle adds a clickable image to a designated corner of your webpage. If a user clicks on this image they are shown a simple (and customisable) feedback form. Any feedback is collected by Kampyle and presented through a dashboard on their website. All you have to do is register, customise your feedback form and add some javascript inside the <head> and <body> tags of each page. Best of all, the service is free. You can see it in action on Kampyle’s own website.

kampyle1

Click the floating image in the bottom-right corner to show the feeback form

kampyle2

Leave feedback

You can also have Kampyle pop-up a survey question for a given percentage of users as they leave your site. I find such surveys annoying and never fill them in, so I haven’t felt inclined to try this yet.

Kampyle sounds great. Users have a simple way to supply feedback which doesn’t distract them from my key goal (buying my software). Sadly, very few visitors actually supplied feedback through Kampyle. I ran it for a month on some of the highest traffic pages on my Perfect Table Plan site and got a grand total of 4 comments from 3 visitors. Only two of these comments had any really useful feedback and both were from a single paying customer who probably would have emailed support anyway. I don’t feel the feedback justified the ‘cost’, in terms of the potential distraction of visitors and another potential failure mode for my website. Consequently I am now only running Kampyle on a couple of peripheral pages. Maybe the results would be better for different types of site. It only takes 10 minutes of so to set up, so it might be worth a try.

CoverageValidator v3

The nice folk at Software Verification have done a major new release of Coverage Validator, and the new version fixes many of the issues I noted in a previous post. In particular:

  • The instrumentation can use breakpoint functionality to get better line coverage on builds with debug information enabled.
  • Previous sessions can be automatically merged into new sessions.
  • The default colour scheme has been toned down.
  • The flashing that happened when you resized the source window has gone.
  • It is now possible to mark sections of code not to be instrumented. I haven’t had time to try this yet, as it was only introduced in v3.0.4. But it should be very useful as currently I have a lot of defensive code that should never be reached (see below). Instrumenting this code skews the coverage stats and makes it harder to spot lines that should have been executed, but weren’t.

There are still a few issues:

  • I had problems trying to instrument release versions of my code.
  • It still fails to instrument some lines (but not many).
  • I had a couple of crashes during testing that don’t seem to have been caused by my software (although I can’t prove that).

But the technical support has been very responsive and new versions are released fairly frequently. Overall version 3 is a major improvement to a very useful tool. Certainly it helped me find a few bugs during the testing of version 4 of Perfect Table Plan on Windows. I just wish there was something comparable for MacOSX.