Last week, I introduced three key factors to help you connect to a non-technical audience. This week I want to introduce you to some tools and techniques for preparing your presentations. And, no, I’m not going to talk much about using PowerPoint 😉 …
Know Your Goal
Every good presentation starts with a message. What do you want your audience to remember or do after your presentation? Sometimes it’s as easy as “I want approval to buy that new server” but sometimes it’s not as clear. Teaching an Agile class is a good example. What single thing do you want your students to remember? Agile processes are such a wide field, it’s hard to pick your goal for the class. Even if it sounds pretty obvious once you read it, I had to rule out lots of possibilities before coming up with “Be able to conduct a software development project using agile practices” for the course I’ll be teaching again this November. It’s not “know all the various agile approaches like Scrum, XP, Lean, etc” or something similar. It clearly focuses on being able to use Agile, not just know about it. That set the direction for how to present Agile to my students.
Structure Your Thoughts
Once you know what you want it’s time to find a way to get there. I prefer mind mapping in the early stages of structuring my thoughts. Even though it is sometimes preferable to leave your computer and do your brain storming offline, I regularly use mind mapping tools to capture my thoughts. Using software in the process simplifies organizing and sharing your ideas.
If you want to use a tool I recommend freemind. It’s Java based , open source and really gets out of your way when you use it.
Recently, I started playing around with Mindmeister, a web based alternative. It imports freemind files and offers the advantage of easily sharing and collaborating on your mind maps. There is a free, entry-level version, but, if you need it, the full-blown product will cost some money.
Create Graphs And Diagrams
If you want to visualize a complex process or structure, you’ll need to draw a diagram. While experimenting with a lot of tools over the years (like MS Visio, StarDraw, etc), I never found one I liked. I’m looking for something plain and simple, but most tools I tried out were bloated with features.
Not so long ago I came across gliffy.com, a flash based app which does just what I need: Draw a simple diagram no matter on which platform I work. You can create public diagrams for free. For serious business use you’ll have to pay $5/month for an individual license which gives you private and ad free diagrams.
Find Creative Commons Licensed Pictures To Support Your Point
If you want to enrich your presentation with pictures to better connect with your audience, you might wonder where to get them from. Luckily, flickr provides a specialized search for pictures published using the creative commons license. Sort the results by “Most Interesting” and you’ll get really good pictures.
If money is not too much of an issue, sites like iStockphoto provide you with perfect pictures for any kind of presentations. For a presentation, small images should be sufficient, which set you back $3 each.
Not So Mainstream Presentation Tools For PowerPoint Haters 😉
Finally, after defining your goal, structuring your message, creating some diagrams, and finding photos supporting your message it is time to come up with some slides. Sure, you could fire up PowerPoint, Numbers, or OpenOffice, but hey, you’re a geek, right? If you prefer to avoid the “uncool” stuff 😉 have a look at these alternatives.
There are at least two serious ways for doing presentations in LaTeX. If you are already familiar with LaTeX, these might be for you: Prosper or Beamer. I used LaTeX to present my diploma thesis and was very glad about the possibility to use a normal text editor without all the bells and whistles which usually come with more graphically oriented presentation packages.
If you are a real code slinger, you might even want to code your presentations. While this approach is bound to Windows as a platform, it is definitely the coolest way of producing PowerPoint presentations 😉
Just download the Apache POI project and just code a new slide show:
//create a new empty slide show SlideShow ppt = new SlideShow(); //add first slide Slide s1 = ppt.createSlide(); //save changes in a file FileOutputStream out = new FileOutputStream("slideshow.ppt"); ppt.write(out); out.close();
Adding new pictures is easy, too:
// add a new picture to this slideshow and insert it in a new slide int idx = ppt.addPicture(new File("clock.jpg"), Picture.JPEG); Picture pict = new Picture(idx); //set image position in the slide pict.setAnchor(new java.awt.Rectangle(100, 100, 300, 200)); Slide slide = ppt.createSlide(); slide.addShape(pict);
And if you really keep your slides simple, this is about all you need to do. For a complete list of code examples check out the Busy Developers’ Guide to HSLF drawing layer.
By the way: There is even a Ruby binding for Apache POI 😉
You aren’t convinced that coding your presentation is the way to go? Hmm, but you still want to be cool, right? Why not try SlideRocket, a flash based PowerPoint replacement with some really nice features like sharing slides, doing online presentations and directly searching for pictures from within the application. It even has an offline client based on Adobe AIR.
Currently, SlideRocket is my preferred way of creating presentations. What are your choices? Do you have good reasons to stick with PowerPoint? Or are you more the “Source Code Guy”? Share your approach and favorite tools in the comments.