Last week I gave a presentation on refactoring regular Java code toward a Scala DSL to the Chicago Area Scala Enthusiasts (CASE). Along the way, I discovered a really cool way to use the Eclipse Mylyn tool to solve a perennial presenter's problem: how to smoothly switch between various code examples during the presentation.
As one of the few Eclipse people who normally works on Linux (currently Ubuntu), I am used to the cool Compiz feature of rendering my desktops on a 3d cube that visibly rotates (in 3d) to switch between different desktops. When presenting this is handy because I like to put the slides on one face of the cube and Eclipse (with a workspace containing my code examples) on another face of the cube. Then I can simply rotate the cube to smoothly switch between Eclipse code examples and my presentation slides.
But once I'm in Eclipse, I normally have several code examples that I would like to use to illustrate the points I am making.
It turns out that the Mylyn tool provides a really handy way to switch between code examples. It even automatically highlights the important parts of the code in the Package Explorer in the process.
So before I present, I create a new Mylyn context for each example I want to show. I then record into the context the Mylyn landmarks I want to make sure I cover in the presentation. These landmarks wind up boldfaced inside the Package Explorer.
Then during the presentation, I can simply switch between contexts using the Mylyn Task List. When I do this, Mylyn automatically opens and closes the right editors, and highlights the correct parts of the code in the Package Explorer for showing the next code example.
The result is that I can keep track of where I am more easily in the code examples (since the important parts are automatically highlighted), and–for the same reason–it's also easier for the audience to follow what I am trying to communicate.
Discussion
dave, this is really a great feature for demos. I'm also using Mylyn tasks. another great thing: in the Q&A part of a presentation its easy to switch back to a previous part to explain things again. thx for blogging about this - so I can remove it from my have-to-blog-about-todo-list
ekke
Nice summary David, it's good to have this to point others too. I've seen quite a few presentations done this way, and like how this different use of Mylyn has become a new practice. It could be even more powerful with some basic workspace provisioning, of the form that we have in the SpringSource Tool Suite. With its task-focused tutorials, you're able to (re)import sample projects when you start working throught a task-based cheat sheet.
What's that Scala bridge that you're using? Could you add it to the list of Mylyn extensions? http://wiki.eclipse.org/index.php/Mylyn/Extensions