Lecture: How to Give a Great Demo
Goals
- Convey features of your system and show their positive aspects
- Clear
- Engaging
- Well motivated
Problems
- Audience gets lost, confused, or cognitively overloaded.
- Undefined terms unfamiliar to the audience
- Forcing the audience to memorize a lot of new terms
- (Implicitly?) Assuming the audience is familiar with something they are not, like the problem, like the system, etc.
- Audience is unclear where demo is going or why they’re being shown the features they’re being shown
- Going too fast
- Forcing audience to process both something that is visually complex and to listen to you talk at essentially the same time
- Audience doesn’t care or is actively annoyed
- Audience doesn’t know why they should care
- Over-focus on button clicks and not on users’ motivations/goals
- Demo doesn’t flow well, presenter gets lost, forgets to say things
-
Running out of time (pacing)
- Technical failure
- Common cause is last minute changes
Solutions
Process solutions
- Rehearse, rehearse, rehearse
- Logistics: Allow time prior to demo to present
- Neural: Start at least the day before. Make it the last thing you do before bed.
- Neural: Repetition!!
- Rehearse with the actual artifacts to be presented
- Rehearse with a practice audience(s) to get feedback for different perspectives
-
Code freeze to restrict changes, so the presenter can rehearse and discover any problems
-
Backup (online) any files that you need for the demo
-
Reduce possible points of failure by simplifying demo setup (fewer machines, supporting apps, etc.)
- Map out the demo
- Draw up an outline
- Time the different parts and adjust content to get the emphasis right
Demo design solutions
- Introduction
- Assume the viewer has no knowledge of your system and is just an average squirrel
- Keep it tight
- High-level rationale for the system
- What’s the problem and why is it interesting?
- Gentle introduction to background concepts if necessary – but keep it well motivated!!
- Visual aid? Like simple slide or image or the running app?
-
Anticipate questions and when they will arise, and build in answers
-
Carefully direct the audiences attention when dealing with a complex visual
- Demo from the perspective of a user and their tasks and goals
- Lead with what the user wants (this naturally forms the motivation)
- Make sure that you have always made clear what the user’s goal is before demoing a feature
- Tell about the user’s relevant background.
- Plan it – don’t try to wing it!
- Include the user intro, background, and motivation in your outline
- Use realistic data
One way to introduce your example user (unnamed in this case):
A typical user of our system wants to blah.
Another way would be as follows for a named user:
Imagine a typical user of our system named Alice who want to blah.