Published on
January 9th, 2014

WHAT is the deal?

I parsed over three years of my Google Voice data to look for exclamation points in my sent messages. This graph shows what I found.

WHY did I do that?

My girlfriend and I had talked about how nearly all of our messages contain exclamation points. I had chatted with friends about exclamation points’ omnipresence. And then Ben Crair wrote a story in The New Republic that brought some more high profile ancedata about exclamation points as “sincerity markers.”

After all that conversation I figured that this question about how much exclamation usage was increasing could be answered concretely. So I downloaded my full Google Voice history, parsed it and graphed what I found.

WHO was I texting?

Mostly my girlfriend. We’ve been together since late October of 2012.
I suspect her frequent exclamation usage has influenced me.
Maybe I’ll refactor my code a little to separate out the percentage of text messages sent to her that get exclamation points as compared to everybody else. I should also note that not every text conversation I have runs through Google Voice. While the vast majority do, some friends and family still text me directly on my cell number.

WHAT does it matter?

The English language has a de facto standard of being controlled by its users. Unlike French, with its Académie française, English is driven by ordinary people. That’s not going to change. In English, dictionary and style guide publishers chase free publicity by announcing newly added words and words of the year. The ease with which linguistic trends can now be identified will only speed up this process. In 2013 literally stopped meaning literally and soon will we literally be able to pinpoint when a meaning shifts. For the editor who wants to rewrite the textbook meaning of exclamation points, the evidence is mounting.

HOW did I do that?

First, I exported my Google Voice history with Google Takeout. Then I wrote a couple of PHP classes to parse the files in arrays that could be manipulated more easily. Those classes then went into a Symfony bundle that used Altamira to display the data through jqPlot. I’ve got an open pull request against my blog with an in-progress post that has more details on how the code works. This code was the first time I wrote a Symfony bundle or app so there’s plenty of refactoring to be done. Pull requests and pedantry are welcome.

WHERE can the work be checked?

Well, I don’t like the NSA reading my texts and I don’t want you reading them either. So to a certain extent you’ll just have to trust me. Jump into a conversation with me in the comments of this post or in the pull request for the upcoming blog post if you have ideas for how such data could be shared in a sanitized fashion.