Automated PowerPoint Generation, or Making a “Slide Factory”

Much has changed since 2009. If you're still looking for a slide factory, read our updated post.  

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.   While there are some tools available (see below), ultimately there are some difficult choices to make.

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.  You're also restricted to a limited set of charting options if constrained by 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:

  1. 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.

  2. 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.

  3. 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.

  4. 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'
  1. 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."

  • Python PPTX - Some documentation on automating PowerPoint using Python.

  • 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?"

  • Juicebox:  Our platform that creates interactive slides (slices) for automating slide quality visuals at scale.  Check out the solution pages for some examples.

Book Review: Advanced Presentations by Design

Advanced Presentations by Design

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)

8 Ideas for Better Slides

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.

A PowerPoint template
49% of the area is available for content
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Waiting slide
  6. 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:
  7. Don’t do thisIf you can just show the number
  8. 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.
  9. 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 “@” address has a distinct lack of credibility, an e-mail written in this font makes the sender seem ridiculous and out of touch.”
  10. Three fontsThree sizesThree font stylesThree fonts, three sizes, three styles
  11. 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 colorsThree sizesThree font-stylesPutting it all together

All these points can be summed up as: Make everything on your slide serve your story. Best wishes for 2008!

Google Presentations and the Right Tool for the Job

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.

Analytics Roundup: Chicken presentation and so much more

Programming Collective Intelligence
Pulling information from community contributed data.

Videos that can change your organization
Top ten business videos on YouTube.

The Encyclopedia of Business Cliches

UC Berkeley CS160 User Interfaces Fall 06
Course readings and student notes.

Language Log: Chicken: the PowerPoint Presentation
The presentation you dare not give.

Prometheus Meets the Enterprise Management System
I laughed, I cried, I laughed again.

Diagrams: Tools and Tutorials

Data Visualization: Modern Approaches
A grab bag of ideas.

fontblog : Introducing Ambiguity
A typographic symbol to indicate ambiguity, compare to the typographic mark lol which indicates stupidity.

Whimsley: The Netflix Prize: 300 Days Later

Process Trends Website
Good excel charting and visualization tips.

BusinessWeek: Who Participates And What People Are Doing Online
A simple and fairly effective use of square pies.

Persuasive Presentations

Back in my consulting days at Diamond Technology Partners, I was known for my ability to bend PowerPoint to my will and fashion epic presentation-stories from lovingly-crafted slides. There was a term used when a client wanted a good looking presentation; they would ask if it could be "Zachified." Ah, the false glory.

Now I realize I was merely an amateur in designing presentations that could entrance and persuade an audience. I was going on instincts without much thought to the types of evidence, structure, and flow that would convince my audience.

Last week I had lunch with a man who has made a living from teaching others how to create effective presentations. His name is Andrew Abela and his blog is Extreme Presentations. Andrew has developed a thorough framework and training approach. He has a Doctorate and is a professor at Catholic University, so you know he brings an academic seriousness to the messed-up world of flufferpoint:

def (Withrop Hayes): A presentation that attempts to distract from the lack of substantive content or evidence with use of screenbeans, clip art, and other stock pictures or illustrations. A.k.a. clipterfuge (Todd Moy), clusterpoint (Cathy), The Macy’s Data Day Fluff Parade (Jamel).

Andrew gave me a quick backstage pass to his training methodology. Here are a few highlights:

1. Like a fool, I asked whether he preferred the sparse Lessig method or the more traditional, content-rich method. False choice. It all depends on the situation, just don’t use the wrong approach at the wrong time. Andrew makes the distinction between "ballroom style" and "conference room style."

"Ballroom style presentations, like most typical PowerPoint presentations, are colorful, vibrant, attention-grabbing, and (sometimes) noisy. They typically take place in a large, dark room, such as a hotel ballroom. Conference room presentations are more understated: they have less color and more details on each page. They are more likely to be on printed handouts than projected slides, and they are more suited to your average corporate conference room. The single biggest mistake that presenters make is to confuse the two idioms, and particularly to use ballroom style where conference room style is more appropriate. I would estimate that upwards of 90 percent of all PowerPoint presentations use ballroom style, yet most of the time our presentation conditions call for conference room style."

That’s from an article he shared with us called Achieve Impact through Persuasive Presentation Design (PDF)

2. It is important to mix data-based evidence with anecdotes. People need both of these types of information to persuade both the mind and heart (my interpretation).

3. Anticipate your audience’s objections and build them into your storyline. What is better than having exactly the right slide next when someone raises a concern?

4. Good presentations require a lot of thought about their design. Andrew has defined five dimensions of an "Extreme Presentation": logic, rhetoric, graphics, politics, and metrics.

His blog offers a couple useful tools:

  • A framework for choosing the right chart
  • Slides that pass the squint test : "A good way to test whether your page is laid out properly is to apply what designers call the "squint test." Squint at the page, so that all the text is blurred and illegible. Do you get anything about the page without having to read the text? If you can see that the page is showing a process or two or three alternatives or a bunch of things converging, then your page passes the squint test."

Analytics Roundup: Naming matters

Igor | Naming companies, naming products
Definitive essay on naming from the company that inspired our name.

Vox Populi: Best practices for file naming | 43 Folders
One approach to a tough problem that we all have.

Seth’s Blog: Worst powerpoint slide ever used by a CEO
Pretty bad, but surely not the worst.

Extreme data presentation in a different realm.

A Juice Web Event: Empowering the Analyst

Our friends at Tableau invited us to lead off a webinar about the broken bits of Business Intelligence and what is needed to fix it. With the provocative title "The Score: IT-centric BI — 5, Information Worker — 0", we intend to hit blog-themes such as the plight of the noble but beaten-down analyst, the misplaced emphasis on bulky technology solutions, and the false deification of the Executive Dashboard.We’d love to have you stop by on March 22 at 2:00 ET. Go here to register.

The session abstract is below:

Empowering the "Everyday Data" Analyst

Like it or not, we’ve all become "everyday data" analysts during the last decade. We became document specialists and spreadsheet experts ten years before that. We have standard tools for creating documents, spreadsheets, and presentations right on our desktops. These applications are familiar and easy to use — even if we only use them infrequently. Why don’t we have the same for working with data?

Everyone agrees that we have plenty of data—it streams through our departments and across our desktops everyday. But despite the big, IT-centric BI solutions that exist in our organizations, it’s the tools and skills for investigating and making sense of "everyday data" that we’re missing. The people who have the most to gain from data analysis are often the least capable of doing so. Where’s the BI equivalent of Word or Visio?

Join Zach Gemignani, co-founder of Juice Analytics for this free web seminar. Based on his years of experience with analytics client engagements, you will hear him present the real-world struggle of "everyday data" analysts. You will learn:

  • How the IT-centric view of BI should change
  • How do we empower our "everyday data" analysts in our organizations
  • What shifts in approach and technology are necessary for effectively working with data