Group Project 1


In the first three individual assignments, you learned how to get data from the Internet and visualize it, how to interact with the online world via hardware, and how to box it up and make it interesting. In this first group assignment, you’ll use all of these skills to develop a synthesis of these topics: an ambient display.


Your goal is to make an attractive ambient display that gives you useful information about something relevant to your life. You should work in a principled way, considering the previous work that researchers in the area have done (see Papers about ambient displays below as well as the class slides about metaphors; I’m particularly partial to the enchanted object metaphor).


This is a group project! You will work in groups of two, or, if you have a really amazing idea and can convince me that it won’t work without more people, three. But I really want you to work in groups of two.

What to do

Here’s what to do and how much of the total score for this assignment each item will be worth:

  • Build an attractive ambient display that visualizes a source of online information that is relevant to your life. (50%)
  • There should be a clear mapping from the information to the visualization, such that you could explain the display to someone and they could understand it. (10%)
  • The display should provide some way to catch the user’s attention for notable events, preferably using the same visualization mechanism. (5%)
  • You should be able to simulate a notable event for demonstration purposes. (2%)
  • The display should be nice looking/sounding/feeling and not obviously technological in nature. Ideally the output will happen in a creative, non-obvious way. For example, if it’s based on light, showing a graph with LEDs is obvious (see Inspirations below). (13%)
  • Your documentation (20%) should include:
    • A description of the display, including pictures,
    • what choices you made for the information to display and the way you displayed it,
    • justification for your design based on previous research,
    • source code and 3D/2D model files.


As usual, submit your deliverables via Github. Place your documentation in a Readme file. Include the pictures inline in your Readme file.


  • You can put your display into another object if it makes sense. The 1979 Bang & Olufsen Raspberry Pi Internet Radio Instructable project is a great example of this idea taken to an extreme.
  • You can also use random objects for your display output. Be creative!


Here are some examples of projects I found on Instructables, with some comments. Note that most of them are not ambient displays, but contain parts that I think would be suitable for an ambient display, or otherwise illustrate something I think is cool.

  • Ambient temperature tapestry: This is a pretty good example of what I would like to see out of a class project. It’s nice looking and it shows useful information. It doesn’t connect to the net, and I would like it better with some less-obvious lights.
  • Mechanical music box: It’s not an ambient display but could be one. I particularly like the warm appearance and how it uses mechanical parts to make sound rather than a speaker.
  • Vibrating mirror: This mirror has nine little circles that can vibrate independently, distorting the image. This very neatly falls into the enchanted object paradigm.
  • NeoWeather: This project uses a ring of RGB LEDs to indicate various things, including the weather or package delivery status. I like its ability, but it would lose points for this assignment because it’s very technological-looking and the output is pretty obvious—just LED lights.
  • Lego Mets home run indicator: When the Mets have a home run announced on Twitter, the apple pops up! This is only semi-ambient, as it’s really a binary display. I’d like to see a version that somehow includes a subtle indication of current score.
  • Twitter mood light: Indicates the current overall mood of Twitter via light. I’d like it even better if the display was less LED-ish looking.
  • Tweiger counter: A “Twitter Geiger counter” which searches Twitter for particular words and makes a clicking sound, so you have an idea of the “density” of tweets on a particular subject. It also has a meter. This project would get an A.

Extra credit

For 2 points of extra credit towards your final grade, make and publish an Instructable on how to build your ambient display (credit will be allocated based on the quality of the work). Here’s what to do:

  • Visit the Instructables website, select “Sign Up” in the upper-right-hand corner, and make a free account.
  • After you’ve registered and logged in, click the “Publish” button at the top of the home page.
  • Check out the “How it works” video, then make a new Instructable.

Here are some useful tips on making high-quality Instructables. Two examples of well-done Instructables from the list of inspirations above are:


Examples of ambient displays

  • Ambient Orb: a one-“pixel” display orb that changes color to indicate various changing values.
  • Forecast: an umbrella with a handle that glows brighter with a greater chance of rain.
  • Cryoscope: a block of metal that changes its temperature based on the weather forecast.
  • GlowCap: a pill bottle top that glows to remind people to take their pills.
  • Proverbial Wallets: wallets that behave differently based on the amount of money in one’s account.
  • Ringly, CUFF, Kovert: fashion wearables designed to unobtrusively provide notifications. Do these actually qualify as ambient displays?
  • Discreet Window: a computer-controlled blind that shows how much you’ve been working.
  • #Flock: “A set of four houses, three contain colourful birds which react to Twitter triggers, the fourth is a simple clock. A new follower, a retweet or an @message will trigger one of the birds to pop out of its house, each with a different movement. Optional birdsong can accompany each action, the volume controlled with a small dial.”

Papers about ambient displays


Many of the links to existing ambient displays, as well as some of the specifics of the assignment, came from Assignment III of Intel/CMU’s Designing for the Internet of Things course.