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

Discussions proposal #39

Open
AlexVasiluta opened this issue Feb 3, 2025 · 0 comments
Open

Discussions proposal #39

AlexVasiluta opened this issue Feb 3, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@AlexVasiluta
Copy link
Member

Note: this was written a while ago, issue content was copy pasted from my notes.

Abstract

It should be nice for all users to have an easier time having discussions about problems and seeing others' notes. Also, most discussions happen off-platform and can be lost (for instance on Discord). As such, I am proposing of adding a discussions segment in the pages for problems, blog posts and contests that ended. The structure would be similar to codeforces, reddit, hackernews etc comments sections: a tree-like structure of replies. It also helps improve the platform's sense of community and would likely increase engagement.

Anatomy of a reply

  • In reply to: a topic (problem, ended contest, a post) or another reply for nested topics (codeforces, hackernews, reddit)
  • Restricted markdown content
  • Author preview - name, image
  • Creation time
  • ? Public edit history

Unique considerations

  • Moderation/News feed: dedicated page on the platform + discord channel with link and preview to the
  • Notifications: if you linked your Discord, you get a mention in the moderation feed (maybe also a DM?)
  • Rate limit: each user can reply once every 5 seconds
  • Users can be banned from commenting if they are spammy and not banned in general
  • You can see a user's post history (or at least a link to it) on their profile page
  • Upvote/downvote system for weighing like on reddit, codeforces etc

Minimum viable product

  • Modal that can be integrated in other pages, specifying a topic ID such as "problem-1234" / "blogpost-12"
  • Working backend, simple frontene
  • Checker if topic ID is replyable to avoid spam from API
  • Basic versions of all Unique Consiserations

Potential challenges

  • Moderation
  • Failure to catch on
    • Can maybe be solved by somehow pushing momentum or adding other incentives

Future expansion

  • Forum topics like reddit/hackernews - mayne open the blog system to everyone?
  • Karma / reputation system
  • More advanced moderation tools - moderator, non-proposer role?
  • Deduce language and offer translation tool - like youtube comments
  • Markdown preview mechanism - can be also integrated in problem editor
  • Review metrics like on google maps - debatable if it should be integrated in this system or be something separate
  • Debatable: When writing a reply, mark if it's a spoiler or not to the problem - common sense option that can be overriden by moderators
@AlexVasiluta AlexVasiluta moved this to Backlog in Feature Kanban Feb 3, 2025
@AlexVasiluta AlexVasiluta added the enhancement New feature or request label Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog
Development

No branches or pull requests

1 participant