Moves Data

Screen Shot 2017-02-13 at 2.49.56 PM

This week, I mapped my own data from the Moves app. After trying and failing at creating animation with Leaflet.Polyline.SnakeAnim, I decided instead to take up the challenge of creating toggled displays based on time filters. I first attempted to change the display using removeLayer() based on states being true or false, but it only worked when I bound the layer displays to click functions:

Screen Shot 2017-02-13 at 2.56.52 PM

The code is a bit clunky, but hey, it works. See evidence here.

Playful Communication: Inspirations


Two of my favorite exhibitions that I’ve seen recently aren’t exactly exhibitions. The first, pictured above, is the public storage at the Museo Larco in Lima, Peru, which I saw last summer. I saved this room for last, after meticulously going through the galleries (I tend to be a chronic “studier”), and it was an adjustment to go from displays that highlighted each piece with a pedestal, plaque, and nice lighting, to rows and rows of pottery. Rather than normalize the work, as you might expect from seeing so many, it made the pottery seem even more incredible and special. I always appreciate when museums allow a peak behind the curtain, something even more rewarding when the art is so tied to historical context, as this was.

The other not-exhibition exhibition that I loved recently also involved objects on shelves:

photo from artnet

I saw the KIOSK project at the “Greater New York” show at MoMA PS1 a couple years ago. Formerly a consignment shop (and now an online store and a space at the Cooper Hewitt), Kiosk set up their international novelties in plastic shelves that formed a maze-like path through a room on the second floor of the museum. Each object had an identifying number beside it that you could type into your phone after dialing a given number, after which a robotic voice would narrate a little story about the object—where and how it was acquired, what it was, etc. I loved the way that the simple interaction—calling a number then dialing a few digits—elevated these everyday, consumer objects. I stayed for a while and could have stayed longer.

Multiple Stories: Sound Piece for Collective Narrative

For this assignment, I wanted to try to tell the story of a non-human subject, my sister’s dog Flo, and through that, tell a larger story about their neighborhood. My sister moved to Bedstuy, where, as a white person, she is in the minority. She is a gentrifier. Because of that, she has a strange relationship with her neighborhood; she has befriended her neighbors, who have welcomed enthusiastically her to the block, but she is also aware of her status as a new person in a place where many have lived for a while and as a white, well-off young person—and what all of that means in a place that is in the process of gentrifying. The dog, Flo, ridiculously friendly towards strangers, has helped her negotiate all of that.

The story is split into two parts: recordings from a walk with Flo and an interview with my sister. Obviously missing from the five-minute piece, though, are the voices of her neighbors (I recorded a walk in a snowstorm, which emptied out an otherwise lively and friendly block).

Narrative of Place

A small body of water off of Barren Island, Dead Horse Bay is a strange destination in Brooklyn with a strange history. In the 1700s, the beach held flour mills, which gave way to factories in the 1800s. The ominous name comes from the horse-rendering plants that left animal bones along along the bay, still decomposing in the layers of sediment.

In the early 20th century, as the factories closed, New York used the marsh as landfill. The waste was capped in the 1930s, but it burst two decades later. Bits of trash—beer bottles, cleaning products, table cloths, the soles of shoes—have leaked out along the beach ever since, forming a natural museum dedicated to the everyday objects that people cast aside nearly a century ago.

Walkers along the beach can explore its past in the waste collected there, piecing together an account of New York’s history, both real and imagined.










Mapping with Data

Screen Shot 2017-02-06 at 12.41.50 PM

This week, I tackled working with data in mapping and The latter part of the process definitely the more difficult part, since I command line and the whole idea of git are new to me. The (finally!) successful result, a map projecting floodplain and sea level rise due to climate change, lives here.

The other great discovery this week, in addition to a very basic understanding of git, is the source of the data for this exercise: NYC Open Data. It’s incredible that the city makes all of its data available—from historic sites to tree maps, taxi rides to health concerns. Living in a city means that data is collected from you everywhere you go, and it’s amazing that the city government is giving it back to us, no strings attached.

First web map!

(I used the OSM plugin for blog display)

Response to Posthumous Portraiture

When I go to a new exhibit gallery, I dutifully visit the description on the wall first thing. If there is text in a gallery, I will try to digest it. It’s a practice I’ve been trying to resist sometimes recently. Occasionally, I think it’s healthy to just let art wash over you, free from context.

