Home » 2018 » November

Monthly Archives: November 2018

Once upon a Time In Microsoft there was Teams, Yammer and Kaizala

Once upon a time there was a group of people sitting together at a canteen table eating their lunch. Not a word was spoken, until one of them looked up from their phone and noticed that the person sitting next to them was using a blue app to message someone. They look at the person sitting the other side of them and noticed that they were using a blurple app to message someone. They sat and thought for a moment “Hmm… one is using a blue app, the other a blurple which one should I use? ”

They finished their lunch and went back to their desk. They then whispered to the person sitting next to them “Hey I’ve got a great idea! At lunch I saw two people using apps to chat to their friends. We need an app to do that. What if we made an app that we could chat securely in where messages are encrypted? And if we can create groups as well we can have group chats. Maybe we can do video calls too that would be fun! and Oh yeah perhaps we can maybe share files or locations maybe?” Their buddy agreed “We should build that app, it’s a killer idea!”.

Fast forward a few dev months and their work is done, they have this app. Oh now we need to test it? I know the best place for this one said..

After a short test period and a few more dev cycles their app was free of bugs so they took it to their manager. “Hey Boss!” one said. “We have been working on this cool new app and want to show it to you, we think its going to be epic!”. The boss sits back in their chair and says “OK, sell it to me”.

PowerPoint loads their polished deck they’ve been working hard on for a week. “We’ve built this new app that you can chat in and chat in groups or 1 on 1″… “Hold On!” says the boss, “stop! you mean I have been paying you for 6 months and you’ve created a chat app? Didn’t you know we already have this? It’s called Microsoft Teams!”

“Is that the blurple app some people use?” asks one.

“YES!” says the boss. “Microsoft Teams is our collaboration platform for enterprises. It allows our users to chat to each other 1 to 1 using any device mobile or desktop, Mac or Windows. Users can call and do video and have meetings and conferences”.

“Ah, but we have the new concept of groups in our app” says one of the creators.

“Teams has Teams. Anyone can create a Team a team is like a group. where groups of users can chat, call, meet and collaborate on documents together in a secure virtual space” says the boss.

“Oh, our app only allows groups of users to chat, call and share files” says the other creator. “But, we are different as we are mobile only and our app is for instant and random chats between users that can quickly change topic and dimension. We aren’t trying to force collaboration because not everyone wants to collaborate all the time, they may just want to chat. Plus this Teams app you mention by the way you describe it seems to be very narrow focused to a concentrated circle of users. We want our users to be able to chat to anyone without restriction and discuss a wide variety of topics that can be answered by the larger community”.

“But we have Yammer for that” says the Boss. “Yammer is our social platform where you can join interesting groups and ask questions to the wider community, or get involved with conversations replying to group messages. Users can announce important information, share files and other content and also send a private message too”.

“Right….” says one creator. They both pause for a moment, look at each other with sweat starting to trickle down the side of their faces, when the boss pipes up and says “Don’t worry! Iet’s take it to our marketing department and get their feedback!”

A week later, the marketing team come back to them and say “We love it! We have this concept of inner loop and outer loop that we’ve been using to differentiate Teams from Yammer and when and why you’d choose one over the other. It looks a bit straightforward, we need some diversity, so we think this app can fit in this story and we’ve created a new loop. It’s called the open loop. This is where your app will be positioned”.

both the creators and the boss look at each other bemused, but collectively nod their heads. “So what is this loop thing you’re talking about?” one asks.

“well the inner loop we refer to is a bunch of people you work with closely day to day and have regular and purposeful conversations with and need to collaborate together to create something cool, like this app you’ve made. You 3 are a good example of an inner loop. The outer loop is when you want to reach out to your workforce peers and have open discussions about business related topics that may not be sensitive or require answers from people outside your immediate group or inner loop. We use this when you have a question you need answering, but you don’t know who to reach out to in a 1 to 1 conversation, so posting it on an open board allows you to get your answer quickly and more importantly it is probably going to be the right answer, and now you’ve made that connection you never had before

Now the open loop we’ve created for you this is for when the topic is neither fit for inner or outer loop. Its for you to communicate and coordinate across your value chain in a dynamic mobile first manner”.

