Category Archives: marketing

Adwords vs Twitter vs LinkedIn ads, a small experiment

I am running a course for people who want to create their own commercial software products. Promoting the course has been a challenge. How do you reach a programmer, sitting in his cubicle, dreaming about making a living from selling his own software? In particular, how do you reach ones who might pay to attend a weekend  course in the UK in March? Most of the attendees of the last course came via this blog. But I also want to try to reach people who have never heard of this blog. So I have been experimenting with paid ads via Twitter, LinkedIn and Adwords. Crucially, all 3 of them allow me to restrict my advertising to people in the UK. I thought the initial results were interesting, so I am sharing them here.

Adwords

Google Adwords allows you to show your ads alongside organic (non-paid) search results when people type relevant phrases. But it is hard to think of phrases my target audience (and only my target audience) might be searching on. Terms such as “software marketing” and “software sales” are too vague. In the end I came up with about 200 phrases, including  “sell my software”, “software startup”, “start a software company”, “name software product” and “sell software online”.

One of my Adwords ads (I tested several).

One of my Adwords ads.

But there just aren’t a lot of searches on these phrases. Bidding between £0.25 and £1 per click (depending on relevance) for UK searches over the last 47 days I have managed a meagre:

  • Impressions: 1.7k
  • Clicks: 20
  • CTR: 1.13%
  • CPC: £0.31

Looking at the Dimensions>Search terms report to see the phrases typed by the people who clicked, the clicks seem fairly well targeted. And my impression share is >25% for the majority of the adgroups, so I don’t think increasing my bids is going to make a big difference to the amount of traffic. Adwords just doesn’t work that well unless there are unambiguous phrases your potential customers are actively searching on. I haven’t tried display (content) ads, as these have never worked well for me in the past.

LinkedIn

I also tried running LinkedIn ads targeted at people who are based in the UK and list programming skills such as “Programming”, “SaaS”, “Subversion”, “Git”, and “C++”. The minimum bid per click is $2.00 (ouch), so I bid $2.05 per click.

linkedin-ad

One of my linkedIn ads.

The result over 12 days have been:

  • Impressions: 133k
  • Clicks: 54
  • CTR: 0.04%
  • CPC: $2.00
  • Leads: 2

That is a good number of impressions, but a horrible CTR. Looking at the breakdown of clicks by industry and job function in the reporting, the clicks seem fairly well targeted. A ‘lead’ is where someone expresses an interest and LinkedIn allows you to send them a message. But you don’t get their email address and it appears you can only message them through LinkedIn once.

Twitter

I paid to put a sponsored tweet in the timeline of Twitter users in the UK, based on who they follow. I picked the Twitter handles of 4 other people who blog about bootstrapping.  Note that Twitter claims they won’t show ads to all the followers of these Twitter handles, but to people who are interested in similar things to the people who follow those Twitter handles. That seems a rather hair-splitting distinction, but I guess it allows them to claim they aren’t exploiting the popularity of their customers directly. I bid a maximum of £0.75 per ‘engagement’ (click, retweet or follow). I didn’t include an image with the tweet as I couldn’t really think of anything relevant at the time (a classroom?). The text of the sponsored tweet was:

Sell your own software. Be your own boss! 2 day course, 22/23 March, Wiltshire, England. Full details at: https://successfulsoftware.net/software-business-training-course/

The result of this 1 sponsored tweet over 2 days has been:

  • Impressions: 5.8k
  • Clicks: 174
  • CTR: 3%
  • CPC: £0.29
  • Favorites: 7
  • Retweets: 2
  • Follows: 1

Given the small number of favorites, retweets and follows, it is hard to know how well targeted this was. I guess a 3% CTR implies it was fairly targeted. The fact that the CPC was a lot less than my maximum bid may be down to Twitter ads being a relatively new medium, without too much competition (yet).

The reports have left me confused. Twitter report 3,112 impressions and 106 clicks for followers of my own Twitter handle @successfulsw.

twitter-reportingBut:

  • I didn’t tick the Also target your followers check box, as it seems idiotic to be paying for tweeting to people that I can tweet to for free.
  • I don’t have 3k Twitter followers.
  • I direct messaged a few of my Twitter followers based in the UK and they said they hadn’t seen a sponsored tweet from me.

This was the response when I queried Twitter support:

Thanks for the information. We have investigated this issue and we can see that your handle is in your @handle section of your campaign, this is because implicit targeting was enabled (targeted followers with similar interest as your followers), that is why your handle is showing there. We have confirmed you have a nullcasted Tweet and this Tweet is not showing to your followers. We realize this may be confusing and we’ll work with our product team to improve how this looks on the user interface.

The reporting of the interests of the people that engaged doesn’t make sense either. It says that of the 5.8k impressions, 4.7k were to people interested in “Hip hop and rap” and 4.5k to people interested in “NFL football”. We don’t even play NFL football in the UK!

twitter reporting interestsThis was the response when I queried Twitter support:

I understand it’s confusing, and I’ll share this feedback with my team. What you’re seeing is a cumulative total of paid/earned/organic engagements. This total also considers secondary account signals eg a users prime interest is photography, and a secondary interest in baseball. I can assure you that you paid for primary interests only, and organic/earned and secondary engagements were not charged for.

I am still none the wiser about the “NFL football” result. It does make me wonder how accurate their ‘targeting by interest’ option is.

Conclusion

This is obviously only a very small experiment and it is hard to judge exactly what the quality of the traffic was like (I was sending traffic to a wordpress.com page and I am not able to measure detailed analytics, such as bounce rates or time on page). But I even these limited results are still illuminating.

I like Adwords, particularly the fact that it shows your ad to people at the point they are searching for a solution to their problem. It has worked pretty well for my table planner app over the last 9 years, despite bid price inflation. But Adwords is only effective when there are well defined phrases with reasonable search volumes you can target. That doesn’t seem to be the case for my course.

LinkedIn is a good way to target people according to their skills or job function. There are lots of different targeting options and the traffic volume was better than Adwords. But the clicks are very expensive. Given an industry standard 1% conversion rate I can afford to pay $2 per click to promote a £600 course. But forget it if you are selling less expensive products.

Twitter ads seem quite promising. There are lots of targeting options and you can get a lot of traffic quickly for a relatively low price per click [but see update, below]. I could have got a lot more clicks by targeting more Twitter handles and/or increasing my bid. But its not something you can leave running continuously like Adwords or LinkedIn. You have to keep sending new sponsored tweets. Also the reporting is confusing and of dubious veracity. Finally it feels slightly grubby to be targeting the followers of your peers and/or competitors so directly. But I think it shows promise. If you are going to try it, I recommend you do so soon. The law of shitty clickthroughs means that it is sure to be a lot less cost effective in a few years time.

**** Update ****

I noticed that the clickthroughs to the URL in my sponsored Twitter post was only about a third of the clicks reported by Twitter. When I asked Twitter about this they replied:

Twitter Ads measures engagements which we define as “clicks” within the Promoted Tweet Dashboard are defined as follows: clicks on the URL, hashtag, Tweet copy, avatar and username, or the expand button. It’s likely that the other analytics you are seeing are tracking link clicks.

So I am paying for someone to just click the Tweet copy (text)! The cost for a clickthough to my site is actually around 3 times the CPC reported by Twitter. That makes it around £1 per clickthrough, which is much less attractive.

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.

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.

3 practical tips for finding software product ideas

software product ideasToo many software products fail because no-one bothered to do basic market research. This is a guest post from Edmundo López B. with some useful advice on finding a viable market niche before you start creating your product.

The process of building software for a niche market is more or less well documented online. The basic workflow I found is (for example here or here):

  • choose some niche (with potential)
  • find out the problems that you can solve in that niche
  • create a product to solve the problem
  • sell it
  • enjoy life :-)

Here are three things you can look for when asking people about their problems.

Ask for the painful tasks that they do, not for the problem you can help with

The people I first talked to were persons that I already knew, so my pitch for them was: “Hello. As you know I’m a software engineer. I’m looking for problems to solve. I want to build software and sell it. And, if I solve a real problem, I’m sure people will pay for it. I was wondering if there is some problem in your business where you need some help. I could create some software, solve your problem and then sell it. I can help you with your problem and you will help me to find my problem.”

The first response was always positive however, everybody I talked to started to look at a problem they thought could be solved by a computer. The problem with that is that people’s vision of computers is very limited. First, some people limit the software I can build to desktop applications or some platform they know well. Second, they try to find problems to give you, and not the problems they really have. For example: one of my interviewees said to me that she needed some kind of tracking system for the expenses of her very small business (a small farm producing eggs). I told her: “Wow, that sounds like a problem I could solve, how are you solving that problem right now?.” She told me: “I’m not, I’m busy bootstrapping the whole business right now. But later I’d certainly like to have something for that.” Of course, if she is not solving that right now, then that is not a real problem. She sort of made that problem up to give an answer to my question.

People have real problems but sometimes they don’t even know they could tackle that problem with a computer. So, the lesson here is that you have to get them to tell you their real problems. Even the ones they don’t think that could be solved by a computer. You are the computer expert, not the people you interview, so you need to find out the real problem out there. Also it doesn’t have to be a problem from the future, it has to be an actual problem now. The question that I found works best is the following: Tell me about your day and what activities are the most tedious and boring to do, but do not add much value to your business. (I’m not the first to come up with this question, but I don’t remember the source, sorry.)

Look for their existing solution and ask what is wrong with it (the Excel spreadsheet)

From the people I interviewed, 2 of them had an Excel spreadsheet that solved their problem in a way that was not the best, but did the job. The third one had plans to solve her problem with an Excel spreadsheet in the future. Joel Spolsky talks about how Excel and other horizontal software are nothing more than glorified data structures. It is true, you can do almost anything involving simple mathematics and tables of data within Excel. Keeping track of costs, sales, etc. are a perfect match for it.

The common engineer will say: “If there is already a solution for that, why roll my own?” The entrepreneur will just ask what isn’t possible with the existing solution and think of ways of improving that. The existence of the Excel spreadsheet is a clear sign that there is a computing problem that can be solved in a better way. I can give you an example. Two of the persons I interviewed showed me their Excel spreadsheets (an architect and an event manager). A common problem was being able to slightly change some prices in a budget and immediately be able to show the old and the new price to the client.  This kind of information is gold to the person creating an application. This is something they use, and if you can save them time using it, you can add value to their businesses.

If there is no Excel spreadsheet, I just try to find software on the net that does what they need. If there is something really good on the market, I don’t want to compete with them. If you are wondering why didn’t I let them do the search, the answer is simple: they do the search using the traditional channels, colleagues and networks of peers; I focus on the Google search. I’m a developer, I can Google for software in a much better way than they do. It took me an hour to do a research on software for architects. Then you can explain to them the pros and cons of the solutions, help them to sign up for a free trial and tell them if their set-up is supported. The golden rule is to be really helpful. It is true that you might end up finding a customer for someone else. But if there is not a good solution, you are finding a niche for yourself.

Do some simple mathematics to see if the problem is worth solving

My last tip is about the financial aspect. Let us say that you finally found a problem that you can solve. It is painful and there is no solution in the market that can solve it in the way people in that niche want. The question to ask now is: “What are people willing to pay for something like this?” I cannot give you an exact answer but I can tell you that it depends on the value you add to your client’s business.

What you want to know is:

  • How much time does it take monthly to do the task you are solving?
  • How much money could be earned in the same amount of time?
  • How much faster would it be to do the same task with your solution?

The basic idea is to convert saved time to saved dollars. Of course, if your solution saves dollars monthly, it becomes an investment for the business. My limited experience showed me that saving people money and pain gets them really excited.

I can give you an example from my interview with the architect. Once again, the problem was something he was solving with an Excel spreadsheet. I asked him how much time did it take and he told me at least three days. Three days of architect’s time means a lot of money. So, if you can help him solve the problem in one day, you are not only saving his money but avoiding pain (because the problem was painful to solve, but  it needed to be done).

Conclusion

Now it’s up to you. Try to put these in practice, and find a niche to build your first product. Please share your thoughts and remarks in the comments.

Edmundo López B. is a PhD student in computer science at the University of Geneva and an entrepreneur in the making. He loves building things, learning new stuff, and  playing classical guitar. He decided to make the jump directly from school to entrepreneurship. He blogs at edmundo.lopezbobeda.net.

Is desktop software dead?

desktop vs webIt’s rare that I chat to other software developers without someone asking me when I am going to do a web version of my seating planner software. Because the market for desktop is dead, right? SAAS apps is where all the action is!

I think the web is a great platform for some products, not so much for others. Let’s look at the advantages of web apps over desktop apps.

Web advantage 1: No installation

You can access a web app from any device that has a browser. No need to install. There is no doubt this is a major convenience. However most desktop utilities can be downloaded and installed in 1-2 minutes with a decent broadband connection. Also you don’t have to keep logging in to most desktop apps, once they are installed.

Web advantage 2: No upgrades

End-users are always using the latest version. This is definitely an advantage for technical support. But it does take away some choice from the user. Perhaps they weren’t ready to upgrade or preferred the old version?

Web advantage 3: Better user insights

You can analyse how users are using your software. This allows you to improve usability and send out tailored lifecycle emails. It is possible to gather similar information for desktop software, but it involves a lot of extra work.

Web advantage 4: Distributed architecture

If you are writing web apps, you get a distributed architecture for free. No need to do socket programming.

Web advantage 5: Less piracy

Cracks and keygens are a fact of life for desktop software vendors. It is easier to protect against piracy with a web app.

Web advantage 6: Cross platform

In theory web apps are cross-platform. Write them once and they can run on any device with a browser. But browser compatibility issues mean it isn’t that easy in practice, especially if you are still forced to support the dreaded IE6. Also there are solutions (such as Qt) that allow you to deploy to multiple desktop devices from a single code base.

Web advantage 7: Subscriptions

Web apps lend themselves to subscription based payment. This is great because you get a more predictable monthly income and potentially get more money from each customer over the lifetime of the product.

So what about the advantages of desktop apps over web apps?

Desktop advantage 1: Responsiveness

Native apps are more responsive than web apps, partly due to lower level access to the machine and partly due to not having to talk to a remote server. However this advantage is eroding as bandwidth and JavaScript performance improves and more work is carried out by the client in web apps (e.g. using Ajax).

Desktop advantage 2: Reduced hosting costs

The costs of hosting a website for a desktop app is minimal. Typically you just need to serve a few pages and a download file to each visitor. They then won’t need to come back until there is an upgrade. But hosting costs can be significant for a web app, particularly if the app requires large amounts of bandwidth or compute power.

Desktop advantage 3: Better access to hardware

Desktop apps can make better use of the hardware available. For example, you can generally do printing a lot better from a desktop app.

Desktop advantage 4: Better development tools

The old joke is that JavaScript is to Java as the Taj Mahal curry restaurant is to the Taj Mahal. As a C++ developer I am used to working with a fully fledged IDE, debugger, profiler, static analyser and runtime coverage analyser. I tried some JavaScript development recently. Ugh. The development tools seemed very primitive and  JavaScript is a language so hideous that surely even it’s mother couldn’t love it. No classes, no strong typing, no templates and broken scoping. However frameworks such as jQuery have made JavaScript much more accessible over recent years.

Desktop advantage 5: Psychological

Many people feel that anything web-based should be free. Psychologically customers seem more ready to pay for desktop software. Perhaps they feel a greater sense of ownership. This perception is gradually changing for B2B, but I think it is still prevalent for B2C.

Desktop advantage 6: Privacy

Many customers don’t feel confident storing important and confidential information on third-party servers.

Desktop advantage 7: Availability

You can’t use a web app unless the server is up and you have an Internet connection. A desktop app installed on your local machine is always available. You can continue to use it, even if the vendor goes out of business.

Desktop advantage 8: Up-front payment

Desktop apps lend themselves to a single, up-front payment. This is great because you get all the money straight away, improving your cash flow.

So I have come up with similar number of advantages for web apps and for desktop apps. Which is better? It depends, of course. For my particular application, I think a desktop app still has significant advantages:

  • My software can render and zoom in and out of large floor plans better than my web based competitors.
  • I use a genetic algorithm to assign guests to seats. It makes more sense to use under-utilised desktop CPUs for this, rather than me having to pay for a beefy compute server. The thought of writing a genetic algorithm in JavaScript is too awful to contemplate (although Atwood’s law dictates that someone will, if they haven’t already).
  • I can do printing better than my web-based competitors.
  • Most of my web-based competitors seem very feature-poor. I am sure that is at least partly due to poor tooling for web development compared to desktop development.
  • Most of my web-based competitors give their product away for free in the hope of making some money back on ads. I charge for mine.
  • Seating plans can contain sensitive information, particularly for events with celebrities, royalty and heads of state. Some of my customers don’t want this information transmitted to and stored on third-party servers.
  • If my server goes down then I lose sales. But my customers can continue to use my software. Imagine if they were dependent on my server and it went down (or I went out of business) the day before their big event. It brings me out in a cold sweat to think about it.

But other products are a better fit for the web. If I was writing a collaborative CRUD app, I would almost certainly do it as a web app. I have recently been working on a couple of new products. One is a web app and the other is a desktop app. Horses for courses.

A lot of the money I have spent on software over the last few years has been for desktop software. When I had to choose bookkeeping software, I chose a desktop package because I didn’t want to:

  • pay every month
  • store sensitive financial information on a third-party server
  • risk losing all my data if the vendor went out of business

If I look through the list of useful tools and services on this site I see that 51 of them are web-based and 35 are desktop based. Peldi of Balsamiq reported in 2009 that 77% of their revenue comes from the desktop versions of their software. I asked him if that had changed much and he was kind enough to send me the following graph (myBalsamiq is the web version). You can see that it is still nearly 70% 4 years later.

desktop vs web

The line between desktop and web apps is also becoming more blurred. Many desktop apps now use web protocols and embed web browsers. For example, the Qt toolkit allows you to easily create applications that are hybrids of desktop and web. It is also possible to sell a web app that companies host on their own servers. This adds some of the advantages and disadvantages of a desktop app compared to a web app installed on the vendor’s server (SAAS). Perhaps desktop and web apps will converge to the point where there the whole desktop vs web debate becomes meaningless.

So I think reports of the death of desktop software have been greatly exaggerated. There is no doubt that long-term trends ( e.g. increasing bandwidth and attitude to paying for web apps, for B2B at least) have been changing the balance in favour of web apps for some types of product. Particular those where collaboration is more important than graphics or computer power. But I think there will continue to be plenty of markets where a desktop app is a better choice than a web app for the foreseeable future. In the final analysis, customers care a lot more about how well your software solves their problem, than how it happens to be deployed (if they even understand the difference).

Marketing = Hacking the Human

hacking the humanFew people who run software businesses believe the adage “If you build it, they will come” (which is a misquote anyway). In addition to doing a great job programming and supporting your product, you also need to:

  • make sure that you are creating something people will actually pay for
  • find ways to promote your product cost effectively
  • communicate effectively what your product does
  • choose the optimal price

All of which is commonly known as ‘marketing’. If you don’t get these things at least mostly right, your chances of creating a commercially successful product are slim to nothing. This might sound trivial compared to the complexities of writing tens of thousands of lines of robust, efficient code. But things have a habit of looking easy, until you try to actually do them. How do you know someone will actually buy your product before you create it (as Steve Jobs famously said “People don’t know what they want until you show it to them”)? How can you promote your product so that it gets noticed by the right people at the right time at a price you can afford, when there are so many other businesses competing for the attention of the same people? How do you communicate to a potential customer that your can solve their problem in the few seconds you have before they click the ‘back’ button? How do you decide the optimal price when there are so many factors to take into account, including: ‘price as signal’, anchoring, segmentation and competitor pricing? These aren’t trivial problems.

I think many developers look down on marketing as a job for people who are not clever enough to be developers. In truth marketing is difficult to do well. Humans are much more complex than microprocessors or programming languages.  They don’t even make decisions on a rational basis much of the time (see the excellent Predictably Irrational for more on this). Given that we often don’t understand ourselves, how can we expect to understand groups of strangers? Marketing also has a (not entirely undeserved) reputation for manipulation and deceit. But it doesn’t have to be like that. Good marketing is about understanding your customer and communicating effectively with them. Manipulating and tricking people rarely works in the long-term anyway.

You can hire marketing people. But how are you going to know if they are doing a good job if you haven’t tried it yourself? Given that marketing is a useful skill to have, how do you get good at it? The key is to learn to like it. It is easier to be good at something if you like doing it. The trick for me was to re-frame marketing as just another form of hacking, but this time hacking the human rather than the computer. How can I use the tools available to get the maximum number of sales from a finite amount of money and effort? Will I get better results if I try this audience/channel/wording/image? Once I looked on it that way, it became an interesting challenge.

The good news is the average developer has a real advantage over traditional ‘touchy feely’ marketing people in increasingly technical/numerate areas of online marketing, such as pay-per-click, A/B testing and analytics. Make the most of it. Also, you can take a scientific approach: form a hypothesis (Facebook ads will give a positive return on my time and money), run the experiment (puts some ads on Facebook) and measure the results (how much did each sale cost).

There is an old joke. Two men are taking photographs of a lion, when the lion starts heading straight towards them. One of the men drops his camera and starts running. “You’ll never run faster than than the lion” says the other man. “I don’t have to” he says “I just have to run faster than you”. Similarly, you don’t have to be a marketing genius. You just need to be a bit better than your competitors, many of whom are developers who don’t like marketing.

Boostrapped.fm podcast

I was a guest on episode 21 of Bootstrapped.fm, the podcast of Andrey Butov and Ian Landsman. The discussion was very wide-ranging, touching on SAAS vs web, the Qt development environment, the royal wedding, A/B testing, capoeira, Adwords, the history of shareware, my new training course and lots more besides. I really enjoyed it. Boostrapped.fm also has a thriving discussion forum at discuss.bootstrapped.fm.

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.

Asshole x software = Asshole at scale

A builder recently dumped a couple of wheelbarrows full of rubble on the common land behind my house. He’s an asshole. But at least he is limited in how much of an asshole he can be by physical constraints, such as the amount of waste he can generate and dump in a day. With the right software, there is almost no limit to how big an asshole he could be.

Spammers send out millions of emails in the hope of getting a few hundred dollars in sales of Viagra, Ugg boots or whatever other dubious merchandise they might be pushing. According to one study the sending of 348 million pharmacy spam emails resulted in 83 million emails delivered and a grand total of 28 sales. That is a 0.0000081% conversion rate. Assuming that the 83 million emails delivered took an average of a second each for a human to scan and delete, that’s around 23 thousand hours wasted. For 28 sales,  netting perhaps a few hundred dollars in profit. You have to be a massive asshole to waste so much of other people’s time just to make a few hundred dollars.

Spamming is just one of the more obvious and egregious examples of being an asshole at scale. But there are lots more. Article spinning for example. This is where assholes use software to generate lots of small variations on a (usually poor written or plagiarised) article in a desperate attempt to increase their SEO ‘footprint’. It might seem like a clever way to game the system and get one over on the all-powerful Google. But, if it works, the search results will fill up with poorly written garbage and the signal gets squeezed out by ever increasing noise. A tragedy of the commons in which we all lose in the long run.

Comment spam on forums and blogs is another area where assholes can use software to scale their activities. To date this blog has had a total of 77,811 spam comments, most of them undoubtedly generated automatically. Thankfully, the vast majority were caught by WordPress’s Akismet software. But I still waste a few minutes every week sifting through the spam for false positives. If you multiply that by millions of blog and forum owners, week after week, it adds up to a massive amount of wasted time. Again for marginal gains.

As software becomes increasingly pervasive and bandwidth becomes ever cheaper, new areas are becoming available for assholes to exploit. For example using software to algorithmically generate vast numbers of T-shirt slogans for Amazon without properly checking the results. Not only does this fill up Amazon search results with garbage (many of the slogans make no sense) but some of the slogans were deeply offensive.

The best defense against the assholes is more software, for example: spam filtering software and improved search algorithms. I guess that is good news for those of us that make a living writing software. But I worry that the assholes will win the arms race in the long run and the Internet, one of the greatest inventions in human history, will be reduced to the information equivalent of grey goo.

What can we do about it as software developers? Firstly don’t be an asshole. Consider the overall impact of your actions. Sure you could blast out thousands of poorly targeted emails to promote your product. But, just because you can, doesn’t mean you should.

Secondly, consider whether there is a product you could write that could help combat the assholes. People and businesses (especially businesses) will pay good money for products that save them time.

Finally, don’t create software for assholes. Generally speaking, a tool is not inherently good or evil. You can use a knife to stab someone, or cut a sandwich. But if you are writing software specifically aimed at spamming, spinning or other asshole scaling activities, then you are the biggest asshole of all.  With power comes responsibility.’If I didn’t do it someone else would’ is no defense. Of course, if you are a true asshole, you don’t (by definition) care what other people think. But, in the unlikely event that you are an asshole that has read this far, consider this – surely even you don’t want a customer base comprised entirely of assholes?

Upgrade your Adwords accounts before the 22nd July – or else!

google adwordsGoogle will automatically switch all Adwords campaigns to ‘enhanced’ on 22-July-2013. If you don’t do it before then, Google will do it for you. And you can be confident they will be thinking of their interests, rather than yours. The changes are mostly bad news for those of us that sell software for desktop computers. In particular you can no longer choose not to bid for clicks on tablet devices. I would like to have more control over how I bid on different platforms, not less, so I am not happy about the changes. However your choices are either to upgrade your campaigns to ‘enhanced’ or close your Adwords account.

You can at least bid less for clicks on mobile devices. If you are selling downloadable software that doesn’t run on mobile devices, I recommend you set your bid adjustment much lower for mobile devices. My own analytics data tells me that mobile devices only have one tenth the (measurable) conversion rate of desktop/laptop computers. So I have set my mobile bid adjustment at -90% for mobile devices. Presumably you can set it to -100% if you don’t want to bid for mobile clicks at all. I don’t understand why advertisers aren’t being given the same option for tablet devices.

Note that you can’t set a mobile bid adjustment for CPA campaigns. However Google should notice the lack of downloads and sales on mobile devices and adjust the mobile bids down for you automatically.

Upgrading is pretty straight forward and should only take a few minutes. More details on the software promotions blog.