Learning from… fine art restoration

So I don’t practice fine art restoration myself, or indeed have much at all to do with painting, I do sometimes watch Baumgartner Restoration. It features the restoration of mostly paintings using modern materials and techniques. While the artwork is not world renowned none of it can simply be replaced. They are normally old pictures, each unique in their own way, and their history can be as important as the image on the canvas. A lot of the work is slow and methodical. The priorities here are radically different from those in software development. I’m going to try and compare and contrast to see if there’s anything to learn.

Fine art restoration

A typical restoration job is presented in one to three episodes depending on the complexity. It normally seems to be oil paintings on canvas but the painting medium and background material do vary. There have also been videos on sculpture or where the restoration of the frame was given centre stage. I’ll try to present a typical “day in the life” for one of these restorations. An episode may feature each aspect more or less but I get the impression they always happen.


The first stage is always to look and see what is there to start with. This includes what the original artwork is and the reasons for the restoration.

Paintings can come in for simple reasons such as the accumulation of dirty and discolouration of varnish. Many pictures that at first glance seem to be dark and gloomy were never intended to be that way. Paintings can come in because of accidents, fires or physical damage. A huge tear might be an obvious problem but flaking paint could be more serious problem, flakes that are gone are lost forever. Apparently most distressing to the restorer, they can come in because of the state that previous restoration attempts have left them in. Frequently a botched attempt to clean a painting also removes paint.

Each picture is made of multiple materials, each painting is slightly different. Small tests are made to check what solvents and cleaning agents should be used. To clean off dirt you want something that is strong enough to bind to the dirt and nothing more. Ultraviolet light is surprisingly useful. Finishes that look identical can react differently and show previous restorations. Indeed modern restoration materials are deliberately design to fluoresce to distinguish them. The goal is to reveal and restore the painting not to cover up anything original to the artwork.


The second phase is one of disassembly, stabilisation and cleaning. Everything that is part of the original painting should stay and everything that is not should go.

With particularly delicate paintings this phase can start by gluing paper across the entire surface of the canvas. This may seem drastic but glue is removable and it locks everything in place during the rest of the procedure. The painting is carefully removed from the frame and any previous backing to the canvas must be removed. If unlucky this can involve a surprising amount of exceptionally careful manual scraping. Next it is taken to a heated vacuum table which can smoothly press any distortions out of the canvas. Any delicate or significantly damaged paintings may then be given a complete new lining. Smaller amounts of damage will be addressed individually by bridging tears or cutting canvas fillers.

If the painting was faced with paper the glue can be removed with a solvent, often just water. This can even start the processes of cleaning and some dirt will come away with the glue. The main cleaning phase is often done with cotton wool and gentle solvents. Normally less important parts of the painting are cleaned first to gain experience before tackling the important parts. Removing the varnish is similar and he has to go over the whole painting again but with a different solvent. If there is any previous retouching work then that to has to be removed. A carefully chosen solvent can often affect newer paint while leaving older paint untouched.


The third phase is one of rebuilding, retouching and protecting. Getting the painting to the state the client wants and keeping it that way.

Any holes, tears or cracks will have been minimised during the previous preparation. However the surface won’t be perfect and a filler is added to any remaining damaged areas. The goal is not to have a smooth surface but to have a matching surface. It may be smooth, it may have a canvas texture, and oil paint in particular can have texture in the brush strokes. The filler can be textured, sculpted or removed as necessary.

The cleaned and stabilised painting can then be reattached to a frame, the original if possible and new one if not. I particularly like the attention to detail given to the back of the frame. It is just as neat as the front, ready for the next restorer.

The painting may then be given an isolation layer of varnish for several reasons. Tiny remaining blemishes in the finish can be filled in by an appropriate varnish. Paints look different under varnish and any retouching must be done with those colours in mind. An isolation layer can protect the original paint if we need to remove retouching at any point in the future.

Only now, finally, is any new paint brought to the painting. The goal is not to create a new similar painting but only to repair damage. If painting is missing from the original it can be replaced. If paint is not missing then it should be left alone. All too often previous restoration ends up hiding the original. This means a fine brush plus lots and lots of tiny brushstrokes. It may be that only a few small areas or whole sections of the painting need to be addressed. It’s all done carefully and methodically. It might take minutes or it might take days.

The final stage is a topcoat of varnish to protect everything in the future.

Software development

Modern restoration focuses on preservation above all other things. They want the paintings to look good but they don’t want to risk damaging anything in the process. Physical things are in many ways more vulnerable than digital so we have an advantage there. However it’s also easier to delete digital data so it’s not all one sided.

The restorer often has to start with a multitude of tests. However he leaves the painting with notes attached to the frame describing his restoration. It will be easier for whoever comes next. (Sometimes he even revisits previous work if they suffers further damage.) While source control will show you exactly what changes were made to your code five years ago it will tell you nothing about why unless you added that to the commit message. I regularly search through old histories looking for the why and all to often it’s not there. A decent commit message takes a few minutes but can easily save a hours or days in the future. You can look at it like insurance, most of the time you don’t end up using it but you do it anyway because it stops disasters. A short commit message doesn’t feel important now but you can pay for it in the future.

The retouching is a comparatively tiny part of the work here. All the rest of the work beforehand is to get the canvas and painting into the best possible state for the paint. I can definitely see advantages to having a well prepared codebase before writing new code. To me this would mean:

  • Well structured code where different parts have well defined functionality.
  • Unit tests so that you can be confidant about that functionality.
  • Integration tests so that you can be sure about larger systems.
  • Documentation so that all of this makes some sort of sense.

Unfortunately unlike with restoration this isn’t a one off task. Every time you want to change your code it’s best done with a well prepared codebase. That means continual rounds of updates to structure, tests and documentation. All of that takes time but it makes the actual coding as easy as possible.

Although I described a typical restoration it’s never quite the same. Different paintings need slightly different treatments and they can also evolve over time. He might use a rabbit skin glue or he might use one of the latest resins. He can build himself an entirely new clamping table. In software our techniques change over time. I read some old performance rules recently requiring index based for-loops instead of range based for-loops. That’s at odds with performance tests I ran recently. It was better but it’s not any more. Optimizers are better and a range based for-loop give them more meaning to use in their optimisations. As things change we can adapt to take advantage. We can also plan for these changes so they are easier to integrate.

There is also a need to have the right tools for the job. Whether this means specialised vacuum tables which he made himself or the reversible conservation grade paints which can be bought. Having less good or less suitable tools means a slower job or a less good result. We have this as well. Sometimes we need to build our own tools, I marvelled at a dream debugger recently. Sometimes we can just download them free, I was updating code using free automatic tools today.

In the end

There are more differences than similarities here. I like the methodical process that’s presented here but I like the extra freedom that some parts of the software development can have. We have an amazing power to switch back and forth between versions without risking permanent damage. However we do have to commit to something in the end and that becomes part of the permanent record, for better or worse.





Leave a Reply

Your email address will not be published. Required fields are marked *