Tag Archives: business

It might be a good thing if someone hates your product

Nobody likes getting an email message telling that that the end result of all their hard work is a piece of garbage (or worse). It is a bit of a shock, when it happens the first time. One negative piece of feedback can easily offset 10 positive ones. But, hurt feelings aside, it may not be all bad.

For a start, that person actually cared enough about your product to take the time to contact you. That is not something to be taken lightly. A large number of products fail because they solve a problem that no-one cares about. Apathy is very hard to iterate on. At least you are getting some feedback. Assuming the comments aren’t completely toxic, it might be worth replying. Sometimes you can turn someone who really hates your software into a fan. Like one of those romantic comedies where an odd couple who really dislike each other end up falling in love. Indifference is much harder to work with. The people who don’t care about your product enough to communicate with you, are the dark matter of business. Non-interacting. Mysterious. Unknowable.

Negative emails may also contain a kernal of useful information, if you can look past their, sometimes less than diplomatic, phrasing. I remember having the user interface of an early version of PerfectTablePlan torn apart in a forum. Once I put my wounded pride to one side, I could see they had a point and I ended up designing a much better user interface.

In some cases the person contacting you might just be having a bad day. Their car broke down. They are going through a messy divorce. The boss shouted at them. Your product just happened to be the nearest cat they could kick. Don’t take it personally. You need a thick skin if you are to survive in business.

But sometimes there is a fundamental clash between how someone sees the world vs the model of the world embodied in your product. I once got so angry with Microsoft Project, due to this sort of clash of weltanschauung, that I came close to throwing the computer out of a window. So I understand how frustrating this can be. In this case, it is just the wrong product for them. If they have bought a licence, refund them and move on.

While polarisation is bad for society, it can good for a product. Consider a simple thought experiment. A large number of products are competing for sales in a market. Bland Co’s product is competent but unexciting. It is in everyone’s top 10, but no-one’s first choice. Exciting Co’s product is more polarizing, last choice for many, but first choice for some. Which would you rather be? Exiting Co, surely? No-one buys their second choice. Better to be selling Marmite than one of ten types of nearly identical peanut butter. So don’t be too worried about doing things that polarize opinion. For example, I think it is amusing to use a skull and crossbones icon in my seating software to show that 2 people shouldn’t be sat together. Some people have told me that they really like this. Others have told me it is ‘unprofessional’. I’m not going to change it.

Obviously we would like everyone to love our products as much as we do. But that just isn’t going to happen. You can’t please all of the people, all of the time. And, if you try, you’ll probably ending pleasing no-one. Some of the people, most of the time is probably the best you can hope for.

12 rules for software business happiness

Here are a few rules for happiness that I have learned (often the hard way) running a solo software business since 2005

Make sure your important stuff is backed-up automatically

Any sort of manual back-up is going to get forgotten. Back-up to more than one place, at least one of which is offsite.

Stay away from the bleeding edge

Stick with tried and trusty tools and technologies, where you can. JQuery will probably be here in another 10 years, but the latest and greatest Javascript framework might not.

Use good suppliers

You need your hosting company, payment processor and other critical suppliers to be rock solid. Think twice about going with a supplier just because they are cheap. Changing suppliers can be a pain, so ask around before trying a supplier.

Use version control for everything important

It matters less which version control system it is. Periodically making a copy of your source folder is not a version control system!

Don’t promise ship dates

Developers are notoriously bad at predicting dates. If you promise a date and get it wrong (and you will) then you either have to miss the date or cut corners. Neither is good.

Never send an email you might later regret

If you are starting to feel angry writing an email, then stop writing. Come back to it later. Or maybe write it, feel a bit better, then delete it without sending.

Write documentation as you go

Few people enjoy writing documentation. But if you leave all the documentation until you have finished programming, then you are likely to rush it and forget stuff.

Have a checklist

Automate where you can. Have checklists for everything else. Keep updating your checklists.

Get someone else to proof read everything

Typos are embarrassing, but it is impossible to proof read your own stuff. So get someone else to proof read any stuff that customers see: web pages, newsletters, documentation etc.

Never release changes just before going on holiday

You don’t want to have to be fire-fighting a new bug when you should be on the beach with your family/friends.

Don’t try to do everything yourself

