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.

Rationale
During the user testing phase of WikiLove, it became terribly apparent that inexperienced users were unable to determine how to leave a message on talk pages.

During the post-deployment analysis of WikiLove, it was discovered that a large number of users were utilizing that tool specifically to send messages to other users because they could not figure out any other way (they did not know that talk pages even existed).

Even if new users are able to locate the talk page, the concept behind the "new section" makes little sense (the idiomatic nature of the wording is targeted at experienced users). Further, the editing interface (for what the user considers to be a simple message) is overly complex and includes such wonderful esoterica like special character insertions, extensive warnings, "minor edit" checkboxes, and so forth.

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