Matt Gemmell

TOLL is available now!

An action-thriller novel — book 2 in the KESTREL series.

★★★★★ — Amazon

Critical Customisation Cost of Software

development, interface, software, tech & user experience 4 min read

It’s been observed that there tends to be a strong correlation between obsessive/compulsive behaviour and technical proficiency as a software engineer. I wouldn’t argue with that. I try very hard to buck the trend of geeks being poorly-dressed, socially inept and having questionable personal hygiene habits, but I can’t deny that I do suffer from a little OCD (albeit not clinically). Icons on my desktop are, like Goldilocks’ porridge, just right - neither too big nor too small. And you’d better believe that they’re set to snap to grid.

I’ve noticed a further manifestation of this compulsive behaviour as regards installing software on my machines, and I’ve called it the Critical Customisation Cost (CCC, henceforth) of software. Put simply, there’s a cost (not just financial, but rather psychological and emotional) associated with installing third-party software on a computing device, and there’s an associated threshold above which the CCC is so high that it outweighs the benefit of the functionality offered by the software.

Geeks are known to love configuring and customising their devices, but perhaps paradoxically they can also be reluctant to do so because of a compulsion to not deviate too far from a “clean” (and thus presumably safe, fast, efficient, known and well-tested) configuration. If your app’s overall CCC is above a given geek’s tolerance threshold, they’re going to remove it from their machine soon after trying it.

My own CCC Threshold is something I struggle with daily. It’s surprisingly low; I desperately want to stick to the default setup on a new system, with just a minimal set of additional apps. I’m going to discuss some of the symptoms of this condition, and what tends to raise and lower the CCC of a given app, but if you can’t be bothered reading all that then I can offer you an executive summary: I’m incredibly clever and handsome, and you should give me money. If you’re not going to read the whole article, I feel entirely justified in misrepresenting its content.


I doubt that I’m alone in suffering from this condition. Perhaps you’ll recognise yourself in a few of these symptoms.

  • Making unreasonable effort to live with default options and preferences.
  • Returning to one of the factory-installed desktop wallpapers after only briefly trying a custom one, and repeating this process every two months.
  • Automatically assessing a new piece of utility software based on whether you want to install it on all your machines, and learn it, and deal with the heartache of temporarily not having it when you get new hardware.
  • Paradoxically (since that’s not the default behaviour) hiding the Dock because you can barely stomach its constantly-changing contents.
  • Balking at an app because its menubar (status bar) icon isn’t monochrome, or generally homogeneous with the system-supplied icons (or, even worse, is confusingly similar to one of the standard ones).
  • Irrationally quitting low-load, low-memory-usage apps when you won’t be using them for a short while, because that’s how you were raised.

That’s how you know you have it, but the details of how you assess a given app’s CCC are probably specific to you. I can only share the factors that increase or decrease the perceived cost of an app for me, as follows.

Things that increase the CCC of 3rd-party software:

Any of these factors will push a given piece of software ever closer to my CCC Threshold, and ultimate rejection.

  • Having an installer. Depending on the app type (i.e. if it doesn’t seem reasonable for you to need an installer), this can be an instant Threshold-breaker.
  • Adding a menubar icon.
  • Adding a login item (not constantly visible, but nonetheless like a splinter in my brain).
  • Being a utility-like app (i.e. not an app I’ll often have frontmost, but will instead use via ancillary UI or shortcuts) which is nevertheless in the app switcher all the time (this is nigh-guaranteed to break the Threshold).
  • Auto-adding an icon to the Dock upon installation (instant Threshold-breaker; you’re gone, but update I do make allowances for Mac App Store apps here, albeit grudgingly).
  • Adding anything onto my Desktop without asking me first, or even defaulting to doing so when you do ask me (this is also an instant Threshold breaker).
  • Trying to actually replace a core part of the standard desktop experience (your file-browser/Finder replacement had better be amazing if it’s staying on my machine).
  • Doing anything that feels like it uses hackery-pokery, or fragile/undocumented APIs, or that injects itself into system functionality. I’ve never found an Open/Save panel enhancement that I’ve been able to keep around, for example.
  • Cosmetically altering the system. It’s unlikely I can live with that.
  • Doing things substantially differently than is standard on the platform, especially with regard to UI conventions and/or widget appearance.
  • Seeming to be something that will run periodically regardless of whether I’ve initiated it. I only tolerate Time Machine due to its obvious benefits. I balk at third-party scheduled sync solutions, folder-watchers, virus checkers and so forth for that very reason. And yes, I’m aware that all these can be and often are event-based anyway these days; nonetheless, the gut feeling remains.

Things that decrease the CCC:

  • Letting me swap an always-in-the-app-switcher standard app for a small, unobtrusive menubar icon (e.g. Notify, instead of Mail).
  • Letting me swap a system-supplied app for one with a more focused, efficient user experience but which accesses the same data (via an official API). Examples would be address book apps, calendars, etc.
  • Being simply an interface to a remote data store, so I know I can access the data in other ways and from anywhere.
  • Being a web app, for similar reasons to the previous point.

These rules change on a weekly basis as the mood suits me, but generally they’re indicative of how I’ll feel about a particular piece of software.

If your app’s Critical Customisation Cost reached my particular (low) tolerance Threshold, I can’t keep it around - it’ll drive me crazy. Does that mean that I, myself, am a little bit crazy? Yes, no doubt it does - but being unhealthily detail-oriented, rule-focused and meticulous does have its compensations in this line of work.