DIY online exhibitions

I’m no longer part of the mighty Trove team at the National Library of Australia. But hacking Trove was a passion long before I took on the manager’s role and that, of course, will continue.

I’m particularly interested in what happens when we aggregate cultural collections and make the results available in a machine-readable form, such as through an API. This is what Trove, DigitalNZ, the Digital Public Library of America, and Europeana all do — dispersed and disparate collections go in one end, reusable metadata comes out the other. The APIs of these services provide single, standard entry points to a diverse collection of collections. Using them you can build applications that enable us to connect and compare, rather than just find.

But to use an API you generally need to know how to code, and that’s a problem for many. How can you make use of these aggregated riches without becoming lost forever amidst the arcane byways of code?  I think those of us who build with code can do more to cultivate the middle ground between API and apps — to create frameworks, skeletons, examples and demos that can be shared and customised by non or novice coders. Reusable apps built on reusable data.

Late last year I created an app that pulls together the contents of selected Trove lists and displays them in an attractive way. Trove lists are user-created collections of items available through Trove, and their contents are accessible through the API. So just plug in some lists and my app creates an instant exhibition.


The app in action for the Celestial Empire exhibition
The app in action for the Celestial Empire exhibition

The app is currently being used to feature Trove content related to the National Library’s Celestial Empire exhibition, but I developed it to support easy reuse and customisation. It’s built with AngularJS, so the result is just a single HTML page with some Javascript and CSS attached — no database or CMS required, just a little space on a webserver.

There are two versions of the code available: the complete development environment, and a pre-compiled version for quick customisation. If you’re a coder you can obviously grab the original repository and set up everything using Grunt and Bower. You’re then free to tinker with the navigation or the functionality as you so wish.

But I thought most people would just want to plug in their own lists and maybe tweak the styles a bit. That’s where the pre-compiled version is useful. All the AngularJS stuff has been neatly packed away into a couple of script files, exposing just the bits that people are most likely to change. Even better, I’ve taken advantage of GitHub’s own Pages service to set out a simple series of steps that guide you through from customisation to publication. The only coding required is some simple edits to a single HTML file. Create your own online exhibition in minutes, using nothing but a GitHub account! Magic!

Just edit a few lines of HTML and you're done!
Just edit a few lines of HTML and you’re done!

The steps are all described in the GitHub repository, as are more advanced opportunities for customisation. A non-coder can easily set up an exhibition, but with just a little more confidence you can start tweaking the CSS to build your own custom style.

The app pulls data from the Trove API each time it loads, so any changes you make to the lists themselves will be immediately reflected in the exhibition. You can also include extra contextual information by adding descriptions to your lists and notes to list items in Trove — this will be automatically displayed in the exhibition.

Kate Bagnall recently used this framework to create her own exhibition, The Chinese in New South Wales — A history in pictures to 1940. She’s also written a useful blog post describing the process of putting it together. Catriona Bryce has created exhibitions on Canberra and the Southern Highlands.

Feel free to play around and see what you can create!

This work is licensed under a Creative Commons Attribution 4.0 International License.

Tim Sherratt Written by:

I'm a historian and hacker who researches the possibilities and politics of digital cultural collections.


Leave a Reply