The ego and the desire for attention

I’ve been thinking about how our online communication and interactions have cost our personal relationships and helped others profit. Think about what a company that survives off of profits needs to do. They need to make money off of our labor. Crowdsourcing, likes, faves, replies, retweets, reblogs … the list goes on.

So our reaction to this is to encrypt, decentralize, distribute, federate. But this isn’t as easy as signing in with Twitter or Facebook or applying a password manager to create a new account on a social site. The process for going through all of this costs us time and effort. More than most are willing to deal with when they just want to say hi to someone.

The wants and needs of users always comes back to the habitual desire for attention and a pay attention to me button at their fingertips. When you aren’t centrally located in the same system with the ability to find others, it’s a bit difficult to press that button and have anyone notice.

Thinking beyond centralized hubs

I sat on this topic in a frustrated state for the last couple of years. I wanted to believe that we could use decentralized, distributed and/or federated systems with encryption in some sort of user friendly manner that seemed natural to the human conversation model. But I just couldn’t see it. Every attempt was clunky and requires a lot of previous knowledge in order to begin talking to someone. And I still believe we’re at that awkward stage. But we’re trying to get better at it so there is some kind of progress.

Post-meatspace, I wanted to look at trying to solve this problem through the experiences that I’ve learned along the way. So in the past two weeks, I’ve hacked together a proof of concept that is working albeit not perfect by any means. It’s called RVLVVR and I have no idea what the word means but it started out as ‘revolver’ with the vowels removed and an extra v for good measure. Hey, if I can make an Autechre or Aphex Twin track name out of a distributed messaging project, it can’t be all that bad.

RVLVVR

RVLVVR is just a simple distributed messaging service that uses GPG and relies on keybase.io for identity management to associate a public key to an online social identity.

There are two parts: a client-side and a server-side. The server-side is just a broker that listens for incoming socket messages and broadcasts out. Messages expire after an hour.

On the server-side is a public feed where anyone can listen to and watch for messages between people that specifically choose to publicly broadcast. The default is to encrypt it on the client-side and upload the PGP block.

server-side public feed

The public feed is an attempt to experiment with discoverability through a distributed system. When someone can watch conversations happening between two people, it might encourage them to want to actually talk to those people in real life, or learn from their public shares.

Each one-to-one conversation between users is assigned to a socket room. This is what the client-side server listens to when you have an active conversation with someone and decrypts on your computer. This room contains both public and private messages so external people listening to this room can only see that a conversation might be active but not be able to read the private messages.

server-side room feed

The client-side contains a list of Keybase users that you have tracked. If the user has tracked you back too, then you will be able to both send and receive messages to each other.

client-side landing

You can also have a conversation with yourself - this might be handy if you want to write out ephemeral posts for the public to see or for your eyes only.

client-side messaging

A lot of this is still under heavy development and we’re still figuring out things along the way. This is an interesting problem to solve for different situations and I do not believe that it has a one-size-fits-all model since we don’t all converse the same way. This is just the way I converse and it might work for others - or it might not!

I’d like to see how this will change over time and see if we can find ways to encourage people to discover easily through a system designed in this manner. Are there things we can do to still have an easy way to find interesting people without selling our conversations to the highest bidder?

If you want to check out the project or start your own broker server feel free to grab the server-side or client-side code.