Historic:FeatureList
Overview
I'd appreciate if everyone would just start adding or removing things they think need to be in the to-be variant of this site
Rather than isolate the things that slashdot already had (we should be familiar with it), let's just explicitly state what we want to see, with the idea that most of it is a copy or inspired by the original. But we can possibly explain, refine, or restrict our focus to the bits that matter.
Engine Requirements
- Be mindful of bandwidth and the amount of processing done by the server when building any features. One extra character balloons into many megabytes of expensive bandwidth and consumption of server resources. Each feature that bloats a page response or causes the server to process something increases costs--KEEP COSTS DOWN!
- UTF-8 clean for anything that doesn't end up in a URL (i.e. tags, titles, channel names, user names)
- Of course, some combining marks would have to be filtered, and the resulting text round-tripped through NFD->NFC to prevent certain types of attacks against users or making text difficult to index.
- MathJax support both in comments and in submissions
- Mathjax is the math rendering engine used on stackexchange and will allow scientific discussion between us (people who read math).
- Channels (like yro, politics, apple) as first class objects
- "Primary" channels that have DNS shorthand (http://apple.altslash.org/ being equiv to http://altslash.org/ch/apple/)
- "Secondary" channels that users could create and play editor that use the more verbose syntax (http://altslash.org/ch/baseball/) that is reminiscent of subreddits
- User channels (i.e. journals, as we've always had)
- Display user IDs
- Javascript Optional
- Submission queues for all channels with membership at the discretion of the channel owner; being able to submit also implies up/downvoting submissions and tagging
- Editors/channel owners only
- List of users who can submit
- All of my friends (for user journals)
- All users with mod status
- All registered users
- Everyone
- Articles are also first class objects
- Perma-link independant of channel
- Articles are tagged by topic(s) as well as channel
- Articles are automatically archived
- Archive is easily searchable, and should be referenced when submissions are edited.
- Articles can be cross-posted to other channels by a channel owner (built into the UI if the editor manages more than one channel)
- Comment key features
- Comments are first class objects, just as before, just like articles
- Comments can be edited for a short period of time by owner
- HOWEVER: Edited comments get a new ID and it links to older versions in the new one. This detail is made prominent to viewer if a comment reply happened before an edit.
- Allow alternate markup options (bbcode, markdown, wiki markup)
- Provide a mapping to actual div and styles that will be applied, or HTML equivalent codes
- Allow moderation in same article that you've posted in; only disallow moderation to your own reply chain.
- You're obviously not allowed to moderate in your own accepted or posted article (treating all comments as replies)
- Does "reply chain" include parent? If not, how do we deal with threadjacking:
- AC posts first comment on a new article (let's presume it's an upmod-worthy comment, not fristpsot)
- I post my unrelated comment as a reply to AC's FP, in order to achieve greater visibility
- I downmod the AC to -1
- Now AC is invisible to anyone with threshold != -1 (including many with mod points and threshold=0, who would have modded AC up on his own merits)
- Unless/until users with threshold=-1 and mod points happen by to rectify things, my comment is now the first thing most users see.
- ??? (sorry, can't resist...)
- Profit!
- Actually, not just the immediate parent like I said, but 'all' ancestor comments. Otherwise as step 1.5 I just reply with an AC troll (which someone else will rightfully downmod), then in step 2 I reply to that; now that the original AC first post is my comment's gp, so I can still downmod it.
- Good point you should be prevented from moderating any children 'and ancestors of your posts (but sibling chains are still fair game)
- Moderation Engine
- Moderation tags (default scores)
Mod Up Points Mod Down Points Interesting +1 Offtopic -1 Informative +1 Troll/Spam -1 Insightful +1 Groupthink (New) -1 (or -0.5?) Underrated +0.5 (New weight) Overrated -0.5 (New weight) Funny +0.5 (New weight) Flamebait -0.5 (New weight) Devils Advocate (New!) +1
- Users assign own weights to tags in the range -2.0 -> 2.0 with 0.5 increments
- System rounds x.5 towards 0 in comment spill / threshold logic, display capped at -1 and 5.
- A score for the default weights is saved for the comment for use by article spill (for googlebot or "load all comments" from anonmyous user)
- An optional cryptocoin tipping system, when you like someone's post you can give him a small cryptocoin tip. That might also work as an additional moderating system. Non-moderators could mod-up comments (Insightful, Funny, etc) by eg. 0.5 points by spending some money.
- What about not-posting in the thread where you moderated? Good or bad rule? Maybe if you really must post, allow cryptocoin paying for post? (eg. "Warning: you have moderated in this thread, if you really want to post you need to spend cryptocoin on that" (??)) Not posting in the thread is okay, and much better than disallowing the whole story.
- Moderation strategy
- Chops instead of Karma
- Chops are derived from:
- Articles accepted for submission
- But NOT articles self-authored on a channel you're an editor of
- Comments that are replied to by others without a troll/flamebait modifier
- Positive moderation (as judged by the mod action with respect to their own point value weights... so if they think funny is bad, it counts against you)
- Positive metamoderation outcome (see below)
- Articles accepted for submission
- Registered users that have used the site > [threshold] days, posted > [threshold] times, and have positive chops get moderation duty (possibly [x] mod points per day?)
- The more chops, the more mod points per day, with a total cap for unused
- Meta-moderation is available to users that have used the site > [big threshold] days and have > [threshold] chops
- Metamoderation is not "special", a meta-mod capable user can see a random selection of recent mods at any time and metamod.
- Metamod takes 2 mod points <==Open for discussion ??
- Metamod actions are like moderation actions, you spend modpoints on them. But they are twice as expensive as direct moderation. The theory is that users with more chops (and thus more modpoints to throw around) are more likely to spend some of them on metamoderation. Bad idea....meta-mod should be open to all in good standing for RANDOM comments. Maybe allow burning 2 mod points to meta-mod a specific comment ???
- Metamod can spend a mod point to "re-roll" and see a new set of random moderations
- A moderation is undone when it's "score" goes negative. It is "reapplied" when it goes positive. If the score dips to -3, the moderation is removed entirely. Default moderation value should be > 0, possibly 2 ??
- A user is not rewarded or punished for the metamod specifically.
- A running total of positive and negative meta-moderations against them is calculated
- Certain threshold for positive and negative meta-mod counts result in fixed deltas in chops
- Having >5 positive metamod could be +1 chop score. >10 +2, >20 +3; >3 negative is -1, > 5 is -2, > 10 is -3
- Your current chops as of more than 4 weeks ago is rolled into a fixed amount capped at 1.5 times the "Excellent" value and 1.5 times the most negative "Worst Poster" value.
- On a weekly basis a task is run across all accounts that collects chop point actions since the last summarization date forward a week (actions that happened about 3 weeks ago), applies these to the last +4 weeks ago score, truncates it to the ranges above, and stores it in the database with the new summarization date for that user's account.
- This prevents a user from "banking" actions that give them more chops to only later be a jerk.
- However it lets you be a bit grumpy in the short term since the value can go above the thresholds when calculating the current display/privs value (query all the outstanding chop actions for this user, add the point values to the historic value, store it for easy reference later, cached for an hour)