QuickComments/design

'''This document is a work in progress. Comments are appreciated but this is not a final draft.'''



This document describes the design and behavior of a feature designed to enable new users to quickly and easily leave messages (new sections) on user talk pages.

It is designed to work alongside the WikiLove extension.

Goals
The goals of this feature are:


 * Provide an obvious, intuitive mechanism for users to leave messages to one another
 * Provide this mechanism on the User page as well as the User Talk page
 * Provide a streamlined workflow for leaving single messages
 * Provide simple instructions and help that introduce new users to the concept of talk pages and how they work

Dialog Behavior
The QuickComments dialog is modal. Initiating it (from anywhere) will cause it to appear over the text of the page. It can be dismissed with a simple click.

The QuickComments system requires Javascript.

The user will initially be presented with a simple form asking for a subject and message text.

The main edit window will not have any edit toolbar but will accept any wiki markup (for simple messages, having an extensive edit interface is unnecessary).

There will be a "Preview" button that will remain greyed out until both a subject and the message text field have data within them, at which point it will become active.

When the user clicks the "Preview" button, the contents of the dialog are replaced with generated preview html, showing the user what their message will look like.

Ideally, to better enforce the fluid nature of the workflow, the preview screen should "slide" into the dialog from the right.

Below the preview wikitext will be a "terms of use" message and two buttons: "Edit" and "Send Message".

Clicking "Edit" will return the user to the edit screen of the dialog (preferably with a smooth transition animation).

Clicking "Send Message" will post the new wikitext to the talk page as a new section and advance the user to the "tutorial" screen.

The tutorial screen will include short paragraphs (word budget ~250) that explain to users where they should look for replies to their messages and how to get more help understanding talk pages.

Data Storage
For statistics gathering purposes, every time a user utilizes QuickComments, data is tracked and stored in the database. A simple table, written to via the API, is all that need be required:


 * From User - The username of the person who is giving the award
 * To User - The username of the person receiving the award
 * Timestamp - when the award was given
 * Submitter Edit Count - the number of edits the submitter has, at the time of submission
 * Recipient Edit Count - the number of edits the recipient has, at the time of submission
 * Submitter Account Creation Timestamp - Account Creation Timestamp for Submitter
 * Recipient Account Creation Timestamp - Account Creation Timestamp for Recipient