Tag Archives: microISV

Training course update

I ran my second ‘Start your own software business’ course over the weekend of 22/23 March. Here is what some of the attendees had to say:

“I thought I knew most things about setting up and running an ISV but Andy filled in all the gaps and taught me stuff I hadn’t even thought about! I would, without hesitation, recommend this course (which is great value) to anyone thinking of starting a small software company or even an existing company that wants to ensure they give their business the best chance for success. Well done Andy!”
Anonymous (gainfully employed)

Roger Pearson“PC Pro magazine (not easy to impress) gave PerfectTablePlan a glowing review. That gives you some idea of Andy’s talent for programming and marketing. His weekend training program allows the attendees to garner his expertise for themselves and their software projects. Andy knows his subject – his experience is extensive, practical and hard-earned. I have run 2 successful small software business in the past. By attending his course I wanted to find out from someone who was actually doing it today, how I could apply techniques and best practice to my next software project. Did I succeed? Without a doubt. Andy was meticulous in his planning of the event and thorough in his presentation. I couldn’t ask for more. Top marks. I recommend Andy’s course to anyone venturing into the world of running a small software business.”
Roger Pearson

Derek Ekins“I recently attended Andy Brice’s “Start your own software business” course. Andy teaches some very practical skills to evaluate your idea, find if there is a market and launch your product. Behind most of the topics Andy had a story of how this particular lesson was learnt and how he has successfully implemented it. I now feel I am equipped with some practical knowledge of how to launch a software product. Thanks Andy.”
Derek Ekins

I will be following all their progress with interest.

I hope to run the course again in 2014. If you are interested in attending, please fill in the form on the training page.

Announcing a new date for my ‘Start your own software business’ course

AH111220CO-2000x1297I ran my first ‘Start your own software business’ course in November last year. It was a lot of work to write the course and organize the logistics. But I am very pleased with how it went. I have had a number of enquiries about the course since then, so I am announcing another date: 22/23 March 2014. As previously, the location will be Swindon, England. The course is limited to 10 people (first come, first served) and there is an ‘early bird’ discount if you book by  07-Feb-14. For more details (including comments by previous attendees) go to the training page.

There is never a perfect time to start your new software business

So you’ve got an idea for a software product. You think it could be a winner and you don’t want to work for someone else for the rest of your life. When is a good time to start your new venture?

Today.

Yesterday would have been better, but today is the next best thing.

You can always find an excuse to put it off. If you’ve got a well paid job – you don’t want to lose that income. If you’ve got a poorly paid job – you probably don’t have much savings. If you are young you don’t have that much experience. If you are older you probably have a lot more financial commitments.

In truth, there is never a perfect time. If you are waiting for some sort of auspicious planetary alignment before you start your business, you’ll never start it. Life is untidy, unpredictable and complex. I started my company while recovering from emergency eye surgery for a detached retina. That certainly wasn’t how I planned it.

You don’t have to take any big financial risks. It only cost me a couple of thousand pounds (and a lot of hard work) to launch Perfect Table Plan. I plan on launching my new product, Keyword Funnel, early in 2014 for a similar amount of money. There is no need to max out the credit card or risk your house. You just need a computer, some skills, determination and time. If you aren’t prepared to sacrifice a few hours of spare time every week, then you probably haven’t got the drive to succeed at creating a business.

So what are you waiting for?

Training course update

I ran my first ‘Start your own software business’ course over the weekend of 23/24 November. It was tiring but enjoyable and, overall, I am very happy with how it went. I think the balance of presentation, questions, exercises and discussions was about right. Thankfully everything went smoothly with the logistics of room, meals, accommodation etc.

Here is what some of the attendees had to say:

Pavol Rovensky“To run your own software business is an aspiration of every programming enthusiast and many professional programmers. Most of them fail without knowing “WHY?”. I’ve known Andy Brice for many years and have met him at several conferences and heard  a lot about his product and working habits. When the information about this course appeared it was the easiest decision in my professional career to sign up. The course itself is delivered with passion and ease, yet the information content is incredibly rich.  The course covers all aspects of Starting a software business and Andy continuously amends the presentation with elements of his own experience and available data from other people. None of the aspects of starting a software business is left uncovered. He definitively gives an answer to aspiring programmers “HOW?” to start and avoid the failure; or fail fast and learn quickly.”
Pavol Rovensky, www.hexner.co.uk

Kevin Horgan“Andy’s ability to imprint the wisdom he has gained through successfully starting and running his own software business is amazing. The course covered a lot of material very quickly and effectively with plenty of time to ask concrete questions, all of which Andy comfortably answered from his experience in the field. I feel I have a much better focus now on where I need to put my time and energy to build a successful software company. The course venue, facilities and overall organisation were also excellent, from booking through to ensuring we finished on time so I could catch my plane. I highly recommend this course if you plan to start your own software company.”
Kevin Horgan, www.balancedcode.com