You could spend weeks learning about taxes, web hosting, CSS or any number of other topics that aren’t central to your business. But why bother? Pay someone who already know this stuff.

Embrace imperfection

If you wait for perfection, then you are never going to ship anything. Just make sure each release is better than the last. Good enough is good enough.

It’s great to be in the software products business

hard at work on my software businessThose of us who own software product businesses sometimes grumble about what a difficult business it is. Although its indoor work with no heavy lifting, it has it’s frustrations: software piracy, customers who moan about paying a whole $0.99 for thousands of hours of work, buggy third party software, RSI, chargebacks and the catastrophic consequence of accidentally offending the great god Google, to name but a few.

But reading Kitchen Confidential brought home to me just what a hard business it is to run a restaurant. You have to make a major financial outlay to fit out the restaurant and kitchen. You have rent and staff salaries to pay every month, regardless of whether customers come or not. Staff turnover is generally very high in the catering business, so you are continually having to hire new staff. You have to deal with drunken, unreasonable and dishonest customers. Possibly also drunken, unreasonable and dishonest staff, who have ready access to sharp knives and boiling liquids. Theft by staff can be a real problem. You have highly perishable stock. If you don’t order enough, you have to turn people away. If you order too much, you have to throw away the excess or risk poisoning your customers. You have endless deliveries from suppliers, which you have to check to ensure they are the correct amount and quality. You have to keep the restaurant clean. Extremely long hours are standard. Even if you are doing well, you can’t seat more people than the restaurant can physically hold. A restaurant that has to turn people away Fridays and Saturdays might be empty on Monday. And success brings its own problems as you can only increase the scale of the operation by expensive and disruptive  measures such as opening a new restaurant or moving venue. The relentless overheads of staff, rent and stock mean that cash flow is a huge issue. It’s no wonder that restaurants fail so frequently.

Running a software product business is pretty cushy by comparison. You can start your own software product business with just a PC and a generous dollop of time. Nearly all the issues related to manufacturing, suppliers, stock and shipping go away when you are dealing with electrons rather than atoms. If you do make a mistake, you can usually put it right just by making another release. The worst a disgruntled customer is likely to do is post a snarky comment on a forum or send you a nasty email. High margins and low overheads means that cash flow is much less of an issue than for most other businesses. Software businesses also scale much more easily than other businesses. You aren’t tied to a particular location and don’t even need to rent an office building (billion dollar company Automattic has a fully distributed workforce and no company office).

The software business is a great business to be in!

 

‘Start your own software business’ training course 2015

trainingI am planning to run my ‘Start your own software business’ training course again this year, probably in September. It is an intensive weekend course, at a hotel in my home town of Swindon (in the UK). It is aimed at people who want to start (or at an early stage of starting) a software company selling desktop or web software. It builds on my 10 years of experience running my own software company and consulting to other software companies. It’s the course I wish I had attended when I started my business.

I know a lot of courses are online now. But I think you get more from face-to-face training. More intensive. More interactive. Less distractions. Also you get to meet other people in the same boat. I have run the course twice before and the feedback was very positive. You find out more and read comments from previous attendees here.

Fill in the form on the training page if you are interested. I am happy to answer any questions in the comments, by email or on twitter.

Coding my way around 100 countries

Running a software company from a laptop while travelling the world sounds like a dream lifestyle. But what is it really like? Steve McLeod was kind enough to share his experiences as a nomadic software entrepreneur.

Running a one-person software company while travelling doesn’t work. And yet I’ve been doing it for years. I’m writing this in Patagonia, in a hotel lobby. There’s pop music playing too loud to fully concentrate. The Internet connection is sketchy; in fact I’m writing this now because the Internet is unavailable again. The chair is not good for my posture. The table is too high for comfortable typing. My productivity is abysmal.

I’m partway through adding a new feature to my software, and doing it in this environment is unproductive. There is a big glacier an hour’s drive from here that I’d rather be viewing. I know that tomorrow or the next day, when I see the glacier, I’ll come back to the hotel too exhausted to code or to deal with customer support.

What does this mean for my business? Low productivity and poorer-than-intended customer support response times, which lead to lower sales. My alternative to spending a decent part of each year travelling would be to stay in my home city, working better, selling more software and earning more money.

