NOC Final: Binary We

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


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:


You can see the final sketch on my website

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.