November 24, 2007
Reading for November 27th, are now posted. Enjoy!

October 2, 2007
To upload your thoughtless acts, create a new assignment page like any other lab. You'll see "Thoughtless Acts" listed as one of the assignment options.

May 24, 2008
This site has been archived and is no longer editable. Stay tuned for the next version, coming in the fall!

Tangible Fish Tank

Project Members: 
Ethan DeYoung
Jess Kline
Srinivasan Ramaswamy

General Description

Whether marveling at the size of a sting ray’s wings at an aquarium or admiring your own pet goldfish in its simple round bowl, fish tanks are wonderful things to observe. Specifically, the varied colors, shapes, and textures of fish and other tank life are aesthetically pleasing and positively contribute to the ambiance of a room. While traditional fish tanks are designed for observation rather than interaction, in our tangible user interface midterm assignment we hope to design a fish tank that also supports interaction.

We have come up with three ideas as to how to create a fish tank that supports interaction as well as traditional observation. They include:

Idea 1: A miming fish

This fish tank consists of two identical fish, one that is interacted with outside the tank and the other resides within the tank. The former acts as the interaction input: people play with the fish and it remembers and transmits its movement to the other fish. The later acts as the interaction output: the fish receives the input and replays these movements of the other fish. While this idea is similar to the curly bot-esquefish, its advantage is that people don't have to continuously place it in and take it out of the tank. And this fish token resembles a distant embodiment, rather than the full embodiment token of a Curly Bot toy.

Idea 2: A "smart" fish

This fish tank consists of one smart fish (as well as a smart tank.) The tank acts as the interaction input and the fish acts as the interaction output. For example, someone might tap on the tank and the fish will hide in its home (such as a shell or castle accessory). Or someone might say the fish's name, the tank will recognize it, and the fish will swim to the top of the tank. Other environmental inputs might include light, movement, or other forces to the water or tank.

Idea 3: A curly bot-esque fish

This tank consists of one fish. This fish acts as both the interaction input and output. For example, someone might remove the fish from the tank and move it around. The fish then remembers this movement and the person places the fish back into the tank, the fish will replay this movement. Because our third idea resembles the Curly Bot interaction and output, it might not be as ideal as ideas one and two.

We are open to any suggestions regarding other interactions and features and are considering combining different features of the proposed ideas. Also, it's important to mention that our different fish variations utilize fake fish.

Implementation Ideas

Any implementation of a fish inside of a tank will present the problem of how to transmit data to the fish inside of the tank (e.g. wire or wireless transmission). For the purposes of this project, limiting the transmission of data to a wired connection may help to keep the scope of this project in line with the allotted time.

Force sensors on the outer surface of the tank will detect tapping on the tank. Similar sensors could be placed inside the tank (submerged) to detect waves/motion in the liquid.
Any one of the three ideas would require constructing a fish that will 'swim' in three dimensions. To accomplish this, the fish will need to be constructed with the ability to adjust its buoyancy up or down. Additionally, the fish will need a way to equalize its buoyancy to its weight, so that the fish will remain at its level.

And it might be necessary to use a non-conductive liquid instead of water for the fish tank. This presents additional problems, the properties ofthe non-conductive liquid may very well be different than that ofwater.

Materials for the tank

Materials for the fish

  • photocell for detecting night/day - included in our kit (qty 6)
  • force sensor for detecting impact on the tank/in the water - included in out kit (qty 3)
  • microphone for detecting sounds - not in kit
  • speaker for output - piezo speaker in kit (qty 3)
  • small motors for propulsion - not in kit
  • adjustable fins for directional control - not in kit


Observation - It's true, the

Observation - It's true, the fish tank is an aesthetically pleasing item, but lacks any interaction. It's great to explore whether or not it can be pleasing when you add interaction to it.

System - The system sounds difficult to implement. Please remember that you don't actually have to build the system but you will have to focus on the interactions you are trying to support with the tank. You guys did a great job considering the different type of fish you may want to implement, but some things to consider. Will people find interacting with a fish by touching, holding, squeezing and bending it pleasing? (Consider taking a real, live fish out of a real fish tank and doing the same activities...) What are the other ways in which a user can interact or does already interact with a fish tank and can those be enhanced?

Use-Cases -- Though the different kinds of fish you design suggest the uses, it might be useful to carefully consider specific use-cases in great detail.

Related work - there's a lot of work on training fish to do things using a clicker ( ). You may also want to consider motion tracking work and work in Virtual fish tanks. One team has built a "water gesture" interface -- in particular, they built a system that allowed you to "part the water" to drain a tank (, pg. 35).

Powered by Drupal - Design by Artinet