Copyright (C) 2007 Michael Leonhard SeriousIT.com will be a website for asking questions, sharing answers, posting detailed instructional documents, and discussing practical Information Technology. I envision a site modeled after reddit.com but with wiki functions and email. The content will be like www.experts-exchange.com but not so ugly and full of ads. = User Identity = * Each user of the site can create an identity, solving a captcha to prove humanness * A user should not be confused with any other user. * A user cannot pose as another user. * A user cannot steal the identity of another user. * A user who forgets or loses her authentication tokens can obtain new tokens. * A user whose account is stolen or deleted can appeal to the site administrators to recover the account. * Site administrators can censor troublesome users. (Directly, or via accepting reports?) * Inactive user accounts are deleted after a time period, maybe 6 months * Contributions by deleted users are attributed to "User Name (inactive account)" * A user can delete his own account. This disables logins to the account and marks it with "(inactive acount)". The account will be deleted after 6 months, if not 'recovered' by the user. = Karma = * Each user has two karma values: ups and downs * The ups is the sum of up-votes on comments and block changes made by the user * Similarly, the downs is the sum of down-votes * When an item is deleted because of a report, the user is automatically penalized with 50 down-votes * An equation will determine which users to automatically censor, based on their karma. Maybe if u/d < 0.2 and u+d > 50. * Similarly, the system could automatically recommend certain users for admin privileges = Wiki = * Each node on the wiki may have zero or more content blocks * Each block has a title and some wiki-text * Any user may create a block, but the block's creator is not normally displayed. Blocks are not owned by any user. * A block may be edited by any user. * A wiki node is also a threaded forum, with comments * A comment can be either top-level (having no parent) or a child of a block or another comment. * Each comment and block has an integer score and up/down arrows for voting - Any user may click an arrow to add an 'up vote' or 'down vote' for that item, the arrow darkens (like reddit.com) - User votes are remembered and displayed back to the users when they come back to the page - A user can change his vote at any time. Click a darkened arrow to remove the vote - parent-less (top level) items are ordered by the total sum of the upvotes of each item and its child items - Censored users' votes are recorded but do not reflect in displayed scores or item ordering * Every item displays a permalink that is the url of the wiki node plus an #anchor * A deleted item shows no content and its title is "" or "" * Every item has link that displays is change log, even deleted items * Site admins may revert changes * Site admins may set an item to be sticky on the front page, so it shows up there with a link to its node#item which shows comments * Site admins may lock an item, so it cannot be changed by non-admins = Markup = * Links to nodes and node items * Links to searches of the wiki, expandable to show results. Sometimes you don't know what to search for. * Links to the Internet * Attachments with per-item size limits * Inlining of attachments * Each user has an upload quota that increases automatically with karma. * A user may request an increase in quota, providing a reason = Anonymous Users = * Anyone may log in anonymously, solving a captcha to prove humanness * To prevent abuse, each anonymous interaction requires the client to solve a captcha * Each anonymous vote counts as some fraction of a vote (?) * An anonymous user gets a temporary account, allowing her to change votes and edit/delete her comments * The user is authenticated to the temporary account until logging out * Temporary accounts expire automatically after a period of inactivity * Contributions by temporary accounts are attributed to "Anonymous", regardless of whether the temp account is still active or has expired = OpenID Users = * A user may log in with her OpenID url, solving a captcha to prove humanness, an account is automatically created * OpenID users will appear as "User Name " * OpenID user accounts expire just like any other user's account * When an OpenID user logs in again, after her previous account has expired, a new account is created = Email = * A user may subscribe to a wiki node by email * An email is sent to the subscriber whenever a block or comment is created, deleted, or modified. The email contains the changes and the current content of the item. * A subscribed user may reply to any of these emails. The content of the reply is automatically added as a comment under the item that generated the first email. * The user's email software must include the "In-Reply-To: msgid" header field * A reply may contain attachments, which are attached to the comment and may be referenced or embedded inline via wiki markup * Text-only replies only = Etiquette = * I think it would be good for users to refrain from major edits until a consensus is reached. This means that the major edit should be proposed in a comment. When the comment reaches a certain threshhold of up-votes, the user should feel free to implement the change to the parent block. * Perhaps the software could implement this programmatically, where the user actually makes a change, but that is shown below the block as a 'change proposal' comment, with the author's text explaining and justifying the change. If the comment receives a score of >20 or so then it is automatically applied to the block. * This kind of voting on changes could be applied by site-admins to problematic blocks. Maybe users could even vote to turn on change voting? * Every item, comment, and change entry will have a 'report' link for reporting inappropriate content. Clicking the link allows the user to enter an explanation and submit the report. Site admins monitor the report log and fix problems. = Administration = * The wiki will need some site administrators to clean up spam, advertising, and vandalism. They will also need to deal with trolls and resolve disputes. * Admin actions may be reported just like any other action * If a report against a user is upheld by an administrator, the user can report that action by the administrator * Upload quota increase requests may be granted, with any positive amount chosen by the site admin * The increase appears as a modification to the user's node * Account recovery requests may be granted, with emails going to old and new email addresses explaining what happened * Account recovery appears as a modification to the user's node = Thanks = * The site will display a message thanking Chris McIntosh for donating the seriousit.com domain name. = Simultaneous Edits = A future version of the wiki could support simultaneous editing. One users changes are immediately transmitted to other editing users and appear in real-time. Use 'comet' streaming HTTP & JavaScript.