ProphecyBoy

@fixx Thanks, looks pretty good, but we're looking for something hosted and pay-by-the month. You should really consider both of those. - more on Twitter

CookieNet followup

Here are the results of CookieNet, which I deployed Wednesday afternoon to an unsuspecting ITP.

Implementation:
The deployed version of CookieNet worked as described in the initial project outline, with four cookies to a parcel and three parcels plus on single cookie to a box. The boxes were then delivered to members of three different classes, with instructions to get the parcels to three other classes, where they would be opened and the cookies were distributed. Each box contained a different kind of cookie to aid in tracking.

The one change I made, after reviewing the ITP schedule, was to address one parcel in each box to go to any section of thesis. I thought it would be interesting to see if any wound up in the same section.

The chocolate chip cookie box went to Networked Objects, with parcels addressed to Living Art, GUI Design in AJAX, and Thesis. The sugar cookie box went to Nature of Code, with parcels addressed to Massively Multiuser MEdia, Sensor Workshop, and Thesis. The oatmeal cookie box went to Live Image Processing, with parcels addressed to Social Facts, Sustainable Practices, and Thesis.

(I should note that there was some confusion, though I tried to make the instructions as clear as possible in the limited space. I tried not to interfere after deployment, and the nodes seemed to have figured things out for the most part.)

Here’s the sample text from the boxes:

CookieNet
Please deliver to: The Nature of Code

Please hand-carry this box to the above-named class. Once there, open the box, and distribute the enclosed parcels to people in the classes on the labels, or people who can get them to those classes.

Take the single cookie as payment for your services. In addition to the information noted on the label, please note that you were the deliverer of the box.

Thank you for participating in CookieNet! Have a sweet day.

from the parcels:

CookieNet
Please deliver to: Sustainable Practices

Please hand carry this parcel to the above named class. Once there, open the parcel and distribute the cookies to your classmates, instructor, or guests.

Take one cookie as payment for your services. In addition to the information on the label, please note that you were the deliverer of the parcel.
Thank you for participating in CookieNet! Have a sweet day.

and from the cookies:

CookieNet EULA
Sugar Cookie

By accepting the enclosed cookie, whether or not it is opened or consumed by yourself or another person, you hereby agree to email Adam Simon (asimon@nyu.edu) the following information within 1 hour of receipt:
cookie type, ITP class in which it was received.
Thank you for participating in CookieNet! Have a sugary day.

three boxes of cookies, ready for deployment
Photos of the CookieNet construction (ie, baking).

Results & Discussion after the break…

Results:
I received 20 responses out of a total of 39 cookies distributed, which is much higher packet loss than I expected. Even if we are to assume that a number of cookies went unreported, it logically seems that some cookies never reached their destination.

Here’s the breakdown, by class:

  • Networked Objects (cc drop-off): 1
  • Living Art (cc): 1
  • GUI Design in AJAX (cc): 0
  • Thesis (cc): 0
  • Nature of Code (sugar drop-off): 1
  • Massively Multiuser Media (sugar): 2
  • Sensor Workshop (sugar): 1
  • Thesis (sugar): 2 (1 Caren’s section, 1 unreported section)
  • Live Image Processing (oatmeal drop-off): 0
  • Social Facts (oatmeal): 3
  • Sustainable Practices (oatmeal): 4
  • Thesis (oatmeal): 3 (Nancy’s section)
  • unreported location: 3 (1 in hallway, 2 unknown)

Discussion:
Surprisingly, there was a large performance gap between types of cookie. All of the oatmeal cookies made it to the mouths of ITPers (albeit with the highest amount of network lag of all the cookies) and were actually reported. The sugar cookies fell in the middle, with about half being reported and received, though at least one in each destination class, leading me to believe a high number went unreported. The chocolate chip cookies were the most problematic, with a miniscule two cookies being reported, and two classes not reporting any cookies at all. We can safely assume that those parcels were probably lost or consumed by their intended deliverer.

I had predicted that one or two parcels would never reach their destination, which appears to be true - the sugar cookie thesis bundle and the sugar cookie GUI Design in AJAX bundle have no reported cookies, so we would have to assume that those parcels never made it to those classes. (Barring, of course, irregularities that would make these classes under report their cookie consumption. Such is the problem with all user-reported data.)

As I expected, the greatest point of failure does appear to be reporting, with three classes not showing any cookies at all, including one class which received a box, and thus had to have received a cookie . Were they delivered and not reported, or lost from the system completely? We may never know.
I believe I was also wrong in guessing that the largest failing will be in second-level nodes delivering the cookies to classes. While this appears true for the two classes that required overnight delivery (Living Art and Social Facts, which received it’s cookies late), all of the sugar cookie parcels made it to their destinations, as we’re seeing one cookie from at least every class. This makes error correction much simpler, because we can assume that the other cookies in the parcel were, in fact, delivered, and just went unreported.

On the contrary, it’s possible that none of the chocolate chip cookies made it to their destinations, as I know from first-hand observation that the one second-level node reporting receipt was given the parcel, and so may not have delivered the rest of the cookies to the class. In retrospect, it might have been better just to ask the delivery nodes for confirmation, and assumed that the individual cookies would be consumed at the destination.

The network had fairly rigid constraints on route length (two nodes between me and the recipient) and speed (the time between addressed classes), but nonetheless managed to surprise me. I had expected the cookies either reach their destinations at each node at the time of the classes, but there was significant cookie movement outside of class time. Rather than jump directly from one box-node to a person in the destination class, several parcels of cookies passed through multiple hands on their way, increasing the hop count above my expectations.

In addition, the speed was not as regular as I’d thought - one of the parcels (an overnight one, addressed to Social Facts) was forgotten in a locker, and so the cookies did not arrive in ITPer hands until 8 hours after the class began. Part of my rationale for choosing two classes the day after the initial deployment was to test this, but I honestly expected the cookies to arrive either on time (during the addressed class), or not at all; a late delivery (especially one that still allowed me to report it here) was quite unexpected.

CookieNet was designed as a cookie distribution system, built to reward both the cookie disseminators as well as the end recipients of the cookies. While cookies were obviously distributed, there are reasons to believe that the distribution was not always as even as it was designed to be. Part of my rationale for choosing such a network was to be forced to deal with physical matter (and desirable, single-use physical matter, at that) as opposed to bits.

Physical matter is subject to the vagaries of human nature in a way that even human-designed digital and communications networks are not. Routing bits can be relatively easily automated, and bits are not consumed, so even a router which is spying on network traffic does not harm the traffic itself. Cookies, on the other hand, having fairly little value and yet being desirable, are an easy thing for humans to both ignore, thus not delivering or reporting, or else to consume without permission, in the assumption that no one will care or notice. So, on one hand, the oatmeal branch of the network functioned well, even recovering from a failed node. Meanwhile, the chocolate chip branch barely worked at all, for reasons we can only guess at, but that are almost certainly caused by its human nodes’ interaction with the cookie content.

Colophon

Turning coffee into feats of intellectual derring-do since 2001

Hi there, I'm Adam Simon. I'm the Creative Director and Co-Founder of Socialbomb, a social gaming startup in New York City. I recently graduated from NYU's Interactive Telecommunications Program (ITP), doing research in large scale game design, social networking, urban computing, performative technology, and networked objects. You can find info on my thesis here, and a big list of all my ITP-related posts here

I sometimes work at area/code.

Projects that I've been a part of which you might have heard of include BootyDialer, The Invention of Murder, Rumplestiltskin (An Aretefactual Performance), & Sharkrunners

You can email me at adam @ [the name of this website].

Syndicate