Anthony Hay“I’m a programmer and I’ve been an employee in other people’s software businesses all my working life. For some time I’ve wanted to create my own product to sell but I’ve found it difficult to evaluate the various ideas I’ve had and get started. Andy’s course is broad and covers all aspects of starting a software business, but the parts covering the early stages of product development were especially useful to me. Andy is a great communicator and I highly recommend this course.”
Anthony Hay, howtowriteaprogram.blogspot.com

“I was lucky enough to find out about Andy’s course in time, and wasn’t sure if it would help me figure out how to work for myself as an independent software vendor — I have the answer now — and it would be an understatement to say it pointed me in the right direction. I now see the possibilities, and the course has given me important insights into how I might go about the transition from ‘working for the man’ to starting my own micro ISV. If you get the chance, do go on the course. It’s well worth it.”
Jason Spashett, jason.spashett.com

“If you’re starting a software business, give yourself a big unfair advantage and sign up for Andy Brice’s course. Andy has spent eight years investigating numerous cul-de-sacs, all so that you don’t have to. Whether you’re working with desktop or web, selling to consumer, enterprise or developer markets, there are pearls of wisdom in there for everyone. Benefit from the advice of someone who’s been there in the trenches – it’s possibly the best investment in your fledging business you can make.”
Justin Worrall

I would like to say a big thank you to the attendees of v1.0 the course. I shall be following their progress with interest.

I hope to run the course again in 2014. If you are interested in attending, please fill in the form on the training page.

Lifestyle Programming

“A man is a success if he gets up in the morning and gets to bed at night, and in between he does what he wants to do.” ― Bob Dylan

I am a lifestyle programmer. I run a one-man software product business with the aim of providing myself with an interesting, rewarding, flexible and well paid job. I have no investors and no plans to take on employees, let alone become the next Google or Facebook. I don’t have my own jet and my face is unlikely to appear on the cover of Newsweek any time soon. I am ok with that.

“Lifestyle business” is often used as something of an insult by venture capitalists. They are looking for the “next big thing” that is going to return 10x or 100x their investment. They don’t care if the majority of their investments flame out spectacularly and messily, as long as a few make it really big. By investing in lots of high-risk start-ups they are able to reduce their overall risk to a comfortable level. The risk profile is completely different for the founders they invest in. As VC Paul Graham admits:

“There is probably at most one company in each [YCombinator] batch that will have a significant effect on our returns, and the rest are just a cost of doing business.”

Ouch. The odds of being the ‘next big thing’ are even slimmer (of the order of 0.07%). As a VC-backed start-up the chances are that you will work 80+ hours a week for peanuts for several years and end up with little more than experience at the end of it.

But high-risk, high-return ventures are sexy. They sell magazines and advertising space. Who can resist the heroic story of odd-couple Woz and Jobs creating the most valuable company in the world from their garage? So that is what the media gives us, and plenty of it. Quietly ignoring the thousands of other smart and driven people who swung for the fences and failed. Or perhaps succeeded, only to be pushed out by investors.

If you aren’t going to be satisfied with anything less than being a multi-millionaire living in a hollowed out volcano, then an all-or-nothing, VC-backed start-up crap shoot is probably your only option. And there are markets where you have very little chance of success without venture capital. But really, how much money do you need? Is money going to make you happy? How many meals can you eat in a day? How many cars can you drive? It doesn’t sound that great to me when you read accounts of what it is like to be rich. Plenty of studies have shown that happiness is only weakly correlated with wealth once you can afford the necessities of life (food, shelter, clothing). Hedonistic adaption ensures that no amount of luxury can keep us happy for long. Anyway, if you are reading this in English on a computer, you probably are already rich by global standards.

Creating a small software business that provides a good living for just yourself, or perhaps a few people, isn’t very newsworthy. But it is a lot more achievable. The barriers to entry have fallen. You no longer need thousands of dollars of hardware and software to start a software business. Just an idea, good development skills and plenty of time and willpower. Many lifestyle businesses start off with the founder creating the product over evenings and weekends, while doing a full-time job. I cut my expenses and lived off savings until my business started generating enough income for me to live on (about 6 months). I only spent a couple of thousand pounds of my own money before the business became profitable. There is really no need to max out your credit cards or take any big financial risks.

So how much money do lifestyle businesses make? Of course, it varies a lot. Many fail completely, often due to a lack of marketing. But I know quite a few other lifestyle programmers who have made it a successful full-time career. I believe many of them do very nicely financially. Personally, I have averaged a significantly higher income from selling my own software than I ever did from working for other people, and I made a good wage working as a senior software engineer. Here is a comparison of my income from my last full-time salaried employment vs what I have paid out in salary and dividends from my business over the last 7 years.

lifestyle business incomeBear in mind that the above would look even more favourable if it took into account business assets, the value of the business itself and the tax advantages of running a business vs earning a salary.

Sure, I could hire employees and leverage their efforts to potentially make more money. Creating jobs for other people is a worthy thing to do. Companies like FogCreek and 37Signals have been very successful without taking outside investment. But I value my lifestyle more than I value the benefits of having a bigger business and I struggle to think of what I would do with lots more money. I might end up having to talk to financial advisers (the horror). I would also end up managing other people, while they did all the stuff I like doing. I am much better at product development, marketing and support than I am being a manager.