Here are some real problems I’ve faced working on the road:

  • In Ukraine my MacBook Pro’s screen stopped working. I didn’t intend to return home for another week. I had to choose between returning home earlier; trying to get the computer serviced promptly in a foreign country; supporting customers for my Mac software for the next week on Windows computer in Internet cafes; or buying a new computer and trying to get all my development tools on it.
  • In Turkey, YouTube was blocked. Which was mostly a good thing for productivity, but as my video demo was hosted on YouTube at the time, I couldn’t monitor it.
  • In Syria, Facebook was blocked. Okay, that was incontrovertibly good.
  • In Turkmenistan there was no Internet in my hotel. Or any hotel, just about, except on age-old computers in one hotel’s inaccurately-named “business centre”. No WiFi in cafes. For a few days my company was getting no attention.
  • Travelling in a shared taxi for hour after hour between obscure locations in Iraq (true story!) left me utterly spent. All I wanted to do after getting into a hotel is to relax. But that customer support backlog is nagging, nagging, nagging at me.
  • Skype is blocked in Qatar and in some other countries. This really ruins the conference call you had planned.
  • In Lebanon I needed to update my product with a critical fix. The Internet at the time in Beirut was so bad, it would take an hour to upload my 20 MB software. An hour! During which time I’m hoping not to get a network disruption, from one of Beirut’s daily 3-hour power outages. My 2-minute scripted solution for building and uploading updates, followed by a 5-minute smoke test turned into a 2-hour task, during which time I need to keep ordering coffees so as to keep the staff happy in the cafe supplying me with WiFi.
  • Coding while sipping a cocktail in a beach-side bar in the Caribbean is difficult. The brilliant midday sun makes the laptop screen hard to read. Actually that doesn’t sound too bad at all.

A very real risk includes getting my computer stolen, which, by some miracle, has not happened yet.

How do I make this running-a-one-person-company-while-travelling thing work? Here’s some things I do:

  • I keep everything in multiple online places. I use DropBox for documents and code. I use GitHub too. Without excuse, everything needs to be recoverable without drama if the computer breaks or gets stolen.
  • I set aside frequent rest periods where I can get through a backlog of harder customer support issues and work on new features or bug-fixes. It is actually nice sometimes to not climb Andean glaciers nor to see orang-utans in Borneo, and instead to do something prosaic like working for a day or two.
  • I try to be disciplined in keeping my customer support inbox empty. When I arrive at a new hotel after a long, dusty trip, before rewarding myself with an ice-cold beer, I’ll force myself to tackle the inbox.
  • In recent months I’ve been outsourcing customer support. I pay my support representative a monthly fee in return for which she deals with what she can handle herself each day. This helps so much.
  • I aim to spend my months in my home city in high-intensity bouts of feature-adding, taking advantage of having a good work environment.
  • I produce desktop software. Not SaaS, which would be terrible to support and monitor in these environments.
  • Moving source control from Subversion (which needs an Internet connection to be usable) to Git has helped a lot.
  • I concentrate on keeping my software as solid as I can, and the user experience as smooth as possible. These two things help reduce the customer support load.
  • I try to keep things in perspective. Yes, getting my computer stolen would be a minor catastrophe. Yes, a sketchy Internet connection is annoying. Yes, some customers might get irritated at the occasionally slow support. But here’s the other side: Three years ago the city I grew up in was destroyed by two earthquakes, killing hundreds and destroying a significant amount of the city. A year before that I suffered a terrible personal tragedy. Do other things matter so much that I should sit at home to keep customers as satisfied as possible?

Although my lifestyle might seem enviable, it can be lonely at times. You don’t realise how nice it is to be able to regularly catch up with the same friends for dinner or a drink until you can’t do this for long periods. Luckily, I often manage to find someone I know well to join me for part of each trip. Here in Patagonia and beyond, my girlfriend is travelling with me for two months or so. I’d not be travelling for so long anymore without companionship.

On the other hand, my one-person software company has enabled me to reach a goal I’ve long had: to travel to more than 100 different countries. I earn a decent income from my work and thousands of customers love my software. And that is enough for me.

Photos copyright Steve McLeod.

Steve McLeod runs Barbary Software, a one-person software company. Barbary Software’s main product is Poker Copilot, hand history analysis software for online poker players on Mac OS X.

Further reading:

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?

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.

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.