Author Archives: Andy Brice

Flying in a f**king jet

In January of this year I got to fulfill my long-time ambition of flying in a fast jet (that’s me in the picture above). I got a lot of questions from friends and family about it. So I thought I would write about it here, in case anyone else is interested.

What was the plane?

An Aero L-39 Albatros advanced jet trainer. Developed in Czechoslovakia, it is the most widely used jet trainer in the world and similar in size and performance to the Hawk used by the Red Arrows. Maximum speed Mach 0.8. This particular plane was apparently ex-Ukrainian Air Force. To my untrained eye, it looked it in excellent condition. The picture below is of the actual aircraft on the day.

albatros

Where did you do it?

At fighterjets.nz in Tauranga, New Zealand, while on holiday.

What happened before the flight?

The first scheduled date was cancelled due to low cloud. We rescheduled to a few days later and the weather was beautiful.

I was kitted out in a flight suit, helmet and a small life jacket (!). I was then given a briefing by my pilot, JC, a serving Air Zealand Airlines long-haul pilot and ex New Zealand Air Force pilot. When I was asked what sort of flight I wanted, I opted for ‘Top Gun’ (aerobatic). There doesn’t seem to be much point in getting into a fast jet and then going sightseeing.

As I have a history of detached retina, and accompanying eye surgery, it was decided that we would only do positive G manoeuvres (where the blood flows away from your head, e.g. a turn with the cockpit on the inside), no negative G manoeuvres (where the blood flows into your head, e.g. a turn with the cockpit on the outside).

I was helped into the back seat of the plane (it is a bit of a climb), strapped in and attached to the intercom. As mine was the first flight of the day we did various checks before take-off, including powering the engine up and down. We then got clearance from air traffic control and off we went.

What happened during the flight?

We flew out over the sea and did a succession of rolls, turns and loops. I have been in various small aircraft before (propeller driven planes, gliders, helicopters and a gyrocopter), but this felt quite different to all of those. Much more powerful and responsive. It was also the first time I have been upside down in aircraft. Looking up at the earth is a very surreal experience.

it was a beautiful day in a beautiful part of New Zealand and the views were stunning (pretty much all of New Zealand is beautiful). I couldn’t see the pilot at all because of his seat, but he kept telling me what was going on and checking I was ok via the 2 way intercom. I guess he was pretty keen to ensure that I didn’t panic or redecorate the inside of the cockpit.

At one point I looked down at some small white shapes flying below. I thought they were seagulls. But then I realized they were other aircraft.

At the end we did a low pass over the town before landing.

How did you feel afterwards?

Exhilarated. Tired. Relieved.

What about the G forces?

We got up to +4G in the loops. When you do a positive G manoeuvre the blood tries to drain out of your head. This can cause a loss of consciousness. I had been briefed to do the ‘Anti G Straining Manoeuvre’ during turns and loops, to reduce the chance of passing out. It is pretty much like straining to do a tricky poo (but hopefully without the actual pooing). You can see a video of someone doing AGSM under +9G of acceleration here:

I didn’t feel the G force much on my torso, which was tightly strapped down, but my arms felt incredibly heavy if I tried to move them during the loops. I did feel a little light headed at one point and my hands tingled. But I tried to be conscientious with my AGSMs and I didn’t feel close to passing out.

Did you feel sick?

I was starting to suffer a bit on the last couple of manoeuvres. In retrospect I probably should have asked him to go easier on me towards the end, rather than trying to tough it out. But thankfully I didn’t need the sick bag provided (‘do a Clarkson’).

Did you get a G-suit?

No. They are made to measure, so the pilot got one, but I didn’t. On balance, it was more important that he didn’t black out.

Did you get a go on the controls?

No. The plane was dual controls, but I was under strict instructions not to touch anything. I have had a go at the controls in a glider, but a jet is too high performance for a rookie.

What was the view like out of the canopy?

Amazing. I couldn’t see directly ahead because of the pilots seat, but otherwise the visibility was excellent. Comparable to what you can see from a glider.

Did you take a camera?