If you can make enough money to pay the bills, being a lifestyle programmer is a great life. I can’t get fired. I make money while I sleep. I choose where to live. I don’t have to worry about making payroll for anyone other than myself. My commute is about 10 meters (to the end of the garden). I get to see my son every day before he goes to school and when he comes back home. I go to no meetings. I have no real deadlines. No-one can tell me where to put my curly braces or force me to push out crappy software just to meet some arbitrary ship date. When I’m not feeling very productive I go for a run or do some chores. I can’t remember the last time I set an alarm clock or wore a tie.

My little business isn’t going to fundamentally change the world in the way that a big company like Google or Facebook has. But it has bought me a lot of happiness and fulfilment and, judging by the emails I get, improved the life of a lot of my customers as well. And some of those really famous events you hear about in the news (which I don’t have permission to name-drop) plan their seating using PerfectTablePlan.

Of course, it isn’t all milk and money. The first year was very hard work for uncertain rewards. I recently happened across this post I made on a forum back in August 2005, a few months after I went full-time:

“I work a 60-70 hour week and pay myself £100 at the end of it (that’s less than $200). I could make 3x more working for minimum wage flipping burgers. But hopefully it won’t be like this forever…”

I still work hard. I’m not lying under a palm tree while someone else “offshore” does all the work. And I don’t get to spend all day programming. If you want to have any real chance of succeeding you need to spend plenty of time on marketing. Thankfully I have found I actually enjoy the challenge of marketing. But, because I don’t have employees, I have to do some of some of the crappy jobs that I wouldn’t choose to do otherwise, including: writing documentation, chasing invoices, tweaking the website and doing admin. And I answer customer support emails 364 days a year. I take my laptop on holiday, but it really isn’t that bad. Customer support is frustrating at times. But it is very rewarding to know that lots of people are using my software. Overall, it’s a great lifestyle. I don’t miss having a 9-5 job. I wouldn’t even swap my job for running a bigger, ‘more successful’ company.

Interested in starting your own lifestyle software business? Check out my ‘start your own software business’ training course.

80 useful tools and services for software businesses

tools and servicesSome of the most useful nuggets of information I come across in blogs and podcasts are mentions of tools and services used by other people to better run their software businesses. So I have put together my own list of useful tools and services to run a software business.

Feel free to recommend your own favourites in the comments below. Please include your relationship to the tool/service (e.g. customer, user, employee or owner). You can also comment below about your experiences (positive or negative) with any of the tools and services listed. Anonymous comments will be treated with suspicion and may be deleted

My new ‘Start your own software business’ training course

Things have been a little quiet on this blog as I have been busy on some new projects as well as continuing to work on PerfectTablePlan. I am announcing one of those new projects today.

Start your own software business

A two day intensive training course on how to create a profitable business selling your own software product

22/23 November 2013

Swindon, England

There is a lot more to running a software business than knowing how to program. The last 8 years of running my own software business have been a huge learning experience for me. In this course I am going share as much as I can to help others succeed with their businesses. This is the course I wish had been available when I started out. I am looking forward to getting out from behind my computer and meeting aspiring software entrepreneurs.

There is a £50 discount if you book before the end of September and the course is limited to just 10 attendees. If you have ever dreamed of escaping your cubicle and becoming your own boss, what are you waiting for?

Click this link for more details

I am just beginning to publicise the course and I would really appreciate a mention on Twitter, Facebook, LinkedIn, blogs, social news sites etc.

The brutal truth about marketing your software product

badwaterWe tend to hear a lot about software industry success stories. But most of us mere mortals have to fail a few times before we learn enough to succeed. In this guest post William Echlin talks about the hard lessons he has learned about creating and selling software products.

Probably, like you, I started developing my own software application a few years back. I had this dream of working for myself and becoming financially independent. The money side was a nice goal to have but ultimately I was looking for the fulfilment of working for myself. Sound familiar? Well, if it does, you may have learnt many of the lessons I’ve learnt. I don’t mind admitting now that I got carried away. I got carried away with building a test management application to the extent that I forget about many of the key things you need in place to build a successful business.

After a few years work I’d created the leading open source test management application (a product called QaTraq that’s still available on Source Forge but a little dormant). It had cost me time, money and effort. I’d achieved some success with building and marketing a free product. Next stop taking it commercial. This is where it gets brutal.

About a year into leaving a full time job I’m taking the last £1,000 out of the joint bank account. I’m making some sales but it’s damn tough. A few months later and I’m in the supermarket £15,000 in debt wondering if my credit card is about to be rejected for the families weekly shop. You read about this sort of thing in biographies on successful entrepreneurs. These guys take it to the limit and then succeed and make millions. Sounds so glamorous. When your wife, 3 year old son and 1 year old daughter depend on that credit card being accepted believe me it’s NOT glamorous.

