I am building a messaging system on my website. This is a threaded messaging system where a conversation can take place between two people. One of the challenges I'm working on is how to handle deleting a conversation. I am thinking of doing this similarly to how SMS conversations work on mobile phones:

  • User A deletes a conversation.
  • The conversation is only deleted from User A's inbox.
  • User B can still view and reply to the conversation. He/she will not know that User A has deleted the conversation on their end.
  • If User B sends a reply, the conversation will re-appear in User A's inbox - however the previous conversation history is not visible to them.

Do you think this is a good way to go about it? Or should a conversation disappear from both inboxes once it is deleted by either user?

One of the reasons I don't want to go down that route is if in case User A sends an abusive message and then deletes the conversation before User B has an opportunity to report it.

  • What do you feel each user should expect? What would be seen as an annoyance? Two golden rules are: (1) Value a user's time, and (2) value a user's work. Deleting something without them wanting to would violate rule #2, so don't do that unless the user asks.
    – invot
    Mar 28, 2019 at 13:48

4 Answers 4


The only reason I can see it being deleted between both parties is if the conversation produces a communally shared 'thing' they have both equal rights too, think of a document versioning object.

This doesn't sound like that, so your logic in the bullet points is entirely valid.

To add:

It depends on ownership. In a conversation no one has control of the conversation, only their instance. So it follows they can only delete their instance, not the shared conversation.


I would use the following cases, messages and full conversations:


User A can delete the message, where s/he can choose about

  1. Delete his own message, without noticing User B. (If the user B responds or reply with the deleted message, the quote won't appear, it will appear like a normal message)

  2. Delete the message, from both users. You have X time to do so, like 1 minutes or 30 seconds, like a temporary discard function. Both users will get a notification of deleted message that will disappear in 10 seconds (the notification popup) for security concerns.


User A can delete his conversation with User B, but s/he won't know it, but if User B reply to User A, it WON'T appear the conversation, just the new message. It's not cool to see again the conversation.

User A will need to figure out what s/he is trying to reply them, since User A delete the full conversation.

The pro of this method its that you gain control about the situation, avoiding seeing the conversation again when you deleted it but, the disvantage its losing the plot.


My focus to answer this would around what are we trying to achieve and what are consequences of the two scenarios listed?

For example, if users can be blocked or excluded, do we care about abusive messages? Should the instructions to the user be to take that action, however, what about racist abuse, threats etc.? Again the answer to this may be two-fold, does the server keep a record of messages? Do you want to be getting involved in disputes?

As you can see - these things are not that simple, your solution should be based on the scenarios and features driven by your customer experience journey and feature map.


The logical way of deleting a conversation would be to only allow a user to delete his own conversation and the deletion to only be deleted for him.

To avoid abuse as you mentioned for one reason and also because depending on what they are talking about some important info could disappear.

Now what I would do would be to play the time card meaning the following :

Conversation deletion planning. ( If your website would live on for years and years you might not want to use disk space to store dead conversations ) So once a year or something informs the user that the conversation will be deleted. ( and you can either ask him to visit the site and request that his conversation to not be deleted.

** Five-second rule deletion** Allow the user to delete a message for both parties if the message is as new as: 1 minute or 5 minutes. This would allow the user to delete some wrong messages, either pasting some old clipboard text that had another recipient or stuff like that.

Another option would be to allow a user to edit a message but you would need to allow user B to see the original version if he wants to.

An example where a user can delete the conversation for everyone is reddit. But the way it was done like this is because the message is public so you are allowed to change your mind if people start shaming you or you get banned and your post is deleted by the admins. You will frequently run into Reddit posts where you see a deleted comment and a lot of replies underneath that make no sense.

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.