Hyper Plan update

I have been working hard on Hyper Plan, my new visual planning software. I have put out several releases since my last blog post.

Hyper Plan v0.7

Improvements include:

  • better user interface
  • undo/redo
  • sortable columns in the table view
  • full support for dates
  • export to CSV/PDF/PNG/JPG
  • printing
  • open recent files
  • auto save
  • bug fixes

Many of the improvements have been based on user feedback (thanks!).

Hyper Plan can be used for a wide range of planning/scheduling/tracking/visualization tasks, including:

  • event planning
  • project management
  • software release planning
  • kanban/scrum/agile planning
  • staff/resource allocation
  • todo list

It runs natively on Windows and Mac OS X. If you need to distribute your plan across multiple machines, you can use DropBox.com or similar.

I am planning to release a paid version in 2015. Until then you can use the beta version completely free and unrestricted. Please give it a try and let me know what you think.

Try Hyper Plan now!

My new product : Hyper Plan

scrum kanbanI have just launched a new product. First some back story. A few years ago, my wife and I were renovating the house we live in now. Trying to schedule and track all the different tasks, tradesmen and quotes was a real pain. We stuck Post-it® notes onto a whiteboard to try to keep on top of it all. The Post-it notes represented the various jobs that need doing. We placed them in columns (representing what stage they were at: needs quote, accepted quote, scheduled, doing, done) and rows (representing the various trades: plumbing, roofing, electrical etc). It worked, but it was far from ideal:

  • I wanted to see status vs trade, status vs room and room vs trade. But changing the layout was a pain, so I had to pick one layout and stick with it.
  • Colours were useful for extra information. But we were limited to just the few colours that Post-it notes come in.
  • There was only limited space to write on the note.
  • My wife couldn’t read my handwriting.
  • We had to use a separate spreadsheet to track the budget.
  • Post-it notes would fall off and get lost after being moved a few times.
  • I ran out of Post-it notes.

That is when the idea of Hyper Plan first occurred to me. It has been burning a hole in my brain for the last 5 years. Now I have finally got around to implementing it.

Hyper Plan is Post-it note style planning, implemented in software. In software you are no-longer limited by the number of Post-it notes you can afford, the amount of wall space you have or the number of colours Post-it notes come in. You can even change the layout and colours with a mouse click. All with animation and easing curve loveliness.

The sorts of planning you can use it for include:

  • project planning
  • planning what is going into your next software release
  • event planning
  • Kanban / Scrum / Agile
  • planning a holiday
  • to do list (I know!)

Anything where you have discrete tasks that you want to be able to categorize (e.g. by person, status or type), schedule or track in a visual form.

Here is a 2:42 minute overview in video form (with audio):

Hyper Plan videoCan’t see the video? Try this mp4 version (10.7 MB).

Hyper Plan is quite different to anything else I have seen. That could be a good thing or bad thing. I am putting out an early beta to try to find out.

Hyper Plan is not currently for sale. I don’t want to take the time to set up all the payment processing and licensing until I am confident someone might actually buy it. The current beta version will run completely unrestricted until 17-Jan-2015. There are Windows and Mac versions. Hopefully a commercial version will be available for sale by the time the beta expires. If not, I will release another free version.

Currently it is very much an MVP (minimum viable product).

  • The UI is a bit rough around the edges.
  • The logo was done in 5 minutes in Word.
  • The documentation is just a quick start guide.
  • Some important features are not implemented yet (e.g. printing, exporting and undo).

But I have tried to follow my own advice and resist foul urges to spend months polishing it (which is hard!). What is there is pretty robust though, and I think it demonstrates the concepts. Hopefully I will know in a few weeks whether it is worth taking the time to polish it to commercial levels.

I would love to know what you think. Particularly how useful you find it for ‘real’ planning tasks. Even responses of the form “I wouldn’t use this because…” are helpful. Please also email a link to anyone else you think might be interested. Particularly if you have ever seen them sticking Post-it notes to a wall or swearing at Microsoft Project! My contact details are here.

buttonFAQ

Q: Why is it desktop, rather than SaaS/mobile?

A. I think stories of the death of desktop software are exaggerated. Also:

  • I can build a minimum viable product much quicker for desktop.
  • Differentiation. Some people prefer desktop apps, e.g. because they don’t have reliable Internet or don’t want to store their data on third party servers.
  • Less competition. Everyone else seems to be doing SaaS/mobile.

