State of Unified Communications 2014

Is that time of the year again when Gartner releases their yearly analysis of the Unified Communications vendors and their offerings called Magic Quadrant for Unified Communications. The vendors evaluated must meet certain criteria which is a product portfolio that supports

  • Voice and telephony
  • Conferencing
  • Messaging
  • Presence and IM
  • Support for different client platforms
  • Support communications-enabled Applications

It is a tradition to comment on the Gartner UC MQ’s here at the msunified.net blog, and have done so since 2009. See the previous articles here:

Awarded Microsoft Most Valuable Professional (MVP) 2014

Today I received the Microsoft MVP Award for my contributions in the Lync Community. This is the fourth time I have received this award, the first time was in 2011. This is huge and it is really inspiring to get recognition for my contributions. Here’s an excerpt from the email I got:

MVP2013

Congratulations! We are pleased to present you with the 2014 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Lync technical communities during the past year.

I feel very honored to be part of this outstanding community and I want to mention the MVP Summit as a highlight of the experience. With all the cool things happening around Lync, Office 365 and Windows 8 I look forward to contribute to the community the coming year as well.

Microsoft takes good care of their MVP’s and we where featured at the keynote at LyncConf :)

??????????????????????????????????????????????????????????????????????????????????????????

Resources

About the MVP Award Program
Lync MVP Awardees
MVPs.org community site
Microsoft MVP FAQ

Control your Lync presence during a Pomodoro Sprint using PowerShell

This article is for you Lync-PRO’s out there who want to differentiate yourself from the average Lync user and at the same time want to reach true flow state using the Pomodoro Technique

This article discusses

  • The Pomodoro Technique
  • Flow state by Jason Silva
  • My Lync controlling Pomodoro PowerShell Script
  • The Script

The Pomodoro Technique

PomodoroScott Hanselman explained the Pomodoro Technique in a great way on his PodCast. Pomodoro is about splitting your productive time into intervals of about 25 minutes. During that time you should ignore E-mail, Lync, Twitter, Facebook, Instagram, LinkedIn, news, colleagues and all other elements that could distract you from your trail of thought, your deep dive focus, your flow state.

I have a busy day and it comprise of presentations, meetings, workshops,  customer dialogue, support sessions and talking with colleagues. Sometimes I actually need to deep dive into a problem or produce good documentation, where I have to focus for at least 10 minutes before I reach my flowstate and I need to stay in that flow state as long as possible. My biggest problem is that I am easily distracted and that is why I need to really focus to get real work done :) When I first sit down, I try to do Pomodoro sprints where I try not to get interrupted. When the interval is finished I am available for all the Lync IM’s, mails and everything. This way I may get more quality work done in a short period of time. Read more about Pomodoro here: http://pomodorotechnique.com

Flow State

My goal is to reach a flow state. Jason Silva, my favourite futurist, did a talk on his YouTube channel Shots of Awe. Recommend to get inspired by his talk about the subject

My Lync controlling Pomodoro PowerShell Script

When in a Pomodoro focus session I set do-not-disturb in Lync, disable notifications in Windows 8, and close all web sites that can distract me so I can focus on the work at hand be it an e-mail, document, script or configuration task. I use PowerShell as my Pomodoro timer and with the Lync SDK I am able to start a session, set the correct custom status and know that even if I forget, I will reset my status when my focus session is over.

The function in the script does the following

  • Set the duration of the Pomodoro sprint, usually 25 minutes
  • Import the Lync SDK into PowerShell
  • Delay is where you set the interval the script will update time remaining
  • It plays a start wav file, this could be a 25 minute Pomodoro tick sound
    • I usually just find a cool start tune and then listen to my own music on Spotify or YouTube
  • Then I use custom presence state in my Lync client where I have one state called Pomodoro Focus with do-not-disturb
  • Outlook and other notifications will get suppressed using presentationsettings /start, so no notifications will popup during the sprint
  • After that you have the counter that will count down the remainder of the focus session
    • I publish that in the personal note field of the Lync client, updates every minute with the time for when I will be available again :)
    • The last thirty seconds will display how many seconds are left until full availability

