Interest for building a F/OSS encrypted messaging system?

I started using Wire when I realized that I really didn’t want to keep using non-encrypted communication tools – and it seemed like a good start.

Wire is built almost entirely with Haskell. While Wire is a fantastic tool overall, I’ve had trouble (2% of the time?) with Wire not delivering all messages, or being unreliable with delivery.

So I thought to myself, “Self, isn’t Elixir THE PERFECT LANGUAGE FOR THIS?”

And here I am. Who would be interested in collaborating and building a F/OSS encrypted messaging system with Elixir?

Think Signal / Wire / OTR plugin for Jabber. Basically allowing people to have conversations between multiple clients. One example:

Person A has a desktop client
Person A has a mobile client
Person B has a desktop client
Person B has a mobile client
Person B has a web-based client
Person C has a mobile client
Person A and B should be able have encrypted conversations regardless of the client they’re using.
Person A, B, and C should be able to have an encrypted group conversation.

3 Likes

Sooooo whatsapp?

2 Likes

@benwilson512 How about something not owned by Facebook ? :slight_smile:

6 Likes

Open Source or private source? (you didn’t specify it)

What kind of messaging system? Can you elaborate?

Definitely F/OSS. Will amend first message, thanks for asking.

Think Signal / Wire / OTR plugin for Jabber. Basically allowing people to have conversations between multiple clients. One example:

  1. Person A has a desktop client
  2. Person A has a mobile client
  3. Person B has a desktop client
  4. Person B has a mobile client
  5. Person B has a web-based client
  6. Person C has a mobile client

Person A and B should be able have encrypted conversations regardless of the client they’re using.
Person A, B, and C should be able to have an encrypted group conversation.

Does this help?

Can you clarify if you are looking for people to work for free on this or are you going to pay? :wink:

Well, this is in “Projects”, not in “Jobs”, so what do you think? :wink:

1 Like

OTR, got it. I want it for this Messaging App. So, I’m contribute if its something I can plug in.

The part I’m mostly interested in is a message delivery system that leverages Elixir so we don’t end up with a bunch of ridiculous problems due to the programming language not being the best tool for the job, and we can actually expect the messages to be delivered properly.

@smpallen99 - where are your messages stored? It looks like what you want is just something that clicks into your message delivery system and does encryption/decryption, not a full-fledged messaging app.

I store my messages in a RDMS using Ecto. Yes, I’m looking for something like OTR for my messaging app. Personally, I think the encrypted part would be an interesting project on its own. Delivery is interesting too. This brings up an issue with my current implementation. I do all message rendering server side and push the rendered html over Phoenix sockets. I’m thinking that will be an issue for something like this. I guess I need to look at what OTR does.

To be clear, when I say “OTR” what I mean is “Off The Record”. The Jabber plugin for OTR added encryption to the conversation and made it untrackable. I believe it used to generate a one-time key set for the conversation.

I am looking for an actual, full-fledged, encryption-and-security-as-first-class-citizen system.

Yes, I was referring to “Off the Record”. I would like to add a feature like that to my chat app. I’m planning on https and wss for the “normal” messages.