Live Collaboration and Merge Conflicts

A Google v. Microsoft Battle

Live Collaboration and Merge Conflicts
Photo by Mika Baumeister on Unsplash

Anyone who has worked as a business analyst will probably know the painful experience of trying to edit an Excel spreadsheet or PowerPoint slide deck saved on OneDrive, Sharepoint, or Microsoft Teams with a team of 50 other users. The editing experience of what should be a seamless live collaboration experience feels more like partner programming than actual concurrent editing.

I’ve personally experienced this incident in PowerPoint — saving a shared slide deck only to have a collaborator save and overwrite the edits I had made. Excel and PowerPoint often advise having collaborators download a local copy to edit to avoid these issues with overwriting others’ edits. This defeats the purpose of live editing as what truly makes live collaboration enjoyable is seeing the edits that others are making in the same document. Microsoft Office supports this experience, but with larger teams, issues often arise with merge conflicts.

What are merge conflicts?

“Merge conflict” is a term used in software development when the main branch of code and a side development branch of code has changes that are different from each other. Merge conflicts typically happen when new changes to the main branch are not pulled or updated into the side branch on which the developer is working. Thus, the two branches have diverging changes, and when the side branch wants to “merge” its new changes into the main branch there are conflicts.

A merge conflict between “Hello, cat!” and “Hello, dog!”
Merge Conflict (src: https://blog.developer.atlassian.com/a-better-pull-request/)

When a merge conflict happens, the developer who wishes to merge their branch must go through each conflicting line of code and pick the changes, whether from the main branch or the side branch, they want to use. Then, after resolving the conflicts, the new development changes are then able to be merged into the main branch.

Merge Conflicts in Documents

When the concept of a merge conflict is applied in editing a shared document. We can treat the local copy of the document on each person’s device as a branch. When a person makes an edit, it is saved into the cloud and other people see those edits on their local copy after the save.

The order in which edits are saved and the latency of the local update can impact the collaborative editing experience. A common issue that many have experienced with Microsoft is having their own edits overwritten. A tip that Microsoft gives to avoid this is to download a separate copy in which to make edits. This makes the editing experience more disjointed and less collaborative. When trying to collaborate, it is easier to work off of one copy of the document than having multiple people edit simultaneously.

Microsoft v. Google

Overall, I find the collaborative editing experience with Google products to be much smoother than that of Microsoft products. I would wholly recommend Google Drive to those who are deciding on a platform to create collaborative documents. Microsoft might have a long history, but Google certainly takes the quality to another level.

Some other oddities and quirks that Microsoft has include the method by which an Excel file is able to grow in size simply via the metadata that tracks changes. No content is added, but the size grows. This seems to be inefficient for storage space considerations. Google Drive documents are stored via links in the cloud and do not grow in size.

Lastly, Google Drive is free and can be used by anyone with a Google Account without the need to pay for a software license. With Advanced Protection via Yubikeys and other security measures in place, I would be confident in Google Sheet’s ability to protect PII (Personally Identifiable Information) in corporate settings.