Custat3

  • At the end of the function
    • I play an alarm to notify me that the session is over
    • Reset the Lync presence state
    • Set an appropriate note in the Lync client
    • To make sure I am available again

The Script

Prerequisites

  • Download the Lync SDK
  • In order to avoid having to install visual studio, extract the lyncsdk86.msi from the sdk exe file using winrar or other software
    • The SDK need to match the bitness of your Lync client
  • Go through the script and change the path to where you installed the SDK
    • The script checks to standard paths for Office 2013
  • Running the script from a desktop? Remember to enable PresentationSettings: http://msunified.net/2013/11/25/lock-down-your-lync-status-and-pc-notifications-using-powershell/
  • I use some default wav files to start and end the Pomodoro Sprint, you can change those at the start of the script
  • Now you only need some determination to get some things done using an awesome technique :)

Veiw the script below

#Start-PomodoroSprintV3.ps1
#Last updated: 02.12.2013 By MVP Ståle Hansen (http://msunified.net)
#Pomodoro function by Nathan.Run() http://nathanhoneycutt.net/blog/a-pomodoro-timer-in-powershell/
#Lync Custom states by Jan Egil Ring http://blog.powershell.no/2013/08/08/automating-microsoft-lync-using-windows-powershell/
#Note: for desktops you need to enable presentation settings in order to suppress email alerts, by MVP Robert Sparnaaij: http://msunified.net/2013/11/25/lock-down-your-lync-status-and-pc-notifications-using-powershell/

cls
#Add the path to your module and wave file here
$ModulePathISO=(Join-Path -Path ${env:ProgramFiles(x86)} -ChildPath “Microsoft Office\Office15\LyncSDK\Assemblies\Desktop\Microsoft.Lync.Model.dll”)
$ModulePathStream=(Join-Path -Path ${env:ProgramFiles(x86)} -ChildPath “Microsoft Office 2013\LyncSDK\Assemblies\Desktop\Microsoft.Lync.Model.dll”)
$StartWave="C:\Windows\Media\Windows Proximity Connection.wav"
$EndWave="C:\Windows\Media\Windows Proximity Notification.wav"
$stop=$False
$errorpref="Continue"

#Checking if the files are available
if (Test-Path $ModulePathISO){$ModulePath=$ModulePathISO}
elseif (Test-Path $ModulePathStream){$ModulePath=$ModulePathStream}
else{Write-host SDK dll file not found;Write-Host Exiting script;break}

if (!(Test-Path $StartWave)){Write-host Start Wave file not found;$stop="True"}
if (!(Test-Path $EndWave)){Write-host End Wave file not found;$stop="True"}
if ($Stop -eq $True){Read-host "Wav files could not be found, press enter to continue or crl+c to exit";$errorpref="SilentlyContinue"}

 Function Publish-LyncContactInformation {

    Param (
        # Availability state as int
        [int]$AvailabilityId,
        # ActivityId as int
        [int]$ActivityId,
        # Custom ActivityId as int
        [int]$CustomActivityId,
        # String value to be configured as personal note in the Lync client
        [string]$PersonalNote
    )
    #Importing Lync SDK and create object
    Import-Module -Name $ModulePath
    $Client = [Microsoft.Lync.Model.LyncClient]::GetClient()
    $Self = $Client.Self
    $ContactInfo = New-Object 'System.Collections.Generic.Dictionary[Microsoft.Lync.Model.PublishableContactInformationType, object]'

    if ($AvailabilityId) {
        $ContactInfo.Add([Microsoft.Lync.Model.PublishableContactInformationType]::Availability, $AvailabilityId)
    }

    if ($CustomActivityId) {
        $ContactInfo.Add([Microsoft.Lync.Model.PublishableContactInformationType]::CustomActivityId, $CustomActivityId)
    }

    if ($PersonalNote) {
        $ContactInfo.Add([Microsoft.Lync.Model.PublishableContactInformationType]::PersonalNote, $PersonalNote)
    }

    $Publish = $Self.BeginPublishContactInformation($ContactInfo, $null, $null)
    $self.EndPublishContactInformation($Publish)

}

