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.