Unexpected cucumbers and online services

One of the funniest video-memes of the summer shows a succession of cats. While they are eating, their owner places a cucumber behind them. As soon as they turn to walk away from the food bowl, they see the unexpected cucumber, panic, leap into the air, and fly away.

Last Sunday I had an unexpected cucumber moment. My wife, unseen editor-in-chief of this blog, was reading my latest article on Carl Larsson, the Swedish painter, when she discovered that she could not zoom into the posted images. She reloaded the page, but that zooming feature which we had long enjoyed in WordPress appeared broken.

It was only when I rummaged around in the generated HTML source for the page, and others which had been similarly afflicted, that I discovered that somewhere about 16 November 2015, the code generated by WordPress’s editor to embed such images had changed. Prior to that, a simple uncaptioned image would be placed as:
<a href="https://eclecticlightdotcom.files.wordpress.com/2015/11/image.png"><img class="size-full wp-image-5210" src="https://eclecticlightdotcom.files.wordpress.com/2015/11/image.png" alt="image" width="660" height="347" /></a>
so that, when you clicked on it, the image was displayed on its own.

After that date, this changed to:
<img class="alignnone size-full wp-image-5210" src="https://eclecticlightdotcom.files.wordpress.com/2015/11/image.png" alt="image" width="660" height="347" />
so that, when you click on it, nothing happens, and the only way of viewing the image at full size is to get your browser to download or open the image file.

The effect was to make it impossible for you, the reader, to enjoy full-size versions of images by simply clicking on them (and clicking again if you wanted to zoom fully).

I then had to trudge through all the affected posts, manually correcting the HTML source code to restore this functionality, and posted an apology to explain what had happened.

Also high on my current list of whinges are the ongoing problems with Apple’s Mac App Store. It is a depressingly similar story: an unexpected cucumber as hidden changes are made in the remote service, leading to broken functionality for the user.

The same happened with iCloud when iOS version 9 became available – another unexpected cucumber, and many users found their cloud backups were broken.

Each of these problems has occurred with a remote service, rather than the local client software which we have been using, although the last may well be a combination of both. In each case, it only became clear that the remote service had changed after the event, and even then discovering what had happened has not been easy, particularly as the service operator is usually unresponsive and uncommunicative.

As we rely more and more on such services, so we encounter more and more unexpected cucumbers. Those paying Adobe each month for the privilege of renting its CC software suite will be well aware of this, as are users of Windows 10, Microsoft Office 365, and more. Their vendors even proudly boast that they will roll out undocumented updates to the service almost constantly, an unexpected cucumber every time our back is turned.


Established software engineering and systems administration practice is that changes and updates are tested, documented, then rolled out at a known time. Products like app stores, cloud and other online services now seem to have abandoned that proven model, chopping and changing whenever their engineers feel fit. Users are unable to view change logs which detail what has altered and when, are given no prior warning of change, and no option not to suffer each change.

Vendors such as Apple, Adobe, Microsoft, and everyone else who operates their online services in such a cavalier fashion, must provide us with better information about what they intend to change, and what they have changed. Let’s stop these unexpected cucumbers.