viewing diffs between powerpoint decks (with a little help from adobe)
Since I transitioned to training (and loving it), I've been pondering how best to have multiple people work on presentation decks at different times just like one does with source code. PowerPoint being a "binary format" doesn't really allow for this. Yes, there's the built-in Compare & Merge functionality, but in practice it really has not worked out well for me. Testing this out with PP for Mac 2011 on multiple presentations resulted in EVERY SINGLE slide being declared as modified. It has promise, but simply doesn't deliver for me. If you've had better experiences, please leave a comment below as I would be glad to give it another chance.
Ultimately, the best answer would be to embrace a version control friendly source file format like Markdown that can then be used to generate the final (aka "pretty") presentation. There appear to be several good options that can build HTML5 presentations from Markdown, but my new team is committed to using PowerPoint and I cannot find a converter/transformer to handle this.
I'm dreaming of something like seen in Creating slides from simple Markdown text whose example source file (raw and GitHub transformed) ends ups with a generated slide deck that looks pretty nice. Unfortunately, that solution only takes me to a PDF deck, not a PPT one.
I did investigate PowerPoint coauthoring with the presentation being saved on OneDrive and shared with two users, but ultimately that's not much more than SharePoint's very old model of versioning and just not very helpful. I even got pretty excited by importing the PPT into Google Slides so that I could leverage their promising visual difference markup across multiple editors, but it has some showstoppers for me as well such as the inability to collapse and rename versions, not being able to compare different from/to versions and ultimately their control of deciding how many versions to keep around. Again, promising, but just not close enough.
For my testing, I used the following example "old" and "new" PowerPoint preso pair. Links to the full deck and video of my presenting with it can be found by visiting my presenting at hadoop summit (archiving evolving databases in hive) blog posting.
Original Presentation (Ver A) | Modified Presentation (Ver B) |
|---|---|
Ultimately, I stumbled across Compare two versions of a PDF file that sounded like it might have legs. Basically, it would mean that my process would look like the following.
When ready to start, copy the original file and give it a new name (ex: the commonly used version number in the file name would work great).
Once complete, use Adobe Acrobat Pro DC to create PDFs of the before and after presentations (we want to give the PDF compare functionality the best chance to be successful, so don't just use PP's "Save as PDF" option).
Use Acrobat's "Compare Documents" feature to determine what changed.
The following video tutorial shows what this looks like in action.
Here are the generated "diff PDFs" for each. The video tutorial above shows how you can look at these in a side-by-side manner.
Original Presentation's Perspective | Modified Presentation's Perspective |
|---|---|
Yep, this has MANY flaws, not the least of which is that is doesn't account for concurrent authoring, but it is the best solution I have right now for a problem that is attacking me and I'm going to give it some more cycle to see if I can leverage it. I'm even hopeful I can automate some of it instead of being a manually intensive effort to see the results.
As I said earlier, if you have a better solution to this general problem, please share in the comments below. In the meantime, I'm going to give this the old college try (maybe even try to automate it!).
Thought I'd share an update on how this worked at scale on a 300+ slide PowerPoint deck. I ultimately could get what I wanted, but there was a much bigger time effort involved for a few key reasons.
Turns out, even with my smoking 16GB / i7 MacBook Pro, I could only process 10-50 slides at a time. This was mainly due to the heavy graphics make-up of several sections, but... isn't that EVERY deck? I solved this by going at it a slice at a time, always trying to make the slice as big as I could.
When I used Acrobat Pro DC to turn my PPT files into PDF, it only captured the actual slides. I had to make a separate set of slides with notes by using Mac's "print to PDF" functionality from PowerPoint directly. I would have used just these, but they weren't as precise marking up the changes as the slides-only PDFs were. I adapted and did TWICE the work.
The tool did a good job detecting new and deleted slides, but failed miserably when I moved a block of slides somewhere else in the presentation. This one consumed a bit more time than it should.
All those problems stated, I think I have the best solution I can come up with for now. I simply cannot go back to my older model of manually keeping track of the deltas. Thankfully, for this project where I was testing this out I only did the compare/contrast operation twice.