Building a business has always been about balancing design, development, sales, marketing, support, testing, etc. When you’re a one man band that’s not easy. You try to do everything. You’re bloody brilliant at building the product. The trouble is, once you want to make a living out of it, that “building” is almost the least important bit. After I’d spent 5 years building my product I stumbled upon one very useful piece of advice. It was a little late for me but maybe it’ll help you….

“Learn how to market and sell before you build your product. Learn these crafts by picking a product that’s already been built and act as a reseller”.

That’s worth reading again (it’s counter intuitive). What’s being said here is that if you can’t market and sell a product (ANY product) then the odds of succeeding with your own product are slim. If you can’t “market and sell” what on earth is the point in wasting all that time, effort and money building your own product? If you’re never going to be able to market it, and sell it, why build it?

So find a product in a slightly different sector and sign up as a reseller. Save yourself the time and effort of building a product and practice marketing and sales with someone else’s product first. Create a web site, develop an ad words campaign and start promoting with social media. Sell the product! If you can’t get the hang of this why bother building your own? If you can get the hang of building your own marketing machine it won’t be wasted effort. If you’re clever and pick the right product / sector you just need to switch the product on your site a year or so down the road. Once you’ve built the marketing and sales engine switch it to sell the product you’re building.

I’m not saying that this is the only way to go about it. I’m just saying that if you don’t have the determination to learn, understand and be successful with marketing and sales early on, then it’s unlikely you’ll succeed with your own product. So why waste time building it. It’s a tough lesson to learn. One I learnt the hard way.

And the specific lessons I learnt the hard way? Well I’d do these things first if I was ever to do this again:

1. Create at least one lead generation channel as an affiliate for another product. That lead generation channel will probably be a web site and as part of that you’ll need to master things like:

  • Google Adwords
  • Social media
  • Email marketing
  • Blogging
  • Link building

All these things take a lot of time. Do you have the determination to learn and execute on all of this?

2. Spend some time in a sales related role. Initially I was working in a full time job whilst building my own product in my spare time. The best thing I did was offer to help the sales team with product demos. I learnt lots from working closely with sales people (I didn’t like them very much, but that’s a different matter) and clients. If you can’t do product demos to clients, or you can’t talk to clients confidently then you don’t stand a chance of selling anything. People buy from people and a product demo is THE place to show case YOU (and the product)

3. Spend time learning about re-marketing. A lot of money goes into getting that initial lead. Don’t waste it! Understand Google’s re-marketing campaigns. These allow you to follow the people that came to your site and continue serving them banner ads on other sites. Understand email marketing once you’ve captured an email address. Yes I hate most of this when I’m on the receiving end. The reality is that it works though. That’s why companies do it (and why Google make so much money). I’ll tell you now that your business won’t survive if you don’t master some of these techniques. And if your business doesn’t survive then every ounce of effort you’ve put into building that application is wasted!

4. Spend time learning about cross selling. A significant amount of revenue can come from cross selling other products. When was the last time you went to a restaurant and they didn’t try to sell you a bread roll? When was the last time you flew somewhere and they didn’t try to sell you priority boarding? For you this might be in the guise of selling your leads to other companies that have complementary products. It might be providing different editions of your application. There are many other ways to add additional revenue streams to your prime product sale. These streams are absolutely critical to the success of your business.

5. Don’t try to become a sales person. You don’t have to be a sales man/woman to sell. Some of the best sales people I’ve worked with are those that just go out of their way to HELP the customer. They understand their niche inside out and have the gift, not to sell, but to HELP. People that are looking to buy something want help. They want an itch scratched or a problem solved. If you can help them with a solution then you’re most of the way towards making the sale. Forget all this rubbish about psychology and techniques to influence people. The best thing you can do is enter the mind set of helping! Go out of your way to help.

I don’t have all of this right by any stretch. I know one thing though. Products don’t sell themselves. And if you’re not prepared to start learning about sales and marketing you won’t sell your product.

It was all a bit ironic for me though. I spent years building my own test management product to help software testers. It even started out as the leading open source solution in it’s market for many years. I mastered SEO and created a great lead generation process (the oxygen of any business). I created a version which I put a price on and sold to companies. I even sold to a number of significant companies. But I just couldn’t do all of it. I couldn’t balance the design, development, testing, marketing, sales, support, etc. It’s brutally painful when this dawns on you.

In the end what I’d really mastered was lead generation. I ended up with a web site that attracted my target audience but failed to sell much. When you realise that, you realise that it’s the product. Nothing wrong with the marketing and sales. It’s the product. There were better products out there. Kind of tough to swallow but as soon as I did, I moved on. These leads, or rather people (because leads are actually real people), were looking for help. I just needed to provide them with the right product and services. So I started reselling other products and providing consultancy around those products on my test management website.

In the end I had one of the toughest bits right. If you get the lead generation right you’ve built a marketing foundation that you can build any type of business around. For me I just wished I figured the marketing piece out before I’d built my product. Now I just work on my marketing. Oh, and I help companies with their software testing and test management. For me at least, it’s much easier this way.

