Fernando Machado Píriz's Blog

Posts about enterprise architecture and related topics

Do you usually give presentations? Check this out

with 9 comments

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.

clip_image002

The About tab shows typical information about application version, etc.

clip_image003

Component parts need to fulfill three requisites:

  1. Should implement an interface GivingAPresentation.Common.Contract.
  2. Should the decorated with the System.ComponentModel.Composition’s Export attribute.
  3. 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.

About these ads

9 Responses

Subscribe to comments with RSS.

  1. Great idea, makes me think of CCleaner for presenting.

    Scott

    June 7, 2010 at 5:17 am

  2. 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

  3. [...] 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 [...]

  4. [...] following UML class diagram from Giving a Presentation was created using the Visualization and Modeling Feature Pack in just a couple of [...]

  5. [...] 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 [...]

  6. [...] of the features of the Giving a Presentation demo application is the ability to hide desktop icons during a presentation, showing them back [...]

  7. 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


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: