For my Nature of Code: Intelligence and Learning final, I created a webpage with four weeks of my iMessage history with my partner sorted into binary trees.
I had worked with binary trees earlier in the semester. While I thought they looked cool, I couldn’t really think of what they might be useful for. So this project was an attempt at delving deeper into binary trees.
You can see the final sketch on my website lmj.io/projects/binarywe/.
Process
I decided to use iMessages sent between me and my partner for the past four weeks as my data set. I thought this would be an interesting dataset to work with because I haven’t done much work at ITP with personal data. And I thought maybe I’d learn something about myself, or at least make something unique and good to look at. 🙂
I downloaded and sorted the data, and did character and word counts on each of the messages. (They were in an SQLite database in ~/Library/Messages/chat.db.)
I then mapped them all in three.js, in the layout of a calendar. You can toggle the dates on and off. And hovering on any of the trees will make them rotate.
With labels:
Without labels:
Results
You can see the final sketch on my website lmj.io/projects/binarywe/.
The final code is here on github.
At the end of the day, I still don’t find the binary trees that telling, but I do find them fun to look at. At the very least, it’s a visually interesting way to look back at one of the more stressful months of my life.
Final Notes
As I was playing around with sizing the trees, I made a couple of sketches I really liked. Here are the screenshots so I have them to go back to. I really do love the look of them and think there’s a lot more fun to be had in playing with these trees.