Exploring Embodied and Generational Memory through Check-In Rates of Items in the Seattle Public Library Database
MAT 259, 2022
Stejara Dinulescu

Concept
I am interested in visualizing the check-in rate over time of each unique item title in the database that has a title which contains mention of either "embodied memory" or "generational memory". I see movement through time and space as a trail of personal history or memory of experience, and want this data visualization to parallel this theme. The popularity of books containing these terms, as indicated by their check-in frequency over time, is indicative of a memory trace through history of the desirability of these specific item entries in the database.

Concept Slides


Query
SELECT title, year(cin), month(cin), count(cin)
FROM spl_2016.inraw
WHERE (title like '%memory%' OR title like '%memories%') AND
(title like '%embod%' OR title like '%generation%' or
title like '%body%' OR title like '%famil%' or
title like '%cognit%' OR title like '%autonom%')
GROUP BY title, year(cin), month(cin);

Preliminary sketches
I would like to visualize how check-ins of a specific queried item changes through time. Each item is therefore referred to as an "agent" and visualized as a point in space. Each agent has several attributes, most important of which is its position over time (represented computationally as an ArrayList of 3D PVectors). The retained visualization of an agent's past positions will begin to build a spatial geometry. When looking at hundreds of these agents through time, a more complex geometry will form.




Process
First, I visualize basic spheres in 3D space from a 2D perspective to get the motion and basic layout of the program. This is visualized with randomly generated data, as I was developing my SQL query alongside the visualization. The movement is generated by moving through an array of time-points, which store check-in count values at that time point. I wrote code to then interpolate between these positions in time for smoother movement.





I am starting to bring in more datapoints to see the spread of data and the movement, as well as visualizing agent histories as it moves through time. I also introduce color, yet remove it in future iterations.



Then, I develop the visualization utilizing data extracted from my SQL query. The motif that I began to extract is that of gently plucking a stringed instrument such as a harp, or weaving on a loom. Each item visualized from the Seattle Public Library has a history of check-in counts that fluctuate over time, and my method of interpolating that data through space resembled agents moving over time and leaving a trace of their body/motion. This ties into my concept and the keywords utilized in my SQL query.





The biggest issue at this stage is the large amounts of computation required, which introduces slowness into the system as time increases (due to drawing the histories of check-ins over time as data is plotted.) Therefore, I changed the visualization of the data points from spheres to ellipses, which rotate towards the camera whenever the camera angle changes (which results in retaining sense of depth rather than completely losing depth when viewing from a certain camera angle).




Final result
The final visualization represents the check-in rates over time of items from the Seattle Public Library, whose titles contain the keywords (and derivatives) of "embodied", "generational", and "memory". Speed of movement of the visualization can be changed by user controls, in addition to the control of red highlighting of individual items via a slider. Agent histories are rendered in more grayscale (where transparencies are mapped in time), whereas the current time point is rendered white. Agent histories are connected by lines, which results in spatial geometries caused by the "weaving" of these agents over time.






Code
This work was developed within the Processing environment, using data extracted from a query using the mySQL Workbench environment.

EmbodiedGenerationalMemory.zip

assignment2query.sql