Sitecore User Group July 2019: Sitecore Says the Darndest Things

July 25, 2019

I recently spoke at the Sitecore User Group New England and this is the written version of my presentation. 

Slides Here


I want to give you something new to think about. A whole new way to communicate with your audience. And I mean that literally. I'm going to show you how to use language parsing can be used to shape the next generation of experiences. Not just how but why.

Websites Speak in One Direction

For all the websites we build and companies we enable to communicate, we rarely think about enabling the audience to communicate back. It’s a very limited, one directional conversation. 

One Way Conversations

Visitors do have ways of providing feedback. There’s forms, contact us or maybe a survey. Search queries can tell you something about what a use is looking for but a lot of times we primarily lean on analytics to tell us what users like. Unfortunately there's two problems with this approach: 1. we only have an implicit understanding of user behavior and 2. we don't adapt to our audiences as quickly or adeptly as we should because the information we gather isn't entirely conclusive. Why not?

Forms are Pretty Annoying

Unfortunately forms are annoying. They can be long and time consuming. Or they can throw up lots of validation requirements or maybe a captcha that just won't work. In a recent survey, it was found that forms on B2B websites have an abysmal 10% conversion rate. 10%! Imagine thinking you knew the plot to a book after reading 10% of it. It's really not enough to know. 

Search is Kinda Dumb

Search is great at one thing: finding a needle in a haystack. Unfortunately it can’t tell you anything about the haystack. Most users are now trained to query with single words. Questions in general don’t work. And the larger and more complex the index, the longer and more daunting the facet list becomes. It also still relies on a fairly code centric query language which is not always a natural fit for people.

Analytics is Really Hard

Analytics on the other hand can be enlightening but getting that nugget of truth requires the stars to be aligned in your favor. Anyone can collect analytics but it takes some real discipline to capture good analytics and enough of it to make a relevant insight. The hardest part is then knowing how to interpret what you find. It all depends on the business goals and what resources you have to achieve them. Hopefully you clearly defined you’re KPIs. Everyone has those right?

Language is Powerful

So how do we better understand our users? We talk to them. If we use language parsing tools, we can ask them directly and extract the important parts of what they say to take action. For those of you who might be wondering, yes,  this is how you build a chat bot. But at its core it's a language engine and I'm going to show you even more ways to use it because if all you see is a chat bot, you're missing most of the value.

Two Way Conversations

It’s not a chat bot but the idea is the same: allow a conversation with your audience. If you want to know what they’re looking for. Ask them to tell you. When they do, you’ll start to see patterns in what they want whether it’s asking for office information or specific products, you can match their intention and offer them options.

How do we do this? We start with the most natural place for a user to ask a question: a search box. From there you can apply it to any form input, email submission, comment block or even social media feedback. Once you get an idea of whether a user is pleased or not and what the topic of that sentiment was, you're already light years ahead in understanding how to improve your service. 

I think for me too, being able to see your customer relationship this way is a paradigm shift. One with far better outcomes.

Understanding Intentions

Let's use a simple example to see how this could work. Let's say you're a media company that also sells related clothing. Instead of simply returning results from a search form, you hinted to your users to ask questions and in one case they asked to buy a specific type of shoe. First you identify the action (buy). Then you pull out the object (running shoe) and search for that product. Now you can provide the user a button to add this product to their cart. You would still offer them search results but now you're going a bit further since you know a lot more about what they want and it specifically aligns to a goal of your business (selling clothing). 

Conversational Forms

This is of course a simple example and if you needed more than just a single product name, for example, you could identify brand, size and color. You're still able to gather that information with follow up questions but now you're engaging the user in a way they're more familiar with: asking. 

Language can open up a lot of opportunity because when a user provides a lot of information to you, there's so much more you can do to help them. Are they buying for a special occasion? Are they interested in specific topics? Now you can populate your CRM with difficult to gather information by engaging in conversation in a single, simple interface.

Demo 1

When I was trying to think of how to build a demo that would be easy for you to understand I thought what can anyone relate to? Google. What I do want to say is that you should know that you can now build the type of experience most people expect from search.

  • Search
    • Provides results from Bing
  • Natural Language Search
    • Where is the ...
    • How do I ...
    • When is ...
    • I want to buy ... 
  • Autosuggest
    • This is pulling in from Bing
  • Single Field Form
    • I want to register 
    • I want to contact you 

