Wednesday, October 3, 2007

Keynote (The Software) Considered Harmful

A little while back, I was working for a very cool company called Bitscribe which does weekly conference room users' group sessions. I did two sessions there, and there was a very interesting contrast. The first session, I forgot to bring the video adapter I needed. So I basically just did a session on the whiteboard. The second time, I had the video hooked up properly, and not only that, I had video clips and audio as well.

The first presentation was awesome, and the second presentation stank. Nobody really cared during the second one. People responded sluggishly, if at all. The first presentation had more questions, more ideas; there was tons of actual code on the whiteboard, and a lot of it came from the other people in the room. I think everybody in the room spoke more than once. In fact, by the end of it, I wasn't even the only person at the whiteboard.

More recently I gave presentations at OSCON and Ruby East. Exactly the same thing happened. My OSCON presentation was full of funny pictures that nobody laughed at and clever comparisons that nobody was interested in. At Ruby East, I didn't even bring any presentation materials at all. No slides, no transitions, nothing. Just code. People loved the presentation; a couple guys who were saying afterwards that conference presentations needed to raise the bar in general actually went on to say "like your presentation," which was a huge compliment.

At OSCON, although people were into what I was talking about, I felt nervous the whole time, and I still feel I could have done a much better job. At Ruby East, I was calm, confident, and having fun.

The Keynote-less presentation at Bitscribe, we came up with an idea for a new twist on Rails, discarding its templating system in favor of a Seaside-like components system. We fleshed out actual code in the process, although we didn't go so far as to actually make it work. At Ruby East, we did go that far. An audience question which was basically a feature request led to a gigantic but very quick group hacking session, which resulted in new, useful code.

The secret sauce: before Ruby East, I read some blog posts by Kathy Sierra, which reminded me of the two presentations at Bitscribe. The posts were all about how to get people interested in your presentation. One tip: don't introduce yourself. Don't even bother. She said that presenters who start out giving you their credentials are way off base, because people don't need to know you're qualified. They assume you're qualified, or they wouldn't be at your talk. To quote:

Trying to establish credibility is backwards. Don't try to get the reader to respect YOU... the reader wants to know that you respect HIM!

You can take that one step further. Don't try to get the people in your presentation to imagine that what you're talking about probably works. Just show them it working. It was good enough for DHH when he first demoed Rails at RubyConf, and it's good enough for you too.

I still dig Keynote for screencasts, but I think I'll probably never use it at a conference ever again.


  1. Trying to establish credibility is backwards. Don't try to get the reader to respect YOU... the reader wants to know that you respect HIM!

    Exactly. The most important thing a presenter can do is ask how familiar the audience is with the subject matter ("How many of you are Rails newbies? How many of you have used it a little? How many of you consider themselves experts?") and adjust accordingly.

    I was happy to see this done more than once at Ruby-East.

  2. It can go both ways -- I presented at DrupalCon Barcelona last month and used Keynote to good effect. With an hour to educate ~200 developers on important API changes and new capabilities on one of our core components, open-mic whiteboarding would've been very difficult.

    In a subsequent presentation -- geared more towards group brainstorming -- I used Keynote for a 5-minute introduction, then moved to your approach: lots of questions, lots of dialog, and lots of scribbling notes. I think it's about understanding what the purpose of each session is, and using slides/presentations to help whenever possible.

  3. Yesterday I did a talk about basic CSS for a relative small group of people.
    A few days before I went through my Keynote with some people and they all laughed about me having just 5 slides.
    Most of the time (my talk was about 30 mins) I just wrote code and refreshed the browser to show what it did.
    People actually laughed when I showed them a *really* big header. It worked. People told me they liked it afterwards.

    Now, before I went 'on stage' there was another guy. He did a keynote about PHP. It sucked.
    He had way too many slides, showed some code, but didn't actually write new code etc.

    In other words: I fully agree with you, Keynote should be considered harmful.
    When you are talking about code, write code! Don't talk about it, write it. That's the most important thing in my opinion.

  4. @joe - that was the biggest shock. I don't think anybody but the presenters knew this, but the two rooms were supposed to be the beginner and expert tracks. I was in the beginner room, and my audience was way more qualified than that. they'd told me "you're in the beginner room" but the majority of my audience were pretty skilled.

    @jeff - I think that's true, but just for the hell of it, I'll play devil's advocate. getting lots of questions is always valuable, and it doesn't have to be open-mike whiteboarding. you can demo code rather than explaining it. (profiling code live is also very effective, because there's an element of suspense.)

    just abusing my privelege to challenge people. ;-) I bet if you took a presentation you were absolutely happy with, and challenged yourself to make it Keynote-free, you'd end up with a better presentation.

    @martijn - I think the show and tell factor of writing some code to do something silly (e.g., big header) and then seeing it happen is what makes this approach successful. there's more of a feeling of being involved, because a Keynote presentation is kind of static, whereas code which produces results based on what somebody does is more dynamic.

    I know during DHH's keynote at RailsConf people were most engaged when he was writing code in the console. He got some Rails code wrong when he was demoing it, and got a big laugh. Part of the reason it got such a big laugh is because more people were paying attention at that part of the presentation than at any other.

  5. Your advice is much appreciated, believe me. How to make a presentation work is gold if you can get the right advice - and I think you are giving it.

    There is far too much emphasis now on the hi-tech approach, using your laptop. Take that to the extreme and you don't really need the lecturer/ presenter/ coach at all - just press a button at the start and stand back. In fact, why not just show a video?

    A presentation - if designed to instruct and engage - has to be an interactive process with the audience. In fact, I would like to be able to take that a stage further, and allow them to input their own contributions via laptops perhaps. How do you think that might work out?


Note: Only a member of this blog may post a comment.