20 years working on the same software product

I released version 1 of my table seating planning software, PerfectTablePlan, in February 2005. 20 years ago this month. It was a different world. A world of Windows, shareware and CDs. A lot has changed since then, but PerfectTablePlan is now at version 7 and still going strong.

PerfectTablePlan v1

PerfectTablePlan v7

I have released several other products since then, and done some training and consulting, but PerfectTablePlan remains my most successful product. It’s success is due to a lot of hard work, and a certain amount of dumb luck.

I was getting married and I volunteered to do the seating plan for our wedding reception. It sounded like a relatively straightforward optimization problem, as we only had 60 guests and no family feuds to worry about. But it was surprisingly difficult to get right. I looked around for some software to help me. There were a couple of software packages, but I wasn’t impressed. I could do better myself! So I wrote a (very rough) first version, which I used for our wedding.

Things weren’t going great at my day job, at a small software startup. Maybe I could commercialize my table planner? I was a bit wary, as my potential competitors all seemed rather moribund and I didn’t think I would be able to make a living off it. But I thought I could do everything worth doing in 6-12 months and then start on the next product. Wrong on both counts!

Web-based software was still in its infancy in 2005. So I decided to write it as desktop software using C++ and cross-platform framework Qt, which I had plenty of experience in. Initially, I just released a Windows version. But I later added a Mac version as well. Qt has had its commercial ups and downs in the last 20 years, but it has grown with me and is now very robust, comprehensive and well documented. I think I made a good choice.

I financed PerfectTablePlan out of my own savings and it has been profitable every year since version 1 was launched. I could have taken on employees and grown the business, but I preferred to keep it as a lifestyle business. My wife does the accounts and proof reading and I do nearly everything else, with a bit of help from my accountant, web designers and a few other contractors. I don’t regret that decision. 20 years without meetings, ties or alarm clocks. My son was born 18 months after PerfectTablePlan was launched and it has been great to have the flexibility to be fully present as a Dad.

CDs, remember them? I sent out around 5,000 CDs (with some help from my father), before I stopped shipping CDs in 2016.

During the lifetime of PerfectTablePlan it became clear that things were increasingly moving to the web. But I couldn’t face rewriting PerfectTablePlan from scratch for the web. Javascript. Ugh. Also PerfectTablePlan is quite compute intensive, using a genetic algorithm to generate an automated seating plan and I felt it was better running this on the customer’s local computers than my server. And some of my customers consider their seating plans to be confidential and don’t want to store them on third party servers. So I decided to stick with desktop. But, if I was starting PerfectTablePlan from scratch now, I might make a different decision.

Plenty of strange and wonderful things have happened over the last 20 years, including:

  • PerfectTablePlan has been used by some very famous organizations for some very famous events (which we mostly don’t have permission to mention). It has seated royalty, celebrities and heads of state.
  • PerfectTablePlan was used as part of a demonstration of the (controversial) first commercial quantum computer by D-Wave.
  • A mock-up of PerfectTablePlan, including icons I did myself, was used without our permission by Sony in their ‘Big day’ TV comedy series. I threated them with legal action. Years later, I am still awaiting a reply.
  • I got to grapple with some interesting problems, including the mathematics of large combinatorial problems and elliptical tables. Some customers have seated 4,000 guests and 4000! (4000x3999x3998 .. x 1) is a mind-bogglingly huge number.
  • A well known wedding magazine ran a promotion with a valid licence key clearly visible in a photograph of a PerfectTablePlan CD. I worked through the night to release a new version of PerfectTablePlan that didn’t work with this key.
  • I found out that CDs are edible.
  • I sponsored the building of a kindergarten in Nepal.
  • I once had to stay up late, in a state of some inebriation, to fix an issue so that a world famous event wasn’t a disaster (no I can’t tell you the event).

The lowest point was the pandemic, when sales pretty much dropped to zero.

Competitors and operating systems have come and gone and the ecosystem for software has changed a lot, but PerfectTablePlan is still here and still paying the bills. It is about 145,000 lines of C++. Some of the code is a bit ugly and not how I would write it now. But the product is very solid, with very few bugs. The website and user documentation are also substantial pieces of work. The PDF version of the documentation is nearly 500 pages.

I now divide my time between PerfectTablePlan and my 2 other products: data wrangling software Easy Data Transform and visual planner Hyper Plan. Having multiple products keeps things varied and avoids having all my eggs in one basket. In May 2024 I released PerfectTablePlan v7 with a load of improvements and new features. And I have plenty of ideas for future improvements. I fully expect to keep working on PerfectTablePlan until I retire (I’m 59 now).

