﻿---
title: Making a demo
description: Driving apps, web pages, code and the command line, narration, captions and badges, zoom, speed-ups and cuts, and title cards.
url: https://docs-v3-preview.elastic.dev/reel/demos
---

# Making a demo
A demo is two things: a **take**, recorded once, and what is drawn over it and cut from it, applied each time you
render. That split decides what needs a new recording.

| Changing                                                                                                                        | Needs                                                   |
|---------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| What happens in the app: `Click`, `Type`, `Key`, `Scroll`, `Wait`, `Launch`, `Set Size`                                         | A new take: `reel demo.reel`                            |
| A `Say` line's text, or the voice                                                                                               | A new take: the reel is timed by the narration          |
| Which element a `Zoom` is on                                                                                                    | A new take: recording finds the element                 |
| Captions, badges, ripples, subtitles                                                                                            | Only `reel render demo.reel`                            |
| Zooms on a point or the cursor, their scale and easing                                                                          | Only a render                                           |
| `Speed`, `Hide` and `Show`                                                                                                      | Only a render                                           |
| Intro, outro, backgrounds, framing                                                                                              | Only a render                                           |
| Every output setting: quality, size, shape, GIFs, profiles                                                                      | Only a render                                           |
| On a [code screen](https://docs-v3-preview.elastic.dev/reel/demos/code): `Code`, `Go`, `Focus`, `Mark`, `Callout`               | A new take, drawn in seconds without capturing anything |
| On a [terminal](https://docs-v3-preview.elastic.dev/reel/demos/terminal): what is typed, the waits, `Mark`, `Callout`, `Redact` | A new take: the commands run again                      |

`reel render` refuses a take whose actions no longer match the reel, and says which line changed.

|                                                                                            |                                                                                             |
|--------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
| [Driving apps](https://docs-v3-preview.elastic.dev/reel/demos/driving-apps)                | Real clicks, typing, keys and scrolling, and keeping the window the right size.             |
| [Web pages](https://docs-v3-preview.elastic.dev/reel/demos/web-pages)                      | `Open` a page in WebKit or Chromium instead of launching an app.                            |
| [Code](https://docs-v3-preview.elastic.dev/reel/demos/code)                                | Walk through source in an editor of reel's own, with focus, marks and callouts.             |
| [Terminal](https://docs-v3-preview.elastic.dev/reel/demos/terminal)                        | A real shell in a terminal of reel's own: commands, waits on their output, redaction.       |
| [Reels together](https://docs-v3-preview.elastic.dev/reel/demos/together)                  | Name steps, and have one reel wait for another's: a reel run in a terminal, recorded.       |
| [Scenes](https://docs-v3-preview.elastic.dev/reel/demos/scenes)                            | Join reels into one video: an app, a page, code and the command line, with transitions.     |
| [Narration](https://docs-v3-preview.elastic.dev/reel/demos/narration)                      | `Say` lines in a macOS or voicebox voice, timed to the clicks, with the app's sound ducked. |
| [Captions, badges and ripples](https://docs-v3-preview.elastic.dev/reel/demos/overlays)    | What is drawn over the recording.                                                           |
| [Zoom, speed and trim](https://docs-v3-preview.elastic.dev/reel/demos/zoom-speed-and-trim) | Follow an element, speed through the boring part, cut what shouldn't be seen.               |
| [Intro and outro](https://docs-v3-preview.elastic.dev/reel/demos/intro-and-outro)          | Title cards over a colour, an image or a video, and the transitions into the demo.          |