I might add SaaS and/or mobile versions later, if there is enough demand. Note that DropBox (or the Google, Microsoft or Apple equivalents) allow you to easily sync a Hyper Plan file across multiple computers.

Q: So it’s Trello for desktop?

A. Not really. I had the basic idea before I ever saw Trello. And I’m not stupid enough to compete with a free tool from the great Joel Spolsky! Trello is great at what it does. But Hyper Plan is different in quite a few ways. In Trello the emphasis is on collaboration and workflow. In Hyper Plan the emphasis is on visualization and planning. Hyper Plan allows you to present your information in lots of different ways with a few mouse clicks. It also has a built in ‘pivot table’ type feature that is much easier to use than Excel pivot tables. This is really useful for totalling effort and expenditure by different categories.

Post-it is a registered trademark of 3M.

The scrum photo is licensed under creative common by Logan Ingalls.

Signing Qt applications for Mac OS X 10.9.5 and 10.10

I have written previously about signing Qt applications for Mac OS X. It all worked fine until I upgraded to Mac OS X 10.9.5, which broke my signing script. Those Apple chaps do love to break stuff. Grrr.

The problem appears to be that the directory structure of the app bundle has changed and the Qt4 macdeployqt command does not conform to the new layout (I believe this is also the case for Qt5). Oh joy. I managed to work out how to get it working again after a bit of digging around. The good news is that Apple have also made the codesign command easier with a --deep option to traverse and sign the whole bundle in a single command. About time.

So here is the basic process to build and sign your Qt .app on the latest versions of Mac OS X:

# deploy Qt frameworks into .app bundle
$QTDIR/bin/macdeployqt .app -verbose=1
# optionally delete unwanted framework and plugin folders, e.g.:
# rm -f -r <your_app>.app/Contents/Frameworks/QtDeclarative.framework
# rm -f -r <your_app>.app/Contents/PlugIns/sqldrivers
# correct .app bundle structure
python rebundle.py $QTDIR <your_app>.app
# sign .app bundle (including frameworks and plugins)
codesign --deep --force --verify --verbose --sign "Developer ID Application: " .app
# the 2 lines below are just for verification/diagnostics
otool -L <your_app>.app/Contents/MacOS/<your_app>
codesign --verify --verbose=4 <your_app>.app

(Sorry about the small font, but I wanted to avoid confusing line wraps).

I then invoke DropDmg to create a .dmg image file complete with licence and background image. This is all stuck it all in a bash script, which I can pretty much forget about it (until Apple break something else).

In the above rebundle.py is a Python script  written by some public spirited individual that can be downloaded from github (thank you, ‘kingcheez’). Note that you can just find and replace all the ‘5’ characters in the script by ‘4’ if you are still using Qt4.

The first time I ran my script I ended up with a whopping 50MB .app file. It turns out that the cp -r commands in my script don’t preserve symbolic links. So you end up with 3 copies of each framework library. You can avoid this by using cp -R instead.

On the subject of signing for Mac, Apple recently sent out an email stating:

Signatures created with OS X Mountain Lion 10.8.5 or earlier (v1 signatures) will be obsoleted and Gatekeeper will no longer recognize them. Users may receive a Gatekeeper warning and will need to exempt your app to continue using it. To ensure your apps will run without warning on updated versions of OS X, they must be signed on OS X Mavericks 10.9 or later (v2 signatures). … Apps signed with v2 signatures will work on older versions of OS X.

So you are going to have to start signing using 10.9, whether you like it or not.

“Wrong Way” Corrigan

While on holiday in Ireland I came across the wonderful story of “Wrong Way” Corrigan. Here is a summary from history.com :

Eleven years earlier, American Charles A. Lindbergh had become an international celebrity with his solo nonstop flight across the Atlantic. Corrigan was among the mechanics who had worked on Lindbergh’s Spirit of St. Louis aircraft, but that mere footnote in the history of flight was not enough for the Texas-born aviator. In 1938, he bought a 1929 Curtiss Robin aircraft off a trash heap, rebuilt it, and modified it for long-distance flight. In July 1938, Corrigan piloted the single-engine plane nonstop from California to New York. Although the transcontinental flight was far from unprecedented, Corrigan received national attention simply because the press was amazed that his rattletrap aircraft had survived the journey.

