I’m a long-time Apple Fan, dating back to the late 1980s. But try as I may I just can’t seem to eliminate all Microsoft products from me life.

My current plague is Microsoft Lync for Mac: 2011.

Microsoft Lync for Mac is Horrid

This collection of bits is a terrible joke. I’ve tried contacting Microsoft for support multiple times, through multiple channels both online and in their Microsoft Store.

While searching for possible hacks to make it useable I ran across this quote from Sahil Malik over on Winsmarts.com. Here’s my censored quote from his article:

Lync 2011 for Mac is terrible. The word terrible doesn’t even begin to describe how bad it is. It is a piece of dried s@#$ hanging off of yeti’s un-wiped butt. It is the worst software in the history of mankind.

We agree - it is terrible.

With that said, Lync 2011 is an improvement from Communicator.

But it isn’t going away, so I had to keep digging.

Apple Store Versus Microsoft Store

The mimicry in a Microsoft Store is shocking; they are trying so hard. But along the lines the staff was not training in basic customer service.

Microsoft Store Experience

I walk in. There are more employees in matching red shirts than there are customers. I’m greeted as I walk through the wide entry doors and they ask how they can help me.

I was a few minutes late to an “Answer Bar” appointment. Their response,

You’re late. Do you want to schedule another one?

Seriously? A few minutes late and that’s their response. I try to brush it off. I get directed to the back of the store, the same layout as the functional Apple Store configuration.

I arrive and am not greeted here. Instead employees talk to each other and on the phone. Eventually someone comes over.

I briefly describe the problem with Lync not opening meetings.

Their solution:

We are a consumer store, we don’t support any of the business products. Here are two phone numbers (hand written on a business card as her Standard-Operating-Procedures) that I can copy down. They she passes me a business card for a Microsoft partner, who I could pay for help.

No thank you.

Apple Store Experience

On a whim I walked over to the Apple Store.

Again, I arrive seeing that the staff are all wearing red shirts. Except this time there are far more customers in the store than employees; their numbers are vast, but they are still outnumbered.

I’m greeted at the door. When I tell that I’m looking for help with a Microsoft Product, they don’t shut me down instead they start thinking about who is in the store that may know.

They search and eventually come tell me that there is one person, but he just headed out for a break. They asked if I would be willing to return in 15 minutes.

Gladly.

When I return, I’m greeted by name and directed to the expert.

Together we spent time trying different configurations. Different approaches. We talked about options.

That’s the difference. He didn’t know, but was willing to explore as long as it was helpful.

We came up with a key discovery and a plan.

Automate Calendar to Lync

Automating Calendar to Lync

We found the key discovery that was messing up how Lync goes from a meeting URL to actually joining the meeting is where the Lync Web App Plugin is installed.

The installer doesn’t let me choose to install it for all users, but that’s where it needs to be for it to work with Chrome.

Here’s how to fix it. Install the Lync Web App then take a look in terminal.

ls ~/Library/Internet\ Plug-Ins
ls /Library/Internet\ Plug-Ins

You’re looking for the LWAPlugin folder. Something like LWAPlugin15.8.bundle

If that is located in the ~/Library/Internet\ Plug-Ins folder than it must be moved. You can relocate it with the following command:

sudo mv ~/Library/Internet\ Plug-Ins/LWAP* /Library/Internet\ Plug-Ins

Then restart your browser and we are on our way to automating the connection between Calendar and Lync.

Why Automate?

If you click a meeting URL in Calendar it takes 4 or 5 clicks before actually joining the meeting. Using an Automator Service we can get that down to two clicks.

Not ideal, but it is a marked improvement.

The trick is realizing that Lync Web App installs a customer protocol URL handler. It processes lwa-cu5-hf: URL protocol schemes.

iCalendar Join Lync Service

Open Automator and pick Service

Pick a service

Now start setting up what type of input the service will process. Start by selecting URLS.

Select URLs

Next we only want the service to be available when we select URLs in the Calendar application. Pick Other, then find the Calendar application.

Associate with Calendar

The next two settings determine what’s done with the selection before passing it to our service workflow. We only care about the URLs. If a block of text is selected we don’t want to see anything but just the URLs.

Select Only URLS

Our workflow will be incredibly simple. Just one activity.

Draft a Run Shell Script activity from the Utilities collection.

Add Utilities Run Shell Script

Now we want those URLs to be passed to our workflow as arguments.

Select As Arguments

Then inside that activity paste the following code:

for u in $@; do
  if [[ $u =~ ^https.*meet ]] ; then
    /usr/bin/open "lwa-cu5-hf:$u"
  fi
done

This does three things:

  1. Loop over the input URLs
  2. Test the URLs to find only those that look like they relate to Lync Meetings. It appears that most are https protocol links and have the word meet in the url. Your mileage may vary.
  3. Then tell the system to open the custom protocol for the Lync Web App using the meeting URL from Calendar.

That’s it. Save the Automator Service.

Now in open System Preferences. Choose Keyboard then the Shortcuts tab, and the Services settings. Scroll down to find your newly created Service in the Internet section.

Service Keyboard Shortcut

On the right side you can enter a shortcut. I chose command-L.

Quit System Preferences.

Lync from Calendar

So give it a try. Have Lync for Mac running and connected. Open Calendar, then open an event that has a Join Lync meeting URL. Select the text, then press your keyboard shortcut.

Here’s what should happen:

  • The Lync Web App will launch.

Lync Web App

  • Click Join using Lync for Mac or Communicator for Mac.
  • Lync for Mac should join the conversation.

Again, not ideal. But that’s to Josh at the Apple Store this is much more usable than being forced to change my default browser to Safari and join the meeting in the web application itself.

Now … if I could only figure out how to reverse engineer the action behind that link in the Lync Web App I could skip the entire process with the Web App. Hmmmm.