June 12, 2008

Storytelling in presentations

June 12, 2008 - Categories: communication, presentation, speaking, story

Angelina Gan asked me if my storytelling approach is based on Peter Orton’s (wonderful!) presentation on using storytelling in business, so I thought I’d share how I started telling stories and what my favorite resources are.

I don’t know exactly why I started telling stories instead of listing bullet points. Maybe it was because of the never-ending march of bullet-ridden presentations. Maybe it was because I kept skimming through business books that were all numbers or pithy sayings without anecdotes to make those statements come alive. Maybe it was because I watched terrific presentations highlighted on the Presentation Zen blog. Maybe it was because of the books I read about telling success stories to deepen your relationships with people, influencing change through story-telling, and telling effective stories. Whatever it was, I started collecting stories and sharing my own.

I’d taken up writing flash fiction (really short stories, typically 55 words long) in 2005, and that turned out to be surprisingly useful. Reading other people’s flash fiction stories taught me that you could tell a story with conflict and character development in a paragraph or two, and that it was fun keeping an eye out for story material. I had originally gotten interested in flash fiction because it felt like a code optimization challenge, and because the stories were short enough for me to write during lunch or a subway ride, on pieces of paper or even on my cellphone. I never felt particularly literary (and in fact had gotten Ds in my English classes in university for lack of effort), but finding and telling stories (or in this case, making them up!) turned out to be a lot of fun.

So when I came across the business applications of storytelling–from social networking to influencing technology adoption–and I saw how it dovetailed with my passions, I jumped right into it. I started collecting stories. For example, I started my master’s research by collecting stories about how people used Dogear (an enterprise social bookmarking system by IBM) so that I could figure out how people were using it in their work and how they could use it even more effectively. I collected stories to help me not only convince people to try out new tools but also give them models to follow and people they could relate to. I also told stories about what I was doing and how I was doing it, and that helped me get to know a lot of people as well. Besides, I love “catching other people doing well”–telling other people’s success stories, especially when they don’t realize they’re doing well.

The results? People act on what I share. They make my stories their own. Not only that, people also tell me that they enjoy my presentations and that my enthusiasm is contagious. Giving presentations – telling stories, having conversations – has become a lot more fun.

How do I find stories? I keep an eye out for things that happen in real life, like this conversation I had with J-. There’s a seed of a story in there, and by telling part of the story, I make it easier to remember later on. I also enjoy reading people’s blogs, because they tell stories from their experiences as well. I read a lot – it certainly helps to have a public library within walking distance. Whenever I come across a particularly good story in any of these sources, I write it down, I bookmark it, I add it to my notes. When I work on presentations, I’ve got a general idea of relevant stories that I’ve come across, and then I use my notes to look up the details.

For example, I was preparing a presentation about University Relations and the Net generation. I didn’t want it to be a boring list of bullet points or advice. I could’ve rehashed the presentation I gave at the Technical Leadership Exchange, but I wanted to make the most of my opportunity to speak with a group that could really make the most of Web 2.0. I remembered that some months ago, I had come across a terrific internal blog post about how a demonstration of IBM’s internal social tools got an audience of university students really interested. I had bookmarked it as a story about Web 2.0 and recruiting, knowing that it would be useful someday. Well, that someday had come! I checked my bookmarks, went back to the blog post, refreshed my memory, and added it to my presentation. I’m sure that the story will make my point more effectively than a list of bullet points.

How can you get started with storytelling? Keep an eye out for story material. Develop a system for filing those stories so that you can find them again when you need them. Tell stories. I’ve linked to some of my favorite books in this post – check them out for more tips. Storytelling is effective and fun. Enjoy!

How to scale presentations up or down – the art of timing

June 12, 2008 - Categories: presentation, speaking

(More braindumping – not quite at the article level yet! =) )

When I plan presentations, I always start by coming up with the key message based on the objectives and the expected audience. The key message needs to be something I can explain in at most 30 seconds, and it needs to answer the audience’s question: “What’s in it for me?” The key message also needs to give people a way to act on that message. (Yes, even FYI presentations.) If I can’t explain what I want to say in 30 seconds, I mindmap and brainstorm and turn things over until I can.

There’s no point in working on the rest of the presentation until you know what you want people to take away. If you can’t say what you want to say in 30 seconds, think about the topic until you understand it well enough to say it in 30 seconds. When you figure out what your 30-second pitch is, you can use that as your abstract and you can use it in networking conversations at the conference/event/wherever. Very useful.