No. You probably wouldn’t be able to hold onto it during the manoeuvres. If you dropped it, then it could have bounced around inside the cockpit and possibly got wedged somewhere disastrous (e.g. under a foot pedal). However there was GoPro in the cockpit and they sent me a high quality video of the flight a few days later as a memento. The image above is taken from the video.

Was there an ejection seat or parachute?

The plane has ejections seats, but New Zealand civil aviation rules required them to be deactivated. The pilot told me that bailing out with a parachute was complicated and impractical for people who weren’t experienced pilots. So we didn’t have parachutes either. We would both be landing in the plane, whatever happened. In the unlikely event of loss of engine power, we would probably have enough height and speed to glide back to the airport. If not, we would probably head for a beach.

Were you scared?

I was a bit apprehensive on the morning. But I wasn’t going to back out on a long-time ambition. Especially as there was no refund for cancelling on the day. Also I was reassured by having a very experienced pilot and the fact that his safety was intimately linked to mine.

Was it loud?

It wasn’t very loud from inside the cockpit. Partly due to me wearing a helmet and the cockpit pressurization might have also made a difference. My family said it was pretty loud from where they were standing though.

Did they play the theme music to Top Gun?

Sadly not.

How long were you in the air for?

I think something around 25 minutes. That was enough!

What were the takeoff and landing like?

Surprisingly smooth.

How much did it cost?

Somewhere around (cough) $2,500 US. That is a lot of money (although an order of magnitude cheaper than flying a Mig-25). But I prefer to spend my money on experiences, rather than things, and I have a very understanding wife. I am probably still going to be banging on about ‘that time I flew in a fast jet’ when I am in a nursing home.

Would you recommend it?

Yes. If you have got a strong stomach and the sufficient bank balance, it is a pretty amazing experience. However flying in a glider is also pretty amazing and much cheaper (your local gliding club will probably take you up on a flight for around $100). So I recommend trying that first.

l39-jet

Second 2 photos by Claire Brice. Post title inspired by Andrey Butov.

Volunteering Your IT Skills

There is a lot to be said for running a small software business (just me, with my wife doing some of the admin). For a start it gives me a great deal of flexibility, which I used to spend 2 months travelling abroad with my family last year. It is also low in stress, as I don’t have any employees to manage (my wife manages herself!). But even with some consulting work, going to the occasional conference and running some face-to-face training courses, I was starting to feel a little bit isolated after 13 years working mostly on my own. At that time the news was full of heart-rending stories of the suffering of refugees trying to flee war and repression. I don’t like the way the world is heading at present and wanted to do something to help these people in whatever small way I could. So I started volunteering at a charity for refugees and asylum seekers in my home town.

I initially tried to avoid doing computer things for the charity. But it quickly became clear that my IT skills were much more useful to them than anything else I could offer. Consequently I have been sorting out various IT issues, teaching people basic IT skills and have built them a simple CRM and reporting system, based on Airtable. Replacing the previous paper system with an electronic one is saving the staff and volunteers a lot of busy-work, which frees up their time to do more useful things. It is also giving the charity a lot more insight into how they are doing. And it has got me out from office and meeting some really great people who I wouldn’t have met otherwise. Win-win. Sometimes I feel spread a bit thin with my various work, charity and personal commitments (which is partly why the blog has been a bit quiet recently) but overall I am very glad I started volunteering.

So, if you are feeling a bit isolated, consider volunteering for a local charity. I suspect many small charities are desperate for volunteers with IT skills. Even if you are a programmer with quite specialist skills (like me), it is easy to forget that you are still an IT systems god compared with 99% of the population.

Bundlefox review

