Support/ForumRedesignPRD

DRAFT
The content of this page is a work in progress intended for review.

Please help improve the draft!

Ask questions or make suggestions in the discussion
or add your suggestions directly to this page.


Problems with current system

  • Users have a hard time finding others with the same problem so they start lots of redundant threads
  • Users don't realize their problem is different so they hijack other open threads.
  • In a given thread, the only thing that lets other users sort through the possible solutions is if the original poster comes back and marks a post.
  • Solutions are intermingled with more info from the people with problems or people saying "me too"
  • Users don't realize that the other contributors are also users and it doesn't build a community.
  • Contributors don't have easy tools to prioritize which threads need responses or good workflow.
  • We don't identify the original poster unless they log in or return via email
    • Email generally isn't good.
  • We don't group threads in any way
  • Lacks a way for a user to get back to their stuff

Priorities

  • P1 = Must be implemented before launch
  • P2 = Should be implemented before launch, or top priority after launch
  • P3 = Significant benefit for users/contributors, but not needed for launch
  • P4 = Nice to have, but not a significant benefit


Features by priority (question view)

Possible mockup (treat as illustration to help understand the features, not as how this will look at all) P1 Needs to have for launch:

  • Somewhere to say "me too" for users and make the counts visible. -- This will motivate users with the same problem to vote up since that will get that thread answered faster
    • Votes displayed should be for "votes in the most recent X days" and not all-time. But store historical votes.
  • Make it easy to start a new question if the current one doesn't match or find the one that does. Something like a related questions feature with a link to start a new one. -- Populate this by looking for top-voted threads with similar tags.
  • Rich text replies shown chronologically.
  • Let people vote up replies. -- We decided on three options "Yes this helped solve my problem" "Yes, this was helpful but didn't actually solve my problem" "No, this wasn't helpful". We're only going to display the SUM of the first two but moderators will be able to see each stat so we can quickly ID bad solutions etc. -- The three tiers helps us ID contributors who are genuinely trying to help and also find troubleshooting steps that may seem to work in theory but less in practice.
  • The reply that the OP marked as solving his problem should get a special highlight (Yahoo answers has a "This solution chosen by the asker and "top solution chosen by the community")
  • The reply that has the most votes should get a special highlight to make it stand out of the rest.
  • Any replies from the original poster of the question should be also highlighted differently.
  • Use cookies to track the original poster in addition to special links in emails. That way if someone bookmarks a page, he can still act on it as the OP without having to check his email. This will also help reduce voter fraud.
  • Need to store: thread metadata (OS, tags, plug-ins, user agent, parsed about:troubleshooting if possible (raw if not)) and stats (votes for each thread, total solution votes by thread or contributor) should be easy to get at from the DB.
  • Make sure this is easily expandible for many languages (localizable strings, tracking the language of posts)
  • Email notification system so you can be notified whenever there's activity in threads you're in or threads you're me-too'd on (with different text for both) (P1)
    • Also send an email after you post a new question with "thank you for posting" and setting the right expectations (community forum etc).
    • Send email a few days after the first solution is posted to remind them to come back and rate the solution.
  • Guided AAQ form -- we have that now, shouldn't lose it
  • Should be able to add links, formatting, lists etc to solutions and if it needs markup to have a toolbar for it.
  • Ability to upload (and view and moderate) screenshots
  • Ability to edit and delete your post -- if other people have acted on your post (vote up, posted solutions) you should be given a warning.
  • Moderator controls -- delete, edit other people's solutions as well as editing question titles and details
  • Some way to report things (threads, followup questions, solutions) as needing moderation
  • HTTPS support for views that required logging in as well as form submission
  • Support threads should be tag-able.

P2: We should have these in the initial launch but they can slip to "top priorities after launch" if resources are limiting.

  • Top-of-page Notification of whether a thread has a best solution as well as whether the OP had his question answered.
  • Rich text formatted emails
  • Anchors on solutions so they can be directly linked to
  • Avatars for contributors (will help make the whole thing feel more personal and friendly)

P3: Major features/functionality that we'd like to implement but can wait for future releases

  • Flag threads for specific contributors
  • Canned strings for common followup questions or solution steps
  • Language autodetection and warn users that they'd get better help if posting in English
  • Full functionality in different locales (contributors can find questions in their language, people can choose a language when posting, possible autotranslate)
  • Ask about computer skill level (novice to expert) and indicate this somehow so users and contributors can talk on the right level.
  • Send askers an email after Y days if their question is unanswered apologizing that it hasn't gotten attention and suggesting that they provide more details and update their question.

P4: Minor features/functionality for future releases

  • Social network integration. If someone votes that "yes this solved my problem" give them the ability to tweet it

Features by priority (thread listing -- users)

  • Shown to: logged out users, people seeking to self-help by looking at existing questions as well as people seeking to ask a question.

Needs:

  • Some kind of listing of threads that show the following for each thread:
    • Title
    • First line of the description
    • Number of me too votes obtained in the last X days (order on this)
    • Author
    • Date of last activity (post)
    • Icons to indicate: if there are "helpful" solutions AND if there is a solution that's marked helpful by the OP.
  • A search/filter box
  • A link to ask a new question
  • Short URL

Features by priority (threadlisting -- contributors)

  • Shown to logged in contributors or people explicitly trying to help others.

P1:

  • Listing of threads that show:
    • Title
    • First line of the description
    • OS/Version
    • Number of me too votes obtained in the last X days
    • Author
    • Date of last activity (and person who did this)
    • Icons to indicate: if there are "helpful" solutions AND if there is a solution that's marked helpful by the OP
    • Tags
    • Number of replies
  • Various default filter/sorts:
    • Unanswered questions vs All questions vs Questions with no solutions marked helpful
    • Sort by number of me-too votes in the last X days vs Date of last activity vs Date of original post
  • UI for moderators to delete/lock/report threads

P2:

  • Filters for show only threads with certain tags -- allow customization

P3:

  • Ability to add tags from this view
  • Ability to flag threads for others from this view

Metrics stuff

The following things need to be accessible via queries (actually displaying summary queries is outside scope but a possible future project):

  • OS
  • Version
  • Number of me too votes in a given time period for a given thread (and total)
  • Number of "this helped solve my problem" "this was helpful but didn't solve" "this didn't solve" votes per post and per thread and per contributor for a given time period
  • Thread titles, description, troubleshooting info (for full text searches)
    • If we get to a point where the troubleshooting info is parseable, we'd like to be able to break it out in the future
  • Tags
  • User profile data, including user's computer skill (as ranked by user herself when asking her first support question), possibly how long she has been using Firefox, etc.
    • Example: Show only questions posted by new Firefox users running Windows 7 with minor computer skills

Registration and emails

Here's how we expect registration to work out.

  • You don't need to be registered or logged in to vote for anything (me too, sign up for notifications from threads, or vote up solutions). You also don't need to be logged in to report an offensive post to a moderator.
  • You need to be logged in to post to threads, tag threads (and obviously to moderate.)

The workflow:

  1. When posting a new question, you'll be asked for your email address and a display name at the end of the process. This email will have a random password and a link. Click the link to get your question posted.
    • The question will not show up in the forum until the user verifies his/her e-mail address. This means that a contributor can be sure that there is a working communication path back to the original poster (something which has been a huge problem on the existing forum).
    • It will also set the right set of expectations for the user as it will be an opportunity to mention that we're a volunteer community and that they're using their free time to respond to questions.
  2. You will be sent an email every time someone posts in your thread
  3. If someone has posted in your thread and you haven't come back to say "this solved" or "this didn't solve" then you'll be given an email reminder after x days encouraging the user to verify whether the question was solved or not. This email will:
    • Increase the response rate on threads
    • Give us an opportunity to ask for CSAT even if no solution was found
  4. If no one has responded to the OP after x days, you'll be given an email reminder after x days encouraging the user to clarify the question or provide more details. If the user responds to that, the forum thread should bubble up in the default contributor sort again. This email will:
    • Increase the chance of a question being responded if the user really needs an answer (compared to the users who may have posted a question and then found the answer themselves but never cared to go back and close the thread)
    • Allow the user to tell us if the question is already solved
    • Send a positive signal to the user that we're being proactive and that we haven't just ignored their question.

Usecases

A user with a common issue

  1. Searches for threads
  2. Finds one that matches his problem
  3. Sees that there are 3 solutions
  4. Tries the best one according the the community. It doesn't help
  5. Tries the next one.
  6. Upvotes that solution so that the next users know.
  7. Tweets this solution so his friends knows how helpful JoeContributor is.

A user with an unsolved common issue

  1. Searches and finds a thread
  2. Sees no solution
  3. Clicks "I have this problem too" and adds his email address so that it'll be more likely that someone notices this problem and so he'll be notified when there's activity in the thread
  4. A solution is posted. An email is sent notifying the user of the solution. # User clicks through to the thread and says it helped.
  5. +1 vote for the post that helped.

A user with an uncommon issue

  1. Searches and finds a similar thread
  2. Wants to post to it saying "I have this BUT it's not quite the same" -- but there's no place to do this.
  3. Checks the related threads with no success (there's a strong incentive to do this because of the above)
  4. Starts a new thread with the detailed Ask-a-question form.
  5. Gives email address at end.
  6. Gets email with link to click on to post the thread and saying this is all community help.
  7. A reply is posted.
  8. User gets an email. Clicks through to read it.
  9. User writes reply to thread.
  10. Another reply is posted.
  11. User clicks through and find this helpful, clicks "this helped"
  12. Thread is marked has having a solution!

Contributors who want to help others

  1. Looks for threads in the contributor thread listing view -- can choose various filters and various sorting methods or pick by tag
  2. Views can be saved and customized (for the first pass, maybe have the last view stored in a cookie and picked or have it just be bookmarkable.)
  3. Clicks through to answer threads.

Metrics gathering

  1. We can track top tags as well as look at the top 20-30 issues by vote to get a really good picture of what the top questions are. Votes provide numeric data.
  2. It's really easy to segment the data -- by version, by OS, etc.


Neil Lee's ideas: Support:UX_Ideas_2009

Cheng Wang's ideas for threadview: