Automated PowerPoint Generation, or Making a "Slide Factory"
By Zach Gemignani
November 30, 2009
Find more about:
presentations,
powerpoint
2009 has been a year of sharing here at Juice. First there was our long-used DTP methodology for interactive Excel reporting. Then we released our JuiceKit SDK. Today, I want to share another bit of trickery we've used to solve a common PowerPoint presentation problem.
The challenge
Let's say you need to produce the same presentation month after month, updating the data each time. Or maybe you have a set of slides that need to go to a bunch of different audiences each with their own specific market, product, business line, or industry.
Updating all the slides by hand can be tedious, slow and error-prone. The presentation is basically the same, you simply want to swap out the underlying data. You need something that acts like a "mail merge" for PowerPoint.
Our approach
When we've helped clients with this situation, our approach has been to create re-usable PowerPoint slides (i.e. templates) that link directly to a database. This gives us the ability to stamp out new presentation by changing the raw data underneath. Simple enough to say; not quite so simple in practice. Here are a few of the hairy bits:
Data structuring. We populate the data into a Windows-accessible SQL database such as MS Access or SQL Server so we can use SQL queries to define the data needed for our charts and tables.
Slide templates. We create slides with charts, tables, and text boxes that are formatted to account for the variance in the data that may need to be displayed. Ensuring that the charts always look good is surprisingly hard.
Connect templates to data. Originally we rolled our own solution by creating a "templating" language that we embedded in the notes section of the slides. More recently, we discovered PTReportGen, a tool that extracts data from a data source and populates it into PowerPoint. PTReportGen allows you to connect objects in the slides (i.e. charts, tables, text boxes) to results from SQL queries from our data source. For each slide, there is a .PTR file that connects the contents of the slide to the database.
Scripted production. PTReportGen gives command line control, allowing us to write Python scripts to cycle through our data and populate the charts and tables in our template slides. Because we are interested in generating dozens (sometimes hundreds) of versions of a single slide, our script iterates over the database to pull different results across multiple dimensions. Below is a bit of pseudo-code to give a sense of how the scripting works to produce slides by market and by demographic:
markets = ('Market1','Market2','Market3')
demographics = ('Demo1','Demo2','Demo3')
PTRFileName = 'C:\Documents\UserName\Desktop\MyReportGenerator.ptr'
for demo in demographics:
for market in markets:
ReportFileName = 'PathName\FolderName\demo\market.ppt'
cmd = 'PPTReport.exe PTRFileName -demo -market'
- Post-processing. While most chart and data table designs can be achieved by clever template layouts, some advanced designs involve additional intervention to achieve the desired level of polish. A python script combs through the result template and adds coloration and layout improvements.
It isn't simple, but once constructed this "slide factory" is a valuable capability that can free up an enormous amount of time from presentation grunt work. Here's a short video that gives you a sense of what the process looks like. Personally, I find the production of slides vaguely hypnotic.
Other approaches and resources
We are not the first people to encounter or solve this problem. Below are a few other resources on the topic. I'd be curious if there is a native MS Office solution that I could include in this list.
PowerPoint Automation Toolkit: "With the PPTATK, PowerPoint becomes a best-case union of a presentation tool and a report writer. With the Tookit, you can build presentations which combine static slides from a slide library and data-driven slides which display charts, tables, and graphs from structured data sources."
PresentationPoint: "Generate new up-to-date multimedia reports with 1 click only - put real-time data in your presentations."
Microsoft Help: "Working with PowerPoint Presentations from Access Using Automation. Create a PowerPoint slide presentation from scratch using Access data."
Stack Overflow discussion on "PowerPoint Automation from MS Access…queries to chart?"
Book Review: Advanced Presentations by Design
By Zach Gemignani
January 6, 2009
Find more about:
presentations

Presentation guru Andrew Abela recently published his first book Advanced Presentations by Design. Abela shares his 10-step technique for developing influential business presentations. Before reading this book, I thought I had a pretty good idea how to make a compelling presentation; it turns out I mostly knew how to throw together a bunch of non-boring slides. There are a few key themes that summarize the book for me:
1. Focus on your audience.
“Your presentation should be all about serving your audience. You need to show them that you see everything from their perspective — their problem, in their terms, their motivation and issues. This also means that you have to be bound by their constraints. There is no point in raising an important problem and proposing new investments to solve it if your audience just does not have any money to spend this year.” (p55)
2. Solve a problem.
“Focus your entire presentation deliberately and undividedly on solving an important problem of theirs (the audience)” (p6)
“Your objectives should be about how your audience will change as a result of your presentation: how they will think and act differently after they leave the room.” (p5)
3. Tell a story.
“An effective way to reframe your evidence and involve your audience is to present your information in the form of a story…Stories are a coherent whole, where one thing flows to the next, so we tend to remember the whole thing.” (p65)
“By presenting your information in the form of a story, by setting up a tension and resolving it, and repeating as necessary, you can create this physical desire in your audience for your message.” (p77)
If you make presentations for a living or just as a hobby, I can wholeheartedly recommend this book. Abela does an impressive job of teaching his process and keeping it interesting. My one point of concern is that I felt he didn’t offer much help with the critical transformation from story outline (he recommends you shouldn’t open up PowerPoint until you are most of the way through the process) to presentation slides.
I also enjoyed this book because it connects to, and expands upon, the messages we emphasize in our design of Information Experiences for reporting, dashboards, and analytical tools. (Even the introduction gives us a nod: “I’ve become convinced of how crucial the last mile of communication is to driving organizational impact.”) Here is a short checklist of considerations articulated by Abela that bridge any communication of complex information:
- When presenting data, pay particular particular attention to what is new or different.
- Drive action. Or in Abela’s words: “What does it allow them to start doing, stop doing, or continue doing that would be difficult or impossible without this information.” (p47)
- Respecting the challenges faced by users. Understand what problems and levers the audience has available to them.
- Consider your audience “type”. How does the audience best absorb information?
- Consider the presentation environment. In what context will the audience be engaging with the information?
- Use different types of data (e.g. statistical, anecdotal). Sometimes specific data points can help focus attention better than an aggregate metric.
- Identify problems, then give people the tools to address the problem. This parallels Abela’s storytelling technique of creating and resolving tension.
- Users before technology. Usability before features. Abela notes: “Presentation and advice and tools have been developed for the benefit of the presenter, not the audience.” (p5)
1 comment
Madan said:
This book is outstanding, it's amazing that no one else has commented yet. I would recommend reading APbD to anyone at any level who has to make or sit through presentations. It will be very counter-intuitive for those who have become dependant on Power Point, but the net results will be well worth the time spent.
Add a comment
8 Ideas for Better Slides
By Zach Gemignani
December 26, 2007
Find more about:
powerpoint
presentations
I recently ran a few training sessions about how to visualize and present complex data. The high point was a series of “extreme slide makeovers” in which I honed the message and cleaned up visuals from existing presentations. Here are some ideas to tame busy, confusing slides.
Simplify your slide master, make room for content. Fancy borders, elaborate fonts, and background images do little to impress your audience. They leave little room for communication, either. For those saddled with frilly corporate slides, you’ll have to take on the Brand Standards Police.
It may help to get quantitative. Consider this PowerPoint standard slide master. Less than 50% of the total slide area (highlighted in green) is available for content.

Say something once, why say it again? The Talking Heads sang: You're talkin' a lot, but you're not sayin' anything / When I have nothing to say, my lips are sealed / Say something once, why say it again?
Wordy slides can be confusing and tedious. The author is using a lot of words—and often lots of qualifiers—in hopes that the core point lies somewhere within. The burden of synthesis is shifted to the audience. That’s not fair.
Make one point per slide. The take-away sentence on your slide should clearly state your point; the data on the slide should support that point. Any information that is tangential to the key concept can be pushed to an appendix or supporting slide.
Redundancies cause unnecessary repetition. I was surprised in my slide makeovers how often I found information that could be consolidated to simplify the slide. Redundancy came in many forms: multiple graphs repeating the same legend, axis labels that are described in a chart title, restating the same point.
Christmas is over, take down the decorations. Clear out clip art, “screenbeans”, and other images used to dress up the slide. Most effects are less “dazzling” than you might think. Eliminate gradients, shadows, 3D effects, and most animations. These design effects were exciting 10 years ago. But if they don’t help you communicate, move on.
On the other hand, consider using full-screen photos as a way to convey a idea or theme, accompanied by few words. Here’s an example from a presentation I gave a few months back:

Reduce chart-junk. Excel and PowerPoint charts come pre-packaged with a heaping helping of chart-junk (“unnecessary or confusing visual elements”). Here are a few things I change in a default column chart: no shaded background, grey gridlines, no chart outline, no y-axis line, no column outlines, turn off auto resize text, change column colors to increase contrast. If you want to save yourself from chart-junk induced carpal tunnel syndrome, check out Chris’ chart cleaner Excel add-in. Sometimes charts aren’t necessary at all. If you’re using a pie or stacked column chart to show a single data point, the number alone will do the job more clearly.

Delete your “Text-junk” too. Text can contain “chart-junk” too—visual distractions in text that dilute your message.
- Title Capitalization or Other Excessive and inconsistent use of Capital Letters. Title caps doesn’t make sense to use and is more difficult to read.
- Underlining. If you want to emphasize a word or phrase, use bold or italics.
- Don’t use bullets when there is only one item or sentence. People have become so accustomed to using bullets that they’ll use them when they are totally unnecessary.
- Bad fonts: The worst is Comic Sans MT, as the LMNOP blog describes: “These days, just like an e-mail from an “@ aol.com” address has a distinct lack of credibility, an e-mail written in this font makes the sender seem ridiculous and out of touch.”
Simplify style and formatting. Inconsistent colors, fonts, font sizes, and other styles are a subtle distraction. Limit yourself to three font colors (emphasis!, normal, low-emphasis), three font sizes, and three font styles. Here’s an example.
Three colors

Three sizes

Three font-styles

Putting it all together

All these points can be summed up as: Make everything on your slide serve your story. Best wishes for 2008!
7 comments | Show all comments only the last 5 are shown
Ken said:
I go even further:
I use a sans serif font (serifs aren't needed for what should be minimal text);
never sized less than 28 pts (more as a discipline for myself to minimize text);
almost never use articles (except in quotations, which I also edit heavily, using ellipsis); and
almost always use images to "emotionally anchor" (or graphically explain) what I'm trying to convey.
Combined with *sparing* use of appropriate video and audio, I find this approach has been able to keep 100+ college freshmen awake and reasonably attentive for 10 weeks of an 8am course.
Joy said:
Great post! I love seeing the really good presentations that are simple and to-the-point. I was wondering if you have any suggestions for when you are limited by a standard template you have to use as part of company policy.
Zach said:
Joy, I read one presentation guru who argued that it is foolishness to paste the company logo on each and every slide. It isn't as if the audience has forgotten who is giving the presentation two slides in. With that in mind, one idea is to use the standard template for the title page, then go with blank/all white slide masters when you want need more area for content. Likewise, use images that take up the full slide. You are still using the template, it is just getting covered up by your content.
David Gerbino said:
Zach,
I am the brand police and I could not agree with you more. However, in my roll as "the brand police" I did have concessions to make with the powers that be. Having said that, we have opened up our corporate templates to increase screen real estate as compared to what the branding agency created. Over time, the "logo" on every page will shrink and ultimately disappear.
Thank you for this very important piece on presentations. You do Edward Tufte proud.
jlori said:
Great.
Joy said:
Thanks so much Zach and David for great insights! I hope to be able to tell our story without all the brand stuff taking up 20-30% of the slide!
Adrian Cherry said:
Another great post, w.r.t. point 7 please support the cause!
http://bancomicsans.com/about.html
Add a comment
Analytics Roundup: Collaboration and Presentation
By Chris Gemignani
November 19, 2007
Find more about:
BPM
powerpoint
presentations
software
- Death by PowerPoint » SlideShare
- Quick inspiration for great presentations.
- Role Modellers - Home
- Software to manage human collaborative work via a workflow motif. Driven by Human Interaction Management.
Google Presentations and the Right Tool for the Job
By Zach Gemignani
September 24, 2007
Find more about:
business
powerpoint
presentations
productivity
tools
Last week, Google released Presentations to fill out their portfolio of online, collaborative document types (they already offer text documents and spreadsheets). The Google folks were kind enough to include us in a round of beta testing a few weeks back, giving us a chance to preview this application, find bugs, and offer feedback.
If you give Google Presentations a try, you may be struck by its limitations. It doesn't offer much flexibility in creating presentations, especially when compared to Microsoft PowerPoint or Apple Keynote. The best you can do is create simple text slides on a few predefined templates. On the other hand, it offers unique capabilities you don't get with desktop applications. In particular, we were impressed with how easy it was to share a presentation live online.
I have started to wonder whether calling Google Presentations a "web-based competitor to PowerPoint" or "a PowerPoint clone" was simplistic and misguided. Lumping together software tools is a natural reaction to long lists of features and techno-terminology. Software vendors don't make it any easier to distinguish the differences when they attempt to convince us that their solution is the complete, do-everything tool to satisfy all your [presentation/data analysis/communication/networking] needs.
So, we assume our software tools fall into neat buckets. We assume the tool we are using today do everything we need "well enough." And we assume any new tool is a direct competitor to what we use. As a result, we are severely limited in what we can achieve.
For a long time, I was a fan and a heavy user of PowerPoint. It did what I needed. Perhaps I told myself that what it did was all I needed. A while ago, I had to break off this exclusive relationship.
Now, I find myself using a bunch of different tools to communicate information. On the one hand, this has made my life more complicated. There are new applications to learn and the hassle of moving documents around. But in other ways, it's easier. I use tools designed for the task at hand. And I have opened up a whole new realm of what is possible in terms of organization, polish, and audience engagement.
The table below shows the activities involved in business presentations. For each activity, I have a rough assessment of how well PowerPoint, Keynote, and Google Presentation perform. I also list the current Juice toolset.

7 comments | Show all comments only the last 5 are shown
Paul Soldera said:
We've been using Google tools quite a bit recently. They really shine when you need to collaborate remotely, but after that, the functionality really is limited - especially the spreadsheet program. I haven't tried the presentation one, but must give it a go.
The real drawback for me though, is the response time. I am so used to rapid text/data entry and menu response time that I have almost no tolerance of any perceptible delay. I think this is where ajax and other RIA apps hit a wall. Which is a pity.
Dan Keldsen said:
Nice comparison, and like Paul, I've found myself using Google tools a fair amount (why not, they're free - making experimentation so much easier than "enterprise apps").
Lag-time and some inconsistencies across the "product suite" make working with these tools a bit confusing, but using Google Docs and Spreadsheets has been very handy with some remote collaboration lately.
In your comparisons, I agree with most of your commentary, with one exception...
I'm trying to like Numbers, but while it provides beautiful charts and tables for the most part, it's limitations in color schemes, and in a number of frustrating UI interactions, is giving me heartburn. It's quirky, and on my machine (2 month old MacBookPro - the LED variation), is very slow in switching between pages/tables/charts.
Even though it has been nearly 14 years since I last used Illustrator to create charts, I'm about to ready to give it a whirl again - at least the graphical presentation is sure to be solid, although it's baffling to me that all of these tools, whether coming from a spreadsheet or "art" metaphor are still so clunky after all this time.
I guess the "Tufte-ian" revolution hasn't quite intersected with the usability movement yet, eh?
Chris Gemignani said:
I agree that Numbers is a little weird. While the basic charts are pretty good, the inspector-based manipulation is hard to get used to. The good news is an update to Numbers appeared yesterday that is supposed to address performance.
Tony Rose said:
I'm not familiar with Numbers. I will say that I almost snapped my mouse in half trying to use Google Spreadsheets and dealing with the delay. Even the slightest lag between key strokes and data entry won't work for me. Call me high-maintenance... We have a long way to go before Excel is overtaken in the corporate world.
What, no Xcelsius in the "juicebox"?
GleaM said:
I just heard yesterday the name of a web-based suite called Zoho:
http://www.zoho.com/
For what I did heard and the impression that I got from it (looks very google-like), I think it beats Google suite by far.
Just to add somo other solutions...
Regards.
rolo said:
We have set up a 46" LCD to display KPIs, and use powerpoint, but obviously it has not been the best experience.
Can anyone suggest tools for digital signage in corporate offices where a reports and analysis unit has to display, every other day, kpis, tables with data, trendlines, bar charts, etc. But in a professional way and not like a simple power point?.
Thanks in advance!
Noah Iliinsky said:
Hi Zach,
I've got to agree on your choice of the Omni tools; they really are best-of-class.
I'm curious about what you mean when you say storyboarding. Typically, I'd think of frames that define phases, with some illustration and supporting text. How does that work in OmniOutliner?
Best, Noah
Add a comment
Earlier writing





