Hello everyone,

unfortunatelly, I’ve missed the Lync conference in Las Vegas this February (http://www.lyncconf.com/), but after watching very exciting keynote, I’ve decided to make some post of it.

Microsoft has really gotten into the communication business, and this is really cool. Not only its market share has increased largely (and meanwhile it beats some of the greates competitors), it also finally goes online. I don’t mean that it hasn’t been there with Lync mobile and Lync web conference, but this time, it smashes with UCWA and now-annonced UCJA – which, I think, will spin the wheel around Lync greatly.


As you probably already know, Unified Communications Web API (UCWA) has been around for some time, but just for demo purposes, providing only the basic functionality for web development for Lync Client (https://ucwa.lync.com/about/about-ucwa). It is designed to provide a REST-like API for Lync Server 2013 for accessing middleware functionality (namely, UCMA), which was ‘unjustly’ hidden from the Lync client developers. UCMA is great platform, and if you needed to make some real good Lync integration with the current communication system, you had to use it. Now, UCWA is exposing in some extent this API and you can code against it – if you are fine with presence publishing, IM and some basic object model parts as contacts, and so. But, IMHO, it’s really a PoC which served creators of UCWA to test some web-related topics, as OAuth, or REST. You can’t do an audio or video call with it, so no usage for voice (telephony) integration.


On the other hand, Google (with Mozilla and Opera) has been doing a vast research lately to offer a real-time communicaton in a browser, by using just a JavaScript and HTML5 code (http://www.webrtc.org/). There are some demos and documentation about what is already done, but I think, there would be some (maybe long) time until it becomes a W3C standard and everyone start to use it. In order to make this happen, it shall provide some low-level API and support, since it mandates that requires no additional plugins, downloads and updates. We’ll see about that when it’s finally ready.

Unified Communications JavaScript API (UCJA, jLync)

Well, this sounds very promising! Imagine that: a JavaScript API for Lync Client that will make it possible to integrate your web application (for instance, made with some SPA framework, like Durandal or Angular) with the Lync client fully in the browser! This is actually presented on the Lync conference keynote, and it would mean that, as a JavaScript developer, with “just several lines of code”, you will get a new object model that would sit on top of UCWA and make adding voice/video to your web applications. Stunning!

The only thing that I’m missing here is: when it will be available? Albert Koiman said “it will be here when it is here”, Gurdeep “by end of year”, and some rumors say “in the first quarter of 2015″. Well guys, I just can’t wait so long!

Kind regards,



This year’s WinDays conference is just few weeks away! If you have a chance, attend it and we’ll see on thursday, April 25th in Umag, Croatia.

As previous year, I’ll be giving a workshop (this year: 3 hours) about Lync Client/Server development. With some additions to new Lync Server 2013, and what it brings to developers. Come and join!


Posted by: rcosic | 14/02/2013

Migrate your code to Lync Client 2013

Hello everyone,

today I’ll write about on how to migrate your existing Lync 2010 code for usage with new Lync Server 2013.

Luckily, nothing much to be done here, since Lync Client 2010 API is fully compatible with the new server. Therefore, you can just start your application (whether it is a WPF controls / automation, or Silverlight CWA) and it should run smoothly. I have tested my existing integration project on different platforms using ‘old’ Lync Client 2010 API (I referenced namely Microsoft.Lync.Model.dll, Microsoft.Lync.Utilities.dll, and Microsoft.Office.Uc.dll) on several platforms (OS, processor, Lync server and client versions) and here are my findings:

- Vista 64bit (domain with Lync server 2010) – connecting to Lync client 2010 – both 32bit and 64bit apps works
- Win7 32bit (domain with Lync server 2010) – connecting to Lync client 2010 – 32bit works, 64bit don’t
- Win7 32bit (domain with Lync server 2010) – connecting to Lync client 2013 – 32bit works, 64bit don’t
- Win7 64bit (domain with Lync server 2013) – connecting to Lync client 2010 – both 32bit and 64bit apps work
- Win7 64bit (domain with Lync server 2013) – connecting to Lync client 2013 – 64bit works, 32bit don’t
- Win7 32bit (domain with Lync server 2013) – connecting to Lync client 2010 – 32bit works, 64bit don’t
- Win7 32bit (domain with Lync server 2013) – connecting to Lync client 2013 – 32bit works, 64bit don’t

I’ve also recompiled the project with new Lync Client SDK Preview, but it won’t work with Lync Client 2010 version, so I’ll skip it for the time being. New SDK can’t connect to the old Lync Client app, and our customers still use it, so I won’t be using it soon. But, it is worth noticing its potentials, especially if you plan to use some of the new features it has, such as:

- Resource sharing,
- Lync on-line meeting control, and
- Lync persistent chat room (previously: group chat) participation.

More info at: http://msdn.microsoft.com/en-us/library/lync/jj265327.aspx

The one thing that HAS changed with new Lync Client application is its process name. Previously, (from OCS version onward) it was named ‘communicator.exe’, and now, the client app is named’ lync.exe’. So, if you use some sort of tracking whether client process is running (as I do), make sure you update this functionality accordingly.

Kind regards,

Older Posts »



Get every new post delivered to your Inbox.