For the past few years I've usually had a stab at making something with the Cheerlights API - a Thingspeak service that watches tweets hashtagged #cheerlights and extracts the latest colour tweeted. You can then use this to synchronise your lights with others around the world and let others control them.
My current setup includes:
- Arduino Uno rev 3,
- Arduino WiFi Shield using the WiFiClient library,
- 12mm Diffused Thin Digital RGB LED Pixels (Strand of 25) (SKU: WS2801) connected as in the Adafruit tutorial,
- a 5V DC adapter with a female 2.1 mm jack connected to the power leads of the LED chain.
It uses the Adafruit WS2801 library for talking to pixels with serial data. Additionally, I replaced the majority of my HTTP code with this HTTP client library. One caveat is that Thingspeak uses chunked transfer encoding which is a pain when you're dealing with raw HTTP. This library only supports responses with a Content-Length, so I wrote a function to un-chunk the response body.