William Echlin has spent 20 years in testing, working on everything from air traffic control systems to anti-virus engines. He had a bad experience in his early childhood trying to effectively manage test cases with vi (he’s still a huge fan of vi but recognises that text files make a lousy repository for test cases). In an attempt to deal with these childhood demons he became a consultant on all things related to test management.

VAT basics for software vendors

The dreaded VAT. Ugh. Value Added Tax (VAT) is the European equivalent of sales tax and it is a Royal Pain In The Arse. However, if you are running a business that makes sales in Europe you need to understand VAT. In particular it has important implications for your choice of payment processor, even if you are based outside the EU or below VAT registration thresholds. I have put together a few pointers here in the hope that it will help someone grappling with the complexities of VAT. But please note:

  • I am not an accountant. If you need proper advice, talk to a proper accountant.
  • The VAT rules are complex and may be interpreted differently by different people.
  • The rules may be different in different countries.
  • The rules change over time.

Only VAT registered businesses have to charge VAT. You have to register for VAT once your sales reach a certain threshold. At the time of writing,  UK-based businesses have to register for VAT if their EU sales exceed £77k in a 12 month period (technically it is UK sales, but the ‘place of supply’ for EU consumers is classified as the country of the seller). You can also choose to register for VAT before you reach the threshold. But it usually isn’t worth it, unless perhaps you think having a VAT number is essential for your credibility. Personally I waited until I couldn’t avoid it any longer.

Even if your business is not based in the EU, the EU still expect you to pay VAT on any sales inside the EU once you reach a threshold. This is controversial and it isn’t clear to me exactly what the EU can do to enforce this if you are based outside the EU. Talk to your accountant.

The VAT rate varies between countries. At the time of writing it is 20% in the UK and 19% in the Netherlands. It also varies over time, it used to be 17.5% in the UK.

The UK also has a simplified flat rate VAT scheme with a lower VAT rate. But you can’t claim back VAT on purchases. Worse still, it appears that you will effectively be paying VAT on sales outside the EU. So that doesn’t seem at all attractive.

The VAT rules are complex and depend on:

  • where you are based
  • where your customer is based
  • whether your customer is a business or a consumer
  • whether you are selling goods or services

Technically you do not have to charge VAT to an EU business, even if they aren’t registered for VAT. Apparently they are then responsible for “self-charging” the VAT. However the burden of proof is on you to show that the customer is a business. So most vendors require a VAT number as proof of business status.

There also seem to be disagreements over whether software is goods or services. What if you ship a CD?

Here is a simplified summary in pseudo-code of whether a seller needs to charge VAT on software as I understand it:

paysVAT()
{
    if ( seller registered for VAT)
        if ( customer in EU )
            if ( customer is a business )
                if ( customer in same country as you )
                    return TRUE;
                else
                    return FALSE;
            else
                return TRUE;
        else
            return FALSE;
    else
        return FALSE;
}

Except that people in Norway and Switzerland (which aren’t in the EU) pay VAT in some circumstances. Don’t ask me why. Also you don’t pay VAT on some items, e.g. postage. And outside the scope of VAT (O), not rated for VAT (N) and zero rated for VAT (Z) are all different VAT codes meaning no VAT is payable. As I said, it’s complicated. Not complicated and interesting like quantum mechanics or the love lives of celebrities. Just complicated.

The only upside of being registered for VAT is that you can claim back the VAT you pay on any purchases you have made (make sure you get a VAT receipt). Or, if you are buying from another EU country, you can tell them your VAT ID and they shouldn’t charge VAT (see above). So any equipment you buy in the EU is now 20% cheaper. This is small recompense for the giving 20% of your sales in the EU to the VAT man. Try not to think about that. Instead give yourself a pat on the back for having reached the VAT threshold. A lot of businesses never do.

Note that when you register for VAT you may be able to claim back the VAT of products purchased before you registered. When I registered I could claim back VAT paid on goods purchased within the last 3 years and services purchases within the last 6 months. So keep your VAT receipts.

Congratulations on making it this far. Here is the important bit. How you process payments has important implications for VAT. When someone pays you via a payment processor, such as PayPal, legally they are buying from you and the payment processor is just handling the payment on your behalf (like a bank cashing a cheque). So you are responsible for collecting what VAT is due and paying it to the appropriate government. This can be a major headache if you are selling hundreds or thousands of licences per month.

When you use a reseller, such as Avangate or Fastspring, legally you are selling your licence to the reseller and the reseller is then reselling it to the customer. The reseller is then responsible for deciding what VAT is due, collecting the VAT and doing the paperwork. They then pay you net of the VAT and their commission. Leaving you to sort out the VAT for their one payment to you per month.

