Email as a Commenting System!?

Introducing r3ply: Commenting, as Easy as Sending an Email

A message in a bottle drifting to the shore, after a long time at sea.
tl;dr

I made a prototype of a commenting system that accepts submissions via email called r3ply. This simultaneously allows for content moderation while not requiring users to create an account, and it has a range of other benefits that come for free with email, like drafts and history. Try it out and let me know what you think.

°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°

Fewer and fewer independent websites support reader submitted comments. One barrier is that existing designs are fundamentally at odds with what the user wants and what the site moderator needs. The key tradeoffs are between providing a convenient and respectful experience for the site visitor, while still retaining the ability to moderate comments for spam and offensive content.

Historically, requiring users to sign up for accounts before submitting comments has been the main approach to moderation, however a signup flow is in conflict with the visitor's goal of convenience. An alternative to this has been to partner with large, commercial social media companies, to leverage their larger pool of accounts that many site visitors will most likely already have on these other platforms. This approach helps ease the convenience problem mentioned above (assuming one's visitors use social media), but it does so at the expense of their privacy. This compromise is arguably worse, because the privacy issues often happen without the reader's knowledge.

In this post, I want to share a design and demo a prototype called r3ply that provides what I believe is the best compromise between these tradeoffs for small sites, as well as being easy to integrate into most sites, including those that are statically generated.

My ultimate goal is to gather feedback, and judge whether there's enough interest in r3ply for me to commit to open sourcing the code. If you have questions or feedback please leave a comment below, thank you.

Email as a Commenting System Is Not New🔗

I really enjoy small, beautiful websites, and one such website that I encountered is a blog that belongs to Professor David Mumford at Brown. What was significant to me about his was how he would take emails, written by friends, colleagues, and family, in response to his blog posts, and then update the very same posts with the contents of those emails in a section titled "Email Submissions".

Screenshot of professor's "Email Submissions" section
The professor's homemade commenting system was a simple yet elegant solution

This actually had a lot of nice elements that I would want from a commenting system. It's easy for its visitors to use, respects their privacy, and email itself provides a lot of nice features for free, like drafts and comment history. I saw elegance in such a simple solution; moreover, it seemed better suited for longer form, more thoughtful commentary. The only problem for my uses was that it was too manual of a process.

How "r3ply" Works🔗

r3ply is the system I ended up building to improve upon the professor's original "email submissions" section (see above), with the key difference being that my design be more automated. The end result looks and feels like a fully functional commenting system, and I'm so far pretty happy with the result.

This is the flow for commentators:

  1. A site visitor clicks a link to comment
  2. That link opens their mail client, prefilled to begin a draft of their comment
  3. When they're ready, they hit send, and that's pretty much it
"Screen recording of using r3ply"
Your email client is probably a lot nicer for writing than the browser. For example, drafts are automatically saved and you can scroll through the article as you think about what you're writing.

Currently users also receive an 'autoreply' response, letting them know their comment succeeded, with a preview link to their comment. (In the future, I plan on adding a feature to allow users to reply to that email to manager their comment, e.g. edit, delete, etc...)

This is the flow for moderators:

If moderation is enabled, the owner of the site will also receive a notification when a comment has been submitted.

  1. They receive an email notification with a summary of the comment
  2. The moderator reviews the submission
  3. They approve/reject/ban (etc...) and the comment enters the site's pipeline

Some Technical Details🔗

r3ply is a fairly simple system, with few surprising elements to its design. Its primary purpose is to take inbound emails and parse them into comments, before sending them to wherever the site moderator wants them to go. It does not, however, have opinions on how those comments are to be compiled/rendered. Therefore, it's fairly easy to implement with most existing sites, and somewhat modular.

Here's an overview of the flow of data:

  1. When the site's HTML is rendered/compiled, mailto: links are generated with all the necessary information.
  2. When emails are received, r3ply parses the email, performs checks*, and sends a draft for approval
  3. Upon approval they enter the site's pipeline, per the data from step #1
"A high level diagram showing the flow of data"
The flow of data is circular, beginning and ending with building/rendering of the site.

*Note: among other checks, it's especially important to note that the data generated in step #1 is then validated in step #2 by comparing what is received to a pre-generated hash. As you can imagine, this prevents accidental changes to the comment's final destination, as well defends against intentional tampering.

Documentation and Future Work🔗

There's only so much information that's suited to fit in a blog post. I hope the project will be received positively, and that it will justify the effort it takes to write documentation and maintain an open source project.

In the interim, this FAQ will serve in the place of official documentation. Thanks for reading!

°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°l||l°

Leave a Comment:

Comments: (21)

[-] [id:9574ece]
[2023-12-26] [e:c0e9ceb1…]

Cool. Let’s test a two layers comment

reply
[-] [id:da415f8]
[2023-12-26] [e:c0e9ceb1…]

Replying again to my first comment

reply
[-] [id:fe92154]
[2023-12-26] [e:c0e9ceb1…]

Another testing comment

reply
[-] [id:5975d67]
[2023-12-25] [e:f1e80f85…]

of course, I gotta see how it works

reply
[-] [id:63f2039]
[2023-12-25] [e:e8a20d69…]

Thanks for stopping by! Please share any feedback. Especially stuff that’s critical. It’s Christmas right now so I’m it doing anything, but soon I’ll be iterating on all the feedback.

reply
[-] [id:d050f7e]
[2023-12-24] [e:f9d7fcb2…]

Pretty cool. testing

reply
[-] [id:5eff5f8]
[2023-12-11] [e:8e5ada92…]

Di sicuro successo, ottima idea con grande potenzialità di sviluppo!!!! E perdi più il Creatore è estremamente disponibile a critiche e commenti che la Possano far crescere

reply
[-] [? id:be839ad]
[2023-12-11] [e:861dcaf2…]

Hi

I think this is very neat. Would be really nice to see this as open source. I think it would be especially useful for small sites that have a static website and do not wish to install some large, complicated, database backed, web based comment system. Email is still such a useful medium for communication and this would be another neat application that builds upon the advantages and maturity of email.

Mike

reply
[-] [id:e2a32e1]
[2023-12-11] [e:e8a20d69…]

Hi Mike! Thanks for your kind words.

I totally agree with email. It’s been totally undervalued as an interface.

I think maybe part of the reason why is that it’s historically (and still is) kind of “difficult”. But, once you get it set up and working it’s so nice. I’ve really been enjoying seeing people play with this, and just knowing that there’s a way interact with people on my website makes me feel so much more excited about writing content for my website (which I’m really bad about haha).

-Spence

reply
[-] [? id:5b12b35]
[2023-12-09] [e:f2486eb4…]

This is an interesting concept.

reply
[-] [? id:48b37b0]
[2023-12-08] [e:97b33fa4…]

testing dkim, dmarc, and spf

reply
[-] [id:730b651]
[2023-12-08] [e:62f0361a…]

test with bold text and an emoji 😀

reply
[-] [id:d5950b2]
[2023-12-08] [e:6c715f2d…]

we'll start seeing richer, deeper conversations take place

Although that's a wonderful ideal, unfortunately all I have to say atm is: LGTM!

reply
[-] [id:fda11d5]
[2023-11-29] [e:162e9e8e…]

Well done! You're right, my email client provides a much better writing UX than commenting in those tiny comment boxes. Especially for longer, more thoughtful comments. Maybe using this people will feel less nervous to compose longer more thoughtful conversations on the Internet and we'll start seeing richer, deeper conversations take place through the online ecosystem!

reply