I make Peersuite, an opensource free communication platform.
It's private by default, there's no sign-in or email collection.
It's peer-to-peer, there's no server, after discovery you are connected directly to your friends my AES-GCN encrypted WebRTC channels. It forms a mesh and identifies superpeers. Because there is no server, in order to save your data between sessions, you can download your workspace into a password encrypted file.
Happy to answer any questions.
FEATURES:
chat with images, PMs, channels, and file send
group audio/video calling
screensharing
kanban board
whiteboard for diagrams/flowchartswith PNG export
collaborative document editing with formatted PDF export
The best way for self hosting is docker, its on dockerhub as openconstruct/peersuite. You can also download desktop versions from the github or use on the web at https://peersuite.space/
I like Matrix, but I do run into issues, like messages not being decrypted even though I verified my session. The average user is not ready for it. Or rather, it's not ready for the average user
Simples is best, hands down. Maybe some tooltips wouldn't go amiss on your demo page?
But as someone else pointed out, a link to the GitHub either in the header or footer of your demo page would be ace too. It was the first thing I looked for this morning seeing your posts and had to come back to the comments to find it 🙈
Keep up the great work, and I shared between our nerd group and they have eyeballs on it. Seems a no brainer for teams collaborating online where we've got used of shitty Slack 🤢 Dicksword whatever.
ninjaedit: if you want some help Android app wise, give us a ping. I have a few bored devs lurking looking for app ideas ;)
A couple of questions. If I was trying to keep a consistent workspace to build a community around, would it be persistent after the host logs off, and are their tools to protect it from trolls etc who discover it a workspace?
That sounds pretty cool! You have listed a lot of great privacy features. I'm sure you know they will likely restrict adoption, because Grandma probably won't be able to figure it out.
@jerrimu A usability suggestion, having just tried it out - save the username and room password in the export file to make it more like a traditional chat experience. So when you import the chat file, the username and password are pre-populated along with the room name.
Well hell I may stand this up tonight. My only question is does the voice chat support push-to-talk?
Edit: Ok, gave it a spin. It does not support push-to-talk but being fully browser based I don't think that's a trivial thing to implement anyway.
That said, this is pretty sweet though certainly still rudimentary. I was really looking forward to the screen sharing but my friend on the other end said the quality and framerate were pretty bad. Not sure what flexibility there is as far as adjustable bit rate and framerate with what you're doing but I'll definitely be keeping my eye on this project.
Push to talk is in testing now. WebRTC changes quality automatically based on bandwidth. Its usually really good. It runs at full quality in testing ( i have like 6 devices I hook up and test). If you guys normally have a good connection, try again?
Perhaps talking about bitrate wasn't correct of me. After looking at this again image quality itself is actually pretty good but the framerate is a different story.
To provide context, I used it to share the video game I was playing as my friends that use discord tell me they primarily stick to it for its screen sharing capability which they use when gaming.
I'm not sure how to best test this and provide metrics to you if this is improvable or even something you care about.
To attempt to take the connection factor out of the equation I opened two browser windows and viewed my own screen share from a different username and even then the framerate is not great.
I'm working on getting an android version up, don't have a mac so I can't make an IOS version. It works great in mobile browsers, I have been testing on mbile during development.
I have been exploring self-hosted Discord alternatives and had been looking at Rocket Chat, so I am wondering what is the pitch for this versus something like that? I am very early in my exploration, of course.
Ok, understood. So if you're not online, you pretty much lose messages, or are they cached and the next time the sender is online you get them?
My use case is a kid using a minecraft server and wants to talk to his friends, and we're using mumble now, but they want "discord" and they want things like plugins that allow mgmt from the discord channels, which I would be willing to try to develop, but the model pretty much requires a server to be online.
In general, I'm trying to make a small internet for my kids and their friends to have "normal" internet experiences without being on the wider internet. No youtube, but pinchflat -> jellyfin. No discord, but mumble. No google drive, but nextcloud.
My group recently switched to Matrix and so this would be a tough sell, but it seems interesting. I haven't been a fan of Matrix and miss the ease of UI in discord, but was happy to leave with it's direction. How would you sell it with a small group that has small, but mounting usability issues with Matrix?
I'm gonna try this when I get time to tinker around since my friend and I are becoming exceedingly weary of Discord for communication. I also hate how bulky and rigid it is in its design.
Edit: Tested it on LAN between my PC and phone; it's easy to get running and works great. Some buttons seem invisible on mobile, like the channels list, so I had a hard time joining the "general" channel upon connecting to the workspace. I want to test it with my friend to see how it works across networks but it seems really promising so far.
I just realized it's on the post. Sorry for that. This looks like a solid thing, for sure. Since we're talking, do you ever worry about people making use of the privacy features for nefarious purposes?