Lync extensibility is a powerful tool and something I have had several posts on. Today I thought I would focus on “IM an Expert” which is a question and answer service based on UCMA 3.0 made available from Microsoft. You can get the documentation here and the software here.
What is IM an Expert really about? Firstly it’s a freebie that Microsoft developed internally and is giving away (although if you don’t have Lync its not going to be much use). Secondly it’s a nice supplement to the existing capabilities that are inherent in Lync with the find an expert SharePoint integration. Not everyone uses My Sites with SharePoint so this is a great alternative to having users input expertise into My Sites. Lastly and probably most importantly it is a great way to show internally to your peers how Lync can be extended. At a high level IM an Expert is a bot, Web Page and a database. Yes, there is a little more to it than that but there are a lot of applications you could potentially do with just these three tools and IM an Expert is a great way to show case this.
Although the released version may differ somewhat from what I have below in my screenshots I think you will get the general idea of what its all about. There are several components to in the IM an Expert service with the main end user interaction as the Webpage and the IM an Expert Bot.
- Bot: The automated service that users communicate with via instant messaging (IM). This handles question processing, expert location, and dialog management.
- Website: A website describing the service, where users can also provide profile information, review and answer previous questions, and see their position on the leaderboard.
There are also some backend processes (obviously) with the following components:
- Databases: SQL Server databases containing user profiles, questions, conversations, ratings, and indexed content used in ranking experts.
- PageCrawler: Automatically crawls the contents of websites listed in user profiles, and then stores them in a database table.
- Indexer: Indexes all available content about a user in preparation for expert finding.
- Monitor: Ensures the Bot is up and running normally, and sends an email to the administrators if it detects a problem
Below is a diagram taken from the documentation that follows the work flow from asking a question through to finding the right expert via Lync.
The screenshot below is the end user webpage where someone can add their current expertise. The home page gives some insight in the use of IM an Expert.
Below is where a user (expert) builds their profile and enters things like a blog etc for the web crawler service. There is also a more structured approach by allowing users to enter specific terms that would help find them.
Below is a demo I ran to give everyone an idea of what the end user experience is like. The first window shows me asking the question, “What is Unified Communications?”. The service then searches for the most appropriate expert and sends an IM to the expert with my important question.
The final screen shot below shows me IMing with the expert over the answer suggested. It also let me rate the answer which is latter added to Alex’s tally so I know if I can trust his answer on the leaderboard.
So a pretty basic service. But lets think about how else this could be applied to development with UCMA 3.0. A similar type of application could be developed to retrieve customer information or account information or a bug id from a issue tracking service. A quick simple way to access data without opening another application. You could also add voice into a similar service with the IVR capabilities in UCMA. So instead of IMing a person what about a call out service for a DR system. Lots of possibilities and endless uses. So in the case of IM an Expert we actually reach out to another user based on database information but this could be a simple retrieval of information for other applications. It really depends on your needs.
This of course ties into CEBP and how we best use our tools to enable our business processes. Although CEBP might be starting to be a tired term with every vendor trying to capture the minds of IT it does have a lot of potential. There are a number of development partners in the Lync eco system that can help with custom development. Some of these partners have prepackaged applications and other more complicated scenarios will require custom development.