So that’s a short demo right? That’s kind of the point. I just did a search, asked several questions, filled out a contact form and registered in a minute and a half. That’s the power and enablement I’m talking about.

I want to mention that in the same way this is more than a chat bot, this is more than a google search too. It’s language parsing. And once you start to think about all the ways you can offer a user language interaction, you’ll open up a lot of new opportunities for improved experience.

Speech Is Powerful Too

Another dimension of communication is how we speak. Language is written in one way but speech is spoken in many ways. Arguably a much more difficult problem. However imperfect it might be, in a limited but growing number of ways it's very useful.

Transcription and Synthesis

The types of tools available right now can take text and convert it into a variety of formats of voices reading it. You can also go the other way and capture your speech and convert it to text. 

There are APIs that can translate your speech or text to another language. I'm not bilingual enough to verify its accuracy but it something to consider. The use case provided by Microsoft is for instant note taking in meetings. Welcome to the future.


One interesting opportunity we can now offer with text to speech services is the ability to convert textual content to audio. This means you can turn any blog into a podcast. Your audience can now switch from reading your article to listening. You can double the consumable surface of your blog with a single API call. It could be run in a batch or on publish or even on the first to play but it makes your content accessible in more ways and to more devices.

Conversational Chat

One way we can use this type of tool is to allow you to literally speak to Sitecore. I’ve already built a chat bot. With this you can have an audible conversation with Sitecore and work largely hands free. The amazing part of this is how easy it was to get it working. I really only spent a few days to get it working in a basic way. There are issues with speech to text creating spelling errors but those can be improved with a spell checking API applied.

Demo 2

There are some limits with this especially in browsers. To prevent auto playing surreptitious ads you need to click to initiate sound and input. Sorry. It’s probably for the best.

  • BlogCast
    • Create (both as a male and female voice)
    • Play 
  • Ole Speaks
    • What version are you?
    • Who’s logged in?
    • How many locked items?
    • Unlock my items?
    • Publish an item
    • Log me out

It's Alive!

So when I first got this working I was up out of my seat (really). To me even as imperfect as it is, there’s a lot this can do. We can vastly widen our access to Sitecore even just by making it work on a phone. It wont replace traditional accessibility offerings but they’re good enough for the average consumer and the amount of productivity we can provide authors or managers with a textual or audio interface could enable developers to provide large swathes of new functionality to users without needing to design a new interface or train users on how to use it.

Going Forward

What I really enjoy about all of this how many new ideas I come up with once I see what’s possible. These APIs offer so much opportunity.

Auto Search Faceting

Even one small change. Imagine you do a search and it starts asking you to ask to pick options for any facets that are available. Could speed up the search process quite a bit. Just imagine a world where searching doesn’t involve long lists of clicking scrolling and page refreshes.


Now this has the most promise to me. What I want to do is drive personalization through user information retrieved from a conversation. Explicit data, as opposed to implicit data from analytics. Again analytics isn’t bad. Just harder than straight up asking.

The part of this that really strikes me as interesting is using the system to be able to target editors with goals themselves. If we assume people want to use personalization then we can start using the chat bot to walk them through the setup process. They could request it or we could create goals and campaigns to use internally to help optimize the system. 


For some background, I'm using off the shelf, commercial grade, low cost APIs from Microsoft. Im using a library I’ve been developing called Sitecore Cognitive Services Core and OleChat which has connectors to Microsoft, IBM, Nexosis, Lexalytics and I'm currently working on BigML which has a highly configurable system for training and predictions.

Learn More

The  Core and OleChat are currently available on NuGet. I’ve broken up the source code into six different repos. A few are still private but everything from this presentation is available.

You can read my blog about the latest changes or reach out to me personally for help. If you have clients who are interested in some of the more advanced features you can always reach out to us at Velir and we can work something out.


I hope what you saw tonight will open your eyes to the possibilities available to you and will encourage you to start incorporating these powerful tools in your next build. Because now is the time to start speaking to your audience in a whole new way.