At the American Folk Art Museum, I went straight for the description of “Securing the Shadow: Posthumous Portraiture in America.” I’m glad that I did; the exhibition was a collection rooted in historical information, and so it provided useful context. On top of that, though, it also offered an important emotional frame. Looking back at the past, it said, we falsely assume that because death was a more common part of life, loss must have been duller. I kept that in my head throughout my time there, seeing evidence everywhere of the depth of the feeling in losing a loved one in the 1800s.

At a certain point, though, I had to cut myself off from reading each detailed label beside the paintings. They were well-written and useful, but after I had established a basic vocabulary for understanding the portraits, I found them distracting. In theory, I like that all the labels were there and more vivid than the average museum plaque. It’s another way to celebrate the stories of each subject, and, therefore, like the portraits themselves, breath life back into the dead. But there was so much life in the artwork already that I didn’t always want to sterilize them with historical context.

The gallery of daguerrotypes was all the more powerful because the portraits were at a remove from their descriptions. (Of course, they’re also powerful because of the striking gruesomeness of a dead child posed for a photograph, a creepiness that worked well throughout the show). The mass of portraits laid out together under the glass anonymously didn’t desensitize the viewer and confirm the false assumptions of loss in history; somehow, it did the opposite. I teared up, which reminded me of the only time I remember crying at a museum—seeing Edvard Munch’s obsessively repeated prints of his dying sister. Both that series and this exhibit are so moving because they show that strong human urge for preservation. It was palpable in the Munch prints, and it was palpable here.

24-Hour Comic

Assignment: Document every hour of the day in whatever medium. 



[Bed] Alarm goes off.


[Living room] It was difficult to get out of bed
after waking up for an hour at 3am. Since then,
have: had a cup of coffee, made slow progress on
the Thursday crossword, given up on the Thursday
crossword, and yelled at the news again.


[Kitchen table] I began working on a music review,
and the album grew on me the second time through.
Also: Participated in lazy Internet activism by
signing a petition.


[Kitchen table] Some work but more procrastination.


[Leaving Brooklyn] On my way to the American Folk
Art Museum.


[In transit] It’s a beautiful, warm day (for winter),
but windy on Broadway. I wanted to stay outside.
On the train, I listened to a podcast on Israel and
played a game on my phone, and when I looked up,
I realized I had almost forgotten where I was.


[American Folk Art Museum]


[ITP] Back at school, working on the album review
that I procrastinated in the morning. It was busier
when I first came in, but the floor is quieter now.


[ITP] I have one last sentence to write. The last
sentence is always difficult.


[In transit] Returning home, where I have food in
the fridge (because grocery shopping is still a part
of my routine in the first week of school).


[Home, later] I forgot about 6pm documentation.


[Brooklyn Museum] Waiting for a talk to start. It
wasn’t busy when I arrived, and I found an empty
circular bench.


[Brooklyn Museum] Saw: several drawings of nude
Iggy Pop, chairs in storage, and a Hiram Powers
sculpture (I thought of the cast of his dead son from
the museum earlier). Two museums in one day is a
rare occurrence.


[Living room] Back home and throwing together a late
dinner (how long does homemade tomato sauce keep?).
On the train, I was speaking to my friend about African
black soap and a woman jumped into the conversation,
saying the she swears by it. We got off the train with her
and chatted until she went to a different exit.


[Living room] I hung out with my roommate then fell into
a news rabbit hole.


[Living room] Still falling.


[Bed] The nightly long-distance relationship phone call
has been dominated by current events this week.
Sleep soon.



I enjoyed the assignment, though I found it surprisingly difficult. Because we had to check in at regular intervals, I was always conscious about how my day appeared from the outside; I was conscious of making it a coherent story. Looking back, though, the story emerges in ways that I didn’t notice as I was living it—in the through-lines that extend into multiple entries, such as reacting to the first week of Trump’s presidency, planning and eating meals, interacting or not interacting on the train, and considering the art that I was seeing.

PComp: Recap

Some of the basic concept for the E-Books project have remained unchanged since the beginning, but the device has gone through several iterations, altering most radically in response to playtesting (thank god for playtesting).

From the beginning, I wanted to tell stories about physical books, but I wasn’t sure what that would look like. I pictured a flat device that, when a book was somehow “plugged in,” would display information about the book on a screen or projection behind it. I wanted the interaction and triggering of the information display to somehow be related to the way that people naturally interact with books—either by a page-turn or gripping the book, or wiring in the pages. I created an initial prototype to test some of these things.

I. The First Prototype and Playtest
Playtest 1

Main Takeaways: Content, Wiring, and Thank You Playtesting

Content: By simulating the “slides” with pieces of paper in the upper fold of the Macbook case, I could test the kinds of content and information that people responded to most. Some wanted the device to have more utility, providing notes and annotations, but the most common feedback was that they wanted more vivid information about the stories in the specific text—dog-eared pages, where the book has traveled, who owned the book, etc.

Wiring: I had a dummy plug to simulated plugging the book in, but Dominic recommended RFID to keep the books wireless. I was sold.
II. The Second Prototype and Playtest

Main Takeaways: Trigger Interaction, Content (pt. 2), and Thank You Playtesting

Trigger Interaction: I had this idea for the slide trigger that involved a book clamp that the user would slide her hand into, pushing down onto an FSR after she turned to a new page (another iteration had a circuit on the bottom of this device that would be completed by copper tape on certain pages of the book). In playtesting, it became clear that that device was cumbersome and an unnatural way for people to interact with books. It also focused their attention too much on the book, and not enough on the screen. This caused me to revisit an idea I had early on using a light sensor and light that would be interrupted when the user turned pages.

Content: I heard from multiple people that the premise of the project and the content needed to be clearer from the get-go, and they wanted a better picture of the connection between the book and the person who owns it.

III. The Final (with pretty pictures to come):


ICM: Final Final

Final Project Still

I. Where I Started

For my final project, I knew that I wanted to explore different dimensions of family trees—how family links were broken and repaired, patterns shared in trees of ethnic/religious groups (in particular, my own—the Jewish people), and geography. After my presentation, Allison asked what shape my project would take, and I realized I had no idea. I continued to struggle with that question for a while until I realized that I wanted to make an interactive visualization, focusing the concepts I was interested in on a single idea: change in geography over time.

II. Where I Went from There

I started looking at models of interactive family trees that already existed on the web. Allison pointed me to d3.js, which is designed to handle data and has a pre-made formula to create tree structures. I adapted a version of a family tree that I found last week for play testing. The interactions were great, but it became clear to me that I couldn’t learn d3 well enough in a week to hack the code to my project requirements—which looked something like this (made in Illustrator):


So, returning to the drawing board once again, I decided to make a p5.js tree from scratch, inspired by some of the interactions and animations of the d3.js tree I found, but including the parameters that I wanted to show (time and space).

III. The Result

Can be found here, on its very own subdomain:

IV. Conclusions and Next Steps

This project was a good experience in planning and execution. For the weekly assignments, if I couldn’t get something to work, I would try it several different ways and sometimes ask for help, but often end up adapting my expectations. In this project, I wanted the trees to look and act a certain way, and I problem-solved until I achieved that. I fell into a nice rhythm in which I would first set about making a certain feature, identify a problem in making that feature, get stuck on how to solve the problem, go to sleep, and wake up and solve the problem. (Conclusion: Sleep is important!)

I tested the code with made-up data, and so when I finally inputted the real data from my family, I had the experience of seeing it fresh, and it was moving—especially to compare the trajectories of those who had stayed in Europe with those who had moved to North or South America. I feel like the tree has the desired effect.

Even though I created the family tree that I set about making, though, I still think of the project as a first step. I would love to make more of them in order to establish the patterns that I was initially interested in. There are a few barriers to doing that, though, including:

  1. Lack of data. The trees require an incredible amount of research because they include date of birth, place of birth, and place of death for descendants reaching back to the mid-18th century. I was lucky enough to have all of that data from a family tree researched and created by a distant cousin, Lowell Ackerman, who reached out to my mother for information about our branch.
  2. My insane code, pt. 1. Figuring out the spacing of nodes within each area was difficult, and right now I have a janky solution that involves manually counting how many children are in each area at a given time, then spacing them according to “count” variables.
    screen-shot-2016-12-08-at-9-21-05-amIn the future, I would like to push each node to nested area arrays within in the larger family array and create a formula that spaces each node according to the length of each nested array.
  3. My insane code, pt. 2. Similarly, the tree is built from individually pushing each new node into a family array, in a formula that’s only legible to me. I need to create a formula that pushes nodes into a family array by looping through a JSON file that looks something like this:
    { “first-location”: “area2”,
    “second-location”: “area1”,
    “generation”: “2”,
    “name”: “Josek”,
    “Chidren”: [{
    “first-location”: “area1”,
    “second-location”: “area1”,
    “generation”: “3”,
    “name”: “Joe”,
    “Chidren”: “none”

    As a next step, I want the code to be replicable. I would also be interested in exploring other parameters, such as more refined gradients of time (such as when exactly people moved), and more detailed visual vocabularies (such as a different colored node appearing at the time of death—assuming I add more time gradients).