Picture of Dance Notification Network
dance button FB post.png
dance button.png
Ever since finishing school I regularly hear friends saying "I'm sad I didn't take more electronics / programming / web dev classes and really learn how to use it." In the 3 years I've been out of school, I feel I've learned more practical design skills in new domains than I learned in all 6 years of college / grad school combined. After thinking about why some of my friends and I have had different experiences, I realized the hardest part of learning new domains is figuring out where to even begin. Electronics and web development are saturated with a million different development platforms, each with their own particular programming language, programming environment, pros/cons, and weird name. Each set of tools and architectures come with their own learning curves and abstractions. Ideally I'd come up with a witty analogy here, but nothing comes to mind so maybe later :)

I wanted to do a project that someone who wanted to broaden their domain exposure could use as a starting point with a lower barrier to entry. By crafting a project that demonstrates several of the powerful prototyping tools in different fields, then showing how they can be interfaced together to create a working multi-dimensional project, the idea is to inspire people to craft their own projects that utilize their particular depths and interests yet push them out of their comfort zone into new domains in a controlled way using properly-selected tools. Enough talk.


I like to dance. A lot. The second-most common text I get is "are you dancing tonight?", probably right after "when are you gonna get here?" (I'm chronically late, but acknowledgment is one of the steps on the way to recovery). There's a very well-used website in San Francisco for acquiring important and simple information, http://isthereagiantsgametoday.com/. Extremely straightforward, just tells you whether or not there's a game so you can plan your miserable commute accordingly. Inspired me to create a Dance Button that when pressed updates a website www.istripdancing.com (yes I realize that can be is trip dancing or i strip dancing) and communicates to friends that you're dancing.

In order to do this, you need a local device that can detect when a button is pressed, a module that enables the device to communicate the information to the internet, a website that can display the button status, and a web server that can mediate between the device, the website, and any social platforms.

Wanted to use platforms and tools that are extremely flexible (can be used in many different ways), well-documented (so bending them to your will is easier when you run into bugs), and abstract away as many of the technical concepts that contribute to steep learning curves as possible (but allow you to dive into the details if you'd like).

The last diagram shows an outline of all the components needed for this system and the interfaces between them.
tinaciousz10 months ago

Did you take your site down?

mlseim1 year ago
I'll be the first to comment. I'm so happy people are starting to post Imp projects. Even though this seems simple, it really does help others get "into" the world of electronics. There are several examples on the Imp website for using the Agents to send and receive data from websites. This Dance Button is an example of notifying someone of a physical event (the pushing of a button). That event could be anything else, like doors being opened, vehicles that trigger a sensor when entering a driveway, etc. If you have access to WiFi, the imp can connect your physical world to the internet. Great job on this Instructable ... just need to update the instructions by eliminating the "blueprint/planner" Imp IDE (obsoleted in mid December).