Eulogy
(or "Software will never be the same again")
A few weeks back I watched the latest series (seven) of Black Mirror. I'm never fully convinced by Charlie Brooker - I loved Nathan Barley (but mainly because I also love Chris Morris) but hated Screen Wipe; I am on the fence about Philomena Cunk but I've really enjoyed Black Mirror. My favourite episode is Metalhead which is utterly terrifying.
I thought that, in series seven, there were two stand-out episodes - Hotel Reverie and Eulogy - two very emotional love stories that were both incredibly positive about the power of AI.
In particular (putting this into a software development context) I had a total revelation after watching Eulogy.
The episode is about a device collecting memories, from Philip (Paul Giammati), to be shown during the funeral of his former girlfriend, Carol. As the device asks him about their life together and gets him to dig out old photographs, it triggers memories and feelings he'd long since shut away. These memories bring Philip to revelations about his past and how his relationship with Carol was not how he had remembered it.
Some time after watching it, I realised the device was basically a fancy configuration screen; a "setup wizard".
I'm old enough to remember when, upon installing a piece of software, you would spend ages going through various configurations and setup screens. Or, in some cases, edit text files or the windows registry. As a developer or sysadmin, that's still pretty normal, but for most software nowadays, it's not something most people think about. Instead they just tap "allow notifications" and "please don't track me" and are done with it.
The software I write is "corporate" (sometimes even "enterprise"), meaning that there's a lot of configuration. However, this is a specialist task, performed as part of the post-sales process by our team in conjunction with a dedicated set of staff at the client. But it is complicated and requires planning and understanding in advance.
In Eulogy, the device is going through a very complex setup process - sifting through a man's entire life to find relevant data and place it into the correct places - and it does this by having a long, interactive, conversation. It offers starting points for exploration, it follows paths and suggests new avenues as Philip responds to the memories he's uncovering. And it uses a natural conversation to perform a complex data-retrieval and categorisation problem. An emotionally overwhelming and revelatory conversation, but Eulogy is a love story so you'd expect that to be the case.
I realised that, in a couple of years time, any software that presents a load of setup screens, that asks for configuration data, that even requires in-depth knowledge of the underlying model to get started will feel as antiquated as asking the user to fire up vi
and edit a text file.
There are a load of issues around LLMs, but, given a tight set of rules and constraints (such as a data model and schema for a configuration file), they can be an incredibly powerful way of simplifying interactions for users who have had a piece of software (that they didn't necessarily choose) thrust at them. And, given the right context, LLMs can also make it very simple to go back and change or refine those configurations, so you don't necessarily have to get everything right the first time.
Luckily I have two brand new projects to work on - both require configuration and both have a data model that requires significant understanding on the part of the administrator. So I'm going to experiment with using an LLM as an assistant for managing this configuration.
I'll let you know how it goes.