Shareware Beach

Wednesday, 8 March 2006

The JGsoft EULA

Filed under: Just Great Software — Jan @ 16:57

Thanks to Terry Jepson for dropping me a note that the JGsoft EULA was mentioned in GripeLog. I don’t read GripeLog, but apparently it’s a rather popular forum for griping about everything that’s wrong with the technology industry. It certainly strokes my ego to be mentioned on such a forum in a good way. :-) I’ve posted my reply in several comments below it.

I’ve always felt that software cannot be “just great” unless it comes with great customer service. And good customer service starts with a fair EULA or End-User License Agreement. It’s the first thing you see when you install or run almost any software product. That makes it an essential part of the first impression the product leaves, at least to those people who bother reading the license terms. Given how easy it is to steal software, I’m happy to extend flexible and fair licensing terms to those people who have the decency to pay for the software they use.

I’m also happy to promise free bugfix releases. They’re essential to keeping customers happy anyway, not to mention keeping them recommending our products to everybody they know. Fixing bugs costs time and money, but not nearly as much as acquiring new customers through means other than word-of-mouth. And those new customers would just be as dissappointed about the same bugs. Yes, it does happen that we can’t resolve a problem. For those situations, there’s my personal money-back guarantee.

The new 2006 JGsoft license agreement is even more flexible. PowerGREP 3.2.0 and RegexBuddy 2.2.0 have a new feature “Install on Removable Drive” in the Help menu. The new license agreement for these products specifically allows the software to be used in a portable fashion without extra payment (assuming the number of people using the software remains constant). EditPad Pro and AceText will get the same feature in the coming months.

Saturday, 30 April 2005

Progress Demands Change

Filed under: Just Great Software — Jan @ 21:20

When you’re selling a product or a service, at some point you’ll have to choose. Do you continue selling more of the same, pleasing existing customers? Or do you start selling something new to new customers, losing part of your existing customer base?

I got the idea for this article from Seth Godin’s blog entry where he talks about a company being held back by its customers. About nine months ago I faced a similar choice, and decided to go for broke.

PowerGREP version 2 was certainly a very nice product. I’m still proud of it. But it fell a bit short of my goal of making it the ultimate Windows grep tool.

PowerGREP 2

There was no way I could add all the features I had in mind, and still keep PowerGREP’s existing user interface. So I had to choose between improving the existing PowerGREP, limiting the amount of new functionality, or completely redesigning the product. You can see the result below. Can you spot the 7 differences? :-)

PowerGREP 3

PowerGREP 3 has been out for a couple of weeks now. As I expected, some PowerGREP 2 customers wrote in no uncertain terms that the old version was much better. Of course, while they say that PowerGREP 2 is better, what they really mean is that they like it better. Humans like things they’re used to and comfortable with. Just like the paper company still finds a market for its quaint designs, many people will continue to use PowerGREP 2 for years to come. After all, it is a solid product.

At the same time, other people wrote to express their thanks and admiration for the brand new version. The real test will be how the product fares as the sales generated by the announcement of the new release wears off.

The key lesson is that you can only listen to your customers to a certain extent. When I announced a pre-release version of PowerGREP 3 to part of the user base, feedback saying the older version was better dominated. When I released the finished PowerGREP 3 this month, more people wrote to say they like the newer version.

If you’re ever faced with the decision to put through a major redesign, or evolve an existing design, keep in mind that your customer base is very familiar with your present design. The new design will be alien to them. It’s quote possible that existing customers favor the old design, while new customers favor the new design. So the question is who you want to cater to most. Unless you’ve already cornered a significant slice of the market, new customers are probably where the money is.

But don’t redesign a product for the sake of redesigning it. The major upgrade to RegexBuddy, released in January, is very much more of the same. The original design works just fine, and could easily accomodate the additional features.

Tuesday, 15 February 2005

Behind The Scenes

Filed under: Just Great Software — Jan @ 20:02

Two of my blogging buddies, Nick Bradbury and Adam Stiles, posted a behind-the-scenes look of their development process. In me-too style typical of many bloggers, I couldn’t be left behind.

Like Nick and Adam, Delphi is my development platform of choice. I’ve been using Delphi since Delphi 1 was released in 1995. My first shareware product, HelpScribble, released in late 1996, was developed in Delphi 2. Today I’m using Delphi 7 for all commercial development (including HelpScribble). I’m still happy with the choice I made a decade ago. I’m quite amazed, since 10 years is a long time in the software industry. In that time span, Borland pulled off two name changes (to Inprise, and back to Borland), developed and all but abandoned a Linux version of Delphi, and now released Delphi 2005 which bundles Delphi for Win32, Delphi for .NET and C#.