Using a reseller is a big win if you are registered for VAT. I am registered for VAT and use Avangate as my payment processor. They do the heavy lifting in terms of calculating, collecting and paying the VAT on my sales. But if you aren’t registered for VAT be wary of using a VAT registered reseller – approximately 20% of your sales will be disappearing in VAT (which the VAT registered reseller has to charge) which you could be keeping if the customer bought from you direct. So if you aren’t registered for VAT, a reseller such as Avangate or Fastspring may not be the best solution for you. Check out e-junkie.

VAT admin is fairly straightforward. To keep the VAT man happy I have to file:

  • an EC sales list every month
  • a VAT return every quarter

My Quickbooks accounting package generates the numbers for these. It only takes a few minutes to file reports online once all the transactions and VAT codes are entered correctly into QuickBooks. The VAT man then debits (or credits) the appropriate amount from my business account each quarter. It is not too bad, as long as I don’t think about the wheelbarrow loads of cash Avangate keeps to pay the VAT man. Maybe they roll around naked in it on the last day of every quarter. I probably would.

When I first registered for VAT I tried adding the VAT onto my existing prices. But I found that sales dropped more than 20%. So I ended up keeping the gross price (including VAT) the same, whether the customer pays VAT or not (Avangate gives you this option). Whatever you do, make sure it is clear whether any prices you quote include VAT. EU consumer expect to be quoted prices inclusive of VAT and won’t appreciate it if you try to sneak on an extra 20% at the end of the purchase process. You may be legally required to quote the price including VAT in some countries.

A final note of warning. The VAT man has a lot of powers. I understand the UK VAT man can kick your door in and seize your equipment without needing even a warrant. He might not be impressed to find out that the computer you reclaimed the VAT for is an XBox. Do not mess with the VAT man.

If I have made any mistakes, missed anything out or if the rules are substantially different in your country, please add a comment.

Thanks to Marcus Tettmar of Macro Scheduler automation software for checking this through and advising me on some of the finer points.

33 tips for giving great technical support at a small software company without being swamped

To have the best chance of success you need a great product, great marketing and great support. Many companies with great products and marketing fall down on the support.

Good support is essential to a good user experience. Any non-trivial piece of software is going to result in questions that need to be answered and issues that need to be resolved. But supporting customers is often seen as an onerous chore. An overhead. Something to be done by those not talented enough to be developers.  This is a very unfortunate attitude. But it also an opportunity, as software companies that provide great support can really stand out from their competitors. The lower they set the bar, the more opportunity you have to shine.

The fact that the support staff and the developers are often the same people in a small company is a real strength. Because the developer knows the product better than anyone else, they can give better answers. Also, the direct feedback developers get from customers can be very helpful in further improving the product. This means that a small company can often provide much better support than a large company that has multiple layers of support between the customer and the developer. The downside is that the more time developers spend on support, the less time they can spend doing development. Eventually you may reach a level of sales where you are spending nearly all your time doing support, with very little left for the development and marketing required to grow the business. The challenge is to provide great support without being swamped by support work.

I have been supporting my own wedding table plan software since it was first released in 2005. I have managed to grow my sales for 7 consecutive years without being overwhelmed by support. In fact technical support emails have stayed at roughly 40 per week for the last few years despite increasing sales. Before that I had never really done much technical support, so it has been a learning experience. Here are some of the things I have learnt along the way.

Manage customer expectations

Make the level of support clear to the customer:

  • Is it free or does it have to be paid for?
  • Is it email only or is telephone support also available?
  • What sort of response time can they expect?
  • What languages do you provide support in – just English?

I don’t provide technical support by telephone or instant messaging, because it is too disruptive to me as a one-man-band.

Manage your own expectations

Your software is a means to an end for the customer. Very few customers will read the documentation you spent all those hours writing if they can possibly avoid it. Some of them won’t even read to the end of a 1 sentence error message (really). Some of your customers will be ‘technically’ challenged (often without even realizing). Sometimes the problem exists between keyboard and chair. Get used to it, because human nature isn’t going to change any time soon.

Make it easy for the customer to contact you

Don’t hide your support email address. Allow the customer to email you from the software itself. This also gives you the opportunity to add some useful information to the email (the software version, their OS, whether they have a licence etc).

Be responsive

Generally speaking, the faster you respond, the better. When I send an email to support I expect to get a response by the same time on the next working day and hopefully within a few hours. I try to answer my support emails at least twice a day, 364 days a year. I do this because I want to give a great service, but it also means I don’t come in to a massive pile of support emails every Monday morning. It means taking a laptop with me whenever I am away for a night. But I find it isn’t a huge chore to spend an hour a day answering support emails on holiday. Especially when I remember that the business is paying for the holiday!

But not too responsive

The downside of being very responsive is that it makes some customers lazy. If they know they will get a response within a few hours they may email you about things they could easily look up themselves. The best response to this is ‘throttling’ (NB/ I don’t mean strangling) – when you notice that a customer is being lazy, take longer and longer to respond to each email. Eventually they will take the hint.

If you are trying to look like a bigger company than you are, then you probably don’t want to answer support emails outside of normal work hours.

