F3EA: Find, Fix, Finish, Exploit, Analyze

My final project, F3EA: Find, Fix, Finish, Exploit, Analyze is online here. And my source code is available here.

An introduction page gives a recent history and some background to the project. Viewers can click anywhere to continue to the main page, an animation of how information flows from drones used for surveillance, signals intelligence, and strikes in the middle east and north Africa through military bases all over the region to the United States. In the United States, communications between drone pilots, analysts, and political leaders in Washington is also shown. Mousing over different symbols displays more detailed information for each leg of the journey, and explains how information gathered is used to decide and then carry out strikes. Click-zoom allows you to focus on the United States, the middle east and north Africa, or the whole world.

Information design inspiration

When I originally proposed this project, I looked for artists that did work related to drones. A lot of the work I found was drone photography, almost all of which had some kind of imagery or posed some thoughtful question that influenced the way I chose to depict the world. But particularly on a map, symbols become very important, and there were a few pieces of journalism that included smart design that I referred to a lot.

I think the Bureau of Investigative Journalism often does a great job incorporating text with visual information that also gives context and sense of time.

Timeline - The Bureau of Investigative Journalism
Timeline – The Bureau of Investigative Journalism

Josh Begley, whose work inspired this whole line of inquiry, also worked on a visual glossary for the Intercept’s recent report, The Drone Papers.

Visual Glossary from The Drone Papers
Visual Glossary from The Drone Papers

Unrelated but cool was this visualization of Thanksgiving travel in the New York Times. I thought this was a great way to depict movement.

Screen Shot 2015-12-03 at 9.08.51 AM
New York Times shows Thanksgiving travel

Continue reading “F3EA: Find, Fix, Finish, Exploit, Analyze”

Categories ICM

Final Project: Prototype

After a week at looking at maps made with D3.js and watching Lynda videos on D3 and HTML, my prototype for my final project is done entirely in P5.js. I realized my inexperience with HTML and CSS meant getting past the learning curve would take longer than a week. But, I think I will be able to test the functionalities of my final product with my first prototype.

I’d like to be able to use an actual map in order to use coordinates, and the entire sketch is missing a lot of information that I’ve been organizing separately, from various sources. I have a long list of improvements, and questions about integrating DOM elements, P5.js and D3.js.

Screen Shot 2015-11-19 at 12.36.15 AM
Mousing over cities reveals text created with p5.dom.js, but this messes with my animation

Continue reading “Final Project: Prototype”

Categories ICM

A Visualization of the Drone Strike Target Process

Final Project Proposal: A Visualization of the Drone Strike Target Process

Either a map or globe will be displayed, with a line or crosshair that follows the flow of information from intelligence gathering in countries where the U.S. wages covert war, to facilities in the U.S. used for surveillance, to decision making in Washington that lead to drone strikes. Starting the interaction will put a timeline in play (where a year might be 30 seconds or a minute, for instance), and you will be able to move across to globe to these two distant regions.

After initially doing a project on drone strike deaths, I became less interested in the idea of quantifying deaths. As long as history has existed, governments and people have fought wars, and death from warfare is expected. It was hard for me to put deaths from drones in context because I think there could be a valid argument that using drones has resulted in less casualties than would have resulted from traditional warfare. But, drone strikes in countries where we haven’t declared war mean these strikes are effectively assassinations. Even assuming complete cooperation with host countries and congressional approval (many would argue congress has exercised minimal oversight) there are still major ethical and legal problems related to the process of targeted killing.

After my first project I looked at other work by Josh Begley, the data artist that most inspired my exploration into the topic of drone strikes and creator of Dronestream and Metadata+. He also contributed to The Intercept’s The Drone Papers and contributes to Geographical Imaginations, a blog on law, space, and security.

Metadata+ was recently pulled from the Apple Store
Metadata+ was recently pulled from the Apple Store

One post back in April included an infographic of the Kill Chain by a journalist, Alissa Scheller. It showed surveillance, intelligence work, and drone piloting carried out in the U.S. alongside drone activity and intelligence gathering that happens in the Middle East.

The Kill Chain, Alissa Scheller

Continue reading “A Visualization of the Drone Strike Target Process”

Categories ICM

Amplify Face

My sketch for this week!

This week we did the sound and video unit and learned about how capturing video and making pictures and tracking faces–all of which would have been helpful a few weeks ago, when I wrote my PhotoCube sketch. I thought this week would be a good time to build on that project to make something better. I simplified it but also added several elements. Also it turns out WEBGL doesn’t play nicely with 2D so I just scrapped the idea of a spinning cube for now.

Screen Shot 2015-11-04 at 10.28.07 PM
Spinning face after abandoning the cube

Continue reading “Amplify Face”

Categories ICM

Drone Strike Deaths

Every time I open this project I can’t help but work on the next component, but for the purposes of this week’s assignment, a preliminary version is here.