The boss turns around and says “I get the inie outie loopie thing, but what you just said makes no sense, can you simplify it?”

“Sure!” says the marketing team. “Basically, its just to allow random chats between people in the organization, you know if you need to ask a spontaneous question to a colleague and they’re not online in Teams then you can use this to send them a message. Or if you’re organising a staff party you can create a group and organise it within your group. You know, conversations that probably have limited if no structure or longevity to them”.

“Got it!” says the boss, “So its WhatsApp for Office 365?”

“Yes, you got it!” says the marketing team.

“Today we proudly announce the availability of Kaizala, a mobile first chat and group messaging app for your enterprise”….


I write this in humour of course but I hope it’s made the point. When Kaizala was released I was sceptical as to why Microsoft saw fit to create basically a WhatsApp clone. Whilst I have heard good reports about the app I fear it has an uphill struggle to up seat WhatsApp usage for business communication.

I can see why this has been attempted. People taking potentially sensitive conversations away from corporate systems to WhatsApp even sharing documents etc. and that is a real concern for some businesses who are fighting hard to maintain compliance and control.

I can also see that trying to encourage adoption of apps like Teams and Yammer as alternative platforms to WhatsApp have their limitations and user experience issues for when you just want to send a message and this makes adoption a struggle.

At least with WhatsApp I can scroll my phone address book find the person I want and tap away. In these other apps, its slower in that i have to search and wait for a match etc. They do the job but the experience can be a turn off, so people revert to what is easiest. Its really easy to use, simple and does the job it’s meant for and that’s why people love it.

People think that well WhatsApp is encrypted so its an acceptable platform to talk business and share business documents on and this perception is built from not fully understanding legalities and compliance and control.

So I feel Kaizala is a “If we can’t beat em, join em” app that’s been created to try and unify all business communication under one single controlled and compliant system in Office 365 whereby users are happy they have the tools they want to use at their disposal and the freedom to communicate in the sphere they see fit, but the company maintains overall control and compliance and greatly reduce their attack surface for hackers or unintentional data breaches because someone sent the company financials to the wrong WhatsApp contact…

Evaluating Cloud Video Interop (CVI) Architectures with Microsoft Teams

If you’re like me then getting your hands on video conferencing scenarios is like your nan’s birthday. It comes around once a year and you spend two months trying to figure out what to get for a present. I am not ashamed to state that video is not my strong point especially where interoperability is, it’s just that the opportunities that have come my way have been more centered on enterprise voice than video interop.

Recently, I tried to fill that gap a bit and went on some Pexip training to see how this stuff is done. I don’t know why but I always thought it was more difficult than it turns out to be. Really the only thing different between voice and video is how the codecs behave, the architecture and protocols are fundamentally similar to voice and somehow I knew that, I just thought it was more difficult than it was. 

So at a basic level of understanding we have a device in a room, it does video conference stuff and we need to be able to join this device to another device on another platform that is also doing some video stuff but differently and we need some glue in the middle to make that happen. Enter, Video Interop.

Why can’t these devices just connect? I mean video is video right?

Well to answer than the answer is pretty much no. Remember Blu-ray and HD-DVD? They both are capable of digitally storing a movie but you need a special player to play either Blu-ray or HD-DVD. The same can be said for video conferencing. Each system generally offers the same functionality and delivers the same output, but invariably you need dedicated and vendor specific hardware to use it. What if you wanted to loan your Blu-ray copy of The Fifth Element to your friend who had a HD-DVD player? You can, but they would have to go to the store and buy a blu-ray player…

Of course, I am speaking generally, and HD-DVD never took off, but the point is valid. This is the problem in video conferencing world where you have some gear in your meeting rooms that you want to use inside a Microsoft Teams meeting. How do you get this stuff to work?

The first problem we have to understand is the Microsoft Teams meeting architecture. Fundamentally, this is a H.264 video meeting space which means that any endpoint wanting to use video inside a Teams meeting has to be capable of sending and receiving H.264 video streams.

The second problem is that the Microsoft Teams client is dedicated to the Microsoft Teams meeting ecosystem, meaning that unlike Skype for Business, it is incapable of joining a meeting space hosted by another platform.

The third problem is that your video conferencing endpoint is probably either using h323 or a variant of H.264 that Teams doesn’t understand.