I don’t know if I would go with Delphi if I were starting out today, with no legacy code. There’s a lot of factors to consider. Still, when I hear people rave how much they increased their productivity by switching to Visual Studio.NET, I can’t help but wonder why they didn’t use Delphi. VS.NET is quite a step forward from VB6 or Visual C++ in terms of developer productivity, but it seems pretty much on par with Delphi for desktop applications. Web applications are a different story. But since Delphi now supports .NET, the differences are minimal. I’m glad I’ll be able to leverage existing code. In fact, I’ve already been using Delphi 2005 to make some of my core source code that is shared between products compatible with .NET.

I’m a firm believer in eating my own dog food. I use EditPad Pro and AceText every day for editing all sorts of files and customer support. I’m writing this blog entry in AceText. Makes it easy to keep all my ramblings handy on my local PC.

HelpScribble is used to write all help files, and the setup programs are all built with DeployMaster. RegexBuddy’s help file is the exception. I wrote it entirely in EditPad Pro and compiled with a Perl script I rigged together. I wouldn’t recommend this method, though. But as the developer of a help authoring tool, I wanted to test some mechanisms at a lower level as research for HelpScribble’s future. Using HelpScribble is definitely easier.

I use very few third party components. While books about “best practices” in software development tend to chide the “not invented here syndrome”, there’s a very real trade-off between not re-inventing the wheel, and building your product on top of some other company’s sorry excuse for a wheel. If the functionality is part of your product’s selling point, better build it yourself and keep full control over design, features and quality. Maybe I’ll elaborate in a future blog entry. If you can’t wait, Joel Spolsky makes some good arguments.

For the most part, Delphi itself ships with all the components I need. Some components I use are VCLZip and the data conversion components from Scalabium. I’ve also purchased the ExpressBars components set from Developer Express. PowerGREP 3 will have dockable/floatable panels, and Delphi’s built-in docking support is pretty poor.

But I can’t get over how Nick Bradbury’s behind-the-scenes screen shot shows a single monitor with bright white backgrounds. The default Windows color scheme hurts my eyes. Getting a second monitor was the most productivity-enhancing thing I’ve done recently. Developing with the code on one monitor and the visual design or application being debugged on the other one is just so much more comfortable. Once you’ve gotten used to a dual monitor system, you never want to go back!

Wednesday, 9 February 2005

Transparency at JGsoft

Filed under: Just Great Software — Jan @ 11:43

When running my business, I’ve always believed in transparency and trust, rather than trying to hide my warts and thinking of potential customers as thieves. Overall, I can say that I’ve reaped the benefits of doing business this way. Customers are generally pleasant to interact with, and often send their praise and suggestions for improvements. It’s particularly gratifying when the same people send their feedback year after year.

Of course, there’s always room for improvement. Eric Sink wrote an interesting article, “Tenets of Transparency, in his MSDN column. In the shareware discussion forums I frequent, the dominant tone seems to be that customers are a liability rather than an asset, and that non-customers are potential thieves rather than future customers. For people who think that way, Eric’s article is a must read. For people who don’t think that way, Eric’s article is a must read too.

1. Have a weblog

I’ve had this blog for quite some time, but until today I hadn’t announced it to customers in any way. I initially planned this to be a personal blog for voicing my own opinions, rather than a business blog that provides customers with inside information on the business. As more company managers start business blogs, there seems to be a trend that those blogs are turning into corporate propaganda vehicles just like web sites, newsletters, brochures, etc.

I do plan to keep Shareware Beach as my personal (and only) blog, but with an additional “JGsoft” category providing a glimpse into my business. I’ve now also linked to this blog from the about JGsoft page.

2. Offer web-based discussion forums

This is something that’s been on my “things to consider” list for a few years now, but it hasn’t made the cut so far. The last thing I want to do is set up forums that end up looking like a deserted wasteland. There’s quite a difference between a forum, and a real community. Setting up a forum is easy. Building a community is hard, and is largely up to the customers.

