Last year I was asked to keynote SassConf (it was incredibly great! everyone should attend this year!). I'm an experience public speaker at this point, but I'd never keynoted before, and I was pretty nervous about it, especially at a conference slightly outside of my tech comfort zone.
So I asked Chris Coyier, who's keynoted from hell to breakfast, what to do. His advice was really helpful (and I should have followed it even more closely). I just ran across it today when searching my email, and thought it could help other people too:
You're right in that often keynotes have a different vibe from the rest of the talks. They are often stories, personal experiences, walks through history, and more often than not, focused on inspiration. The idea being - "isn't it weird and cool that we're all together in this room? Let's consider a reason why that might be - and go get em tiger!" I can imagine you telling a cool story about how you got into CSS and how that lead to being possibly the most influential person in the future of CSS today. Or perhaps how you feel about CSS as a language. What it means to the web, what it means to the world, it's successes and failures. And perhaps where it's going, but light on the feature-by-feature rundown. Or maybe attempting to answer the question: is CSS going to be around in 10 years? 20 years? Is there any way to answer that question without gut instinct?
Obviously some of this, especially the second paragraph, is kinda specific to my own situation, but it's still all good general advice for anyone wanting to give a keynote, or anything similar. Hopefully this helps someone else!