I have been using bundles and 1-day sales as a useful way to increase the exposure for my visual planning software. I have had positive experiences with BitsDuJour, Macupdate and BundleHunt. Once you put your software in one bundle you inevitably get approached by people who run other bundle promotions. I was approached by Bundlefox and agreed to put Hyper Plan in their Mac software bundle. I wish I hadn’t. It has been a pretty miserable experience from start to finish. In brief:

  • I never knew when the promotion was going to start or end. I was told it was going to start on 27th February, but it eventually started on 20th April. It was supposed to run for 3 weeks, but actually ran for 6 weeks. This is a problem, because it means you can’t put your software in other sale or bundle that require an exclusive discount.
  • Communication was poor. They generally took several days to reply to emails.
  • The number of licenses sold was very low, especially compared with sales of Hyper Plan on BundleHunt.
  • Worst of all, they only paid me 60% of what I was expecting per license. When I queried this they emailed me back “It’s **% revenue share after fees, most of the sales came in through affiliates and we had to pay them off before sharing the revenue”. I went back through their emails and their ‘Vendor Manual’ and there is no mention of affiliate fees being subtracted. It just says “You would receive a percentage of the total payments received for the bundle minus PayPal fees”. In fact I had emailed them “So if you sell 2000 bundles for $12 of which 500 choose Hyper Plan, I get **% of $12×500 = $***?” and they replied “Your calculation is correct”. I feel deceived.
  • The low number of licenses sold and the low payout per license means that it wasn’t worth the effort to setup.

I don’t know what Bundlefox are like to deal with as buyer, but I recommend vendors give them a wide berth.

It’s OK not to have a social media strategy (really)

I have heard various product owners beating themselves up about how they don’t have enough of a social media presence. Well, I have been running a profitable one-man software company for the last 12 years and I am here to tell you that neither of my products have a social strategy worthy of the name – and that’s OK.

My seating planner software, PerfectTablePlan, has a Facebook page and a Google+ page. Whenever I publish a newsletter for PerfectTablePlan I publish a link to the newsletter on these sites (which is a few times per year). That’s pretty much it. My visual planning software, Hyper Plan, has an even smaller social media presence than PerfectTablePlan. To be honest the small amount I do on social media is intended mostly for the benefit of the mighty Google.

My forays into social media have not been encouraging:

  • I once sent out a newsletter to over 3000 opted-in subscribers and encouraged them to follow a newly created PerfectTablePlan Twitter page. Exactly 0 of them did.
  • I created a Pinterest page for PerfectTablePlan and paid someone to post to it for a few weeks. It generated a bit of traffic of questionable quality, but the traffic dried up as soon as they stopped posting.
  • I have tried paid ads on Facebook and Twitter and the results were miserable.
  • The PerfectTablePlan Google+ page has just 14 followers.
  • The PerfectTablePlan Facebook page got a miserable 4 views last week.

The question isn’t whether social media can bring you traffic, but whether that traffic will convert to sales and is social media the best use of your limited time? Social media is a productivity black hole and the opportunity costs of noodling around on Twitter should not be underestimated. Also various studies show that email still out-performs social media by quite a margin.

“E-mail remains a significantly more effective way to acquire customers than social media—nearly 40 times that of Facebook and Twitter combined.” McKinsey

People go on social media to chat to their friends and look at cat videos. Not to buy things. They use search, Amazon and Ebay for that. When is the last time you even looked at an ad in the Facebook sidebar? Or clicked on a sponsored post in Twitter? Exactly.

Making an impact on social media is hard. 90% of tweets are not retweeted. And even the followers that are real humans may only be interested in discounts:

“The IBM Institute for Business Value found that 60-65% of business leaders who believe that consumers follow their brands on social media sites because they want to be a part of a community. Only 25-30% of consumers agree. The top reason consumers follow a brand? To get discounts – not exactly ideal for a company’s bottom line.” Forbes

A lot of the ‘engagement’ on social media is fake. You can buy 1000 Twitter followers for less than £10. The BBC advertised a fake business with “no products and no interesting content” as an experiment on Facebook and got 1,600 highly suspicious ‘likes’ within 24 hoursCopyblogger deleted their facebook page due to the amount of fake followers and the low level of engagement.

A thread I started on the Business of Software forum showed that many other small software product companies had tried and failed with social media. Why do you think you will fare better? Most software products just aren’t inherently social. There is a limit to how much you can usefully say, day after day, about seating planning. I could try and create a social media presence talking about the latest wedding and catering trends and try to sneak in some references to seating plans. But I would rather commit suicide with a cheese grater.

