DiAGRAM: A Shiny app for the National Archives

The National Archives logo

The National Archives


Public Sector

We were very impressed with what you achieved over the 6 weeks and also with how organised you were around documenting and managing your side of the project. Alex Green (National Archives)

The Challenge

The National Archives required development of a web based application that would allow their users to build and compare storage policies to help archivists manage risk to their digital collection. The project started in September 2020 and was live just 6 weeks later.

The aim was to provide an intuitive interface for users to provide information about their archive or potential policy changes in order to leverage a Bayesian network model to estimate risk scores of key factors in successful preservation of digital material.

The solution must provide the ability to quickly build these models and policies, whilst also allowing scope for advanced users to control the finer nuances of the underlying network. The information must be able to be downloaded and restored within the application as well as providing visualisation and report download options.

The Project

The National Archives already had the Bayesian network model available in a binary format for the R programming language.

In six weeks through a series of three sprints and rounds of user testing we built a dashboard style solution using Shiny, with custom input widgets built using React.

In addition to providing a flexible interface that allowed for non technical staff to take ownership of the content, question types and scoring mechanism of the application, there were requirements to adhere to web content accessibility guidelines (WCAG 2.1).

Our Results

Understanding risk to digital assets is a complex process so our dashboard solution provided intuitive navigation through the various elements that a user should understand by providing downloadable guides and links to relevant standards and frameworks. For the creation of their own risk models, users are guided through a series of questions which estimate probabilities of nodes in the underlying network.

Custom React Widgets.

Each model could be easily edited, or used to form the basis for estimated change in risk under possible policy change. The tool provides visualisations for quick comparison of policies and understanding the causal relationship between different elements of the underlying network used to estimate risk.

All information could be downloaded as reports either via a branded pdf or csv data. Advanced customisation allowed advanced users to directly manipulate the probabilities of nodes in the underlying network.

The application was provided bundled inside an R package which allowed dependencies and tests to be managed naturally for ease of deployment and provided documentation for the client to take on the maintenance role.

Stakeholders were very impressed by the amount of work achieved by our team in such a short turn around with the changing goals that came through the agile process and the communication and management of project evolution.