Readit News logoReadit News
Posted by u/evnp 3 years ago
Show HN: Radiopaper – Troll-resistant public conversationsradiopaper.com/explore...
Hi HN! We're a bootstrapped team of 4 and have been building Radiopaper for around 16 months alongside other full-time, part-time, and consulting jobs.

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
About 14 years ago, I also tried to tackle the public conversation troll problem and created a forum that got quite a bit of traction. While Radiopaper takes the carrot approach ("write things people want to engage with"), I took the stick approach: "anyone can ban anyone else for a non-trivial amount of time, but you must reply to their post, and people will see that you banned them."

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
> "anyone can ban anyone else for a non-trivial amount of time, but you must reply to their post, and people will see that you banned them."

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.

Tozen · 3 years ago
On HN, it appears the downvoting is about those with the power disagreeing with a different or unpopular opinion, so is of little deterrence to trolling. The troll can be typing something that is popular or is popular, but is specifically targeting or bullying other users.

The troll behavior isn't punished, unless a moderator steps in, where arguably it would have reached the point of being quite obvious or outrageous. So on HN, it seems that if a user has an issue with trolling, they would have to e-mail HN about it. And here again, it would likely need to be something more on the continual, obvious, or outrageous side for actions to be taken.

Cthulhu_ · 3 years ago
Personal takes on downvoting, or even rules, are... arbitrary? Up/downvotes cannot be controlled, it's individual opinions vs thousands of randos that each have their own reason to up/downvote. I can't think of a solution that helps rank the "best" and hides the "worst" comments, I'm used to lower-volume forums myself where replies would be in order of posting and unthreaded. An optional "upvote" system existed on the side, but I've ignored that for a long time now.
tayo42 · 3 years ago
Isnt that that actual intent of of upvotes and downvotes. It was never supposed to be an agree or disagree button. Same on reddit, but its a lost cause there...
johnisgood · 3 years ago
I always get down-voted because I strike a nerve in some people. Chill, it is the Internet. Do not allow me to upset you, seriously.
phailhaus · 3 years ago
What was the scale of your community, and how long did the forum last? I would be curious to hear such a system would perform against large numbers of bots or sockpuppet accounts. I think that techniques that work in forums may simply not scale to millions of users, when it actively affects the national conversation.

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!

daenz · 3 years ago
I ran it for about 6 months iirc. It never got to the size where sockpuppets were a legitimate threat or IP bans insufficient. Occasionally people would switch wifi to ban the person who banned them, but I leveraged cookies where I could to try to detect that behavior. This was before browser fingerprinting and "evercookies" were widespread, or I probably would have used those too.

In your example, the person would have to have posted recently in order for you to ban them, since bans only worked on quasi-recent posts. But yes, if you made yourself into a target, someone would ban you, and it was accepted in the culture because it was fun. It was acceptable that everyone got banned frequently, but far less frequently than the trolls. I should probably have mentioned that all users were anonymous to each other.

palisade · 3 years ago
You run the risk of an echo chamber with this method, though. Where like-minded groups of individuals gang up on others to keep opinions they find unpopular concealed. Which may be desirable depending on the goal of your platform or service. But, it is something to be aware you are causing.
kamikaz1k · 3 years ago
Sounds like it worked? What happened with the project? Not enough mass of attention?
daenz · 3 years ago
It was growing steadily but there was no clear way for me to monetize it. From a business perspective, I didn't know what I was doing. 4chan founder Chris Poole reached out to me at one point and we had a call (I was a bit star-struck!) to talk about it and some new project he was working on (I don't remember the name). But money was really tight for me and I couldn't afford to run it anymore, so I had to shut it down.
spangry · 3 years ago
> "anyone can ban anyone else for a non-trivial amount of time, but you must reply to their post, and people will see that you banned them."

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?

daenz · 3 years ago
Yes iirc, but bans were throttled (N bans per hour), and by banning someone, you make yourself vulnerable to a ban, because you have to reply to their post.
derekzhouzhen · 3 years ago
I took a similar approach as radiopaper: everything you say is pre-banned, and only the person you talked to has the sole discretion to lift the ban. during the ban you cannot post again to the same person on the same topic. The other party cannot reply to you without lifting the ban. Once the ban is lifted, everyone else can see it and reply to it.
Theory42 · 3 years ago
Smart. Tit for tat is often a winning strategy.
tomcam · 3 years ago
OK I would like to hear a whole lot more about your project!
mro_name · 3 years ago
> Eventually, they would get frustrated

the trolls! That's genius!

trenchgun · 3 years ago
I would really like to try out this plaftorm.
Kiro · 3 years ago
A common discussion "technique" on reddit is to block the person you're arguing with right after your last message, when you feel you're done with the conversation. That way they will never be able to reply and you always get the last word. Unfortunately this feels like an amplification of that. However, I guess the dynamics will prevent the frustrating feeling when that's the game you're singing up for.

Intriguing idea anyway. Looking forward to seeing how it pans out.

davidschaengold · 3 years ago
This technique is not possible on Radiopaper. Once a conversation is published — which happens as soon it has messages from both parties — neither party can block the other party or unpublish the conversation (though you can edit your own posts, including deleting them).

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.

_Nat_ · 3 years ago
How is that different from the parent-comment's point?

I mean, the parent-comment was saying that folks could get the last-word by replying-then-blocking. It sounds like folks on your platform could get the last-word by simply not approving the other-side's response.

To avoid one side getting a last-word in a feud, it'd seem like you'd need to ensure that both sides could eliminate the entire conversation should they not be satisfied with its ultimate conclusion, such that there'd be no last-words in any feuds as there wouldn't be any (published) feuds. Short of that, it'd seem like one party could end up getting in a last-word.

PaulDavisThe1st · 3 years ago
> That way, if a conversation turns sour, one person only needs to stop replying,

Without actually trying it, this seems like a solid design choice.

Deleted Comment

bgro · 3 years ago
The mods there love doing this. "Banned. Reason: Hate speech"

"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
Why does redit leave this anti-social loophole exploit open? Is it good for engagement? Seems like a win for the trolls and a net loss in terms of QoL for the good actors.
not2b · 3 years ago
Blocking is sometimes necessary when someone is behaving as an abusive troll, or switches from normal conversation to hurling personal abuse.

Yes, it can be abused by people who think that having the last word is "winning". One way to address that might be to add "Fred blocked Sam" to a thread in which both Fred and Sam previously posted, so everyone knows what happened.

root_axis · 3 years ago
It's not a "loophole exploit", reddit simply gives the user arbitrary control of who they want to block.

Dead Comment

KennyBlanken · 3 years ago
Also, this forces the target of abuse to decide between publishing the message - giving the abuser a platform - versus not publishing it, suffering the abuse privately, and nobody knowing the person is being abusive (aka Missing Stair.)
deeviant · 3 years ago
It's worse than that, because you an block an unlimited amount of people, in advance. So you just identify a group of people that would likely respond negatively to your point, and make a post that can't be responded to by that group of people.
dubswithus · 3 years ago
When this first happened to me I assumed it was a reddit error until I looked at the response code.
Kiro · 3 years ago
Same. It was extremely frustrating because I had written a long response with several references to support my argument and I was just unable to post it, getting a generic "Something went wrong" error message. I thought it was a temporary error and saved the comment but after trying several hours later getting the same thing I realized they had actually blocked me.
linkdd · 3 years ago
> 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.

My mind is blown at how simple and elegant this solution is!

Great work there.

taspeotis · 3 years ago
It is simple and I do like it, but I also worry that the counterparty can simply not accept your comment and always have the last word.

So there is a reduced incentive to invest your time in writing a reply.

davidschaengold · 3 years ago
Once a conversation is published, you can no longer choose not to accept your counterparty's messages. However, if you choose not to respond to further messages in that conversation, your counterparty's additional messages will be considered "post-scripts," which do not cause a conversation to rise to the top of the Explore page. The effect is that, while no user can claim the last word from a counterparty, you can make it unlikely for a conversation to be seen by simply allowing the other user to have the last word.
nomel · 3 years ago
I think it will hide discourse rather than trolls since, I strongly believe, people just wouldn't approve things they disagreed with or go against their beliefs. I don't see a value in a public conversation that allows one to silence another (well, besides spam/trolls of course, but "trolls" has mostly lost its meaning).
mrandish · 3 years ago
Good point. Perhaps they could implement a feature that indicates there has been a response submitted but not yet approved. Possibly it could include when it was sent, who the reply is from, whether the approver has seen it (and when they saw it). That would at least make it apparent when someone is withholding approvals for an unreasonable time.
polio · 3 years ago
The system could provide a higher friction way of accessing the unaccepted comment. This allows for audits (so as to compute the good-faithedness of the deciding counterparty), but still keeps trolls out of the limelight.
lettergram · 3 years ago
Exactly my thought - I reply here all the time and simply ignore responses half or more of the time.
rectang · 3 years ago
Isn't this how comments work on Gawker/Kinja properties?

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
The key question you have to ask yourself: If I was a bad actor, how would I take advantage of this?

Sockpuppets.

tshaddox · 3 years ago
Obviously having multiple accounts can aid in some trolling efforts, but I think most trolls aren't happy merely trolling themselves on threads that other people might later see or participate in.
ibejoeb · 3 years ago
As I understand it, every message needs a counter-message. A sock puppet wouldn't be able to advance a thread unless the principal user engages with the sock puppet also. Right?
bsaul · 3 years ago
Had the exact same « owww that’s smart » instant reaction when reading that part. congratulations to the team.

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.

ReaLNero · 3 years ago
Information is not correlated with word count. It would result in messages with low signal to noise ratio that you would have to skim through.
aloisdg · 3 years ago
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
westoncb · 3 years ago
It's definitely interesting, but it also comes with what seems like a significant tradeoff whose effects may be difficult to anticipate: initial posters are given a big advantage in terms of control over the conversation.

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.

