September 16, 2019
Sue works in developer education / advocacy and is based in Glasgow, UK.
Senior Technical Evangelist at AWS, Vinicius Senger, has delivered hundreds of talks. In this session from DevRelCon San Francisco 2019, Vinicius runs through pitfalls to avoid and tactics for carrying out successful live demos.
Big pleasure to be here, I am very proud to be here today. And I started working with software development 28 years ago, I used to write Clipper, dBase, POR, C++, VB, and then Java. And then I started doing developer relations in 2001, during the gold Java times. I went to 15 different JavaOnes, and then I never stopped doing talks and doing community stuff.
And now I work as a technical evangelist for AWS in Latin America. So, I have many colleagues, we have fun doing cool demos, like, bringing robots to the stage, playing ukuleles to make the robot movie, and things like that, so, crazy stuff. And, also, I am a comm owner, this is Alexa, my comm. So, very nice.
So, about live demos, I love live demos because it’s a way to create a, kind of, magic connection between you and your audience, it’s a very nice way to inspire people.
Sometimes, as a technical evangelist, you have audiences like kids, teenagers. When we are doing diversity, we can have people that never did one line of code. So, showing the things working, for this kind of audience, is very important.
And I, also, do many conferences, like, Enterprise, executive conferences, and the live demos, always save my life, because they are talking, like, fiber comm, they are talking doing, all the day, just about fiber, fiber technologies. And then you just show up in the stage, and do some live demos showing real stuff happening, machine learning, inference, and they just go crazy.
And I think that it’s a very nice way to pass your marketing message to your audience. You make your live demo, you make the magic happen, and then you explain which kind of technology is behind your live demo, I think that is much more fair than just doing marketing slides.
But it can be a tragic connection, when you do live demos. My sleep quality is very different when I have a live demo to do the next day, I really sleep with my live demo. And during the night, I think about the script, plan A, plan B, plan C, I dream with that, and you must be committed this way to make your live demo happen.
So, many things can misbehave on the stage when you are doing a live demo. So, let’s see some tips and tricks.
For me, live demos is not live coding, live coding is one way of doing live demos. For me, live demos, it start when you use your own laptop to change slides, you already have many risks of doing that, especially, with Mac computers, and adapters, and crazy projectors, and things like that.
Playing videos and audios is another level of live demo, you have Codecs. When you transfer the video, when you copy the PowerPoint to another laptop, it can crash sometimes, so you must be sure about what you are doing. Running apps or accessing websites is another level. Like, for us, at AWS, it’s very common to open the AWS console to show some service.
And then live coding. For sure, live coding is a very very hard level of live demo. And last, is bringing hardware to the stage. Bringing hardware to the stage is the most complex live demos. And this is what I like to do, I bring some hardware here, and I hope to do at least one live demo work here today.
So, using your own laptop, it makes sense when you have talks larger than 30 minutes. Like, here, 20 minutes, exchanging laptops for the conference organizers and dealing with many problems, or you must ask the speakers to come in the day before to test everything, and sometimes you don’t have the venue available to do that. So, I think that it’s very good to use your own laptop when you have a one hour talk.
And if you are using your laptop on a big stage, like, if you are presenting, like, for me, at AWS summit, they use fiber cables instead of HDMI. And then in the end, you have a big, big, big adapter to convert the fiber to HDMI, and then you plug this adapter here, you take all the space of other ports, and then you cannot plug your clicker here anymore.
And this kind of problem can happen, and you must pay attention to many different details on a big stage, because you don’t have the control. I used to go, a lot, to universities, and then, at university, you just bring the chair, you just adjust the projector, it’s up to you. In a big venue, there’s no way to do that.
So, cables, adapters, and everything, this is your responsibility, to bring something like this, where you have everything here. So, don’t expect the venue to have HDMI, VGA converter. If you are an evangelist, you must have your setup with you, you must bring your setup.
So, master the art of changing the audio output. I saw many developers speaking, and then they plug the HDMI, the audio goes through the HDMI, and they don’t know how to change the audio. So, if you do presentations, you play video, you play audio, you must domain the art of setting up your audio.
And it happened with me twice in Brazil. I traveled, like, five hours driving to some university, and then I arrive there, and we run out of energy. And then I say, “Come on, 10 hours driving, I will not go back home without doing any talk.” And then I just used my laptop battery to guide these slides, no slides, no projector, no energy, no audio, and I did my presentation.
So, think about it. You are a technical evangelist, you are a developer advocate, sometimes you travel very, very far to do a talk, and then you don’t want to go back home without anything in your hand.
Take care with video Codecs, I have many, many, many problems, especially on big stages, and big projectors, I don’t know the reason why, but take care with that.
So, internet, the same thing. If failure is not an option, Wi-Fi venue is not an option as well, bring your own Wi-Fi. But, on other hand, if you do hackathons, or workshops, or sometimes, like, longer conferences, they provide a cable.
And the perfect setup is when you can bring your own router, especially, for us, from IoT, you can bring your own router and everything is configured. And so, it’s a dream.
But I’m using 4G, my cell phone, to provide internet. I have a plan from Brazil that covers all Americas, so I can work, my territory is Latin America. And I have many good experiences using my cell phone to provide internet, and do my demos with IoT, with robots, machine learning, and things like that. So, you can trust. At least, for some operators, you can trust 4G for doing your talks.
Take care, many conferences, like JavaOne, they don’t support 2.4GHz Wi-Fi network anymore, which means that you cannot bring your Alexa, you cannot bring, like, an IoT button, a dash button. You must double check which kind of device you are using, to see if they support a 5GHz.
Take care with TCP/IP ports and Firewall, for sure. Companies, universities, they have many restrictions, and VPN is always your friend. Like, if you are in different networks, and you have to do SSH to a Raspberry Pi, VPN can save your life.
And if you travel a lot, if you live in airports, a good investment would be this guy. This guy is an amazing 4G router that you pay as you go, you pay per day, and is not expensive. You buy the device, it’s less than $200, and the device is a power bank as well, and then it’s a very nice one.
Live coding. So, this topic is very hot, everybody’s live demo is live coding. You know, for me, live demo can be many different things. Live code is one.
It’s not easy to do live coding, but what I don’t like, I have some friends, that they try, like, “Oh, today, I’m tired about my slides, I already did this presentation 20 times. And today, I will not use my slides, I will do just live coding.”
And it’s a big fail, you know, because no script. It looks like doing live coding is less work than preparing slides, but it’s not true. Preparing a one hour talk for doing live coding is much more work than preparing slides.
So, I have some friends, Venkat, he’s a very famous guy from Java community, he’s, for me, a master speaker, you must see some video on YouTube. And he does lots of live coding, and I was surprised with this tweet, like, “Live coding? No, no, no. Okay. If you want to do, prepare, prepare, prepare.”
And another friend said, “I like to do live coding, but I always use GitTags to help me sync in, and have the steps, and things like that.”
And basic stuff from my colleague, Julu. Large font, take care about the details, large font, write the code on top of the screen, and things like that.
So, avoid doing just live coding, it’s better to mix up a little bit of technical content, some video, and also, some live coding, I like to balance my presentations.
So, I love to use Alexa during my talks, because you can write an Alexa skill in less than 15 minutes. So, it’s very nice to write Alexa apps. And we have a Git repo, in the proxy number 7, you can follow the instructions.
And I promise, in less than 15 minutes, you can have your Alexa skill done. And is a very nice, alternative way to do live demos when you don’t have your computer in the stage. So, you can interface with your live demo using your voice, and it’s good.
So, many, many different possibilities, and sometimes can be tricky if you have a low quality internet. So, let me check one thing here. Alexa, ask Brazilian robot to say, “Hello.”
Alexa: Hey, ugly robot, say, “Hello,” to the Dev…
Robot: Good afternoon, Dev Rel Conference attendees. I am so happy because, in some hours, we will be drinking beers together. It’s Friday, yes.
Vinicius: So, you can do this kind of… It’s very fast, you know, it’s very simple, very fast, but for a teenager, for someone that is not a developer, you can change the code, change the phrase, and have fun. Let’s try something else. Alexa, ask Brazilian robot to turn on light.
Alexa: Turning relay on.
Vinicius: Aha, I have here, in the backstage, the light. Okay. So, here I bring a little bit more complexity, I have here my robot, receiving messages from AWS IoT core, through MQTT protocol. And then I have a Zigbee module, and then I have an Arduino Zigbee, with a relay, controlling the lamp, and the thing just works.
Alexa, ask Brazillian robot to turn off lamp.
Alexa: Turning relay off.
Vinicius: You see? You can see the speed of light, of energy.
So, yeah. And another one, the last one, so I can be free of my live demos, this way.
Alexa, ask Brazilian robot to take a picture.
Robot: Taking an epic picture at DevRelCon, San Francisco, in 3, 2, 1.
Vinicius: Okay. What else? So, now we have the picture being uploaded to our S3 Service.
And, look, I’m talking about our services, our product, through the live demos, it’s much more fair. I’m explaining, I’m not selling anything, I’m just explaining.
And then the picture will go to the S3 Bucket, and then we have a Lambda function that will call a recognition, that will try to count how many people we have in the picture, and then will send back to the robot, and the robot will register how many attendees we have in the conference. So, it’s an end-to-end machine learning demo.
Okay. Raspberry Pi, for IoT prototypes, is a very nice tool, you really can rely on Raspberry Pi on stage. I did a lot of Raspberry Pi, Intel, we had some Galileo, many, like, 15 different boards. Raspberry Pi 3 is very, very, very stable.
So, remember that no support for 5G Wi-Fi, backup your SD card. These days, it’s rare, but sometimes it can crash the SD card, and then you lose everything you did.
Consider buying a screen, and Raspberry Pi, plus MQTT, plus Node-RED. Who here knows about Node-RED? Node-RED is a very nice, low code development tool, or no code development tool, you can really do many cool demos. You cannot go to production with Node-RED, but for producing cool demos, it’s a very nice combination, MQTT, as a protocol to exchange messages between things and Node-RED.
Traveling customs. Yeah, problems. Always, you can have problems with your devices. I never bring more than $1,000 of equipment with me, I never had any kind of problem with customs, taxes, or documents, never, never.
I traveled to 30 different countries, and never had a problem, except by robots and batteries. So, not a good time to travel with batteries, okay? So, take care. The only battery that I carry with me is a LiPo battery that is, you can buy this bag at Amazon, it costs, like, $10, and this battery can explode, and this bag is supposed to protect, I’m waiting for that.
So, you can travel, in your carry-on bag, okay? You can never put it in the airplane. So, protecting your equipment is important. Take care with acrylic pieces, they are very easy to break, I love to build things on wood because of that.
When I arrive in the hotel, the first thing that I do before taking a shower is unpack everything and put everything to work. Until I go to the venue, I never turn off my equipment. All the time, I’m talking, “Alexa, do this. Alexa, do that. Alexa, do this.” And then I start earning trust with my equipment.
So, some tips, earn trust, dive deep into your tests, have fun with your live demos, it’s a way to have fun, like, sometimes, I do four talks, five talks, in one week. So, if you are doing the same talk all the time, having the live demo is a way to make your talk a little bit different when you have to do many, many times the same talk.
Plan a strategy, have multiple demos. I have here, like, 10 live demos that I could do. If one fail, I can grab another one, my equipment bag is right back here. I don’t care if I need to wait a little bit and bring another equipment and try it again. So, have multiple demos so you can feel better in one or the other, but at least you can succeed in other demos.
Pair presenting, it’s very good when you have a colleague presenting with you. So, if you have a problem, you can fix. And you can create discrete demos, like, “Okay, let’s see here, I will press this button,” but you are not pretending that everything will work.
Like, you don’t have a slide, now it’s live demo time, and you are just checking, “Let’s see if it’s working. If it’s working, okay, good, if it’s not working, oh, okay, I have some problem, it’s a new live demo,” so you can manage better.
And take care, sometimes we spend a lot of energy preparing the live demos, and less time preparing the slides, and then you have a good live demo but you don’t have a very good talk because you don’t prepare slides. So, try to balance your effort.
Video recording, it doesn’t count as live demo, I’m sorry, it’s a bad demo. I’d never do video recordings, I never do video recordings, but it’s okay. If you are at Microsoft doing a very big conference, I would recommend.
Some tips from James Gosling, James Gosling is the king of live demos at JavaOne. Don’t overscript, demos always misbehave, go with the flow, learn to love to improve.
Yesterday, I was here, and one of my colleagues, Mike Coleman, he said, “My worst situation during live demos was this one.” And, unfortunately, he left the conference because his grand-daughter was just born, he was here yesterday, believe me.
Look at this. Can I have audio? Mike Coleman, earthquake, and he was presenting with Bill Gates, the Windows XP.
News Anchor: During the Microsoft Conference, Bill Gates was actually up on stage. This is some of the more violent shaking that was actually caught on tape. You can see the confusion in the audience. And, fortunately, there were no injuries.
Vinicius: It was the first demo off a plug and play camera, he just plugged the camera and started an earthquake. So, he won all the awards about doing live demos, and experience on live demos. So, be prepared. Thanks a lot.