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!

 

Business of Software UK 2015

bos europeI went to the UK Business of Software conference in Cambridge (England) last week. I hadn’t been previously because I associated it more with VC backed companies that wanted to grow fast, rather than lifestyle software businesses such as mine. But I decided to give it a try this year. I really enjoyed it. The organization was good, the attendees were an interesting, diverse and friendly group, the talks were engaging and varied and it was a great atmosphere. There were people from IBM and Microsoft, right down to other 1 person companies. I made some new contacts and caught up with some old friends.

Redgate are heavily involved in BOS. I got a tour around their offices. They seem very committed to providing a great culture for their staff. This manifests itself in large numbers of Nerf guns and the strangest meeting room decor I have ever seen. I only ever hear positive things about Redgate, so they must be doing something right. I noticed that they are very dedicated to the ‘wall of post-it notes’ approach to planning. I tried to persuade them to try my Hyper Plan product instead, but I don’t think I succeeded.

The talks were very varied, covering topics such as:

  • How King.com improve Candy Crush customer retention by analysing 1TB of user generated data per day.
  • The origins of the Raspberry Pi project.
  • How the founder of Kashflow.com went from convict to owner of a very successful SaaS business.
  • Lessons learnt from growing a software product business.

The lightning talks were a highlight and I particularly enjoyed Mark Dalgarno’s talk on anti-problems (getting inspiration by solving the opposite problem, e.g. improving your support by thinking about what you could do to make your support worse).

If you are in a medium to large sized software company (or want to grow one), this is the conference for you with strategic level talks and lots of people who have successfully grown software companies. If you are in a small bootstrapped software company then Microconf is probably more relevant for you, with more tactical level talks. But if you can afford the time and expense to go to both, then I would recommend both conferences unreservedly.

We were set an appropriately geeky puzzle to solve. It took me about 30 minutes to crack it. Sadly I understand that somebody had solved it days before I even started looking at it. Oh well, it was fun.

We finished up the conference having a drink in the sunshine, at a beautiful spot next to the river. Just when I thought things couldn’t get any better, Professor Stephen Hawking trundled through the middle of our group! Thanks to Mark Littlewood and his team for putting on such a great conference.

7 Reasons Software Developers Should Learn Marketing

1. Improved career prospects

The intersection of people with development skills and marketing skills is pretty small. Being in this intersection can only help your career prospects.

development marketing skillsAlso an in-depth understanding of software is very helpful when you are marketing software, compared to a marketer who doesn’t really understand software.

2. It’s not rocket science

The basics of marketing boil down to:

  • Find out what people want/need/will pay for.
  • Get people’s attention cost effectively.
  • Communicate what your product does.
  • Choose the right price.

None of these things are as simple as you might think, if you haven’t tried them. But its not rocket science to become competent at them. Hey, if the average marketing person can do it, how hard can it be? ;0)

3. Less reliance on marketing people

If you don’t have any marketing skills then you are completely reliant on your marketing people to do a good job at marketing the software you have poured your soul into. Are you comfortable with that? How do you even know if they’re doing a good job?

4. Number crunching

Developers tends to be well above average in their analytical and mathematical skills. Online marketing tools such as Analytics, AdWords and A/B testing generate vast amounts of data. Being good at crunching numbers is a big bonus for some aspects of marketing.

5. It’s interesting

When I started out as a professional developer some 30 ago, the thought of being involved in the sordid business of marketing would have appalled me. But, as I have got more and more involved in the marketing side of things, I have found it really rather interesting and creative. There is a lot to learn, including: pricing, positioning, customer development, segmentation, partnerships, email marketing, SEO, AdWords, social media and conversion optimization. I think of development as hacking computers and marketing as hacking humans.

6. Diminishing returns on development skills

The more time you spend as a developer, the better you are going to get at it. But you will run into diminishing returns. E.g. you won’t improve as much between your 9th and 10th year of programming as you did between your 1st and 2nd year. Learning a completely new skill avoids diminishing returns.

7. You’ll need it if you ever start your own software business

If you ever start your own software business you will quickly find that marketing skills are at least as important as development skills. So it’s a huge plus if you already have some marketing chops. Even if you have a VC sugar daddy who is going to give you enough money to hire marketing staff, you’ll still need some marketing skills to know who to hire.

If you are employed as a developer full time, I recommend you jump at any chance to get involved in marketing or go on a marketing course. I also run a training course for people wanting to start their own software business that includes a lot of material on marketing.

South West Bootstrappers meetup

I am organizing a regular meetup in Swindon (UK) for people who are running (or are interested in running) their own bootstrapped (i.e. not VC funded) software product business. Come along and talk shop with other aspiring and experienced bootstrappers. It doesn’t matter if you are developing for web, Windows, Mac or mobile.

The first meetup is on the evening of Tuesday 16th June 2015. You can find out more and RSVP at meetup.com/South-West-Bootstrappers/.

swindon meetup

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

The mystery of the Chinese downloads

A spider (probably not Chinese)It’s a good to idea to regularly look through the logs of your website. You’ll often find something interesting. In March 2013 I was looking through the web logs for my seating planner software and I noticed the number of downloads of the Windows version of my software had gone up by a factor of 5, compared to the previous month. Everything else stayed pretty much the same:

  • The number of visits to the download page hardly changed.
  • The number of completed Windows installs hardly changed.
  • The number of downloads of my Mac installer hardly changed.

Odd. On further investigation it turned out that a number of Chinese IP addresses were downloading my Windows installer again and again. My software is not localised into Chinese and I get very few sales from China. Also there were no installs from these IP addresses (my software puts up a ‘thank you for trying’ page when it is first run). It was a substantial increase in bandwidth, but not enough to be a serious denial of service attack. Very odd.

I am on an unlimited bandwidth hosting contract so I wasn’t paying for the extra bandwidth. But I was worried that the volume of requests would slow down my web site. So I put a .htaccess file in the downloads directory to block the worst offenders.

After a few months I got the bandwidth from China down from ~30GB per day to ~100MB per day. I have been playing this game of ‘whack a mole’ every since. Currently I have some 1700 Chinese IP addresses blocked.

downloads per month

PerfectTablePlan for Windows downloads per month 2013/2014

As an example I recently blocked IP 211.136.10.56, which was downloading PerfectTablePlan around 20 times per day, but never visiting a page on my website.

Here are the logs from one day (via Web Log Storming), picked at random before I blocked their IP:

logsAnd here is one of those records in more detail:

logWeb Log Storming classifies it as a ‘spider’.  whois.domaintools.com says the IP belongs to ‘China Mobile Communications Corporation’. The IP is not listed on projecthoneypot.org and I wasn’t able to find out any more from casual Googling.

To block the this IP I just added this line to my .htaccess file:

Deny from 211.136.10.56

But it is a bit of a nuisance to keep having to do this.

Other software companies are having similar issues. But I haven’t come across any compelling answers about why this is happening. Perhaps it is a way of masking some other nefarious activity? Does anyone have any idea what is going on?

Keyword Funnel is now FREE

Adwords Keyword FunnelI launched Keyword Funnel last year. It was only my second software product launch in 10 years. Keyword Funnel is a utility to help AdWords advertisers efficiently add hundreds or thousands keywords to their campaigns. It was based on some tools I wrote for running my own AdWords campaigns.

It was a commercial flop. I sold a few licences, but not many. Most telling was the lack of any engagement. There were very few emails from website visitors and not many people who visited the website downloaded the free trial. There wasn’t even much interaction from the people that did buy licences. This was very much in contrast to my PerfectTablePlan product, where there was much more engagement straight away.

I could have tried to pivot or push on through using some of the stuff I have learnt over the last 10 years, but it felt like kicking a dead horse up a hill. Better to focus my finite energy and resources on more fruitful areas. I also decided that I just didn’t like AdWords enough that I wanted to spend all day thinking about it (and that was before my recent falling out with Google). I didn’t want to take money from people for a product that had no real future and for which I had lost enthusiasm. So I pulled the plug within a few months of launch. But it seems a shame to waste the work that went into it, so I am re-releasing it as a free product in the hope that someone will find it useful and to increase my luck surface area. You’re welcome.

As far as I can determine, the reasons it failed are:

It didn’t solve a real problem for enough people. This is the reason most products fail. I like to run my AdWords campaigns with hundreds or thousands of ‘long tail’ keywords. I assumed that plenty of other people did to. And, if they didn’t, they would once they had a tool that made it practical to do so, especially in the face or ever increasing competition and bid prices. But not many other people seem interested in long tail campaigns. I should have researched this more.

The AdWords market seems to be sharply divided into amateurs (people running small campaigns for their own products) and professionals (people running multiple large campaigns for other people). The amateurs have a million other things to do and want to spend as little time as possible on AdWords. In fact most of them seem to set up a campaign and then completely ignore it (bad idea). The professionals are happy to spend hundreds of dollars per month on a tool, but they want it to do everything, including creating ads and setting bids. There doesn’t seem to be much of a market in between for low cost utilities, such as Keyword Funnel. I’m not sure how I could have found this out without trying to sell into this market.

I found it hard to get any traffic. I am not an ‘Internet famous’ authority on AdWords. I wrote to various AdWords bloggers offering them free licences. But most of them seemed to be associated with other AdWords tools and weren’t going to promote a competing tool. I also tried an AdWords campaign, but unsurprisingly the competition was very strong.  It was hard to get clicks at a price I could afford as competitors with more expensive products could afford to spend a lot more per click. Also conversion rates on the clicks I did get were poor.

The user interface wasn’t perhaps as intuitive as it could have been. I didn’t really think enough about workflow.

Failing is never fun, but I knew it was a very real risk when I started and I did learn some useful lessons.

Before I wrote any code, I tried to do some validation of the product by talking to friends and people at conferences who used AdWords, including some AdWords professionals. There seemed to be some interest and I managed to get 60 people signed up to the beta mailing list. But I found it hard to get people to understand my vision of the product. That should have been the first warning signal. But, being a developer at heart, I used that as an excuse to build a beta.

I did the validation back-to-front. I mostly pitched them my idea for Keyword Funnel and then tried to gauge their interest. That doesn’t really work very well. What I should have done was ask people what problems they were having with AdWords and then waited to see if any of them mentioned ‘adding lots of keywords’, ‘grouping keywords into ad groups’ etc.

As I released new beta versions of the product, the initial interest seemed to peter out. I probably should have killed it at this point. But I persuaded myself that, having come this far, I might was well release it (paying customers being the only true validation). This was more down the the ambiguous nature of the feedback than sunk cost fallacy.

I followed my own advice and cut some corners in the development, but not enough. The planned 2 months part-time, ended up being 6 months part-time. I wasted time on activities such as: having a logo designed, writing licensing code, writing detailed documentation and setting up payment processing. In retrospect I should have waited until I was sure there was a market for Keyword Funnel before I bothered with any of that. When I launched my new Hyper Plan product I released a public beta within 5 weeks of starting work on it (part-time). I offered it free for several months (it just died on a certain date). I only added licensing code and set up payment processing when I felt there was sufficient interest to justify the effort. Hyper Plan just has a 1 page quick-start guide and the logo was designed in 10 minutes by me (both still on the ‘to do’ list to improve soon).

It is hard to get noticed in a new market. I knew this already, but perhaps I had forgotten how much hard work it was in the early days of PerfectTablePlan. As I already have an audience of thousands of event planners with PerfectTablePlan, it is much easier to cross-sell them Hyper Plan than it would be to create that audience from scratch.

Having had one successful (in my terms) product, I was perhaps a bit arrogant and didn’t spend as much time researching the market as I should have done. But validating a software product is hard, especially when it’s a bit different to everything else out there (I’m not interested in copying existing products). I had no real idea how successful any of my products would be before I launched them. PerfectTablePlan was much more successful than I expected. Keyword Funnel much less successful than I expected.

While the opportunity cost of Keyword Funnel was quite high, in terms of cash, I only spent a couple of thousands dollars. This was mostly on the website design and I reused a lot of that for Hyper Plan.

You can download Keyword Funnel here. Despite its lack of commercial success, it does (I think) do some pretty cool things:

  • Cleans up lists of keywords which you can import from various sources (e.g. removes foreign characters, capitalization and duplicates).
  • It has a nice keyword multiplier (much better than the Google equivalent IHMO).
  • Removes an unwanted keyword from all phrases in a single click.
  • Allows you to analyze all the phrases a keyword appears in.
  • Groups keywords into related ad groups.
  • Produces output in a form you can read straight into AdWords via AdWords Editor.

It’s completely free, you don’t even have to give me your email address. Maybe I will find a way to make some money off it at some point in the future (NB/ I am not interested in taking on AdWords consulting work at present).

Thankfully my new Hyper Plan product is doing much better than Keyword Funnel did. I wrote a bit about my approach to launching Hyper Plan here. It is too early to tell if it well do as well as PerfectTablePlan, but I am very happy with how it is doing so far.