"Overhear," which is NOT Twitter.
OverHear
I'm going to try explaining something ("Overhear") again, that I have tried to explain many times before. People very rarely see it.
Caveats
As you read this, though, -- if you catch yourself saying, "This is IRC," or, "This is Twitter," -- read again. It is neither IRC nor Twitter, but it subsumes them both.
I came up with this before Twitter ever existed, and have documentation on record.
Introduction
Overhear is software so that people can overhear each other's conversations.
The user interface is much like your typical IM client, except that you overhear your friends' conversations in a non-obtrusive way, AS they are having them.
An Example
So for example, if my friends Joel and Marcus are having a conversation, then a little speech bubble pops out from Joel's name, saying, "Hey Marc; Have a moment?"
And then when Marcus replies, "Yeah, sure, what's up?", I see that in a speech bubble, as well.
(Hold your privacy concerns, we can address those.)
And then, while my two friends Jabber away, their back and forth continues to be present, albeit in an abbreviated, tiny form, unobtrusively, and never stealing the focus (the user interface concept of "focus," regarding where keyboard input is directed.)
Now, if I want to, I can click on their speech bubbles, and the whole conversation between them unfurls, and I can read the whole log. Further, they notice that someone is reviewing: They can see the "shadow observer."
Then I can "knock" on the conversation, and they can "open the door" if they like. (Or, because we're all friends, the door may not have been left closed in the first place.) Then all three of us are talking.
And guess what? Now my friends are also overhearing _me_ in this conversation. They might not know Joel or Marcus, but they know me, so they'll at least see my fragments of conversation. And who knows? They may review the conversational log, and knock to come in, then meeting my other friends.
This is the basic outline of "Overhear."
This isn't IRC
People have told me many times, "This is IRC. Your conversations are rooms."
This is not at all like IRC. In IRC, people have to agree on the address on a chat room. In this, "rooms" are things that spontaneously appear wherever two people decide to hold conversation, -- similar to how it works in IM.
This isn't Twitter
The easiest way to see this, is to compare your Twitter log, with an IM log.
Notice how different they are?
Do you _ever_ seen anyone in Twitter say, "Hey, John, have a moment?"
Do you ever see rapid back-and-forth?
(Actually, I *have* seen that before, but I quickly delisted both people: They were cluttering up the display.)
Twitter's not like IM-ing; It's more like Micro-Blogging. And each Tweet is like a Unit of Labor, served from a great Pez Dispensor of Labor. This is a trait that it shares in common with E-mail: The sense of labor.
"But they're all messages; What's the difference?" The difference is the user interface. And both the user interface for Email, and the user interface for Twitter, have the "Pez Dispensor of Labor" effect.
But IM conversations are not like that, and the user interface is not like that.
In OverHear, conversations between your friends are in the ephemeral space.
No doubt, people will figure out ways of logging all the traffic, and people will pore over the traffic to ask, "Did I miss anything really important?" There is much more to say about such things -- We are quickly working our way to a world that centers around what I call, "The Tapestry." But that is a separate discussion for another day.
Just understand that Overhear differs from Twitter, in that conversations are truly conversations (rather than microblogs that address one another,) and understand that the UI is not a pez dispensor of labor.
In the case of communications software, UI is not "frills;" UI *is* the thing itself. IRC could be conducted over SMTP, and e-mail could be conducted over IRC protocols. The back-end implementation is important for efficiency reasons, but as for understanding the workings of the thing as a communications device, the focus is ALL on the User Interface.
Privacy
"Wait, I don't want everyone to see every personal conversation."
Yes, yes, of course. So, privacy switches, privacy policies, and so on.
We do not worry about FBI spies at the Easter family party; People are quite happy to share their conversations with others. There are strategies for maintaining privacy, if that is what is important to you (and it is important to most people.)
Look at how Facebook works, if you need a model.
That said, don't look too closely at Facebook -- it angers me that I cannot make my profile globally visible on Facebook.
Summary & Conclusions
Conversations can be transparent.
We can make online communications resemble the Easter party, or a gathering of you and 20 of your friends, where you can overhear, slip in, and slip out of conversations.
The Internet is a great conversational space. There is still great distance to cover.
Further in and Higher up
Talking is just the first step.
We will come to slip into activity, art making, game playing, programming and developing, in an open space.
The future will be so bright, you'll need to put on sunglasses.
9 comments
The way to not be overwhelmed is to just make messages very ephemeral. Speech balloons popping out (not at all stealing focus, or even overlapping on top of focused windows,) and receding shortly into nothingness.
As for privacy: Perhaps make it so that shift-clicking a name means "this is a private conversation," and also enable a switch that says "all conversations private." By default, conversations should only extend to people on a white list, as you described; There should only be a few people (like myself) who have "by default, visible to all," and an option for that would be hidden somewhere.
The way to most directly implement this from existing parts, I believe, is to take Jabber, and use the publish-subscribe system on it. This _is_ a bit of a hack; What we're talking about back-end-wise really _is_ different than traditional IM, since each message that was formerly sent to 1 person, is now really being sent to N people (all of your friends.) The system makes a distinction between "you are my IM recipient," and "you are an observer," but the message payload is identical to all recipients. The recipients just ask themselves, "Am I the intended receiver addressed, in which case I show a message dialog UI, or am I not the intended receiver, in which case I am an over-hearer, in which case I show a balloon that will disappear quickly."
Intuitively I feel like Overhear would be better suited as a desktop app as opposed to a mobile app. The mobile route tends to slow things down via resource constraints and usability hurdles. What are your thoughts?
I too thought about using XMPP pubsub to notify friends about active conversations. Annoyingly, Google's chat server doesn't support it. I'm still playing with alternate methods...
But, one aspect I considered was simply making the existence of a conversation public. If two friends of mine are chatting, I'm inclined to join the conversation- regardless of the topic. I think it's the people who are chatting that is far more important than the topic.
Anyway, I'll let you know how things progress...
@Scott: Interesting point. If it's the user's goal to socialize or network, then I think the "who" is more important than the "what". However, I could also see myself wanting to join in on any conversation (regardless of the participants) pertaining to certain specific subject matters. That starts to seem more like IRC though...
Next step is proof of concept. I'm half-way done with a quick and dirty Jabber cilent pulling this off.


I have a few questions about what you are describing. Please don't think I'm saying your idea is bad. I think it sounds cool. Although, I'd like to see the idea turned into something that can actually be implemented and would be useful.
How do you decide which conversations you hear and which conversations you don't? I feel like if I saw all conversations from all of my friends over IM, I would be overwhelmed, and it would be way too much information for me to handle. Even you said that you don't want to see conversations over Twitter and delisted the person who said something like "Hey, John, have a moment?".
In order for something like this to be adopted, I think privacy has to be addressed really well. I think one way to do that is to list exactly who might see the message before it is sent. This list has to be short or else the person will have trouble comprehending it. Or, the conversation has to be listed as public where anyone can hear. In my eyes, if any more than a handful of people hear a conversation, I just consider it completely public because at a certain point I can no longer efficiently calculate (in my head) the relationships I have with the people in the group.
You've compared this system to similar systems like IM, IRC, and Twitter. Could you explain how you would need to modify each of those such that they were this new system? What I mean by that is: if you were in control of each system+UI for IM, IRC, and Twitter could you change it slightly to turn it into what you envision? Maybe add a plugin, or write a new client? Building things from scratch and then getting a bunch of people to adopt them can be hard. I'm wondering if this can be build on top of already existing things.