In a web application, the team is interested in providing the following functionality:
- User A select an object from a list
- User A edit that object in a separate window
- User B select the same object from the same list (at the same time User A edit it)
- User B edit that object
- User A save or delete that object
- User B gets a notification on the object edit window with an option to undo the changes User A made.
My perspective is that we are complicating something unnecessarily. The above scenario can get confusing. For example, User A after saving changes, will open that object and will not see the changes. Or if deleting an object, the user will still see that object.
I know Google does it in documents, but the application I am working on is not for editing documents but maintaining a large network system, which is a different use case and workflow.
When I asked the developer why not just disabled the object while in edit mode to other users, the reply was that the object list should be actionable and never just a simple object list. It was also mentioned that locking an object is "unfriendly." I find it more confusing and over complicating having the notifications with the additional actions.
What would be the best approach in that case? Locking an object while in edit mode, or object can be edited at the same time by two or more users, and provide notifications and actions to revert any changes?