"Interactive Fish Tank" is an installation that explores new, wet boundaries in touch-based interfaces. Developed in 2011 by Manuela Donoso and Crys Moore, Masters candidates at NYU's Interactive Telecommunication Program, the piece effectively turns a bed of water into a capacitive touchscreen, creating a virtual aquarium full of pixelated goldfish.
With "Fish Tank," users can "feed" a swarm of fish by simply tapping their fingers against the surface of the water. This creates a bluish circle around which the fish — represented with orange dots — then congregate. The simulated fish will also follow a user's finger as it sweeps across the water, as demonstrated in the video below.
The idea, according to Donoso, was to create an interactive experience based on a familiar, and somewhat hypnotic pastime "We were inspired by the sense of wonder and curiosity inherent in watching fish swim around in water, as well as the compulsive desire to poke at the fish," Donoso said in an e-mail to The Verge. "With our fish tank, people could poke and prod all they wanted, but without any harm to the fish."
Donoso and Moore aren't the first to explore water-based touch displays, but unlike some previous projects, theirs doesn't involve LCDs or traditional displays. Instead, their animated fish are displayed directly onto the water's surface, using a short throw projector installed at the bottom of the tank. Also included below the tank is an HD webcam connected to a laptop running OpenCV and Processing software. Using OpenCV's blob detection algorithm, the webcam traces the movements of a user's hand, while a customized Arduino circuit board uses capacitive sensing to determine whether or not a finger is in the water.
Once it makes contact with the surface, Donoso explains, a finger "acts in the same way as touching a button on an iPhone or any other touch screen." Indeed, in substituting glass for water, Donoso and Moore present a different, and perhaps more accessible way to understand how capacitive touch works on traditional displays. The underlying principle is the same: a user's touch elicits some change in the surface at the point of contact, and the software reacts accordingly. Whereas smartphone displays gauge this change in terms of electric charge, "Fish Tank" measures it in ripples.