Sensing Your Environment

Lately I’ve noticed a lot of need for sensors in my environment. I would like to have cameras in certain places to notify me of thieves or tampering or wildlife; I would like to have GPS in my car, and on my motorcycle; I would like my phone to know where I go and potentially the things that I say in daily conversation when it’s in earshot, but I want it to do something clever with that information, and I don’t want any one else to have it. I would like to have temperature and humidity sensors in various places to warn of potential mold or mildew situations. And I would like to have a beautiful interface that tied everything together on all of my devices.

This is just the tip of the iceberg, as I have only just mentioned consumer applications. I know that industrial applications are available for some of these things, but they are not easy to use and not very accessible (in my opinion). These thoughts have led me to more thoughts around the future of devices, sensors, networks, and people and their interactions with each other and with the environment. I have a simple product idea that I’m trying to develop. Anyone who is seriously ready to start today on some embedded work should contact me jordan**at**


“Speak your mind, even if your voice shakes.”
-Bumper Sticker

“The best things in life aren’t things.”
-Bumper Sticker

“Life will give you whatever experience is most helpful for the evolution of your consciousness.”
-Ekhart Tolle

“Don’t ask yourself what the world needs. Ask yourself what makes you come alive…And then go, and do that. Because what the world needs is people who have come alive.”
-Harold Whitman


Processing is a sketching language. It is very nice for prototyping!

I have been enamored with astronomy and astrophysics lately, and I’m really wanting to model a supernova or galaxy formation, but my skills are just not quite there. I need to better understand the math behind the physics, and the physics behind OpenGL.

Anyway, I made some of these little spherical doodles today.



Art Part Deux: The Update

The art show on Friday went well. We didn’t face any technical difficulties, the art was good, the music was good. I played keys with The Novelist, and our performance went well. Jake Hand recorded it and it actually sounds great for a little stereo mic. I’ll post the full recording when it’s uploaded.

Also, I modified the original visualization a little bit. It was really just a starting point, and once I got all the technical kinks worked out (related to analyzing the audio spectrum data without playing the audio in real-time) I was able to modify the visuals a bit. As you might have noticed, the original was based partially on Brendan Dawes’ Sonic Dots – with some important modifications – but based on it nonetheless. I changed the code up to add some different flare, and I was in the process of changing it more when I ran out of room on my hard drive. Processing tried to save my sketch and since there was no room, it actually deleted all of my code. I can re-write (probably best to refactor now anyway), but this was two days before the show and I took it as a sign that I should just get on with it and turn in what I had. I ended up displaying both versions because I couldn’t decide which I liked more. Here’s version two of the visualization based on Jesse Cohen‘s “My First Music Toy.”

NetStep : Browser-based Step Sequencer in Silverlight 2.0


I was finally able to put some time into making sure that the NetStep application runs using the most recent (publicly) available Silverlight runtime. I have tested this version on the Mac (pretty good performance!) and in Windows (through Parallels on my MacBook Pro). The performance in my particular setup was much better in OSX, but I have a feeling that would be different if I had a dedicated Windows machine.

NetStep is a collaborative musical step sequencer. While this isn’t an electronic music primer, I’ll give a brief overview of what NetStep actually is.

A step sequencer is an electronic music device that allows the musician to program patterns of various “samples,” or sounds. One sample may be a bass drum kick, another might be a snare hit. The musician can use a sequencer to control when these samples are played back, the tempo in which they are played, and usually what effects are applied to the samples.
NetStep is collaborative. In two-player mode, each user is given two “tracks” to work with. (A track is simply a row of “steps” where each step is tied to a sample. When a step is active, the associated sample is played when the playhead moves over that step). When a user hits the “Play” button, NetStep syncs itself with the other user’s sequence, and the two sequences are played back simultaneously. In this way, two musicians can work separately, but preview the joint composition at any time.

Currenty, NetStep only supports built-in samples. In my initial tests, it seems that not all samples are playing correctly, but I’m sure this will be worked out (most likely by a future release of Silverlight).

To get started with NetStep, click here.

**EDIT** – Patrick Hansen, my designer cohort in this NetStep affair, made an informative and attractive user manual.

1. Enter whatever username and password you’d like; this functionality is only used for identification with the other NetStep user.
2. Select single- or multi-user mode. Currently, multi-user is very very primitive. It will only work for two users at a time, and it’s a bit buggy. I hope to improve the backend in the future, or I might just set it up to run as an MSN Messenger application and use the real-time chat network for data transport…we’ll see.
3. Click on the samples in the top 3 “Sample Boxes” in order to preview them. As I said before, it seems that not all samples are playing, so click around until you find some that work.
4. When you find a sample you like, drag it onto a “step.” (The little orange buttons in the main part of the app.) The step will light up, indicating that a sample has been dropped and activated.
5. Play around with different samples, placing them on different steps. If you’re unfamiliar with step sequencers, just play around until you get the hang of how these things work.
6. When you’re ready to test your creation, hit the big orange “Play” button on the bottom. It doesn’t say “Play,” but if you don’t know what a Play button looks like, turn off your computer and pick up a shovel and kill a moose.

You’ll notice the numbers near the play button on the bottom. These represent “pages.” When you start the app, you are automatically on the first page, but the sequencer actually goes through 4 pages before it cycles back around to the beginning. Think of each page as a separate canvas, where all 4 canvases are linked together back-to-back.

I hope this brief tutorial helps the beginner get into this program. Keep in mind that this was built very quickly and is still quirky; I would call this release a Pre-Public Alpha v .2 Super Deluxe Hi-Five. So, please give me feedback; tell me what makes sense, what doesn’t…what works, what features you’d like to see (unless it’s already the most perfect piece of interactive software you’ve EVER seen).

Cheers, Enjoy.