I'm working on an app where each user has a profile with questions about themselves to fill out. The questions are things like "Tell us about yourself." and "If you could meet one person from history, who would it be and why?"
I would like to make it possible for administrators to add, edit, or delete these questions after users have answered them but I'm not sure how to accomplish this. If 10,000 users have filled out an answer to a question and the administrator edits it to ask something else, all profiles now have an answer that doesn't match the question.
It might be a bad idea to let them have any control over these questions. If that's the case, I'd like some reasons why. Thanks!
-
You have to ask if it bad idea to edit the question after you have an answer? What is the value to an answer that does not match the question? This is more a data issue. In the database have a question table and an answer table. In the question table have an column active - only display the active questions to the user.– paparazzoJan 20, 2015 at 15:37
2 Answers
In the described scenario, you should never provide an edit option or you'll have the problem you're mentioning. Basically, you're writing to a database, so let's say I have this question and answer:
Q: roses are red, sky is...
A: blue
And now I edit the question, effectively overwriting the database's value:
Q: Your teacher is...
A: blue
Which can provide some really funny moments, but I assume that's not your intention.
Also, the way you want your questions, they might only need minor changes (enunciation, grammar) or be deleted altogether. There's no middle point, so editing is not necessary at all.
Back to your scenario, it could be a good idea to allow to add or delete questions if your clients really need that option, but unless this is some kind of "open" project, such as a CMS or software you're going to sell, I really don't see a reason to do it. Furthermore, the purpose of UX is to narrow those options to the most effective one, not to let your users do whatever they want (again, unless that's exactly what they need)
-
I completely agree that editing the questions is not a good idea. I'm just not crazy about the idea of deleting/archiving a question and losing all users' answers either. This is for software to be sold. We are providing 3 questions in our MVP, but I would like to figure out how to give administrators control over questions in the future. Jan 21, 2015 at 4:49
-
but in fact this is what you need to decide. Think about this: let's say you buy a car, and then you customize it. All the changes you apply with that customizations means that something else was lost. Same happens in an UX flow: you follow one path, you won't follow all possible paths at the same time (unless you're dealing with quantum mechanics, ha!), so you need to narrow choices and offer your users a logical UX. This being said, you could always allow edit and make the users aware of what will happen after they do that. But like I said, I wouldn't recommend it at all– DevinJan 21, 2015 at 19:25
Rather than allowing the administrator to add, edit, and delete questions, consider allowing the administrator to add or archive questions instead. In this way, the administrator could change the questions to be displayed on the profile without the danger of creating nonsensical answers to questions.
Archiving questions also provides for the case in which users' profiles have a required amount of questions, if a user has yet to answer the new question, because the old question has not been deleted but merely archived, the old question and answer can still be displayed, and the user's profile won't end up being empty and incomplete, assuming the answers to the questions are required in the first place.