DoItToMe81 · 3 years ago
It will be an enormous deal in practice. Most people are not attracted to the idea of their conversations being shut off by people speaking in bad faith, but people interested in arguing in bad faith are inherently attracted to these designs.
lordofmoria · 3 years ago
But how do you avoid astroturfing? Seems like someone with two accounts (or a small cabal) could get anything they want published with very low friction.

Are you considering a strongly-bound 1-account-per-person model with verified accounts?

julianlam · 3 years ago
I believe the comment needs to be accepted/replied to by the person who wrote the parent comment.

It doesn't stop you from posting your own stuff at top level, just stops flames, I suppose?

layer8 · 3 years ago
Though I imagine if the moderation doesn’t happen very quickly, there will often be a lot of very similar comments being submitted because they don’t see each other. And the moderator/OP will have to decide between rejecting the “duplicates” (which can feel problematic) or accepting them all (which leads to a lot redundant comments being published). That in turn can create peer pressure to not moderate too slowly. Not sure I’d like those dynamics.
nostrebored · 3 years ago
I think this might be a feature? differentiated, insightful comments are the ones that yield the most interesting, differentiated replies.

If you get enough overhead from the platform from writing boilerplate comments, maybe you just stop?

onlyrealcuzzo · 3 years ago
The idea is promising, and the design is good, too.

Hoping this works out!

In the end, I see this as a feature for discussions / subreddits - not exactly a business. But who knows ¯\_(ツ)_/¯

ge96 · 3 years ago
I don't like when I post something and it doesn't immediately show up, like why comment at all

Granted I don't expect to write something bad but yeah, I just have this gut reaction I did something bad, like downvotes

Like a "shadow ban"

ricardobeat · 3 years ago
It’s a neat idea but I’d worry if it scales at all to anything beyond a hundred or so followers. At that point it’s offloading the spam filter onto the author, which will end up not publishing any replies at all simply due to the effort necessary.
daave · 3 years ago
The ability of the OP to accept or ignore replies is in addition to, not instead of, regular spam filtering techniques. Certainly we'll want to automatically block bots and other bad actors that violate our policies to reduce the burden on users.
duck · 3 years ago
I found this exchange super helpful in understanding what Radiopaper is: https://radiopaper.com/conversation/K5opCylqOizaZ0HQCB5Q/ots...

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!

klenwell · 3 years ago
Thanks for pointing to that. I thought this part in particular really helped clarify how this is supposed to work:

As we were building Radiopaper, we developed a concept we call "social skeuomorphism." ... Social skeuomorphism is the idea that a social network should be designed to resemble the best social events in the non-digital world. This is tricky, because internet communication differs from in-person communication in many dimensions, and it's not immediately obvious which of those dimensions are the important ones. In a few of these dimensions internet communication might even be superior to in-person communication.

...But parties have a number of built-in safeguards to prevent this phenomenon from becoming toxic. If A approaches B at a party and begins speaking, B is expected to acknowledge the approach, but is free to leave the conversation quickly if desired. If A then follows B, refusing to terminate the conversation, A is being rude, and publicly so. At parties this is often sufficient to ensure that no one has to engage in long, unwanted conversations, or at least not too often.

Maybe this could be a complement to other social sites like HN or Reddit. Sometimes you see two people start to go back and forth in a subthread. Maybe that could be a cue to "take it to Radiopaper".

russdpale · 3 years ago
This looks like a bloody brilliant idea thus far. I'm curious as to how you guys approach implementing some of the traditional social media experiences (likes, follows, retweets, etc). There are so many things to consider.. I was telling my BIL, who is a psychiatrist, that we as devs don't do enough to include other voices from other experts in the dev process.. It seems like many of the traditional social media functions could be more harmful then helpful, both individually and as an unhealthy group dynamic. Perhaps simple changes can make big impacts, such as approving people to follow you when they request it, and the option of turning off new follow requests altogether.

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
I would suggest that retweets should not be implemented. They’re the main vector for toxic discussion amplification, and they add nothing to a conversation. It’s a lazy way of participating in a mob.
russdpale · 3 years ago
I concur.
V__ · 3 years ago
I hope I'm not missing something, but am I understanding it correctly: Messages between two people are publicly viewable, and then it's possible for other people to comment on them?

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?

rntksi · 3 years ago
I have the same thoughts.

I think this is for people who like to have other people read what they wrote (as a sort of validation), but doesn't like having people who reply with no-effort content. So the userbase would be people who like having intelligent debates in the open, but in a selective way (not with people they deem "not fit to debate with")

Deleted Comment

evnp · 3 years ago
A few obvious gaps to highlight that we're actively working on:

* 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
> search, etc

Without search I can't see how anyone could make much use of it.

leakbang · 3 years ago
I've been browsing the site a little bit and I've got a question. Who is this or what is this for? I couldn't think of a personal use case for it so I'm asking out of curiosity.