Building Interactive Installations for Museums, Schools and Libraries
A significant part of my work never shows up in a conventional portfolio. It doesn't live in a browser tab you can share — it lives in a room. A museum exhibition hall. A school corridor. A library lobby. And it gets experienced by people who have no idea what went into making it respond the way it does when they press their fingers to the glass, place a physical object on a surface, or step into a camera's field of view.
I have been building interactive installations for cultural institutions for many years. This post is an attempt to describe what that work actually involves, because the gap between "we want something interactive" and a finished, reliable installation that works for thousands of visitors is wider than most clients expect.
The Lærdal Wild Salmon Visitor Centre
My most recent installation project is for the Lærdal Wild Salmon Visitor Centre in Norway — a national centre dedicated to the conservation and understanding of Atlantic wild salmon. The centre includes a richly layered exhibition covering threats to salmon populations, management history, and the relationship between wild and farmed salmon.
Across the exhibition I built ten separate installations. Each one serves a distinct purpose within the visitor journey:
- Touch screen quizzes — testing what visitors have learned or know about the Wild Salmon.
- Information screens — presenting content in a format that rewards both a quick glance and a deeper read
- Explore the salmon inside out— an interactive hotspot experience letting visitors tap into the biology and anatomy of the salmon in detail
- AI chat with King Salmon— a conversational AI interface where visitors can ask questions and get answers in character, drawing on the latest salmon research and management data
- The TILE table— the centrepiece: a large multitouch table running an interactive WebGL map where visitors explore salmon habitats across rivers, fjords and the open sea, encountering threats and conservation measures at each stage of the salmon's journey. The table is both multitouch and multiuser and works with object recognition (used for opening hotspots on either side of the table)
All ten need to work intuitively for anyone from a curious eight-year-old to a marine biologist, and all ten need to run reliably, unattended, day after day. That last requirement is the one that separates museum installation development from almost any other kind of frontend work.
What makes installation work different
When you build a museum installation, there is no refresh. There is no help desk. There is a queue of visitors, a member of staff who has other things to do, and an exhibition that is expected to simply work.
This shapes everything — how I architect the software, how I handle edge cases, how I think about idle states and recovery, how we update or pull content and how I test. Installations need to be robust in a way that web products rarely are.
Beyond robustness, there is the question of input. Most of the installations I build are not controlled by a mouse or a keyboard. They are controlled by:
- Multitouch screens — often large format, sometimes driven by TUIO protocol from specialist hardware like Displax TILE displays
- Multitouch tables — horizontal surfaces where multiple users interact simultaneously, each with their own touch points, sometimes alongside physical TUIO objects placed on the surface
- Camera tracking — where a visitor's body position, movement or gestures drive the experience without any physical contact at all
- Physical objects and sensors — RFID tags, tangible objects placed on surfaces, proximity sensors
Each of these input methods has its own set of challenges. Multitouch requires careful management of concurrent touch points — tracking which finger belongs to which interaction, handling touches that are added and removed rapidly, and avoiding the kind of state corruption that leaves the installation stuck. I wrote about the technical side of TUIO handling in an earlier post if you want to go into the implementation details.
Camera tracking introduces a different problem: the input is continuous and noisy. You need to decide when a visitor's presence is intentional, filter out irrelevant movement, and make the experience feel responsive without being jittery.
Multi-user experiences
Many of the installations I build are explicitly designed for groups — school classes, families, pairs of visitors exploring together. This means genuine multi-user interaction: multiple independent inputs happening simultaneously, each driving part of the experience, without any single user's actions blocking or breaking what another is doing.
Designing for multi-user is harder than it looks. It is not just a technical problem of handling concurrent events — it is a UX problem. How do you make it clear to four simultaneous users what each of them controls? How do you prevent one enthusiastic user from accidentally taking over the whole experience? How do you handle the moment when everyone steps away at once?
These are questions I have worked through across many projects, for institutions including museums, schools, and public libraries. The solutions are specific to each installation, but the underlying patterns recur.
Schools and libraries
Not all installation work is museum-scale. Schools and libraries have their own specific needs — often around exploration and learning, frequently with tighter budgets and less technical infrastructure.
For these contexts I have built interactive tables and touch-screen experiences that work in high-traffic, semi-supervised environments. The durability requirements are if anything higher than in museums — school children are thorough testers. The UX needs to be extremely forgiving: no dead ends, generous hit targets, and content that makes sense without any instruction.
The reward is watching something you built become part of how young people engage with a subject. When a well-designed interactive table makes a concept click in a way that a poster never would, that is genuinely satisfying.
The technical stack
For those who want specifics: the bulk of my installation work is built in JavaScript and runs in Chromium-based browsers on dedicated hardware — typically Windows or Linux machines connected directly to the display or projector system. This gives me the full power of the web platform (Canvas, WebGL, Web Audio, CSS animation) in an environment I can lock down and deploy reliably.
For TUIO-based multitouch, I run a Node.js server that translates OSC messages from the touch hardware into WebSocket events the front end can consume. For camera tracking I have worked with various depth camera setups and custom tracking pipelines depending on what the installation requires.
The front end itself is a bespoke application built for the specific project — not a template, not off-the-shelf interactive software. But there is always a CMS behind it, typically headless, so that staff at the institution can update content, swap out text and media, and keep the experience current without touching code. An exhibition that opens in 2025 should not require a developer call every time a fact needs correcting in 2027.
Working with cultural institutions
Cultural institutions are rewarding clients for this kind of work. The briefs tend to be thoughtful. The content is genuinely interesting. And there is a shared understanding that the experience should serve the visitor's curiosity rather than an engagement metric.
The practical challenges are real: institutional procurement can be slow, content is often finalised late, and technical infrastructure on-site varies enormously. But the projects that result — an interactive salmon habitat in a Norwegian fjord visitor centre, a multitouch table in a Copenhagen museum — are the kind of work I am proud to have built.
If you are a museum, science centre, library, school or cultural institution looking for a developer for touch screen installations, multitouch table experiences, multi-user interactive exhibits, or camera-tracked visitor experiences, I would be glad to hear about your project.
Get in touch