As a rule of thumb it might be worth putting serious effort into social media if yours is the sort of product people are likely to talk to their friends about down the pub. In that case social media may be able to usefully enhance your visibility and reach. But for the vast majority of software that doesn’t fit this description, you are trying to hammer a square peg into a round hole. At the time of writing the pop star Taylor Swift has 74,638,154 Facebook likes. While Intuit, one of the world’s largest software companies, has 221,130 likes.

Next time somebody tells you that you must have a social media campaign ask yourself:

  • Is your product a good fit for social media?
  • Do they have an agenda, e.g. a social media tool, ebook or consultancy to push? Or an article quota to fill?
  • Have they produced any real evidence that a social media campaign translated into actual sales?
  • Is social media the best thing you could be doing with your valuable time?

Ignore any vague waffling about ‘engagement’. Nobody ever paid their mortgage with engagement.

Why you should create a ‘honeypot’ page

Software piracy is a fact of life for vendors of desktop software. Take a look at Google’s helpful suggestions if you search on the name of one of my products:

google

Trying to make your software crack-proof is a fools errand. But one simple thing you can do is create a ‘honeypot’ page to try to convert people searching for a cracked version of your software. If you search for a crack for my software, here is what comes up in first place:

ptp_honeypot_page

Yep, it’s a page on my website. If you click the link you will be taken through to a page explaining the (very real) dangers of downloading cracks and why you should buy a licence. I did some basic on-page SEO to get it to rank for my product name and terms such as ‘crack’, ‘keygen’ and ‘warez’. Then I linked to it from the website sitemap. Nothing clever, but it works. I have averaged a sale per month for the last 10 years from people clicking through onto this page. Given the inadequacies of conversion tracking, the real number of sales could be significantly higher. And it didn’t take long to create the page.

I can’t remember where the idea for a honeypot page came from, but it wasn’t my idea. Feel free to make a version of the page for your own product, but please don’t copy the exact wording. That would be copyright infringement. ;0)

How much code can a coder code?

Lines of code (LOC) is a simple way to measure programmer productivity. Admittedly it is a flawed metric. As Bill Gates famously said “Measuring programming progress by lines of code is like measuring aircraft building progress by weight”. But it is at least easy to measure.

So how much code do programmers average per day?

  • Fred Brooks claimed in ‘The Mythical Man-Month’ that programmers working on the OS/360 operating system averaged around 10 LOC per day.
  • Capers Jones measured productivity of around 16 to 38 LOC per day across a range of projects.
  • McConnell measured productivity of 20 to 125 LOC per day for small projects (10,000 LOC) through to 1.5 to 25 LOC per day for large projects (10,000,000 LOC).

It doesn’t sound a lot, does it? I’m sure I’ve written hundreds of lines of code on some days. I wondered how my productivity compared. So I did some digging through my own code. In the last 12 years I have written somewhere between 90,000 and 150,000 C++ LOC (depending on how you measure LOC) for my products: PerfectTablePlan, Hyper Plan and Keyword Funnel. This is an average of round 50 lines of code per working day. Not so different from the data above.

I also looked at how PerfectTablePlan LOC increased over time. I was expecting it to show a marked downward trend in productivity as the code base got bigger, as predicted by McConnell’s data. I was surprised to see that this was not the case, with LOC per day remaining pretty constant as the code base increased in size from 25k to 125k.

loc

Some qualifications:

  • I give a range for LOC because ‘line of code’ isn’t very well defined. Do you count only executable statements, or any lines of source that aren’t blank?
  • My data is based on the current sizes of the code bases. It doesn’t include all the code I have written and then deleted in the last 12 years. I have just spent several months rewriting large parts of PerfectTablePlan to work with the latest version of Qt, which involved deleting large swathes of code.
  • It doesn’t include automatically generated code (e.g. code generated by the Qt framework for user interfaces and signals/slots code).
  • I only counted code in products shipped to the user. I didn’t count code I wrote for licence generation, testing etc.
  • All the code is cross-platform for Windows and Mac, which makes it more time consuming to write, test and document.
  • Programming is only one of the things I do. As a one-man-band I also do marketing, sales, QA, support, documentation, newsletters, admin and nearly everything else. I have also done some consulting and training not directly related to my products in the last 12 years.

