There are two things you'd merge: changes to the whole presentation (i.e. new slides), and multiple changes to the same slide. In the first instance, we slot together the slides and alert the user. In the latter instance (if you sync a change and I sync a change to a single slide), they will both appear chronologically in the list. It is up to the user to merge these versions together.
Automatic merging works well with code because you can move locations of functions and -- to some extent -- chunks of code (although git usually will require some merge resolution); as we are merging something (a slide) which, unlike code, has to appear a certain way visually, this approach doesn't make much sense. Auto-merging together two slides with different content would not have a desirable result. I'd love to hear your ideas on what you think the best UX for this is.
Say Person A and Person B are working on a slide that has the text "Hello World" centered on a white background.
Person A makes a change to the slide by changing the background to red and moving the text box up 10 pixels.
Person B makes a change to the slide by changing the text to "Hello World!"
They both sync at the same time.
Ideally, Kivo would be able to differentiate the changes as non-conflicting. For some reason I doubt Microsoft's Powerpoint API allows you to differentiate between those changes, however. :)
version a
/ \
/ \
add slide change style
\ /
\ /
version b
If there is a way that version b could have the new 'document wide' style change applied to the new slide automatically, that would be great. This is an issue that I very frequently run into when collaborating on slides, one person is working on adding unstyled content while the other is working on the look-and-feel of the slide deck.Of course a style change could include things like font size changes that could break the layout of the new slide...