Respond as clearly as possible

  • Quote the customers email in your reply where appropriate for context.
  • Number step-by-step instructions.
  • Use quotes to refer to elements in your software, e.g. select ‘Help’>’About’ from the main menu.
  • Write in short paragraphs, not big chunks of text.
  • Avoid technical jargon unless you are sure that your customer will understand. For example, say “window” rather than “modal dialog”.
  • Use proper grammar and check the spelling.
  • Avoid long email signatures.

Use images and videos

It is often helpful to include an annotated image with your response. For example you can do a screenshot, highlight important items in the screenshot and then email this as an attachment, along with some text. I find the screen capture tool SnagIt is excellent for doing this (available for both Windows and Mac). In some cases it may also be worth doing a short screencast, uploading it and then sending the customer a link (SnagIt can also do this).

Restate unclear questions

Support questions can be very vague. I have even had people email me just “It doesn’t work” – it wasn’t even clear whether they were referring to the website, the installer or the software. It often takes a few emails to understand what the problem is. If you aren’t 100% sure what they mean, make your best guess at what they are trying to say and restate it in your own words followed by “Did I understand correctly?”. Ask them if there are any error messages. Ask them to send you a screenshot (include a link to instructions on how to do this).

Finish an email exchange

If the customer started the exchange, you should generally finish it (i.e. send the last email). But it is probably not worth responding to an email that is just a 1-line thank you.

Pick up the phone when required

Even if you don’t officially offer telephone support, it sometimes can sometimes save a lot of time and aggravation on both sides if you pick up the phone and talk to the customer.

Put your documentation online

If you have your documentation online you can easily include links to relevant pages in your documentation in your email. This might also encourage the customer to look in the documentation first next time. But don’t just send a link. Answer their question in the email and then include the link as supplemental information.

Help the customers to help themselves

The beauty of a software product business is scalability. In theory, you only need to create your product once and then you can sell it to as many people as you can convince to buy it with negligible marginal cost. In theory. In reality, while a software product business is inherently much more scalable than a consulting business, the marginal cost per sale is not negligible. Far from it. Customers need support.  Here are some of the way you can reduce the support cost per customer:

  • improve the user interface and documentation, based on customer feedback
  • add an FAQ
  • allow customers to retrieve their licence key direct from your website (emailed to the registered email address, for obvious reasons)
  • encourage customers to look at documentation, FAQs, forums etc before emailing you (below is the window I show when customers select Help>Technical support in PerfectTablePlan).

Note that it has been shown experimentally that the more text you show someone, the lower the percentage of it they read. So it is generally more productive to concentrate on simplifying the user interface, rather than writing more documentation.

Of course, you can also reduce support requests by making it difficult for the customer to contact you (the Amazon model). But this leads to less feedback and a worse user experience, so I wouldn’t recommend it.

Allow customers to help each other

If you have a sizeable user base you can set-up a forum to encourage users to help each other. This can have various benefits:

  • customers may be able to get answers straight-away by searching existing content on the forum
  • customers may answer some questions for you
  • customers may respond faster than you can
  • it increases your SEO footprint

But it also has its drawbacks:

  • nothing looks sadder than a deserted forum
  • a forum has to be actively moderated or it will end up reflecting badly on your company
  • spam can be a problem

Automatically report crashes

It is often possible to detect that the software is going to crash or has crashed and send yourself some diagnostic information. This allows you to monitor how stable the software is and gives you some clues for debugging. For example, on Windows you can use the Win32 API method SetUnhandledExceptionFilter() to detect when things have gone horribly wrong. Don’t send it without their permission though. Give them the option to see the information you are going to send and then allow them to send it with a single button click.

Remember that every computer is different

There is a rumour that there are 2 identically configured PCs somewhere in Nebraska. But I don’t believe it. The customer may have configured their OS with all sorts of strange options you have never heard of. Anti-virus software, malware, DLL hell and hardware issues can cause problems. A cosmic ray might have even passed through their RAM! So I generally don’t spend too much time on a bug report unless either I can replicate it myself or 2 separate people have reported it.

Be proactive

I actively seek feedback from my customers. It increases the support burden somewhat, but I think this is more than compensated for by increased customer satisfaction and improved feedback.

Make use of feedback

I think all developers should spend at least some time supporting the products they developed. A few days every now and then in the support trenches answering customer emails and phone calls would give developers a better appreciation of how customers think and of the real costs of that cool feature shoe-horned into the release a week before the ship date.

Look at every support request as a possible way to improve your product. The first time you get a support request you answer it. The second time you get the same request you need to start thinking about how you can improve the product so that question doesn’t get asked a third time. By continually improving your product in this way you can greatly reduce the average amount of support time required per customer over time. Obviously you need to make it easy for customers to contact you to make this work.

Don’t take things personally

No matter how hard you try some people are not going to like your software. I once got so angry with Microsoft Project that I nearly threw a monitor out of a window. An angry customer might send you an angry email. Try not to take the criticism personally (link note: funny, but sweary). Maybe the customer is having a bad day. Perhaps they just don’t have any manners. As long as they remain a small minority, try not to lose any sleep over it. On the plus side – at least they cared! And it is often possible to turn a passionately angry customer into a passionate advocate for the product. Indifference is much harder to convert into a sale.

Don’t shoot the messenger

If someone reports what they think is a bug, you should thank them, rather than taking it as an insult to your programming skills. Experience shows me that most people who encounter a bug won’t bother to report it. If you have ever tried reporting a problem to a big company like Microsoft, you will understand why. An unreported bug can result in a lot of unhappy customers and lost sales. Customers who report bugs are a precious resource and should be treated accordingly.

Tell a customer when you have fixed their bug

Whenever a customer reports a bug  I record their email address along with the bug report. When it is fixed I then email them. This encourages them to report other bugs they find in future. Similarly for feature requests.

Give credit where credit is due

When I list bugs fixed in a release I also give the names of the customers who reported the bugs (first name + initial of last name). If a customer has been particularly helpful, e.g. putting significant effort into helping me find a bug, I may also list them in the software ‘credits’ window. It doesn’t cost me anything and it encourages these customers to feel more ownership of the product and report more bugs.

Google translate is your friend

I only officially provide support in English. But if someone emails me in another language I will use Google translate to read their email and reply in English, including a translation of my reply from Google translate. The quality of the translation may not be great, but it is probably good enough.

Use the right tone

Being professional doesn’t have to mean cold and impersonal. Try to sound like a real person, rather than a robot. Include your name in your signature. I address people by their first name (where known) and I’m not above including a smiley, where I think it is appropriate. Different markets and cultures may demand different levels of formality. Usually you can take your cue from how formal the customer is. Above all, try not to blame your customer or make them feel stupid.

Only support your own product

It isn’t your job to teach your customer how to use a computer. Try to steer clear of providing support that isn’t directly related to your own product. Otherwise you might find you end up as their general IT helpdesk.

Get the price right

If you are swamped in support emails, consider raising your price. Depending on the price elasticity of your product, you may be  able to generate the same or more revenue with less customers and therefore (hopefully) less support emails.

Firing a customer is the final resort

Sometimes a customer will buy your product when they really shouldn’t have, either because it is the wrong tool for the job or because they don’t have the skills required to use it. They will then bombard you with email after email. In such cases it may be best to refund them. Allow them to keep using the software, but tell them that you won’t be able to provide any further support. Something along the lines of “It appears that our software is not a good fit for your requirements. We have therefore refunded your purchase in full. Please feel free to keep using the software, but please note that we won’t be able to provide further technical support.”. This is the nuclear option. I have only had to resort to it a handful of times in 7 years.

Don’t tolerate abusive customers

The customer is not always right. Buying your product does not give them a right to be abusive, no matter how much they paid. Politely and professionally fire them if they can’t behave like a decent human being.

Never send an email in anger

People can sometimes be unreasonable, even downright rude, especially when they are safely at the other end of an Internet connection. But never, under any circumstances, respond with a rude or sarcastic email. Your email might be posted onto forums for all the world to see, forever more, devoid of its original context. Not good. Also, sending a rude response is only going to pour petrol on the fire. Always keep your emails polite and professional. If you find yourself getting angry, go and do something else for a while, until you can send a calm reply. If you can’t reply professionally, don’t reply at all.

Use the right tools

You don’t need a lot of tools to provide good support. I mainly use:

  • an email client (Thunderbird)
  • a bug/feature request tracking database (OnTime)
  • a screen capture tool (SnagIt)
  • a phrase expander for quickly typing common phrases (PhraseExpander)
  • a database of licence keys (home rolled)
  • VM software for emulating different operating systems (WMWare Workstation)

As I am the only one doing support I find that it is sufficient for me to use my Thunderbird email client to check previous correspondence (search by email address), track status (using different coloured tags for: awaiting their response, follow-up later etc) and enforce a simple workflow (move to different folders). If you have multiple people doing support you may also need helpdesk software (such as Helpspot) and/or a ticketing system.

You can use remote access software such as CoPilot to remotely log in to a customers computer. But I try to avoid this where possible, as it is time consuming and also the customer might blame me for any problem they have with their computer afterwards (e.g. a virus infection).

Think twice before outsourcing support

It is cheap to outsource your support to e-workers in developing countries. But they won’t know or care about your product as much as you do. And moving yourself further away from the customer reduces that all important feedback that you need to keep improving the product.

Time new releases carefully

You are going to get the most support emails after you put out a new release. So try to avoid putting out a new release just before you go on holiday.

Have the right attitude

While it can be frustrating to provide support to someone less technically minded than yourself, remember that not everyone is a computer geek and these people are paying your salary.

Remember the golden rule

The basic rule of technical support is to treat your customers how you would wish to be treated. If you bear that in mind, you shouldn’t go far wrong.

Further reading:

If You Want to Write Useful Software, You Have to Do Tech Support (Nick Bradbury)

Did I miss anything? What have been your experiences supporting your software? What surprised you?