While most people seem to use and recommend public forums that can be read by anybody, I’m actually leaning towards private forums that can only be accessed by paying customers. Personally, I’m always more candid in a closed group than in a public forum, even if I don’t know most of the people in the closed group. Branding the private forums as some sort of “club” might foster more of a community sense between the participants.

3. Don’t hide your product’s problems

All six JGsoft product web sites have a version history page listing all the gory details about each and every bug that was fixed, and each and every improvement that was made.

The best way to cover up problems is to fix them. That’s why I put out new versions frequently, even if it sometimes feels a bit embarrassing releasing a bugfix version one or two weeks after the latest release.

4. Don’t annoy honest people

It never ceases to amaze me how many software publishers are more preoccupied with protecting their product against piracy rather than making it worth buying. Crackers will crack the crappiest of software, just for the challenge. But customers won’t buy crap.

A free trial version does need incentives to make people buy. Note that I said incentives, not restrictions. While incentives usually include time limits and/or feature limits, it’s important to remember they’re incentives to get people to buy rather than use the trial forever. When the trial expires or when the user attempts to use a disabled feature, the attitude reflected in the message that appears can make the difference between a sale and an uninstall. They’re not nag screens!

One of the best decisions I ever made was switching from a license key mechanism to unlock the demo, to a separate demo and full version download system. With the key system, people would always have problems. Some would have the key or license number without software, and others would have the software but not their license information. With the separate download, the only thing that needs to be saved is the download itself. The license information is embedded in it. To download a free update, the user only needs to remember his or her email address. This change both increased customer satisfaction and support requests. If somebody asks us how to get the new version, it takes us 5 seconds to send them an elaborate, standard reply. The only time we have work is when somebody changes their email address. That requires a manual update in the database. A side benefit is that the email addresses in our database are now much more up to date than when people needed a license number to register the demo, rather than their email address to download.

5. Offer a painless demo download

Without a demo, it wouldn’t be shareware. That said, not offering a demo also has its advantages. The free evaluation version of RegexBuddy is not available on the RegexBuddy web site, since sales went down when we offered it. It’s probably a combination of three factors. 1. RegexBuddy’s functionality is well-defined. It’s easy to show the whole product on the web site. 2. RegexBuddy is cheap enough for impulse buys. A book on regular expressions costs more, and takes time to deliver. 3. We offer a solid money-back guarantee.

I also disagree with Eric that feature-limited demos are a bad idea. HelpScribble and DeployMaster are not time-limited, but feature-limited. The demo versions produce watermarked output, and HelpScribble’s demo cannot export source formats. The reason feature-limiting works well with these products is that the limits feel natural to the user, rather than an arbitrary.

6. Offer a money-back guarantee

Like many people, I was hesitant at first. While adding a 3-month money-back guarantee didn’t result in a clearly measurable increase in sales, it increase my satisfaction knowing that each and every customer is truly satisfied with the product. It’s also been a very long time since I’ve had to deal with “customers from hell”. I guess these people now simply ask their money back rather than complain like mad. If your business gets customers from hell, you’ve set up shop in the wrong neighborhood.

Don’t pinch on the guarantee period. Why offer 30 days if you can offer 2 or 3 months? If a customer is satisfied after 30 days, they’ll still be a couple of months later. In fact, if the deadline for asking a refund is tight, people might go looking for reasons to ask a refund more actively and be more uptight about minor issues, since they wouldn’t want to overlook any problems when the refund period runs out. With a generous refund period, people can be more relaxed, which will automatically improve their experience.

7. Share a little about your financial standing

I followed Eric’s advice and added a paragraph to the about JGsoft page. Re-reading what I wrote, I’m not sure if it makes me feel more confident about buying from JGsoft if I were a customer.

8. Talk about your future plans

Customers who send in feedback will get a personal reply saying whether a feature will be implemented, whether it will be considered, or if I think it’s a bad idea. I put that last one a bit more politely, though. I never make any promises, though, unless the feature has already been implemented in a version that’s currently in development. It does happen that I change my mind, or postpone a feature to a future release, and I don’t want to disappoint customers.

I never publicly pre-announce products or upgrades. Vaporware is a terrible thing. And even if the pre-announced product is real, it will reduce sales of existing versions. When big companies pre-announce products, they’re trying to stall sales of competing products. But that only works if you’re a big player in your market segment.

Customers who buy an old version just before a major upgrade do get the upgrade for free. They’re not being cheated by not knowing about upcoming versions. That would be even worse than vaporware.

« Previous Page