15 years before I programmed a computer for the first time, by submitting cards to Manchester University and getting the “run report” back a week later, my Dad bought a programmable washing machine. No, we weren’t based in Los Alamos and no Dad was not a NASA engineer, he was a GP.
I’ve never really thought of my Dad as an early adopter. I also suspect that when we talk about exciting new products and technologies, most of us tend not to look back 50 years. Shame!
Although the first electric washing machine was introduced in 1908, they were not widely used until after the Second World War. The Hoover Keymatic “does all your washing all by itself” was introduced in the early 1960s. My Mum and Dad must have bought one of the very first ones because years later Hoover engineers came to look at it to try to figure out how it was still running.
The key innovation of the Keymatic was the programming Key. This square plastic plate had notches cut into each side of each edge, giving it 8 different programs. The notches controlled what operation happened when and for how long. A benefit of the key was that “as new fabrics appear, so a new washing programme can be provided to suit them”. I don’t know whether that ever happened, but I’m sure I remember that we had two keys: a black one and a red one.
I guess in the 1960s the issue of how to wash new fabrics effectively and safely was a problem. Lots of new artificial fabrics were appearing and each must have needed particular care. The Keymatic offered a “future proof” solution to the housewife.
What does “future proof” mean to today’s high tech products? It is difficult enough to try to create products for the world of one or two years hence, let alone building in the right flexibility to allow the product to continue to function usefully 10 or more years hence.
A key area for future proofing is where the product interfaces with the outside world. The file formats it can read and those that it can write are most likely to change during its life. Internal processing of data may well remain adequate, but it is likely that there will be a need for some additional processing steps.
For software products I think future proofing has to include some degree of user programming (imagine cutting your own keys for the Keymatic).We can provide hooks into the software which will allow others who do not have access to the source code to add new functionality via languages such as Python. Just imagine how great it would be if when suddenly faced with a new or slightly modified file format, you could add in the functionality to read it in yourself, or get a friend to do so.
Sadly, the biggest barrier to “future proof” software applications has to be the operating system. Unless you keep a museum full of old computers, and their spares, the chances of being able to run this year’s software in a 10 years’ time is minimal.
(Actually I do know of one user who keeps an old SGI computer under her desk so that she can fire up my 15 year old software “just in case”).
Early TV ad for the Hoover Keymatic