Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to an in-house or otherwise more reputable comments system #24

Closed
fennifith opened this issue Aug 11, 2019 · 10 comments
Closed

Switch to an in-house or otherwise more reputable comments system #24

fennifith opened this issue Aug 11, 2019 · 10 comments
Labels
blocked An issue in this project is blocking development of this enhancement New feature or request future proofing Things that don't need to be fixed now, but should be addressed / discussed for future reference. task This issue is a change within code that doesn't present any immediate user-functionality or fix bugs

Comments

@fennifith
Copy link
Member

This blog post is a start on reasons not to use Disqus, but I'll sum up a few of the vital points:

  • it absolutely murders the page's overall load time
  • the blocky and (IMO) subpar design doesn't match the rest of the site
  • the site (and its users) are inhibited by Disqus's privacy policy
    • What this means for end users is that there is no way to ensure that their identifying data or usage information is not collected (short of blocking disqus.com with a browser extension, like I have done - though others might not have the time or knowledge necessary to do so).
    • Disqus's privacy policy states that they can collect and share aggregated statistical or demographic data for any purpose. They can (and probably do) also collect identifying data such as IP addresses and "unique Cookie ID" regardless of whether the user actually interacts with the comments widget or not. This leads me to believe that they are building a profile on every user that touches a site with their comments widget in, for the purpose of targeted advertising and other marketing techniques that privacy advocates commonly disapprove of.

I believe we could create a faster, more convenient, and frankly just better user experience with our own comments system, or maybe using an existing project that we can self-host - but the end result is that we (who I hope are a trustworthy party) are in control of the user data, and not a company that profits from selling it.

@fennifith fennifith added the future proofing Things that don't need to be fixed now, but should be addressed / discussed for future reference. label Aug 11, 2019
@crutchcorn
Copy link
Member

I don't inherently disagree. I really don't. However, building our own comment system relies on the ability to have an interactive server, something I'm unsure we're going to be taking on our own. We'll also want to build out our own account system as opposed to using JSON that should be taken into account as well, and when we do so we should likely migrate away from Gatsby to our own handrolled nextjs + GraphQL setup. Lots of groundwork should be done before we consider this

@adueppen
Copy link
Member

I swear I'm not sponsored by them but this does seem like it could be an interesting thing to try to use Firebase for.

@crutchcorn
Copy link
Member

crutchcorn commented Aug 12, 2019

I want to avoid Firebase for this project. Once structured on them, it's difficult to migrate away. Plus, it's not an OSS platform

@VincentTam
Copy link

I believe we could create a faster, more convenient, and frankly just better user experience with our own comments system, or maybe using an existing project that we can self-host - but the end result is that we (who I hope are a trustworthy party) are in control of the user data, and not a company that profits from selling it.

Hi, this is the maintainer of @staticmanlab. Static comments like

  1. Staticman
  2. Jekyll AWS comments
  3. JAM Stack

might suit your needs.

You may avoid the possibility of unknown data collection by switching to Staticman, which makes use of GitHub/GitLab Pull/Merge Requests instead of issues. Under Staticman's model, static comments are YML/JSON files stored in the remote GitHub/GitLab repo (usually under data/comments, configurable through the path parameter in root-level staticman.yml), and through a static blog generator (Jekyll/Hugo/etc), the stored data are rendered as part of the content. This gives a total ownership of a static site's comments and a great flexibility for UI customization.

The HTML form data can be sent either using the form's action URL or the fetch() API in JavaScript. Since the form entries are to be coded by the site owner/theme developer, and Staticman as a Node.JS app is open-source, self-hosting your own API instance would enable you to have control over the handling of user's privacy.

A variety of different UI for Staticman comments:

  1. Official example: movie review rating: http://popcorn.staticman.net/
  2. Personal Jekyll dev blog with comments and Markdown preview: https://zcrc.me/retromini/2018/07/12/ubiboot-on-the-retromini.html#replies
  3. My Hugo demo with LaTeX in comments: https://vincenttam.gitlab.io/bhdemo/posts/my-second-post/#comment-6
  4. Your own ???

@adueppen adueppen mentioned this issue Aug 18, 2019
@crutchcorn
Copy link
Member

Linking for reference:

gatsbyjs/gatsby#16953

This seems to be a post outlining how to add a comment system. We will likely not take this on, as we're hoping to integrate our own auth system & database, but it's good to include for comprehensivity

@crutchcorn
Copy link
Member

@VincentTam I earnestly hugely appreciate you jumping into the conversation. That said, the team has collectively decided that we're not wanting to move forward with a static site for our long-term goals and as a result, we'd like to not place undue developmental burden into two comment system migrations. In the future, we'd like to be able to roll our own auth system and turn the site from more of a blog-style site into an educational focused hub for others more representative of an interactive experience.

That said, the tech driving @staticmanlab seems fantastic and we all as a team agreed during discussion how:

  • Impressive overall the idea itself is
  • How much we loved the selling points of having all of the data controlled in source

Sincerely, it seems like an amazing project - massive props

@VincentTam
Copy link

@crutchcorn Thanks for your reply and all the best for your projects.

@crutchcorn crutchcorn added blocked An issue in this project is blocking development of this enhancement New feature or request task This issue is a change within code that doesn't present any immediate user-functionality or fix bugs labels Sep 21, 2019
@crutchcorn
Copy link
Member

Blocked by #71

@adueppen
Copy link
Member

Another decent reason: disqus's a11y stuff is ...not great, it tries to read icon font icons out loud among other things.

@fennifith
Copy link
Member Author

In #497 we've opted to remove the Disqus comments as they were seeing very limited use across blog posts. Closing this issue for now, as it no longer seems relevant.

It might be possible to add some semblance of comments in a future version of the site, if we add a user account/identity system, but that requires a backend and auth which we are not currently planning to handle (#71).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked An issue in this project is blocking development of this enhancement New feature or request future proofing Things that don't need to be fixed now, but should be addressed / discussed for future reference. task This issue is a change within code that doesn't present any immediate user-functionality or fix bugs
Projects
No open projects
Development

No branches or pull requests

4 participants