Given that I probably spend less than half my time developing (I have never measured the ratio), my productivity seems fairly good. I think a lot of this may be the fact that, as a solo developer, I don’t have to waste time with meetings, corporate bullshit and trying to understand other people’s code. Also writing desktop Windows/Mac applications in C++ is a lot easier than writing an new operating system with 1970s tools.

50 lines of code per day doesn’t sound like a lot. But the evidence is that you are unlikely to do much better on a substantial project over an extended period. Bear that in mind next time you estimate how long something is going to take.

If you have data on LOC per day for sizeable projects worked on over an extended period, please post it in the comments. It will only take you a few minutes to get the stats using Source Monitor (which is free).

 

 

 

 

 

 

Choosing a market for your software

The efficient market hypothesis states that “asset prices fully reflect all available information”. If the efficient market hypothesis is true, then you would expect actively managed funds (where fund managers pick the stocks) to do no better than index funds. That does seem to be the case:

“Numerous studies have shown that index funds, with their low costs and ability to closely mimic the returns of markets both broad and narrow, steadily outperform the returns of most actively managed funds.” Wall Street Journal

Unless you have some sort of insider knowledge (which it might be illegal to exploit), you might as well invest in index funds or get your cat to pick your stocks as pay someone else to do it.

But I am interested in a different sort of market efficiency. If you have to pick a vertical market to start a software business in, does it matter which vertical market you pick? If the market is perfectly efficient for businesses, then each vertical will have a level of competition proportional to the size of the market. In that case you should have an equal chance of success whether you decide to write a game, a developer tool, an anti-virus product or a CRM system.

From lots of reading and talking to other software business owners I have come to the conclusion that the market is highly inefficient for businesses. The market vertical you pick has a big effect on your chances of success. It seems to me that the three worst verticals are: games, developer tools and consumer mobile apps.

Games are fun! Writing a game sounds like a blast. Much more exciting than writing software for boring businesses. It has also been getting easier to write games due to the ever improving tools. Consequently, the market for games is totally saturated. The outlook for independent games developers looks grim. Today on the Steam platform there are 12,971 games listed. Even some of the big and famous games developers only seem to survive by forcing their staff to work vast amounts of unpaid overtime.

Pretty much every software entrepreneur has considered creating a software development tool at some point. I know I have. It is a market that we all understand (or think we do). But consequently it is saturated. Software developers are also pretty horrible customers. They are used to using lots of free software. And that tool you spent years developing? They think they can write something better over a weekend.

“Thousands of people used RethinkDB, often in business contexts, but most were willing to pay less for the lifetime of usage than the price of a single Starbucks coffee (which is to say, they weren’t willing to pay anything at all). … Developers love building developer tools, often for free. So while there is massive demand, the supply vastly outstrips it. This drives the number of alternatives up, and the prices down to zero.” Why RethinkDB failed

I wrote back in 2010 what a horrible market the iPhone app store is for developers. Since then the number of apps has increased tenfold to 2.2 million, the average paid app price is a measly $1.01 ($0.48 for games) and some 90%+ of apps are free or freemium.

You should be wary of markets with no competition. But the really high levels of competition in these three markets drives down prices and makes it very hard to get noticed. Obviously not everyone in these 3 markets is failing. It is possible to create a product in one of these markets and be wildly successful (Indie game developer Notch of Minecraft fame springs to mind). But I think the odds are very much stacked against you.

So what market should you pick to maximize your chances of commercial success? Aside from the obvious factors (e.g. something you are interested in and knowledgeable about, something that solves a real problem etc) I suggest avoiding anything considered ‘sexy’ by other developers.

Here is a radical idea – create a software product aimed at women. The vast majority of software is written by men and consequently it tends to cater for men. 50% of the world’s population are women and they buy software too!

Just because a product is not in a ‘sexy’ market doesn’t mean that it has to be boring to create. I have found plenty of interesting usability, optimization and visualization problems to solve while developing my own seating planning and visual planning software products.

Here is a thought experiment. Imagine you are talking to another software guy at a conference and explaining what you product does. If your imaginary software guy says “that sounds cool”, then it’s probably a tough market to create a commercial product in. But if they look a bit surprised or their eyes glaze over, then you might be on to something.