The Intercept recently published a series of articles based on leaked documents obtained detailing U.S. government [attempted] assassinations of targets in Afghanistan, Yemen, and Somalia. Already intrigued by what information might be publicly available related to this covert war, one of the ICM homework links, one of Jer Thorp’s blog posts, Art and the API included information on a project which collected information on U.S. Drone strikes:

Josh Begley, a data artist living in New York, has recently created an API which allows access to information on every US drone strike, using data from The Bureau for Investigative Journalism. Updated as new strikes are reported and confirmed, The API allows others access to verified and aggregated data on drone activity.”

I ended up using data from Dronestream to create a website where you could click on a country to chronologically look through information on drone strike deaths in that country. Continue reading “Drone Strike Deaths”

Categories ICM


This week we learned about p5.dom and how to create things beyond the canvas. I tried creating a sketch where you could take a photo of yourself and then see it on the side of a rotating cube, but this proved very challenging. I modified this idea a bit, and hope people will be amused by the unexpected result! See the final product here.

The first challenge was to figuring out how to make a photo booth-like experience. All the reference seemed to have to do with taking and using video, not preserving a single static image from that video. It was even hard to find examples of something similar using p5 online. But, Alex Wiles did make this emoji cam, and so I looked through the code for clues. This sketch saved the canvas and automatically downloads this, which isn’t what I wanted, but it definitely helped.

Screen Shot 2015-10-13 at 11.11.01 PM
Photo booth creation process lol don’t look at me
Categories ICM

My friend’s twitter poetry animated

I drew inspiration from these flash animated poems and my friend’s twitter poetry to create a page where you can cycle through three animated poems. These don’t quite work right yet for a number of reasons.

The code is basically three constructor functions with a button, and using the mousePressed function to switch between calls to a write method within each function. Each poem moves around the screen in a different pattern.


  • For some reason I couldn’t use the index to sequentially cycle through the array that included each line of poetry as an item. I used random(0,i), similar to what we saw in the example in class. It’s kind of cool that the poem is progressively revealed but this isn’t really my intention.
Screen Shot 2015-10-07 at 8.20.12 PM
Code that only displayed the last item of the array, instead of cycling through

Continue reading “My friend’s twitter poetry animated”

Categories ICM

Always-lose game update

For this week’s assignment, we were taking old code and cleaning it up with functions and/or javascript objects, as appropriate. I found I was still using a lot of redundant code when creating and animating the falling ellipses, “food,” and solicited Lauren’s help to learn how to use for loops and arrays for this kind of repetitive task.

There was functionality I knew I wanted to add to my initial project: I wanted a restart button and I wanted the food to avoid the player, so that it was clear the cards were stacked and you would inevitably lose. From last week, I knew how to create a button, so I added this to the You Lose screen. Animating the food away from the player was a bit more challenging. I thought just moving food away in a particular direction would be boring, so I tried adding some randomness to the avoidance. For some reason, the ellipses moving back and forth sometimes looked like they were on top of the player, which was not my intended effect.

Screen Shot 2015-09-28 at 7.32.09 PM
Initial attempt to make falling foods avoid the player, which I tested out in a separate program before incorporating into the rest of my code

Continue reading “Always-lose game update”

Categories ICM


This week we learned about for loops and using mouse clicks to create buttons. I worked on a project with Annie Goodfriend (her blog is here) to incorporate these two elements. The cool thing about for loops is they allow you to create an iterative design. Buttons and sliders (we didn’t incorporate a slider) allow users to interact with the elements on the screen in a clear, defined way.

Annie and I met to see what inspired us and what kinds of algorithmic designs we thought were cool. In going through examples we realized I had played with some semi-transparent ellipses that bled into each other by animating them across the screen, creating the illusion of a changing gradient. I had programmed just one, so we used our new knowledge to create multiple down the screen.

We wanted every other stream to move in opposite directions so we created two loops.

Screen Shot 2015-09-20 at 5.02.49 PM
One loop goes across the screen in one direction, and skips space in order to leave room for the streams going in the opposite direction.

Continue reading “Colorstream”

Categories ICM

A game to elicit frustration

The rules for this assignment were just to have one element controlled by the mouse, one element that changes over time, independently of the mouse, and one element that is different every time you run the sketch. I was excited to work with arcs after learning how they worked in the last class, and played with transparent arcs, and stacking them, imagining a kind of spinning ever-changing spiral. After Dr. Mitu Khandaker-Kokoris, game developer and NYU Games professor, came to speak to our Applications class, I wondered if I already had the skills enough to make a game. That, along with the creation of this Pacman-like arc-element I created when playing around became the inspiration for a game.

Screen Shot 2015-09-10 at 10.33.35 PM

I thought it would be funny to create a game that you could not win and would make the player perpetually more frustrated. (Is it a game if you can’t win? This is a question for another time.) I also wasn’t confident in my ability to execute something complicated, with clicking (how do you click and have that result in an action?) and other rules to make it a functional game that you actually could win. So, my element that would be controlled by the mouse would be the player, my element that would change over time would be the falling “food” (I also added a score), and my element that would change each time would be the background color of the game.

Continue reading “A game to elicit frustration”

Categories ICM