After I determine the key message, I pick three or so supporting points. This is also where I try to find a clever navigational structure or mnemonic to help me remember my points and to help the audience remember my points. Alliteration and acronyms are my favorite tools, but I occasionally come across a good metaphor, too. If I can’t find anything that fits, I try to at least get the rhythm of the words to sound right. (No, I haven’t given a presentation in iambic pentameter yet – but I’m tempted to! ;) ). A thesaurus helps me find synonyms that fit, and a dictionary (I usually use a kid’s dictionary) helps me spark the creative process with random associations and browsing. (Flip it open to a random page, pick a random word, and see if that’s useful.)

Resist the temptation to cram lots of points into your presentation. Find the minimum that you need to support your key message, then get those across clearly.

So there’s the 30-second pitch, the supporting points can be summarized over three minutes or so, and you can wrap it up and explain the next actions in another minute. When the presentation works as a 5-minute talk, it’s time to flesh it out to a 15-minute to 30-minute talk. You can do that by adding stories to the supporting points, keeping the key message in mind. Stories can take varying levels of detail, so they’re pretty flexible.

To take a talk from the 30-minute mark to the 60-minute mark, add more interaction and deeper stories. Good interaction tends to require a longer presentation slot because you need some time for people to shift into discussion mode (and you have to be comfortable with silences), and you don’t want to cut discussions off too early. If you’re doing interaction, don’t make question-and-answer the end of your presentation. Move question-and-answer into your presentation, then take advantage of the opportunity to summarize both your presentation and the discussion with a strong ending, emphasizing the next steps.

Longer timeslots such as 1.5 hours or 4 hours or even days need to be broken up with more interaction and variety. From my university classes (both attending and teaching), I learned that attention tends to flag after about 20 minutes. Mix things up and give people time to process the information. (And to stretch!) Resist the temptation to structure your presentation as one loooong presentation. Break your presentation up into more presentations, because it’s important for people to have review and closure.

In this approach, you’re building up from the core message. As long as you can make that point, you don’t have to worry about leaving material out. If you don’t overload your slides, you can quietly trim material in order to accommodate a particularly good discussion (or a long rant about something else) and people won’t feel cheated. =) If you find out that you have to talk for longer than expected (say, the next speaker is having technical difficulties), then add more detail or more stories or more interaction. If you find out that you have to talk for shorter than expected (say, the previous speaker had technical difficulties ;) ), focus on the key message and the supporting points.

Try it out for your next presentation. Start with your 30-second pitch, then build on it. When you get used to adjusting the timing on the fly, you’ll always be able to end on time.

Programmatically creating CCK nodes in PHP (interaction with the Path module)

June 12, 2008 - Categories: drupal

I’ve been experimenting with the Drupal Content Construction Kit, which promised to be a more flexible way to deal with custom node types in the Drupal content management system. However, I’m a finicky sort of person who likes being able to reproduce the setup from a fresh start, and CCK isn’t well-known for that. In fact, CCK nodes aren’t well-known for being easy to move from one server to another.

Following the instructions for programmatically creating, inserting, and updating CCK nodes will get you most of the way there. Here are some of the gotchas you’ll want to watch out for.

I was using Path to define aliases for my nodes and the path aliases were just not getting created. After lots and lots of tracing with XDebug, I found out that it was checking for user_access, but no user was active during the installation process. Solution: create the admin user and load it into a global $user variable.

I also spent a fair bit of time being very annoyed with CCK and creating nodes programmatically in my install profile. Turns out that you first need to use install_add_content_type to create the base node type, _then_ follow the instructions to drupal_execute the form that adds custom fields.

Here’s a quick sketch of the code:

function profilename_profile_final() {
  // lots of other code here
  install_add_user('admin', 'admin', 'admin@example.com', array(), 1);
  global $user;
  $user = user_load(array('uid' => 1));
  install_add_content_type(array(
    // take this from Install Profile Wizard
  ));
  node_get_types('types', NULL, TRUE);  // flush cache
  $content = array();
  $content['type'] = array(
   // take this from content copy export
  );
  $content['fields'] = array(
   // take this from content copy export
  );
    _install_create_content($content);    
}
function _install_create_content($content) {
  global $_install_macro;
  $type_name = $content['type']['type'];
  $_install_macro[$type_name] = $content;
  include_once drupal_get_path('module', 'node') .'/content_types.inc';
  include_once drupal_get_path('module', 'content') .'/content_admin.inc';
  $macro = 'global $_install_macro; $content = $_install_macro['. $type_name .'];';
  drupal_execute('content_copy_import_form', array('type_name' => $type_name, 'macro' => $macro));
  content_clear_type_cache();
}

Now I feel more confident about CCK…