Why Does Coding Matter?

In December 2014, I wrote a special edition article for the “Teaching & Learning” blog at Head-Royce. It was a reflection on why Coding & CS are so important for the next generation. I think it is still very relevant one year later. Check it out by clicking below:

Screen Shot 2016-01-20 at 2.27.45 PM

2nd Annual Hour of Code at Head-Royce!

For the 2nd year in a row, I led the efforts to coordinate an  Hour of Code as well as other various STEAM activities (3d printing, LED ornaments for our Digital Citizenship Community Tree), for students in K-12. Click the image below to learn more!

Screen Shot 2016-01-20 at 1.43.28 PMScreen Shot 2016-01-20 at 1.43.22 PM

Art Technology + Apprenticeship (Group Exhibition Spring 2012)


CLICK HERE >> Art Technology + Apprenticeship (Group Exhibition Spring 2012)

Screen Shot 2016-01-26 at 1.13.57 AM.png

The slideshow linked above highlights some photos from a group exhibition that I co-facilitated & co-coordinated while a grad student at the School of Arts Media + Engineering.

Mobile Phones + Max

Turns out, someone created a ToolKit of fresh new patches for interfacing Mobile Phones (iPhone, iPod, iPad, Android) with Max using TouchOSC

Check it and DOWNLOAD the patches HERE!

Nathan Bowen who presented these at the 2011 Cycling ’74 Expo in NYC in October, writes on the cycling74 site:

“This is a bundle of patches intended to help get you off the ground in using mobile phones to control Max.

As I like to have several phones connecting to Max in a network setup, I use of udpreceive and udpsend so that ports can be dedicated to specific devices. I don’t know how to make use of Bonjour, so feedback is welcome!

For Android users, I have created a patch that interfaces seamlessly with the TouchOSC ‘Simple’ layout, so even if you cannot add custom layouts, you can still make use of some these patches.

Currently the best setup is either an iPhone, iPod Touch, or iPad on TouchOSC, but hopefully this will change as Android becomes more robust.”

Pachube Research, Pt. 1 – Exploration, Discovery, Arduino Tests

So I’m also working on another Demo about Pachube. Before we get into that, watch this movie about “The Internet of Things” (Wikipedia Description Here)

Internet of Things Model
Internet of Things Model

On their About page, their Vision Statement: “Pachube (“patch-bay”) connects people to devices, applications, and the Internet of Things. As a web-based service built to manage the world’s real-time data, Pachube gives people the power to share, collaborate, and make use of information generated from the world around them.”

It 2008 Haque made released a framework that set up a way to “handle real-time data from sensors in interactive environments for his design practice.” This is another piece of the crowdsourcing movement, and the ability to track this much data and run it through this Pachube hub is very awesome. I guess in July 2011, LogMeIn acquired Pachube.

Anyway, Pachube used to be a paid service, but they recently (this month) made the service completely free for all users. An Overview of the Pachube API Documentation gives you a sense of how things work. There is also an API Quickstart that is useful if you know curl or hurl, command-line communication for scraping and posting data.


FitBit Research, Pt.1 : Exploration (HealthGraphAPI, libfitbit, etc.)

So last week, I started wearing the FitBit, a biofeedback sensor that you can clip onto clothing and wear 24 hours a day to provide you with real-time data about your activity level, pedometer (steps taken), distance meter, calorie counter, and sleep tracker. And all of this by using an accelerometer (motion sensor), calculating a few key algorithms to derive this information from the x,y,z values of a motion sensor, and then displaying it on the the associated website. (FitBit Setup Instructions are posted toward the bottom of this post.)

The FitBit website seems to be an incarnation of the HealthGraph API, which was made open-source by the folks behind the RunKeeper cross-platform app phenomenon. To understand this ‘movement’ (and I use the term literally) better, I registered for a RunKeeper account to see what this all invovled. You log in, set up your profile user page, and if you link it to your Facebook account it creates a “Street Team” from your friends list, with whom you seem to compete or at least share acts of physical prowess that are logged on the site. Runkeeper App is available on iPhone, Android, Windows 7 Phones, and Nokia. The power of this platform seems to be once again, the Health Graph API:

The Health Graph
The Health Graph is "a digital map of your personal health." Through Runkeeper.com, the user "gains exposure to millions of passionate fitness enthusiasts" and developers can "build more intelligent social health and fitness apps, websites and connected devices".

On this site, they speak of the “social graph”, which has evolved into the “Open Graph” described as “a system of connections that includes not just personal relationships, but also your personal ‘likes’ and interests. Any website, individual or group that you ‘like’ is eligible for inclusion in your open graph.” They say that this Open Graph is missing a few things that the ‘Health Graph’ can fill in:

  1. Changes to your body measurements over time – a ‘like’ relationship doesn’t include a time factor.
  2. The impact of your activities, sleep patterns and nutrition on your health and body measurements.
  3. An analysis of the elements of your social graph that will help motivate you to reach your fitness goals.

Further this app seeks to:

  • Identifiy periods of weight loss in your fitness history.
  • Establish correlations between weight loss & nutrition, sleep, activity performance, social motivation, etc.
  • Visually display the relationship between these health data points.
Health Graph Activity Table
Health Graph Activity Table

Runkeeper claims to have over 6 MILLION USERS, so this seems like it could be a great example of philanthropic Crowdsourcing. With so much data available for analysis, there will inevitably be some interesting correlations, discoveries, and the ability to refine the program. Having access to all of this data would indeed be very interesting for visualization and a “Crowdsourced” Interactive Art Piece.

So, the Runkeeper HealthGraph API is being used in the following devices:

Other HealthGraph API products
Other HealthGraph API products (includes FitBit)

Here is a graph of some of the Data Points available to correlate:

Health Graph Stats (Data Points)
Health Graph Stats (Data Points)

I’ve registered and authorized a Test App at both the Runkeeper Developer Health Graph API site, as well as at the FitBit API Developer Site. I’m learning about OAuth ( 1.0 is used by FitBit & 2.0 is used by HealthGraph). Today I begin with the Beginner’s Guide to OAuth.

I think the best way to complete a “Demo” for others to use this data will actually be to develop an web-based app myself that is reverse engineered from the Simple Client Example.I may be able to feed this data into Pachube and access it for use in Max/MSP that way with the MaxPatch that is available from the Pachube forums.

Another way that I am exploring is to use QDot’s (NonPolynomial Labs) LibFitBit. I’m starting with this page to make sense of it all… do I need to learn Python for this?