Skip to content

Requirements: MVP

Monica Cellio edited this page Feb 12, 2020 · 22 revisions

Use this page to record requirements we have agreed on for the MVP. Use the forum for discussions.

There are some seed ideas for functional requirements.

Functional Requirements

Posts:

  • We will have some form of up/down voting on posts. (source)
  • We will allow posts to be closed and deleted; details of closure TBD. (source)
  • We should develop and maintain an editing culture. (source)
  • We will support CommonMark. (source)
  • We will support image uploading. (source)

Tags (source):

  • Each question has 1–5 tags.
  • Tag names are alphanumerics and a few punctuation signs.
  • Each tag has an optional text description. (Wiki is not required for MVP but nice to have.)
  • Anybody with a certain privilege can create a tag.
  • Anybody with a certain privilege can edit tag descriptions.
  • People can browse the list of tags.

Comments:

  • Comments should exist, but with low visibility. (source)
  • It should be possible to ping a user (or even better: a few users) from a comment. This will result in a notification. (source)
  • Comments are threaded. (source)

Moderation:

  • Flagging of posts and comments. (source)

Reputation and privileges (source ad loc):

  • We do not display a single user reputation number even if we compute one under the hood.
  • We do display whatever “stats” we’re tracking for privileges on the user profile page.
  • User can see their progress toward a particular privilege on the help page for that privilege.
  • (more about privileges TBD in other threads)

User profile:

  • Contains the following elements (source)
    • Username
    • Free-form profile text
    • Own activity log
    • Optional associated Stack Exchange account
  • Nice to have but not MVP: avatar

On-site notifications (source):

  • new answer to your question
  • anything that @-addresses you (comment pings)
  • edit to your post
  • suggested edit to your post
  • your question is closed or reopened
  • gained trust level (includes welcome message for new users at TL0)
  • message from moderators
  • new comment on your post (see post-MVP refinement)
  • voting activity on your post (could be aggregated) (see linked post for more about this)

Interface:

  • Support for localization, meaning a place to hook it in. MVP does not require actually localizing anything non-English, just that there be a path. (source)
  • Search: (source)
    • Text-only on-site search.
    • Show and search all questions within a tag.

Customization of site design (source):

  • Sites are able to change their color set and header images.
  • Sites can customize CSS.

Legal:

  • We will handle legal requests manually to begin with. (source)
  • We must have legal policies in place in MVP, to include information on GDPR, DMCA, and contact details for legal requests. (source)
  • We must have a way to indicate the license of an individual post if different from the site default. (source; this is for imported content not content created directly on a Codidact site)

Stack

See: Technology-Stack

Community building

There will not be a formal community creation process in MVP. We will start with existing Stack Exchange communities for now. (source)

Introducing new people

We will gently introduce new people into our community and teach them using the software and asking/answering. There'll be inline and in-time help and "wizards" rather than walls of text. We'll invite users to edit posts to fix spelling and grammar in other people's posts.

Meta discussion communities (source)

  • We have meta sites for discussions about the community and the software. They either use a Q&A-based approach or a more discussion-oriented one.
  • We need to have instance-level discussions (network meta) and community-level (per-site meta) discussion sites.
  • The instance-level and the community-level meta discussion forums should be separate for now (contentious point; decision based on like-score)
  • Meta sites should be freely and easily accessible.