Almost immediately after arriving in New York, he filed plans for a transatlantic flight, but aviation authorities deemed it a suicide flight, and he was promptly denied. Instead, they would allow Corrigan to fly back to the West Coast, and on July 17 he took off from Floyd Bennett field, ostentatiously pointed west. However, a few minutes later, he made a 180-degree turn and vanished into a cloud bank to the puzzlement of a few onlookers.

Twenty-eight hours later, Corrigan landed his plane in Dublin, Ireland, stepped out of his plane, and exclaimed, “Just got in from New York. Where am I?” He claimed that he lost his direction in the clouds and that his compass had malfunctioned. The authorities didn’t buy the story and suspended his license, but Corrigan stuck to it to the amusement of the public on both sides of the Atlantic. By the time “Wrong Way” Corrigan and his crated plane returned to New York by ship, his license suspension had been lifted, he was a national celebrity, and a mob of autograph seekers met him on the gangway.

Sometimes it is better to hope for forgiveness than to ask for permission.

2 Million Hits!

This blog just passed 2 million hits since I started back in the dim and distant Internet past of 2007 with How much money will my software make (and what has that got to do with aliens)?. Wow.

I haven’t been posting much recently, but I haven’t given up either.  Watch this space. Until then, here are the top 10 blog posts to date:

Post Hits
The software awards scam 265,427
Lessons learned from 13 failed software
products
82,088
10 things non-technical users don’t
understand about your software
78,561
Your harddrive *will* fail – it’s just a
question of when
54,775
Where I program 53,910
If you aren’t embarrassed by v1.0 you didn’t
release it early enough
41,531
SWREG customers beware 36,691
The 1% fallacy 35,327
The world’s fastest Rubik cube solver is
made from Lego!
30,662
The brutal truth about marketing your
software product
29,104

Are you wasting your AdWords budget on in-app ads?

2 out of the last 3 AdWords campaigns I have looked at for consulting customers were spending substantial amounts of money on worthless in-app ads, without even realising it. Feast your eyes on the following:

in-app placement ads$1,071.04 spent on clicks from a single game app, that resulted in 0 trials of the software product being advertised. Hardly surprising given that it was a B2B app that cost around $1000. On further investigation this company was spending a substantial percentage of its AdWords budget on completely useless clicks from in-app ads. Ouch.

And this is from a different AdWords account for another B2B software company:

in-app display ads

Many of the apps in the iOS and Android app stores are now funded by in-app advertising. The creator of the infamous Flappy Bird game claimed to be making tens of thousands of dollars per day like this.

Flappy Bird In-App ads

(Note that the ad shown in the screenshot is not related to either of the two companies I mentioned above).

At least the ad is well away from the ‘play’ button. Some, less scrupulous, app makers place the ad in such a way that it is easy to accidentally click on it.

Who would want to pay for in-app ads, knowing that most of the traffic will be accidental clicks from frustrated gamers (many of them children) just trying to get to the next screen? If you run ads on the Google display (content) network, it might be YOU. Google started showing display ads in apps some time ago and it seems that all existing display campaigns were automatically opted in. Worse still, the apps they are advertising in appear to have no relevance at all to your content campaign keywords.

App makers get some money, the public gets free apps and Google makes mega bucks. The advertiser is financing the whole thing and getting (in many cases) nothing in return. But don’t feel too smug. If you have a display campaign that you aren’t carefully monitoring, you might also be throwing away money. To find out:

  • Log in adwords.google.com.
  • Click on All online campaigns.
  • Choose a sensible time frame, e.g. the last 6 months.
  • Click on the Display network tab.
  • Click on Placements.
  • Click on the Cost column to order from highest to lowest cost.
  • Look down the Placement column for entries that start with Mobile App.

Adwords display placements report

While you are there, it is also worth checking the relevance to your product of the other sites you are running display ads on.

Hopefully no horror story awaits you. If it does, you can exclude the offending placements to stop your ads appearing there again.

exclude AdWords placement

But this is a bit like playing whack-a-mole, as you will be continually excluding new apps (I haven’t found a way to opt out of in-app ads wholesale). Alternatively, just pause your display campaigns. Personally I gave up on display ads some time ago. The conversion ratios were so miserable (much lower than search ads) that I could never make any money on them.

