31 Mar 2015

Personal Information That I Have to See If You Can Be


People performing conversations written by personalized keyboards.


Android OS offers “Personalized Suggestions” for its software keyboard, based on data it has stored from that user’s activity on Google apps and products. For a given typed word, the keyboard will offer three suggestions for a next word to choose.


This allows one to write absurdist “predictive poetry”, which tends to capture affective qualities of the user’s writing style. There are many examples of this kind of poetry online, especially with the introduction of QuickType for iOS 8. This is something I wrote using my housemate’s predictive keyboard:

Screen Shot 2015-03-31 at 6.40.33 AM

On Android, the files that contain the tracked information about the user’s typing habits are stored locally. By rooting my phone, I was able to gain access to them. Since these files are synced with one’s Google account, I could presumably obtain the same dictionary files for anyone with a Google account. I was looking through one of my dictionary files, and while most of it was not human readable I saw many words that I remember typing years ago.

Screen Shot 2015-03-31 at 6.46.14 AM

The data is encoded in data structures designed specifically for this use. All the code for Android is online so it should be possible to decode. Finding a way to navigate the “trie” of stored data is where the technical challenge lies for me.

I’d like to live scripted conversations between several people, where the scripts are generated with the help of each person’s personalized keyboard data. Each conversation will center on a certain key word, which will serve as the seed word for the text generation. The scripts won’t be generated in an automatic way. Instead, each participant will sit in front of a computer for a few minutes and build up their personalized script by rapidly selecting words with their eyes. After this has occurred, they can review the script and choose to remove words, but they can’t add anything. Doing it this way, they don’t have much time to react and think about their choices, and it gives me more flexibility to orchestrate a flowing conversation.


The project will happen in a few stages:

1. meeting with each participant to collect their personalized keyboard information, and to work with them to compose their personalized script
2. the scripts are compiled into a conversation
3. the participants meet to perform the conversation from their personalized scripts