16 thoughts on “20 years working on the same software product

  1. Tom Reader's avatarTom Reader

    Congratulations on this milestone! It’s been good following your journey – you were kind enough to give me some good advice when I set up along a similar path a few years after you started (also still going strong, albeit in a completely different field). I totally agree about ‘lifestyle’ businesses – I really appreciate the time I’ve had to spend with my family along the way, avoiding offices and ‘the 9 to 5’ where at all possible, and now the kids are older I also fit various voluntary roles around what passes for my ‘day job’ :-) Once again, congratulations and good luck for the future. Tom

  2. Rhys Wynne's avatarrhyswynne

    Hi Andy,

    I discovered this post when shared in my network. Really enjoyed it! Released a few WordPress plugins in my time and it is always nice hearing who ends up using them! So I really enjoyed reading the fun stories over the last 20 years!

    May I wish you future success and happiness for the next 20.

  3. cal's avatarcal

    Wow … I remember reading “Lifestyle Programming” article during 2013.
    During the time it got me really motivated to do + try so many things.

    Long story short, none of the side projects really worked out but ironically all the stuff I have tried and failed became a portfolio to land a decent job.

    Thanks you; please don’t stop.

    I like to see how this journey leads to.

    1. Andy Brice's avatarAndy Brice Post author

      They didn’t mention the name of my software, so it wasn’t really publciity. Which is just as well as their mockup is shown failing catastrophically.

  4. David R.'s avatarDavid R.

    Congratulations! Enjoyed reading this. I’m just about to turn 59 myself, and I have a moderately successful personal project that’s about 17 years old now. It’s been interesting experiencing the whole invention and development of personal computing over the years, hasn’t it? I used to tell my kids that my phone has over 16 million times as much memory as my first computer.

    1. Andy Brice's avatarAndy Brice Post author

      Unfortunately modern apps seems to require more than 16 million times as much memory as those apps that ran on your first computer.

      Those modern developers, with their bloated Electron apps, can GET OFF OUR LAWN!

  5. jnareb's avatarjnareb

    It’s a very interesting history. Thanks for the write-up.

    Would you consider open-sourcing the application, or publishing the algorithm at least, when you retire and stop working on the application – unless the development and maintenance would continue (sold or passed to)?

    1. Andy Brice's avatarAndy Brice Post author

      Haven’t really thought that far ahead. But I will make efforts so that paying customers can continue to use PerfectTablePlan.

  6. simonkravis@bigpond.com's avatarsimonkravis@bigpond.com

    Hi Andy

    I read your accounts of software development with great interest, being in that line of business myself but I think I should call my website Unsuccessful Software. I have been developing my image captioning software for about 10 years and it is now much better than when I started, but sales proceed at such a slow rate that income does not cover the costs of running a website and paying for licenses, let alone running a household. I think you have managed to find an application area where people have come up with a seating plan for an upcoming event. They may decide they know enough about the attendees to do it by hand or they use your software (which doubtless does it very well) or they may use a competing product, but they have to do something.

    For digital photo captioning, there are already dozens of products, including those built into iPhones and other devices, and the fact that they write on top of the photos and cannot edit any text they add is not important. Social media and Google Photos also provide excellent facilities for combining text and images which seem to be widely used by people taking large numbers of mobile phone photos, who a largely unaware of the dependence they are creating on particular platforms. Although lots of people have a shoebox of paper family photos that they may think of digitising, there are a lot image scanning programs and making mine visible to potential users is very expensive. People have the option of doing nothing about scanning or image captioning and I suspect most of them take it. Advertising on Google is massively expensive and the competition from established online captioning services is such that my product is hard to find on Google. The advent of AI summaries seems to have reduced the number of downloads even further.

    I have recently tried placing a free captioning program in the Microsoft App Store and have encountered the phenomenon of people downloading and installing software but never using it – there have been 24 installs (mostly from non-English-speaking countries) but only 3 indications of the product actually being used.

    In summary, I did not choose a good application area in which to develop products to bring in an income. Fortunately, this is not a necessity and so my software development activities are more like a retirement diversion (I’m in the post-paid work phase of life) such as golf.

    Best Wishes

    Simon Kravis

    1. Andy Brice's avatarAndy Brice Post author

      Simon
      Not all markets are equal. Unfortunately it is hard to know what is a good market without actually launching a product.

      Also it is getting increasingly hard to do cost effective paid promotion of (such as Google Ads) for lower priced products. High bid prices and lots of ad fraud. And content/SEO strategies are being hard hit by AI summaries. It is tough out there and we are all feeling it!

      Maybe you should try partnering with another service? Or pivot to a new product based on feedback on the existing product? Or just keep it as a hobby project?

Comments are closed.