Pattern: Crawling Code
Also Known As
Sliding Code, Viewport
Contributed By
Nancy Duarte, CEO, Duarte Design Inc.4
Definition
A block of text slowly reveals itself from the bottom of the screen and scrolls off the top—on cue, not continuously. Only the portion of the block under discussion is visible on the screen. The audience member’s mind keeps the context of the adjacent but invisible portion in its periphery, thus creating a mental illusion of a larger canvas displaying the complete block of text.
Motivation
Slide text should always be in a large enough font that even people in the back of the room can read it. But when you have a multiline chunk of text that works as a unit, you can’t always fit all the lines on one slide at a readable size. However, you’d prefer not to split it across multiple slides.
Applicability/Consequences
Any presentation that shows programming code, lengthy formulas, a long step-wise process, or a significant quotation can use this pattern to give the audience a fluid and comfortable reading experience with mental context.
Implementing this pattern requires a significant time investment. You need to craft the right transitions precisely so that each block shows up in the right order, has all appropriate lines on screen, and grows and shrinks the blocks in perfect harmony with the text movement.
Because you expose the text in a predetermined order, you have less room for spelunking through the material during the question-and-answer session. You can handle questions in a free-form manner by also having the text in question ready to display via a text-editing or word-processing program.
Mechanics
If you have a long string of text to display that needs to stay with the other lines for context, keep it together in one long text field. Pump the font size up to 22 and let the lines of text exceed the bottom of the slide. Lots of lines can fall off the slides. Then highlight the parts of text that you plan to talk about—either by colorizing the text or drawing boxes around it. If you draw boxes around the text, be sure to group the boxes with the text block. After you have your massive text field, use path-based animation to move the text block slowly up the slide. You can move it up as many times as necessary to scroll through as you share your insights.
Known Uses
Matthew uses this technique for every presentation that shows long blocks of programming code. The most dramatic application is in the Encryption Boot Camp on the JVM presentation. Rather than show a chunk of the program and flick rudely to the next chunk on the following slide, he makes the code smoothly scroll up the screen. This presentation includes sample programs that are up to 100 lines long, each with blocks of three to eight lines that need to be studied at a time. The small blocks relate to the overall structure of the program, so seeing them smoothly scroll, occasionally in a nonlinear order, helps the audience understand the program. If an audience member asks Matthew to reiterate any given segment, he can easily reverse to it via his presentation software’s back-navigation feature because the segments’ order is wired into the presentation.
Related Patterns
This pattern is similar to the Crawling Credits pattern but used within the body of the presentation.