Sunday, January 11, 2015

A messaging app where you talk to yourself

One silly idea I've been playing with lately is what I call "Introvert Chat." The idea started when I was working on a real two-way iOS messaging app that used the excellent JSQMessagesViewController, and I was trying to think of other contexts for using the control. When you write a messaging app with such a control, obviously you accept input from the user and wait for new messages from a server for the other half of the conversation, with your app processing the output of each source in a similar way, just plopping it on a different half of the screen. Around the same time, I had read something about the deep internal conversation that introverts have with themselves at the expense of talking to others (I am personally familiar with this), and then I thought, "what if both sides of the conversation accepted input from the keyboard?"

So, it was the pairing of a technical possibility with a practical reality that is actually quite productive. The conversations inside of our heads are at least as important as those that happen with our mouths. In fact, a conversation with yourself is an oft-used writing technique (I've always enjoyed Terry Pluto's columns where he asks himself questions and answers them). The app can add something to these conversations that perhaps the average general-purpose note-taking app cannot- the guardrails of an internal conversation. As my data "schema" has sorted itself out so far, Introvert Chat enforces organization of answers under questions. The questions generally go in chronological order, but you can tap on a question to bring it to the front, and your next answer will go under that question.

The other part of the schema is topics- just as one can switch to a different question in the conversation view, one can flip between different topics- essentially other conversations with yourself. In fact, one of my next moves is to ditch the menu drawer setup and just go with a simple messaging UI a lot like Apple's texting/ iMessage app.

Tap on the "Ask" button to type out a question, then the app switches to "answer mode," waiting for your answers. Tap on a question that's already on the screen to add to it.


Tap on a question in the drawer menu to open the current topic on that question, tap a topic to switch to a different conversation with yourself.


A big part of this app is making something that I would consider using. For me, that means it syncs to the cloud so it's saved safely and is accessible from other devices. At the moment, the Evernote API looks like a great way to do this. I don't think it makes sense to sync changes in Evernote back to Introvert Chat, but formatting Introvert Chats into Evernotes for reading later makes sense.

There's a whole additional level of smarts that is needed to make this really useful- a lot of our internal conversations don't start with a question. Or maybe they start with one question and the dialog just goes on, but still has logical subdivisions that aren't necessary "the" question. This could be a whole new level of the data hierarchy, or perhaps the app could just "ask" a question at the right time. In my daily standup example above, perhaps Introvert Chat just adds the day heading automatically and I start typing under that day.

At a level beyond that, perhaps Introvert Chat could initiate conversations by asking a question out of the blue at the right time. Ask me once a week to describe a good book I'm reading, or a new app idea, or ask me what's one thing I love about my wife.

No comments:

Post a Comment