Bridge Communications

Saturday, November 22, 2014

Building the Ultimate Lync Presentation Tool Helper - Part 1

Microsoft Lync is a fantastic tool for presentations.  It gives you the ability to share content like PowerPoint, files, whiteboards, polls, and even a program or screen of your computer.  The flexibility of Lync sometimes can make it difficult to quickly switch between sources, or save content that is happening real-time in a collaborative presentation.

Someone at Microsoft posted an old winforms style example of a content sharing app for Lync.  Click Here To See It

Conversation whiteboard collaboration console

Our goal over the next several weeks is going to be to modernize this approach and get rid of some of the problems;

1.  This thing is ugly.
2.  If I only have 1 screen this thing is consuming 1/2 of it.
3.  This program uses winForms and needs a WPF make over.

So for our project we are going to do the following;

1.  Start from scratch with WPF.
2.  Make our program skinny and dock-able on the right side of our default screen
3.  Apply a WPF style so we aren't embarrassed to show it to someone else.
4.  Use some of the more useful Lync SDK routines in here, and a few of our own to make flipping through various types of Lync presentation content a snap.

At the end of this series we are going to provide a link and give this program away for FREE to help Lync presenters out there everywhere.

Let's Begin.

To get started we are going to create a new WPF project, and we'll add the Lync libraries and controls to it.

using Microsoft.Lync.Model;
using Microsoft.Lync.Model.Group;
using Microsoft.Lync.Model.Conversation;
using Microsoft.Lync.Model.Conversation.Sharing;

If you don't have the Lync Client SDK, now would be a great time to find it and install it before continuing.

For our WPF we are going to make a window that is long a thin, relying mostly on tool tips and picture buttons instead of large labels.  We are also going to make heavy use of the WPF expander control to hide large sections when we don't need them.  For our theme we are going to add a folder to the project called Themes\ExpressionDark and put our Theme.xaml file in there.

To make that the default in our App.xaml file we add the following.

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Themes\ExpressionDark\Theme.xaml"/>


Our MainWindow xaml will look like this and that's where we are going to stop for this week.

<Window x:Class="UltimateLyncPresentationTool.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:controls="clr-namespace:Microsoft.Lync.Controls;assembly=Microsoft.Lync.Controls"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ULPT" Height="800" Width="150">
    <Grid Background="DimGray">
        
    </Grid>
</Window>

Next week we will start to add controls to our window and decide which Lync automations to begin with.

Doug Routledge, C# Lync, SQL, Exchange, UC Developer

No comments:

Post a Comment

Any spam comments will be deleted and your user account will be disabled.