0

Let say we want to build QA system like Stackoverflow, and I wonder whether "we should allow user to modify their Q & A, or user can only "Add Only" when posting Q or A?"

-Option 1: User can modify their Q & A at any time they want to, like Stackoverflow. But here is the problem.

Let say the user "A" create the question "What is car?", the user "B" saw "What is car?" question and start to answer "Car is ....". But before user "B" submitting the answer, a user "A" modified the question to "What is bicycle?".

So user "B" did not know that the question was modified, so he just submitted the answer "Car is ...." to the question "What is bicycle?". So, in this case he submitted the answer to the OLD question, not the latest updated question.

This is Stackoverflow problem. For example, many times I provided the question & later I changed my question a bit, but many people already answered my old question not the latest ones.

So that created some kind of confusion as I had to explained to the people (who answered my question) that I changed my question so that they can change their answer. However most people don't change their answers even I changed my question.

Stackoverflow didn't have a mechanism to lockup data in that situation. However, it does notify user that the question was edited, but it still allows user to insert Answer even the question was modified. Many users didn't see the reminder "The Question was Edited" so they may forget to update their answer.

To solve the proble, we need to build a system to check the consistency of all data is not easy & take time. We can use technique like Optimistic locking to do that.

-Option 2: User can "add only" their Q & A at any time they want to, like Google forum & many online newspaper such as yahoo news or NYT websites. We can also provide the delete button, so if user not happy what they wrote they can delete their posts.

In the option 2, we never have to worry about data inconsistency because the data was "added only" so we don't need to spend time to build system to check the consistency of all data like the option 1 & thus save use time.

However, user doesn't have the flexibility of modifying the data so if they wrote the Q or A wrongly then they need to delete them and start over. This is quite frustrated sometime. Let see this scenarios.

User "A" posted Question "What are car?", user "B" answered "Car is ...". However, user "A" realized that he got a wrong grammar so he deleted the Question "What are car?" & posted new Question "What is car?". By doing that, he was not only deleting his post but also deleting the other users' posts. Many times other users didn't knew that their posts were deleted. That is also a big issue.

So which option bring better experience to user & at same time we don't need to code a lot?

1
  • Is there moderation in this forum?
    – Mervin
    Commented Mar 13, 2014 at 17:08

2 Answers 2

1

I would do it this way:

Let users edit their posts and comments.

When a question is edited notify the correct people.

Allow the community to decide if the poster of the question should post a new question or edit the existing question for clarity.

Example:

  • A user posts an answer to a question
  • The creator of the question edits the question.
  • All contributors are notified.
  • Users are then requested via a quick "yes or no" option on the question page for the update to be a separate question or allow the change; this could happen via a voting system (the majority of votes out of the people notified will be the deciding factor if it gets changed).
  • Everyone is happy and the question(s) get answered!

This is a very hard question by the way! Stack Exchange does their best with numerous community voting systems, gamification mechanisms, and different techniques to sustain communities like this one. It's much easier said than done.

2
  • sound complicated, can find a simpler one?
    – Tam
    Commented Mar 19, 2014 at 12:12
  • 1
    Like i mentioned before there is no easy way out. Your trying to control human nature here.
    – Derek
    Commented Mar 19, 2014 at 15:29
0

If the question changed

If the question has been modified since someone answered it, show what the original question was.

If the question's description changed

If the question's description has been modified since someone answered it, provide a tooltip or a link to a diff (depending on your audience) showing what the description was when the person who answered the question answered the question.

Notifications and details

I echo Derek's answer regarding notifying users of an edit (Quora does this too, even if the edit is by a bot like Quora Content Review) and letting the community decide if someone needs to provide more details or clarifications regarding a question that someone asks.

A caveat though

As always, test with users to see which option works best.

Foster a nice community

At the same time, follow Wikipedia's advice and do not bite the newcomers. Instead, encourage them to be bold with their contributions instead of making them feel like their questions are stupid or shutting down their questions outright. Hostility from a user community makes new users hesitant to contribute, makes them feel stupid, and/or gives them a negative impression of the website and its community.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.