The fourth problem is that Microsoft Teams doesn’t use SIP in the meeting context, so even if your video conferencing endpoint uses SIP, you still have an interop problem to solve.

So your organization is moving its meeting space to Microsoft Teams. How do we solve this problem? Cloud Video Interop (CVI)

Firstly, you need a product to act as a middle man, that is able to ingest the signaling protocol and video codec supported by your video conferencing endpoint and convert it into a Teams compatible signal and codec, send it to the Teams MCU and vice versa. There are 3 products on the market for this right now and they are Pexip, Polycom Real Connect or BlueJeans.

Whichever product you choose, one thing is consistent across all three products. The Microsoft Teams connector (the server that connects the systems transcoding servers to Microsoft Teams) must be installed in Microsoft Azure. The rest can be anywhere, but this connector cannot live anywhere else due to Microsoft certification requirements.

The question now becomes are you going for a SaaS CVI or On-Prem / Private Cloud CVI?

This post is not going to argue which one you should choose, but consider the impacts of the decision you’re about to make.

If you’re going with a SaaS solution, this of course is a faster route to delivery and the benefits of OPEX subscriptions means that within a short period of time the high level objective is achieved. However, one thing to be very conscious about is understanding the architecture and limitations of the SaaS product you have bought into.

The biggest considerations is understanding how interop works. To do this is down to how meetings are organized. If you’re using Microsoft Teams, the meeting space will always be held within Microsoft Teams and an Office 365 datacenter. This could be in the same datacenter as your tenant, or it could be in some other. However, that generally doesn’t matter too much because the Microsoft internal network for Office 365 and Azure is super efficient it almost becomes a moot point. The most important note is that it is Microsoft hosting the meeting.

So now your video conference endpoints need to join a Teams meeting. They do not actually join directly. In any interop scenario, they will register to your interop service and that will spin up it’s own conference of a kind that the video endpoint will join. The interop service will then connect it’s conference to the Microsoft Teams meeting via the Teams connector in Azure. Transcoding happens on the interop service not the connector. 

The next point when considering SaaS is the datacenter location of their transcoding and connector services. There is little point in signing up to a service that has one global point of presence the other side of the world to your video endpoint or tenant because that would introduce some massive latency, packet loss and jitter issues, which is generally considered bad for video and voice.

If the SaaS solution has sufficient global coverage, then maybe it still is a viable solution to consider, if your internet links are optimized with this service in mind.

The other option is to use an on-prem solution, or private cloud where you can control the media path more optimally. Generally speaking, it is better to perform transcoding locally than in the cloud and sending H.264SVC streams over the internet is preferred as its considered more tolerant to network impairments, but with data connections being better than what they used to be, the performance gap is reducing. 

With solutions that use distributed interop, on-prem can be really efficient in scenarios whereby you have multiple video conferencing endpoints wanting to join the same Teams meeting but from all over the world. In this scenario you can have internal transcoding servers located geographically closest to each of the video endpoints. Each endpoint would connect to the closest transcoding server to them, media between endpoints would then switch locally across your LAN & WAN whilst only sending the required media to the Teams conference so that users joined in by the Teams client can interact and participate. 

So on-prem can from an architectural perspective be more appealing in multi-endpoint scenarios and where SaaS doesn’t have the coverage it needs, but comes with the costs of hardware, which for video isn’t going to be cheap entry level server, but a mid to high powered performance server at least 5 figures per server.

In summary, there is no real definitive outcome as to what you should do. Financially it makes sense to look towards SaaS interop with Teams and as we know these days financial incentives tend to win the race. But this does come at a cost that is usually paid in reduced user experience if poorly implemented. For out and out performance, on-prem still wins the race and is the most optimal solution money can buy, but you have to have the money in the 1st place.

I’ll finish with a suggestive approach for you to consider. If your company are light users of video conferencing suites and your persona investigation has proved that device usage will reduce even further with the implementation of Microsoft Teams, then you’d probably want to consider SaaS as your primary solution for CVI.

If, however, your organization are heavy video conferencing users and this is to continue or increase with the implementation of Microsoft Teams, then you’d probably want to consider an On-Prem solution first over a SaaS.

%d bloggers like this: