Category Archives: marketing

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.

Twitter Demographics Are Bullshit

twitter demographicsI have been experimenting a bit with promoting my software using promoted tweets. You can target people based on their interests or the Twitter handles they follow. I have chosen the latter approach with the aim of getting people to a) click through to my website and b) retweet (in the hope of more click throughs).

The results haven’t been great, with only 25% of the ‘engagements’ I paid for resulting in clicks through to my website. Here is a direct comparison between traffic from AdWords and Twitter ads to my seating planner software website (data from Google Analytics).

AdWords search
campaign
Twitter sponsored
tweet
Bounce rate 43% 78%
Av. pages visited 3.10 1.48
Av. time on site 1:51 0:40

Ouch. Then factor in that the Twitter traffic cost me 2.5 times as much per click through as the AdWords traffic. Double ouch. But that’s fine. You have do lots of experiments to find out what works. Most of them won’t be successful. This experiment only cost me £150.

However I was a bit puzzled by the ‘interests’ report from Twitter. Here are the top 10 ‘interests’ of the people that were shown my sponsored tweet, as reported by Twitter ads.

twitter demographicsBear in mind that I was targeting various Twitter handles related to the events and wedding industry for Twitter users in the UK, USA and Canada. According to the report:

  • 72% of them are interested in ‘Politics’.
  • 69% of them are interested in ‘Hip hop and rap’.
  • 62% of them are interested in  ‘NFL football’.
  • ‘Weddings’ is way down the list at number 55 with 15%, between ‘Leadership’ and ‘Dogs’.

Hmm, something is a bit fishy here.

I ran some more campaigns to promote my UK training course for people who want to create commercial software products. The ticket price for my course is higher than for my seating planner software, so I thought it was worth persevering a bit more with Twitter ads. Here are the top 10 ‘interests’ for the 3 campaigns I ran.

twitter demographics twitter demographics twitter demographicsBear in mind that this time, I was targeting various Twitter handles related to software development, marketing and entrepreneurship for Twitter users in the UK. We love our comedy in the UK and most of us could stand to lose a few pounds. But I can confidently state that the vast majority of people in the UK know almost nothing about NFL (American) football and care even less. ‘Computer programming’ and ‘Startups’ were waaay down all 3 lists.

Twitters says:

We infer interest from a variety of signals, like the accounts users follow and the Tweets they engage with.

I emailed them to point out that the interests seemed to be highly suspect, but I didn’t a substantive reply.

I can only conclude that either Twitter isn’t doing a very good job of the targeting or (more likely) it really doesn’t understand the interests of its customers and is doing a very poor job at guessing. Consequently I would urge you to be very wary of paying for promoted tweets on the basis of ‘interests’.

5 things you can do to improve your AdWords profitability in the next 30 minutes

Lots of people set up AdWords campaigns and then leave them to run unattended for months at a time. Bad. Idea. I know, I know, you’ve got a million other things to. So I am going to give you a very short and very specific list of things you can do to improve your AdWords account. Right now. No excuses.

1. Check your ‘Geographic’ report for under performing countries

Different countries can perform wildly differently for the same keywords, ads and bid prices. This is particularly the case if you compare rich industrialised countries with developing countries.

  1. Choose a campaign and date range.
  2. Click on the AdWords Dimensions tab then select Geographic.
  3. Remove any geographic columns apart from Country/Region.

adwords geographic report

Are some countries performing considerably worse in terms of click-through rate, cost per click or cost per conversion? If so, depending on how differently the countries are performing:

  1. Stop targeting the under-performing countries; or
  2. Make a duplicate of that campaign for the under-performing counties, but bid less ( It is easy to duplicate a campaign in the free Google Adwords Editor); or
  3. Use a negative bid adjustment for the under-performing countries:

adwords geographic adjustments

2. Check your ‘Time>Day of the week’ report

Some products sell much better on certain days of the week. For example, B2B products probably sell better during the week than they do at the weekend. The opposite might be true for some B2C products. You can easily check this.

  1. Choose a campaign and date range.
  2. Click on the AdWords Dimensions tab then select Time>Day of the week.

adwords day of week reportAre some days of the week performing significantly better or worse than others? If so, you can schedule your bids to be more or less on different days of the week.

adwords bid adjustment schedule

3. Get rid of the dead wood

Keywords with low quality score and low click-through rates can drag your whole campaign down. You can easily set up filters to find the culprits.

