I've got a good hour and a half before I board (yes, I'm one of those people who arrive early at the airport still), and while driving to the airport I was thinking about the presentations I gave yesterday. I spend a lot of time thinking about my presentation and trying to see how I can make them better. I thought it might be interesting for me to share some specific thoughts I had about my most recent presentations and demonstrate the kind of thinking that goes behind updating a presentation. Obviously this will be very specific to what I just gave, but I'm hoping the "inside look" may help others who are new to presenting or are just looking to improve their game. (And honestly, I could be completely wrong about what I need to improve, so part of hope behind this post is that other more experienced speakers may help me out as well!)
Session One - Ionic
The first of the presentations I gave yesterday was an introduction to Ionic. This is a session I've given about five times now. It is one I don't have to prepare too much for as I've got the basic gist of it down pretty well. But Ionic is a fast moving product. This week it released 1.0. A few days before that they released a new feature (the playground). In general, they move quickly. As a speaker, I need to weigh my desire to let the audience know about all the cool crap they do versus being aware of how much stuff I'm throwing at them.
For example, I currently mention http://ionicons.com, which is a nice part of the global Ionic product line, but seems like something I could possibly cut. I also discuss ngcordova, which is very cool and useful, but, every time I bring it up in a presentation it feels like a misstep. It feels awkward. So here is something that I think is a good feature, but contextually, it bothers me tone wise and I'm going to remove it from the presentation. I've got five slides in this section. One just bullet points the feature and then I have 2 pairs of before and after slides showing regular Cordova code versus the ngcordova version. The idea being to show how much better (for some) the ngcordova version may be, but it is a lot of code and frankly - if you aren't using promises then it kinda goes right over the head.
This leaves me with some space to fill. I had recently taken out a demo I did demonstrating some of the CSS stuff. Why? I feel like most people "get" what CSS frameworks do. Most folks have seen Bootstrap and know that adding class="so and so" makes a pretty bar. Ionic does the same, and me showing this in an editor and browser feels like overkill. I switched to using a slide that shows the code and a screen shot of the result. This kinda minimizes the coolness of it but at the same time, folks expect Ionic to be pretty. When I show them this I don't need to spend a lot of time on it because it is assumed.
In general though I don't spend a lot of time in the code base. I demonstrate pull to refresh, which works well I think, but I'd like to spend a bit more time with a proper, but simple, Ionic demo. At the end of the presentation, I discuss an app I built with Ionic that is tailored for people adopting in China. Now, I'm biased, but I think this works damn well. It's got an emotional tag (my wife and I adopted from China), it has some funny jokes (yes, I plan my jokes ahead of time), and it just "feels" like a great way to show Ionic while discussing a topic I'm passionate about. I don't normally spend a lot of time in the code, but now I'm going to expand that section a bit.
Session Two - Static Sites
My second session was a brand new one. I know some folks recommend it, but I don't do a practice session by myself before giving a presentation. I mentally go through the slides many times, but I don't give the talk in front of a mirror or to an empty room. That may work for others, but frankly, I'd feel stupid doing that. So I went into this session not exactly sure how well it was going to work. I felt pretty safe timing wise - I've given enough presentations over the past ten years to have a good gut feeling for how much material is necessary. What I wasn't sure of was how well the content would work.
For me, the goal of this presentation was to introduce people to the idea of why using a static site generator may work well for them. I divided the session into the following sections:
- Why
- How - Generally
- How - Specifically
- Bringing Dynamic Aspects Back
- Hosting options
The two "How" sections are where I was most concerned. The first How is basically stating that there are editors (like Dreamweaver) that can help build static sites and then there are generators - the main point of the talk. I then go into how generators work generally. I spent a lot of time in this section because my audience in this case were primarily people doing back end work. Like me, I think they had been used to a mindset of needing an app server to solve most problems. In my experience, when I first used a static site generator it was mind opening. I suddenly saw how I could switch from using app servers and databases and switch to simple files and keep my life easier. In this particular case, in this particular conference, I felt that was important so I really stressed it. However, in another conference, one that was perhaps 100% front-end, I'd probably go a bit quicker in that regard. For folks used to things like Grunt/Gulp/preprocessing in general, this is less of a mind shift for them. So to be clear, it isn't that I did that wrong in my presentation (imo), but I recognize it as something I need to adjust based on my audience.
The second "How" section is me looking at two different products, Harp and Jekyll. I like them both, with a preference for Jekyll. I thought it was useful for the audience to see two examples of generators in action and see how different tools approach the problem. The issue I ran into though was that I think I may have gotten just deep enough to confuse people versus giving them the "taste" I wanted. So now my question is - do I drop one? That may makes things simpler. I think most people understand that different tools will give different ways of doing things so there isn't necessarily value in "proving" that to the audience. I just need to figure out which of the two I'll select. As I said, I prefer Jekyll, but this isn't about me. So I'll probably select Harp and mention, if it makes sense, issues I ran into Harp that are better in Jekyll. As it stands, I think I want to whip up a presentation for Jekyll by itself. Why? I want to learn it more and there is no better way to do that then making myself build a good presentation for it.
Outside of that - I'm pretty darn satisfied with this presentation and I'm hoping to give it online soon to share with folks.
Wrap Up
For those of you who don't do presentations, I hope this gives yo an inside look at some of the thinking/preparation/evolution that takes place as part of the process. For those who do present, I'd love to hear your own stories and strategies. Leave a comment below!
Archived Comments
any chance of slide links
For devObjective? They are up on GitHub: https://github.com/cfjedima... and https://github.com/cfjedima...
Thanks
For me, my biggest concern is making it relevant to the group I'm presenting to. For example when presenting Ionic to business managers I need to start with how it can help reduce costs. For front end web developers, it's sinking in the idea that they can be mobile app developers too. To Angular developers it's reusing existing code in a mobile app. Native developers, "Here's a tool to use for platforms you're not familiar with, but is structured similarly to native IDEs". Every presentation needs to be tweaked and different parts stressed to give them an incentive to care about what I have to say.
Then it's making sure that each concept builds off of the other and that I never talk about something that assumes an understanding of something they don't yet understand.
Jokes and being relaxed and relatable help a lot too.
I attended your Ionic presentation yesterday. I have little Ionic background but a strong grasp on Cordova and Bootstrap. I had made the assumption that I could replace Bootstrap with Ionic to handle responsive AND mobile but now realize that Ionic replaces jQuery (to some extent w/ AngularJS) & jQuery mobile.
I thought your presentation was very good. I agree with your points about ngcordova. I lost you a little bit there. However, wrapping things up with your personal Ionic project was great and you should definitely expand on that portion of your presentation. I think it connected well with the audience and provided a great demonstration of the usefulness of Ionic and the speed to which you can spin up an app. Even though the example didn't include Vader or kittens, I think most people would approve. Nicely done.
Thank you for that feedback, Greg, you do not know how rare it is.
I recently gave an Intro to Ionic talk to front end web devs, and after I realized that I didn't spend time explaining some of Angular's concepts before diving into a live coding demo. What do you do in this case? Is it possible to give a 15-minute intro to Angular before diving in?
You can do a lot in Ionic just by modifying the HTML. Depending on the group's technical competency, you might even stick primarily to Ionic Creator.
If time allows, yeah, an intro to Angular is preferred and I've done it for some groups ahead of workshops. One bit of caution, have a break between teaching people Angular and Ionic, at least half an hour, preferably a day. It can be easy to overwhelm people with new information.
I only discuss Angular in terms of it being a prereq. I warn people that I "suck" at Angular, but I'm able to be successful with Ionic anyway. I also point out a few places to learn Angular and strongly urge folks to go through the tutorial on their site before trying to use Ionic. I think you can *kinda* get by knowing little about Cordova, but you really need to know the basics of Angular.
This is great advice, thanks. Giving a talk next week to some local college students with little web dev, so might stick to the Ionic Creator and the CLI. Thanks again.
Makes sense, thanks for the tips (and also the blog post :) )
I attended the static site presentation. When you first started talking about Dreamweaver, I started looking at the exit doors to work out how i could escape without being noticed, but when you got into the detail of generators, then that was when it became very interesting. Personally it would have grabbed me more from the outset if you had shown us one of your static sites that first looks like a dynamic site, and then thrown in the static curve ball. I hadn't contemplated building a static site since the 90's, so for me it was an eye opener. Discussing both Harp and Jekyll to the detail you did was a bit of an overload for me as a new static newbie, which i presume was the audience it was aimed at, but overall it was a great presentation and i gained a lot from it. Funnily enough in the bar later the Preside CMS guys were in the process of launching the new Lucee docs site (http://docs.lucee.org/) which was developed using Jekyll
Thank you for the feedback! I'm glad you didn't walk out when I mentioned DW. :) It really is a darn good editor. Is it good for me, and probably many of my readers? No. But for a large segment of people who work on the web it is a very good tool. I always felt like it didn't get the proper respect for what it does.
Glad to know that Harp+Jekyll *is* a bit too much and that just cements my idea of just showing Harp (and mentioned Jekyll). And I really like your idea of showing a site first as an example and then telling folks it it static.