Show HN: Radiopaper – Troll-resistant public conversations
346 points| evnp | 3 years ago |radiopaper.com | reply
I wanted to highlight a couple of the unique characteristics of Radiopaper that may not be immediately apparent when browsing https://radiopaper.com/explore
* It's possible to interact with Radiopaper entirely by email, and never log-in interactively. The notification emails contain context that explains that if you reply to the email, your message will be published on https://radiopaper.com
* The key mechanism that makes Radiopaper different from other social networks, and more resistant to trolling and abuse, is that messages are not published until the counterparty replies or accepts your comment. You can read more about this in our manifesto at https://radiopaper.com/about
The technical stack is a Vue/TypeScript app talking to an API backend written in Go, running on Cloud Run, and using Firestore for persistence, Firebase Auth for authentication.
Email processing is handled through the Gmail API hooked up to a Cloud Pubsub notification which triggers another Cloud Run service. Outbound emails go through SendGrid.
The whole stack "scales-to-zero", and on days that we have a few hundred active users, we're still under the free limits of Firebase Hosting, Cloud Run & Firestore, so this has allowed us to operate for a long time without funding or revenue. Our overall burn rate is around $40/month, mostly from the smattering of other SaaS offerings we use: Sentry, Mixpanel, Github & SendGrid.
Dave & I discuss our tech stack in a little more detail in this conversation: https://radiopaper.com/conversation/4PsvfxLX2Q5NHLBs8nuN
The team (myself, daave, davidschaengold, youngnh) will be around to answer any questions!
[+] [-] daenz|3 years ago|reply
It was a probabilistic method to filtering out the trolls, and it worked well. Trolls wanted to ban, but they themselves became the more-frequent targets of bans. Eventually, they would get frustrated with the bans and leave. The people that remained, stayed civil to not become a clear target of a ban. There would be brief chaotic behavior, but it never lasted. Cooler heads always prevailed.
Radiopaper mentions that there is a lot of room for exploration in this space, to try different models for creating emergent social behavior and productive conversations. I hope we see more of it!
[+] [-] PaulDavisThe1st|3 years ago|reply
This, I like. It would be interesting to experience this system.
My own personal policy on HN is: never downvote anyone for the content of their comment, prefer replying; if downvoting then it must be for extremely poor presentation, not content. That said, I don't tend to upvote or downvote a whole lot.
[+] [-] phailhaus|3 years ago|reply
For example: every time a big political announcement is to be made or an event happens, the optimal game theoretic play is to ban them to prevent them from being able to set the narrative. And it just takes one person to do it. That's not hard at all: if you have millions of users, someone will do it!
[+] [-] palisade|3 years ago|reply
[+] [-] kamikaz1k|3 years ago|reply
[+] [-] spangry|3 years ago|reply
Was that on a per-thread basis i.e. if I start a thread, I have the power to publicly ban other users who reply to my thread?
[+] [-] derekzhouzhen|3 years ago|reply
[+] [-] Theory42|3 years ago|reply
[+] [-] tomcam|3 years ago|reply
[+] [-] mro_name|3 years ago|reply
the trolls! That's genius!
[+] [-] trenchgun|3 years ago|reply
[+] [-] Kiro|3 years ago|reply
Intriguing idea anyway. Looking forward to seeing how it pans out.
[+] [-] davidschaengold|3 years ago|reply
Either party can keep adding messages to the conversation in any order, but only a back-and-forth is considered an update to the conversation as a whole, for the purposes of sending it to the top of the feed. That way, if a conversation turns sour, one person only needs to stop replying, and the conversation will gradually sink down the list into oblivion, even if new messages continue to be added by the ignored party.
[+] [-] bgro|3 years ago|reply
"Why was I banned? I didn't say any hate speech. I just stated my favorite movie."
"I hate that movie, thus it is hate speech because it promotes hate (something that I hate)." or "Read the rules, figure it out"
Sometimes then the mods ironically send actual hate speech in their reply, then block you. Or you reply to them, and replies to mods automatically unlock the nuclear admin ban missiles "for harassment." God forbid you quote their literal message in a report which then triggers the automated word filter bans which are disabled for some reason when it's mod messages.
I'm not really surprised though, since
[+] [-] metadat|3 years ago|reply
[+] [-] KennyBlanken|3 years ago|reply
[+] [-] deeviant|3 years ago|reply
[+] [-] dubswithus|3 years ago|reply
[+] [-] linkdd|3 years ago|reply
My mind is blown at how simple and elegant this solution is!
Great work there.
[+] [-] taspeotis|3 years ago|reply
So there is a reduced incentive to invest your time in writing a reply.
[+] [-] rectang|3 years ago|reply
On Gawker/Kinja if you've been "followed" by a power user, your comment shows up right away. If not, your comment goes into "the greys", which are hard to see, until either the person you replied to replies or stars your comment.
I've spent a lot of time reading Jezebel and TheRoot over the years — they're a balm after experiencing the single-silo HN. The Gawker properties aren't what they used to be, but this commenting mechanism has its advantages. It truly defangs trolls. Jezebel and TheRoot could never operate without troll protections — there are so many disturbed characters hanging around trying the most vile stunts, you'd never manage to have a conversation proceed otherwise.
There's a significant flaw, though: the more that your interlocutor disagrees with your reply, the less likely it is that your comment will get approved. This doesn't apply to everyone on Gawker properties because there are lots of approved posters. I don't think the chained comment system would be that great unless it's supplemented by a way of approving/deapproving posters as well.
[+] [-] flir|3 years ago|reply
Sockpuppets.
[+] [-] bsaul|3 years ago|reply
Edit : since the founders are reading this, i had an idea once about what an anti-twitter would be like and came to this idea : no message under 1k characters. Do what you want with that idea, i give it to you.
[+] [-] westoncb|3 years ago|reply
But maybe it won't be such a big deal in practice: in a way, it's kind of like enforcing a certain amount of politeness when conversing on someone else's turf; you've entered their 'house' and are expected to play by their rules while there.
On the other hand, when it comes to debate of any kind, there always has to be one party who gets priority over the other and can tailor the appearance of the outcome of the debate to a certain extent.
TBH, I'm mostly very curious what kind of behavioral dynamics would emerge around this—it's probably not possible to infer too much in the abstract. In any case, an interesting idea.
[+] [-] lordofmoria|3 years ago|reply
Are you considering a strongly-bound 1-account-per-person model with verified accounts?
[+] [-] layer8|3 years ago|reply
[+] [-] onlyrealcuzzo|3 years ago|reply
Hoping this works out!
In the end, I see this as a feature for discussions / subreddits - not exactly a business. But who knows ¯\_(ツ)_/¯
[+] [-] ricardobeat|3 years ago|reply
[+] [-] duck|3 years ago|reply
This feels like something that would be hard to get traction with, but hats off on trying to do something different and thinking through what social could be. Also, love the design and UX - great stuff!
[+] [-] russdpale|3 years ago|reply
It's interesting I see this project, because I've long thought the problem with social media is that everyone can talk to everyone and anyone at any time. Like everyone is in a giant stadium with access to the PA to announce themselves... and everyone in the stadium can use it all at the same time. Real life doesn't work this way. While unfettered communication is nice, it is also overwhelming and positive and healthy communication needs filters and topics and such.
I'll definitely be watching this app and hopefully using it. There is a lot of opportunity here. I really enjoy the clean and simple interface. Personally, I think this is probably the best social media app and idea I've seen come through HN in a long time.
A 'contact me' button which quick copies a link would be a nice addition.
[+] [-] dimal|3 years ago|reply
[+] [-] V__|3 years ago|reply
I'm having a hard time wrapping my head around a general use case then. It seems like a neat idea for discussions or debates between two people which have public value.. but most of the time when I'm writing directly to someone, why would I want to have it shared? Looking at other social networks, most of the time you want to share something with your social circle and generate a conversation which has more than two people or you message them directly. Am I missing something?
[+] [-] evnp|3 years ago|reply
* The OAuth scopes for login with Twitter are overly broad. This appears to be a limitation of Firebase Auth's SDK, it only supports the Twitter OAuth 1.0 API, whereas Twitter only provides more fine-grained scopes if we use OAuth 2. We're looking into whether we can make changes to Firebase Auth to contribute upstream that would let us request email addresses without permission to view your timeline, followers, etc.
* There are a few quirks with our UX on mobile devices, and Comments are not visible on mobile. We've focused on the desktop experience for reading and writing at first, but a lot of our users do come to us on Mobile, so making this better is a high priority.
* We're missing a lot of the standard social features you might expect from an app like this: following, reactions, @-mentions, topics, search, etc. These and many others are on our roadmap, but as a bootstrapped team trying to maintain a high quality bar, we're moving on them pretty slowly.
[+] [-] kwhitefoot|3 years ago|reply
Without search I can't see how anyone could make much use of it.
[+] [-] leakbang|3 years ago|reply
[+] [-] Klonoar|3 years ago|reply
I feel like, by avoiding some of the modern UI/UX landing page trends, it feels more authentic when I land there. I like it.
[+] [-] davidschaengold|3 years ago|reply
[+] [-] roomey|3 years ago|reply
I would request some sort of topic subdivision like subreddits or hastags or something similar.
It is hard to know what a conversation is about or even how to post about a topic of interest.
For example, it would be interesting to see a discussion about being on HN and the impact on the user base
[+] [-] edf13|3 years ago|reply
- don’t like someone’s response - simple accept it and no one will ever see the potential counter argument?
[+] [-] MetaWhirledPeas|3 years ago|reply
[+] [-] gitgud|3 years ago|reply
So this platform proposes that you must make your comment agreeable to other party, which has its benefits; civil discourse, pleasant rebuttals, less polarising discussion. However it gives the power of censorship to each party, giving a false view of discussion.
What really makes a system resistant to trolling is "reputation", this can be in the form of points or even some kind of verification system. The best platforms respect this, and requires you to earn the right to be heard through time and dedication to the community. Points are a way of verifying that the user has had respectful discussion in the past, as users should only earn points through respectful discussion.
[+] [-] zestyping|3 years ago|reply
I conceived this idea independently some years ago (just the core of it: that all replies must be approved by their immediate parent) and am delighted to see it realized!
For a long time, I've been bewildered at the lack of innovation in online discussion. It's time for something new! There are so many ideas we haven't tried — see here for a list of just a few I've been thinking about:
Have you considered any other ideas for helping people engage in meaningful conversations?I wish you the best of success! Let a thousand flowers bloom.
[+] [-] gelatocar|3 years ago|reply
Some way to fan in the conversation and allow multiple participants as points converge could solve this but it sounds like it would be rather complex to get right.
[+] [-] davidschaengold|3 years ago|reply
Our thinking about this was that we want to make it as easy as possible to follow a conversation between two people, however long and involved the conversation gets. So, while conversations can branch endlessly, it's always easy to follow what any two people are saying to each other.
In the longer term, we might also add some features around seeing an overall conversation branching structure, but it's not on the short-term roadmap.
[+] [-] alimov|3 years ago|reply
. Does this mean if someone doesn’t agree with your comment they can ignore it entirely, and nobody else in the conversation will ever know the comment was made? If that’s the case then wouldn’t it be possible to manufacture a sense of agreement (in the thread) by dismissing all unfavorable comments? Edit: Also if enough people of the same ideological leaning (or an army of bots) did this and engaged only with themselves, it could give the illusion that the general sentiment of users of your service is aligned in some belief or system of ideals or w.e? Idk, maybe I’m just spewing nonsense.. I like the overall idea and I wish your team the best of luck.
[+] [-] civilized|3 years ago|reply
You guys are gods.
[+] [-] Etheryte|3 years ago|reply
A small technical nitpick, it seems cache headers are not set correctly for images and such right now. When you scroll up and down the homepage, the same images get re-requested again and again. Out of curiosity, why are the top items unrendered when scrolling down?
[+] [-] neilk|3 years ago|reply
1) Message sending is already a victory condition
If I understand correctly, when someone comments, it's always forwarded to the OP. Many harassers will use that to send vile things to the OP. If accounts can be generated without limit, they'll flood the OP's inbox.
2) Since replies are firstly private, this means others will not have the chance to downvote
This deprives the system operator of some potentially valuable signals. Of course they can be brigaded too.
3) Opt-in once and receive a lifetime of abuse
It seems like your system allows for individuals to opt-in to displaying replies, but no way for them to opt out. Many trolls will consider it a game to deceive the OP with an apparently sincere reply and then they'll have an unobstructed channel.
I'm not even a specialist in these matters. Seriously, there are lots of people who are experts in troll fighting at this time, I strongly suggest you talk to them.
[+] [-] YossarianFrPrez|3 years ago|reply
Also, if the Radiopaper team is reading this... You've probably gotten this from other people, but it is hard to know which conversations to enter -- it'd be helpful if they were organized with a title or topic or a tag.
[+] [-] davidschaengold|3 years ago|reply