adwords filteradwords filterAnd then pause or delete these keywords.adwords delete keywords

4. Add sitelink extensions

If your ad appears at the top of the page, you can optionally show sitelink extensions that hyperlink to particular pages. These increase the amount of screen real estate and text available to you and they don’t cost any extra. What’s not to like?

adwords-sitelink-extensionsTo add sitelink extensions:

  1. Select the appropriate campaign.
  2. Click on the Ad extensions tab and select Sitelinks extensions.
  3. Click the +EXTENSION button.

site link extensions

5. Check your ‘Search terms’ report for negative keywords

Unless you are only bidding on exact match, the queries that result in your ads being shown are not the same as the keywords you supply to Google. You need to use negative keywords to further control which search queries your ads appear for.

For example, if you are selling Windows backup software and bidding on backup software (as broad or phrase match) your ad may appear every time someone searches on mac backup software. This hurts you twice: wasted clicks (which costs you money directly) and reduced click-through rates (which reduces your quality scores and costs you money indirectly). You can avoid these issues, just by adding mac as a negative keyword.

To look for negative keywords:

  1. Choose a campaign and date range.
  2. Click on the AdWords Dimensions tab then select Search terms.

dimensions search terms report keywords

You will see a list of the searches that actually triggered your ads. Are there any searches there that shouldn’t be? If so, add the offending words as negative keywords, (either at campaign or ad group level).

Plug:  My Keyword Funnel AdWords tool can be very useful for sifting through large amounts of search queries to find negative keywords. Just paste in thousands of keywords from your search terms report and look at each keyword by frequency and context.

keyword funnel adwords tool

(This article was first published on www.keywordfunnel.com)

Exploit the long tail of Adwords PPC with Keyword Funnel

Adwords Keyword FunnelI released my new product Keyword Funnel today. It is a tool to help Adwords advertisers improve the profitability of their Adwords campaigns.

I have found the best way to get a decent volume of affordable conversions from Google Adwords is to use a ‘long tail’ strategy. For my Perfect Table Plan product there are a few ‘head’ keyword phrases that have high search volumes, such as “table plan” and “seating arrangement”. But these aren’t very well targeted (“table plan” might have been typed in by someone who wants drawing plans to make their own dining room table). Also lots of other people are bidding on these head phrases, pushing the bid prices up. This combination of poor targeting and high click prices makes it hard to make a profit on head keywords.

So I prefer to concentrate on ‘tail’ terms such as “table plan software mac” and “wedding seating arrangements program”. These are much better targeted, so convert a lot better. The clicks are also cheaper because less people are bidding on them. However the search volumes are much lower, so you need a lot of these tail terms to get a reasonable amount of traffic. At least hundreds, and preferably thousands. Hence ‘long tail’.

the long tail of Adwords PPCThe good news is that you can mine lots of different sources of data for these long tail keywords. For example you can extract keywords from your web logs, Google Analytics and Google Webmaster Tools accounts. Even though many searches are now listed with the keywords ‘not provided’ by Google, it still isn’t hard to come up with thousands of candidate keyword phrases. The bad news is that they aren’t in a usable form. Before you can import them into Adwords you need to:

  • Sort out duplicate phrases, foreign characters, capitalization and other noise.
  • Remove unwanted and negative keywords.
  • Group keyword phrases into tightly focussed adgroups.
  • Put the results in a form Adwords understands.

I tried to use Excel for this. But, marvellous tool though it is, it really wasn’t up to the job. So I wrote my own tool. This worked very well, but it wasn’t a commercial quality product. So I started again, from scratch 6 months ago. Keyword Funnel is the result.

Keyword Funnel allows you to add hundreds of keywords to new or existing Adwords campaigns in minutes, rather than hours. This makes long tail Adwords campaigns with hundreds or thousands of keywords a much more realistic proposition. It also allows you to set up new campaigns in a fraction of the time.

Keyword Funnel is available for Windows and Mac. It is priced at a one-time fee of just $49 (up to 2 Adwords accounts) or $99 (unlimited Adwords accounts). You can download a free trial from the website and it comes with a 60-day money back guarantee. The website is currently a little unpolished, but the software is well tested and robust. Any feedback is welcome.

Try Keyword Funnel now!

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: http://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 and shares his journey in his phdsolopreneur.com blog.

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.