Function Start-Pomodoro
{
    Param (
        #Duration of your Pomodoro Session
        [int]$Minutes = 25
    )

    $seconds = $Minutes*60
    $delay = 1 #seconds between ticks

    #Set do-not-disturb Pomodoro Foucs custom presence, where 1 is my pomodoro custom presence state
    Publish-LyncContactInformation -CustomActivityId "1"

    #Setting computer to presentation mode, will suppress most types of popups
    presentationsettings /start

    #Errorprefernce is set to silent when wav files not present
    $ErrorActionPreference = $errorpref
    #Starting music, remember to change filepath to your wav file
    $player = New-Object System.Media.SoundPlayer $StartWave
    1..6 | %{ $player.Play() ; sleep -m 3400 }
    $ErrorActionPreference = "Continue"

    #Counting down to end of Pomodoro
    for($i = $seconds; $i -gt 0; $i = $i - $delay)
    {
         $percentComplete = 100-(($i/$seconds)*100)
         Write-Progress -SecondsRemaining $i `
         -Activity "Pomodoro Focus sessions" `
         -Status "Time remaining:" `
         -PercentComplete $percentComplete
         Start-Sleep -Seconds $delay

         #Showing remainder of time in Lync client personal note
         $MinutesRemaining = $i/60
         $MinutesRemaining = [System.Math]::Round($MinutesRemaining, 0)

         if ($MinutesRemaining -gt 1){Publish-LyncContactInformation -PersonalNote "Will be available in $MinutesRemaining minutes"}
         elseif ($i -lt 31){Publish-LyncContactInformation -PersonalNote "Will be available in $i seconds"}
         else{Publish-LyncContactInformation -PersonalNote "Will be available in less than a minute"}

    }

     #Stopping presentation mode to re-enable outlook popups and other notifications
     presentationsettings /stop

     #Pomodoro session finished, resetting status and personal note, availabilit 1 will reset the Lync status
     Publish-LyncContactInformation -PersonalNote "Your personal note"
     Publish-LyncContactInformation -Availability "1"

     #Errorprefernce is set to silent when wav files not present
     $ErrorActionPreference = $errorpref
     #Playing end of focus session song\alarm, 6 times
     $player = New-Object System.Media.SoundPlayer $EndWave
     1..6 | %{ $player.Play() ; sleep -m 1400 }
     $ErrorActionPreference = "Continue"

 }

Start-Pomodoro -Minutes 25

Gartner Magic Quadrant for Unified Communications 2013

Is that time of the year again when Gartner releases their yearly analysis of the Unified Communications vendors and their offerings called Magic Quadrant for Unified Communications. The vendors evaluated must meet certain criteria which is a product portfolio that supports

  • Voice and telephony
  • Conferencing
  • Messaging
  • Presence and IM
  • Support for different client platforms
  • Support communications-enabled Applications

It is a tradition to comment on the Gartner UC MQ’s here at the msunified.net blog, and have done so since 2009. See the previous articles here:

Windows 8 will change the way you use a PC

For the past six months I have used a Samsung Series 7 slate with Windows 8 installed. I have to say, a Windows 8 slate like this Samsung or the Microsoft Surface will change how you use and relate to your PC. I will try in this article to share what I have experienced using this form factor actively in my daily life. Continue reading

Speaking at Atea Community this fall

Atea Community Norway is the premiere seminar that will visit 12 cities from Tromsø in the north to Kristiansand in the south. Here you can meet Atea employees, hear the biggest trends within IT and mingle with 49 of Atea’s biggest partners at their stands. This year I will speak about Lync 2013 in Hamar, Fredrikstad and Oslo together with Karin Løkke. In the other cities Joakim Erdal and Tom-Inge Larsen will do the Lync talks. I will also speak in Tromsø and Trondheim about Windows 8 and Office 2013. Atea has recorded teasers for a lot of the talks given and I was featured in two of them. See them below. I also recommend attending the talk about the future of telephony which is the third video. Hope to see you at Atea Community in a city near you! Continue reading

Gartner Magic Quadrant for Unified Communications 2012

Is that time of the year again when Gartner releases their yearly analysis of the Unified Communications vendors and their offerings called Magic Quadrant for Unified Communications. The vendors evaluated must meet certain criteria which is a product portfolio that supports

  • voice and telephony
  • conferencing
  • messaging
  • presence and IM
  • support for different client platforms
  • support communications-enabled Applications

It is a tradition to comment on the Gartner UC MQ’s here at the msunified.net, and I have done so since 2009. See the previous articles here:

Awarded Microsoft Most Valuable Professional (MVP)


On April 1st last year I was awarded the Microsoft MVP Award for my contributions in the Lync community. The MVP Award is valid for 1 year, and is based on the contributions for the past year. On April 1st this year I was re-awarded for my 2nd year as an MVP:

Dear Ståle Hansen, Congratulations! We are pleased to present you with the 2012 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Lync technical communities during the past year.

I feel very honored to be part of this outstanding community and I want to mention the MVP Summit as a highlight of the experience. With all the cool things happening around Lync, Office and Windows 8 I look forward to contribute to the community the coming year as well.

Resources

About the MVP Award Program
Lync MVP Awardees
MVPs.org community site
Microsoft MVP FAQ

Featured on NextHop blog Series: Interview with a Lync Pro

I had the honour of being interviewed by Justin Morris who writes the blog series Interview with a Lync Pro hosted at the Lync NextHop blog. It is really cool be featured in such a way and recognized as a Lync Pro by the community together with the people I myself turn to for expert knowledge. Head over to NextHop to read the entire interview and also make sure to read the interview of the other Lync Pro’s as well: http://blogs.technet.com/b/nexthop/archive/2012/03/23/interview-with-a-lync-pro-st-229-le-hansen.aspx

NextHop is the Microsoft Lync Server team’s customer response channel—a new medium to rapidly make the information you need available to you, when you need it. NextHop provides pertinent, short-format, technical articles between major releases of the product and associated product documentation (technical library content, Resource Kit book, whitepapers, and tools).
NextHop highlights the knowledge of experts in the Lync Server community, bringing you information from internal and external experts, such as the Lync Server engineering team and our Most Valuable Professional (MVP) community. In addition to publishing great content by contributing authors, NextHop keeps a pulse on the community. The Lync Server Blog Roll and @DrRez Twitter feed highlight the activities of other sites and blogs focused on Communications Server. NextHop provides pointers to a wealth of information about Lync Server. Our plan is to support, encourage, and evangelize all the great content that is being written about Lync Server.

Slides and videos from my Lync sessions on NIC2012 are now available

This year Nordic Infrastructure Conference (NIC) arranged for the first time. I am really honored to be considered to speak at an international conference and together with so many great speakers that I look up to. Speakers like Brian Komar, Johan Arwidmark, Martin Lidholm, Olav Tvedt, Thomas Lee and many others attended and I enjoyed their sessions. See list of speakers here: http://www.nic2012.com/nic2012_agenda/speakers. My sessions where about Lync Server 2010 troubleshooting and integrations. I enjoyed speaking there even though my spoken english is not the best, I think I got the points accross :) View the videos from NIC: http://www.nic2012.com/nic2012_agenda

Lync Server 2010 Troubleshooting

The goal of this session is to help you understand what troubleshooting tools that are at your disposal and will show them in an actual scenario. When troubleshooting a solution as Lync Server 2010 it is smart to know how things work as well. Therefore this session will also touch upon how the Lync SIP server works and what the Lync Edge server actually is.

View the video and download the slides

Lync Server 2010 Integrations

This session will take a look at all the differente integrations with Lync Server 2010 and how they play out. Expect to get a good overview of the possibilities available to enhance the experience of Lync. This session will not contain that many demos but will focus on pros and cons with the different types of integrations.

View the video and download the slides

Also take a look at the other Lync sessions by Martin Lidholm

I also did a Flash Talk at the Microsoft Booth demonstrating how to roll out Custom Presence States using Set-CsClientPolicy and also how to set it in registry