Do you usually give presentations? Check this out
For end users: Giving a Presentation is a simple application to change certain setting while delivering a presentation, e.g., hide desktop icons, disable screensaver, close selected programs, etc. Changes are reverted back when presentation ends. Initially built to show how to use certain technologies, it turned out to be useful by itself.
Watch this video to see Giving a Presentation in action:
If you want to try Giving a Presentation for youself, you can download installation bits from Codeplex.
For developers: Giving a Presentation is a WPF application sample created in C# that I use when blogging about Managed Extensibility Framework, Dependency Injection and Inversion of Control, etc. It demonstrates how an extensible application can be built as a container of component parts.
In this sample application, the container is the main window, plus the tab control on it. The tab control has just a Default tab and an About tab. The Default tab is initially empty; it will be dynamically filled by component parts.
The About tab shows typical information about application version, etc.
Component parts need to fulfill three requisites:
- Should implement an interface GivingAPresentation.Common.Contract.
- Should the decorated with the System.ComponentModel.Composition’s Export attribute.
- Should be deployed in an assembly in the same folder as the container.
The Managed Extensibility Framework and the MainWindow of the application will do the rest. The former will load instances of all exported types implementing the mentioned required interface in a list. The later will take the instances in the list and add the controls to the appropriate tab in the control tab.
Until now, I have created three component parts, to solve some of the typical problems that appear when giving a presentation:
- Hide desktop icons. Usually you place working documents in your desktop. Some of these documents are private and you don’t want your audience see them before you start delivering a presentation. Use this feature to hide your desktop icons during a presentation and unhide them at the end
- Disable screen saver. You may have your screen saver configured to start after certain time of inactivity. If you spend some time in a single slide during a presentation, your screen saver can interrupt your presentation. Use this feature to disable your screen saver during a presentation and enable it back at the end.
- Close programs. Some programs pop up notification messages, e.g., mail or instant messaging clients when messages arrive. Despite of the interruption, the content of the notification might be inappropriate to be seen by your audience during a presentation. Use this feature to close selected programs during a presentation and open them back at the end.
Watch this video to see how these parts effectively extend the container:
You can download the source code also from Codeplex.
Give it a try. Hate it? Love it? Let me know.

Great idea, makes me think of CCleaner for presenting.
Scott
June 7, 2010 at 5:17 am
Thanks Scott, appreciate your comment.
fernandomachadopiriz
June 7, 2010 at 3:40 pm
Good idea. A good add-on would be the option to select a default background that switches when you check the box of “I’m giving a Presentation”
We all like to have our girlfriend or family or anything we like in the desktop but for presentation a more formal picture should be displayed that resembles our company or product.
Hector
June 9, 2010 at 2:49 pm
Thanks Hector. Check the latest version uploaded yersterday to CodePlex: http://givingapresentation.codeplex.com. It includes a new feature to remove or replace your desktop background while giving a presentation. Hope you enjoy it!
fernandomachadopiriz
June 10, 2010 at 1:30 pm
[...] Giving a Presentation from CodePlex, there is no need to do it in order to follow this post). Read this post to get more details about how Giving a Presentation works and was [...]
A simple introduction to the Model View ViewModel pattern for building Silverlight and Windows Presentation Foundation applications « Fernando Machado Píriz's Blog
June 10, 2010 at 12:41 am
[...] following UML class diagram from Giving a Presentation was created using the Visualization and Modeling Feature Pack in just a couple of [...]
The new Visualization and Modeling Feature Pack allows generating UML diagrams from code and vice versa « Fernando Machado Píriz's Blog
June 16, 2010 at 9:15 pm
[...] siguiente diagrama de clases UML de Giving a Presentation fue creado usando el Visualization and Modeling Feature Pack en cuestión de un par de [...]
El nuevo Visualization and Modeling Feature Pack permite generar diagramas UML a partir del código y viceversa « Blog de Fernando Machado Piriz
June 16, 2010 at 9:26 pm
[...] of the features of the Giving a Presentation demo application is the ability to hide desktop icons during a presentation, showing them back [...]
Give me a handle and I will move the Earth « Fernando Machado Píriz's Blog
August 9, 2010 at 2:46 pm
Having read this I believed it was very informative. I appreciate you taking
the time and effort to put this article together. I once again find myself
personally spending way too much time both reading and commenting.
But so what, it was still worth it!
www.zoomgroups.com
December 29, 2012 at 12:32 pm