If you have been stung for hundreds or thousands of dollars, it may be worth complaining to Google, to see if you can get any money back on the grounds:

  • You never explicitly opted in to in-app ads.
  • The apps your ads appear in bear no relationship to the search terms in your content campaign.

I have no idea if that will be successful, but it might be worth a try.

Google are continually changing the rules of the AdWords game and you would be naive to assume they are doing so with your best interests at heart. If you are running an AdWords campaign you must monitor it continuously or bad things will happen.

Related articles:

Why have my sales dropped?

why have my sales dropped?If you spend as much time as I do hanging around forums for independent developers, you will often see questions of the form “I only made X sales today/this week/this month, has something gone wrong?”. There are two distinct possibilities:

  1. Something has changed (e.g. your website is broken); or
  2. It’s a statistical fluctuation.

Rather than guessing, we can use some stats to work out the probability that a drop in sales is just a random fluctuation.

The Poisson distribution gives us the probability of a given number of discrete events occurring in a fixed interval of time (or space), if these events occur with a known average rate and independently of each other. It can be used to investigate the accuracy of v1 flying bombs, the number of 19th century Prussian soldiers kicked to death by horses and the number of South Africans attacked by sharks. It can also be used to calculate the probability of getting <= n sales per day/week/month, if we average N sales per day/week/month.

Poisson distribution

A comparison between the number of PerfectTablePlan sales per day over 90 days (blue histogram) vs predicted by the Poisson distribution (red histogram). We would expect the prediction to become more accurate with more data, assuming nothing else changes. Obviously things do change over the lifetime of a software product, hence the relatively short time span chosen.

Using this online Poisson distribution calculator we can work out some example probabilities:

expected
number of sales
over period
Probability of drop in sales of: 5 10 50 100
>= 20% 44% 33.3% 8.6% 2.3%
>= 40% 26.5% 13% 0.2% 0%
>= 60% 12.5% 2.9% 0% 0%
 = 100% 0.7% 0% 0% 0%

(0% = too small for the calculator to display)

For example:

  • If we average 5 sales per week, the chance of a 40% or more drop in sales (i.e. a week with 3 or less sales) is 26.5%.
  • If we average 50 sales per week, the chance of a 40% or more drop in sales (i.e. a week with 30 or less sales) is 0.2%.

So the less sales we make (or the shorter the period we look at), the bigger the random fluctuations we can expect. If I was averaging 5 sales per week, I wouldn’t be too worried about a drop of 40% in sales for one week. In fact, I would expect it to happen approximately one week in every 4 (running a business that averages 5 big B2B sales a year, must be very stressful!). But if I was making 50 sales per week, a 40% drop in sales should only happen by chance approximately once every 10 years. I would definitely check for other causes.

Assuming it isn’t just a statistical blip, the most likely cause of non-random change is an issue with your website. Rather than waiting for a problem, I suggest you set up continuous monitoring that emails or SMSs you if a problem occurs. There are various services for this. I use free pingdom.com and siteuptime.com accounts. Using 2 different services protects you against one of them silently failing.

If your website is up, what else have you changed recently? Check your analytics for changes and your Google webmaster tools account for warnings. Has traffic dropped (perhaps you been slapped by Google)? Has the number of downloads/trials dropped while the traffic stayed the same (perhaps there is a problem with downloading/signing up)? If you have made a new release, double check there are no major bugs in the installer or software. “It works on my development machine” doesn’t cut it with customers, so check it on a non-development machine or a clean VM.

Don’t assume that random strangers on the Internet will email you to tell you that something is broken. Perhaps 1 in a hundred or a thousand will. The rest will just click the back button. You can improve your odds by having loyal and engaged customers and a clearly displayed email address and/or phone number. But still don’t depend on it. When is the last time you noticed an issue on a website and took the time to report it?

Also some seasonal variation in sales is likely. The pattern depends on your market. Many businesses see a drop in sales in the northern hemisphere summer. But my wedding table plan software sells better in the summer. Hopefully you will know the pattern for your product after a year or two.

Random fluctuations and the lack of visitors to report issues means that it is hardest to tell whether a drop in sales is real when you start out. This is  when you need the sales most, both financially and emotionally. It gets easier as your traffic and sales improves. No one said that life was fair.