This post came about for a number of reasons, arising both from the real and fictional worlds. Fictionally speaking, my current work-in-progress deals with several software generations of personas (the AI equivalent of people). Readers of Far from the Spaceports and Timing will no doubt remember Slate, the main persona who featured there. Slate was – or is, or maybe even will be – a Stele-class persona, which in my future universe is the first software generation of personas. Before the first Stele, there were pre-persona software installations, which were not reckoned to have reached the level of personhood.
There’s a third book in that series about Mitnash and Slate, tentatively called The Authentication Key, which introduces the second generation of personas – the Sapling class. But that is in very fragmentary stage just now, so I’ll skip over that. By the time of The Liminal Zone, which is well under way, the third generation – the Scribe class – is just starting to appear. And as you will discover in a few months, there is considerable friction between the three classes – for example, Scribes tend to consider the earlier versions as inferior. They also have different characteristics – Saplings are reckoned to be more emotional and flighty, in contrast with serious Scribes and systematic Steles. How much of this is just sibling rivalry, and how much reflects genuine differences between them is for you to decide.
So what made me decide to write this complicated structure into my novels? Well, in today’s software world, this is a familiar scenario. Whether you’re a person who absolutely loves Windows 10, macOS Catalina, or Android Pie, or on the other hand you long for the good old days of Vista, Snow Leopard or Kitkat, there is no doubt that new versions split public opinion. And how many times have you gone through a rather painful upgrade of some software you use every day, only to howl in frustration afterwards, “but why did they get rid of xyz feature? It used to just work…” So I’m quite convinced that software development will keep doing the same thing – a new version will come along, and the community of users will be divided in their response.
But as well as those things, I came across an interesting news article the other day, all about the software being developed to go on the forthcoming space mission to Jupiter’s moon Europa. That promises to be a fascinating mission in all kinds of ways, not least because Europa is considered a very promising location to look for life elsewhere in our solar system. But the section that caught my eye was when one of the JPL computer scientists casually mentioned that the computer system intended to go was roughly equivalent to an early 1990s desktop. By the time the probe sets out, in the mid 2020s, the system will be over 30 years out of date. Of course, it will still do its job extremely well – writing software for those systems is a highly specialised job, in order to make the best use of the hardware attached, and to survive the rigours of the journey to Jupiter and the extended period of research there.
But nevertheless, the system is old and very constrained by modern standards – pretty much all of the AI systems you might want to send on that mission in order to analyse what is being seen simply won’t run in the available memory and processing power. The computing job described in that article considers the challenge of writing some AI image analysis software, intended to help the craft focus in on interesting features – can it be done in such a way as to match the hardware capabilities, and still deliver some useful insights?
As well as scientific research, you could consider banking systems – the traditional banks are built around mainframe computers and associated data stores which were first written years ago and which are extremely costly. Whatever new interfaces they offer to customers – like a new mobile app – still has to talk to the legacy systems. Hence a new generation of challenger banks has arisen, leapfrogging all the old bricks-and-mortar and mainframe legacy systems and focusing on a lean experience for mobile and web users. It’s too early to predict the outcome, and the trad banks are using their huge resources to play catch-up as quickly as they can.
Often, science fiction assumes that future individuals will, naturally, have access to the very latest iteration of software. But there are all kinds of reasons why this might not happen. In my view, legacy and contemporary systems can, and almost certainly will, continue to live side by side for a very long time!