Ambient Orb Programming

A couple of months ago, C# Language Design Team Member Erik Meijer bought me an Ambient Weather Forecast Beacon from Ambient Devices.

I think of these devices as the colorful, glowing analogs of the SPOT watches. They combine pager receivers along with a microcontroller and a bunch of colored LEDs to give a colorful display of some sort of data. You register at their website, enter your zip code, and then the device shows what the weather is going to be.

I had it plugged in at home, but it's not very useful, as the temp doesn't fluctuate very much, and the "it's going to rain" forecast is really pretty common around these parts.

You can subscribe to their premium service for $20 a quarter, which gets you more information feeds, such as the pollen count, the NASDAQ index level, or the even the Homeland Security level.

But the cool part is that there are places where developers can plug in. There are two ways of doing this:

  1. You can send custom data through their network to specific orbs.
  2. You can talk to the device directly through a serial cable (which I have, but I don't know whether it's standard on this device, or whether you have to pay extra to get it).

I spent an hour or so this morning wrapping their serial protocol in a C# object, and my beacon is now cycling through colors on my desk. I'm not sure what the final use will be, but I think it's more likely to be "ski related" than it is to be "inbox related".

Michael Swanson has a cool article about how his team uses an orb to reflect the current status of their build.

If you have any ideas for what to do with my orb, let me know...