At DevFest DC in June, Sara Robinson, developer advocate at Google Cloud, gave the most seamless live demo I've ever witnessed.
Sara live-coded a machine model from scratch using TensorFlow and Keras. Then she trained the model live, deployed it to Google's Cloud AI platform, and used the deployed model to make predictions.
With the exception of perhaps one small hiccup, the whole thing went smoothly, and I learned a lot as an audience member.
At that evening's reception, I congratulated Sara on the live demo's success and told her I've never seen a live demo go so well. It turns out that this subject was already on her mind; Sara asked this question on Twitter less than two hours before her live demo:
Do you prefer watching a live demo where everything works perfectly or one that breaks and the presenter has to de-bug?
— Sara Robinson (@SRobTweets) June 14, 2019
Contrary to my preference for flawless demos, two-thirds of Sara's followers prefer to watch de-bugging. The replies to her poll were equally enlightening:
I prefer ones that break once or twice, just so you know it's real. "Break" can be something small like a typo or skipping a step.
— Seth Vargo (@sethvargo) June 14, 2019
Broken demos which are fixed in real time seem to get a better reaction from the audience. This was our experience with the All-Demo Super Session at NEXT SF. Audible gasps followed by applause from the audience when the broken demo was fixed in real-time ?
— Jamie Kinney (@jamiekinney) June 14, 2019
This made me reconsider my preference for perfection. When I attend live demos at events, I'm looking for tools that I'm unfamiliar with. I want to learn the basics of those tools, then see real-world applications. I don't expect magic, but I do want to see how the tools intend to work so I can gain and retain some knowledge.
I've gone to several live demos that break. In my experience, this has caught most presenters off-guard; they seemed unfamiliar with the bugs at hand and, in one case, the error derailed the rest of the presentation. In short, it was like this:
Hmm, at least when the live demo fails you know it's not a video ?
But I don't like when the presenter start to struggle, when everything becomes silent, it becomes so awkward (especially when I'm the one presenting)
— Sylvain Nouts Ⓥ (@SylvainNouts) June 14, 2019
Reading the replies to Sara's thread made me wonder what I'm really after when attending live demos. Is "perfection" what I seek? Or is it presenters who are more skilled at de-bugging in real-time? Upon reflection, I suspect that it's the latter.
After all, "perfect" code is a lofty (if impossible) concept. Mistakes will happen, and I don't expect them not to. But I do expect conference presenters to know their tools well enough that when things go sideways during live demos, they won't get so flustered that they can't keep going.
Overall, this reply to Sara resonates with me the most. I attend live demos as a new coder with the goal to learn, and those that veer too far off-course aren't as effective for me:
I don’t necessarily prefer a broken demo, but I do think they show a more realistic view.
That said, when you are newer to coding if the error takes things too far off the rails it can make it challenging to understand the original concept.
— April Bowler (@A_Bowler2) June 14, 2019
I don't expect everyone to attend live demos with the same goals and perspective as me. That's why we want to learn what the open source community thinks.
Do you prefer for live demos to be perfect? Or do you gain more from watching presenters de-bug in real-time? Do you attend live demos primarily to learn or for other reasons? Let us know by taking our poll or leaving a comment below.