6 comments | Show all comments only the last 5 are shown
Ron said:
I'm wondering if you perhaps overcomplicated the solution. We were able to simply automate PowerPoint presentations by creating all of the tables & charts in Excel and linking those to the PowerPoint slides. Then it's just a matter of updating the source data behind the charts/tables in Excel using formulas/vba and then refreshing the links to PowerPoint.
Zach said:
Certainly that is a viable approach for some circumstances. Our clients typically don't want to deal with the embedding of Excel charts. Reasons include: too much sensitive data travels with the presentation; Excel charts can get hinky looking when embedded (at least in 2003); files size gets too large. They want a fully self-contained PPT file.
Ron said:
True, but once the presentation has been generated, you can simply break all of the links giving you that self-contained file. Obviously the downside to this is that it makes editing the embedded chart impossible from a user-perspective since it is now a picture. For us, that wasn't a deal-breaker although I could see how that could be for others.
Chris said:
I tried this once myself to automate reports and it is much harder than it seems.
But really, did you have to write "adds coloration"?
BVE said:
Interesting approach. I simply use the 'camera' tool in excel to create images of the charts, data, etc and essentially build the presentation slides in excel as impages, then using vba transfer them to ppt.
I converted what others were spending a day and a half doing into a trivial task taking seconds - the result was a seriously bloated and slow (to recalc) template - but have saved several hours in the process.
I'll have to look into the other ideas presented above.
BTW - was the u-tube video supposed to have audio? It didn't really do much to sell the approach.
Dan Victor said:
E-Tabs (www.e-tabs.com) have some very cool software for automating powerpoint charts directly from excel source data files, and without any need for vba programming. You can pull data into any pre-existing powerpoint template, and all charts and tables remain editable objects too!
said:
Add a comment