There’s scaling and then there’s scaling.
One thing that was missing from these comments is an understanding of what scale means. Or rather the different types of scaling that are required when it comes to real time video.
Here are a few different aspects of scaling real time video.#1 – Streams per machine
This is something that was raised on one of the comments on Facebook:
Most of the SFUs out there can actually handle 100’s and even 1000’s of connections (our data is not public but look at JVB:https://jitsi.org/Projects/JitsiVideobridgePerformance) and with most of them it should be possible without much effort to configure multiple SFUs in cascade to scale almost without any limit in my opinion.
That answers the question how many parallel sessions can you conduct on a single machine?
What is this one good for?
When you know how many sessions / streams you plan on having, you can then calculate how many machines you’ll need to run that scenario. From there, it is easier to extrapolate costs.
But that’s not our only vector of scale.#2 – Streams per session
How many streams can we “bundle” per session?
In the comment above, what was failed to be mentioned was that these tests of 100’s and 100’s of connections were when each session had no more than 33 streams in it. So if what I want is to live broadcast a singer to 1000’s of viewers in real time – this SFU solution won’t be suitable for my need.
It is nice to be able to do multiparty video or to broadcast live with low latency, but always ask yourself – what’s the upper limit here for this single session? How many participants can I cram into that session without making things impossible on my infrastructure?
There are, in general, two critical challenges here:
- When the number of users per session grows, the amount of communications between peers should be limited. At the extreme, a broadcaster should not be harassed by viewers directly (which is wher e the SFU starts breaking at scale and why I assume Jitsi preferred not to check above 33 participants)
- When the number of users per session grows beyond a single machine, how does that compute? You’ll need to be able to distribute the session somehow either by cascading or using some other means of architectural magic
It is also worth pointing out that the larger the group, the more fragmentation issues you’ll have across parallel sessions – if the size of a session is dynamic, then on what kind of a machine should you start it? One which is free or one which is already somewhat busy? Can you dynamically route a session to other machines when the need arise? How do you load balance this?#3 – Failure diffusion
This one is related because the higher the scale and capacity, the more of an issue this will be.
Let’s assume we can get a machine to run 10,000 streams in parallel. I am optimistic today. Let’s also assume that this all happens in a single process running in our machine.
What happens if there’s a bug somewhere (and believe me – there already is), which happen to cause the system to crash? Whenever we hit the bug, 10,000 streams get disconnected.
Now let’s further assume that each session holds 10 streams on average. And the bug was invoked due to one of these streams doing something slightly unorthodox. Now we have one session causing the disconnection of 999 more sessions on that machine.
Which leads us to the question –
Can I run multiple processes on the same machine, each catering a smaller number of sessions? Maybe even only a single session? How does that impact memory and performance? Is it even desirable?
For some, this might be necessary in their architecture – and it is very far from how telecom services are architected…When Talking About Scaling…
Make sure you refer to the specific aspects you wish to scale.
Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.
It is in the viewer side.
Live broadcast is all the rage when it comes to WebRTC. In 2015 it grew 3-fold. It is a hard nut to crack, but there are solutions out there already – including the new Spotlight service from TokBox.WebRTC Live Broadcast Today
If you look closely, most of the deployments today for live broadcast using WebRTC look somewhat like the following diagram:How you live broadcast using WebRTC today
What happens today, is that WebRTC is used for the presenter – the acquisition of the initial video happens using WebRTC – just right to the broadcast server. There, the media gets transcoded and changes format to the dialects used for broadcasting – Flash, HLS and/or MPEG-DASH.
The problem is that these broadcast dialects add latency – check this explanation about HLS to understand.
With our infatuation to real time and the strive of moving any type of workload and use case towards real time, there’s no wonder that the above architecture isn’t good enough. With my discussions, many entrepreneurs would love to see this obstacle removed with live broadcasts having latency of mere seconds (if not less).
The current approaches won’t work, because they rely heavily on the ability to buffer content before playing it, and that buffering adds up to latency.WebRTC Live Broadcast Tomorrow
This is why a new architecture is needed – one where low latency and real time are imperatives and not an afterthought.
Since standardization and deployment takes time, the best alternative out there today is utilizing WebRTC, which is already available in most browsers.How WebRTC live broadcast will look like tomorrow
The main difference here? The broadcast server needs to be able to send WebRTC at scale and not only handle it on its ingress.
To do this, we need a totally different server side WebRTC media implementation than the alternatives on the market today (both open source and commercial).
What happens today is that WebRTC implementations on the server are designed to work almost back-to-back – they simulate a full WebRTC client per connection. That’s all nice and well, but it can’t scale to 100’s, 1000’s or millions of connections.
To get there, the sever will first need to split the dependency on the presenter – it will need to be able to process media by itself, but do that in a way that optimizes for large scale sessions.
This, in turn, means rethinking how a WebRTC media stack is architected and built. Someone will need to rebuild WebRTC from the ground up with this single use case in mind.
I am leaving a lot of the details out of this article due to two reasons:
- While I am certain it can be done, I don’t have the whole picture in my mind at the moment
- I have a different purpose here, which we are now getting to
To build such a thing, one cannot just say he wants low latency broadcast capabilities. Especially not if he is new to video processing and WebRTC.
The only teams that can get such a thing built are ones who have experience with video streaming, video conferencing and WebRTC – that’s three different domains of expertise. While such people exist, they are scarce.Is it worth it?
Optimizing down from 20 seconds latency to 2 seconds latency. That’s what we’re talking about.
Is investing in it worth the effort? I don’t have a good answer for this one.
Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.
Two messaging services. Focused on consumers. Doing practically the same thing. Do they compete or cooperate under Facebook’s roof?
Messenger and WhatsApp are the biggest messaging platforms toady. Messenger announced 800M monthly active users recently, while WhatsApp celebrated hitting the 1 billion mark. As they both strive to continue with this rapid growth, I have to question – are they joining forces or competing fiercely between themselves.
The reason I raise it stems with how they implemented web support and VoIP:
- Messenger unbundled from Facebook, opening its own independent site, which acts as a full messenger client. If you want to make calls, you use WebRTC for that
- WhatsApp created a web frontend tethered to the phone app. It cannot work without the phone nearby. And when it comes to VoIP, it might be using the same codecs as WebRTC, but not the vinyl implementation
They are taking different architectural approaches. But they end up implementing the same feature set.WhatsApp in 2015
Here’s what WhatsApp did or was rumored to be working in the last year:
- Experimenting with video calling
- Planning to introduce tools for businesses to communicate with users
- Adds voice calling
- Introducing WhatsApp web
Here’s what Messenger did in the last year:
- Facebook adds video calling to Messenger
- Unbundling Messenger from Facebook accounts – rely on phone numbers
- Unbundling Messenger from Facebook
- Introduced Businesses on Messenger
- Other notable additions include Transportation, sending money
Not much of a difference…
Running such a thing at scale of 100’s of millions of people is painfully hard. Doing that twice under the same roof is even harder:
- It seems like they develop everything twice or separate infrastructure and architecture.
- There’s no federation between the two – you can’t send a message from a Messenger user to a WhatsApp user – even though both belong to the same company
Where would each of these services go next for growth?
The above slide from eMarketer shows how in some countries, the main competitor of WhatsApp is Facebook Messenger – and vice versa. I think each of them tries independently to raise his users base – with no real regard of the other’s footprint at any given location.
This one from Activate goes to show how growth for both these platforms come from the same areas – and where they overlap or compete on the same set of users.
Something doesn’t work out here for me, though it is hard to lay a finger on it.
WhatsApp is probably still a strange bird in Facebook, far from the rest of the company and its DNA. Getting it in line with Facebook will take considerably more time.
The post Are WhatsApp and Messenger competitors or partners in Facebook? appeared first on BlogGeek.me.
Without arguing about the quality of a specific Open Source media stack, would you say that WebRTC was as big a thing if it didn’t run in a web browser?
I guess the answer is no it wouldn’t be that big a thing.
Here’s where I am getting at it. There are two popular slides I usually use:
The one above explains that WebRTC sits at an intersection – it appeals both to VoIP people as well as to Web people.
The second slide above is about what makes WebRTC so transformative – it is about the fact that it is Free, but also because it is available for Web people.
Without the web browser part, we would have been left with only Free.
We’ve had open source media engines before. GStreamer is a popular one. Codecs were a bit harder to come by – especially those that don’t require patent payments (royalty free). It wasn’t the best thing out there, but it worked – people still use it today.
WebRTC made the open source version of a media engine as good as a commercial one – it came out of an acquisition of a commercial media engine vendor after all.
But that’s where it stops – it wouldn’t have made such a transformation in the market – it would be more of the same with a small evolutionary step. Nothing to write home about.
The browser bit, though… that made VoIP available and open to everyone with some HTML and JS experience – a lot larger pool of talent – and one dabbling a lot in experimentation. This is what got us so many use cases.Mobile might be different
For mobile only use cases, WebRTC would have made all the difference – same as it does today. The idea behind it in mobile isn’t that it offers a browser experience or that it is available in the browser (it isn’t on iOS). The idea is that it would have been the cheapest route to a product than anything else out there. And with the trend of communications moving in-app, that would still make the impact it does there relevant.
Which brings us full circle.
Let’s assume mobile is eating up the world. Let’s assume it is only a matter of time until content creation and not only content consumption moves from the PC to mobile. Once that happens – who cares about what happens in the browser?
It will all be in-app anyway.
And there – WebRTC is making a difference.
Kranky Geek India takes place in Bangalore on 19 March 2016. Register to join us!
The post Would WebRTC be as Big a Thing if it Didn’t Run in a Web Browser? appeared first on BlogGeek.me.
WebRTC use cases? An endless list of opportunities.
Here are a few, off the top of my head, of use case I’ve came across in the past year or so, where WebRTC was used or seriously planned to be used.
- Simple video chat
- Web conferencing
- International voice calling
- Receiving a call in the browser
- Hospital clowns
- Performing digital art on stage
- Visiting a museum at night
- Adult gaming
- Doctor visitation
- Group therapy
- Jail visits
- Drug prescription
- Document signing
- Live broadcasting
- Radio stations
- Music jams
- Gym classes
- Dance classes
- Teaching and learning online
- Expert consulting
- Contact centers
- CRM integration
- Job interviews
- Virtual classes
- One on one tutoring
- Web meetings
- Video streaming
- P2P CDN
- Private messaging
- File sharing and sending
- Assisting hard of hearing people
- Assisting the blind
- Assisting people who need live translation
- Language learning from a tutor
- Practicing language with native speakers
- Security cameras
- Collecting sensor data
Did I miss any WebRTC use cases? Definitely.
What will you do with WebRTC today?
And if you built anything – might as well publicize it on the WebRTC Index.
Not too big, but not small either.
Here’s a shocker – Facebook Messenger has been updated 19 times on Android in 2016. WhatsApp has had 25 releases in the same time span. And we’re not even in the middle of February.
We are talking about the two messaging applications with the largest number of monthly active users, with WhatsApp surpassing the one billion milestone. gulp.Should we place messaging apps under weight watchers?
To deliver an app that weighs 26 MB to a billion people (I am thinking WhatsApp here), you end up sending over 23 petabytes of data (translation: a shitload of bits). Doing that 25 times since January 1st…
I took a stab at looking into the consumer messaging apps (some of the enterprise ones are larger, though less frequently updated). Here’s what I found:#1 – They are all fattening up
The scatter graph above is a bit scattered, but it is easy to see that most apps are increasing in size over time. Since September 2014 until January 2016. They all migrated from the 10-20 MB sizes into the 20-40 MB sizes. That’s a doubling in their weight in less than two years.
We don’t think about it much, but we’re in a serious need of a diet here:
- This loads our networks. Not as much as video traffic, but still significant
- Most users have more than one such app on their phone
- These apps update frequently
- It adds up
- With WhatsApp reaching the one billion mark, where will it be headed next?
- To maintain its growth it needs to search for additional users
- These need to come from developing countries
- And there, bandwidth and data is scarce
- The smaller the app, the easier it is on users to handle
- Most of the messaging apps don’t seem to care about how fat they are
The bar chart above shows how big the latest version of each of these messaging apps is.
Te results are rater surprising:
- Skype is the bloated of them all at this point in time, but I don’t remember anything new or interesting that Skype on Mobile introduced in the last two years. And yet – it managed to double its size
- Those in the vicinity of one billion users/downloads are trying to stay on the skinny size – Facebook Messenger, WhatsApp and Hangouts are all rather small compared to the rest of the pack – and somehow, Facebook Messenger is even smaller than WhatsApp (I’d expect it to be the opposite)
- WeChat and LINE, which can be seen as e-commerce platforms are larger than most, but somehow Skype and Viber manged to be even bigger
I wonder when a diet will be called for. And maybe it already is.
Kranky Geek India takes place in Bangalore on 19 March 2016. Register to join us!
If you aren’t using AppRTC yet then you should start.
I had a few customers last month who had quality issues with their service. They were trying to understand the root cause of these issues, and at times, the question raised was “is WebRTC up for the task?”
- Does the poor audio quality we experience in our service derive from the codec, the browser’s implementation or something in our own backend?
- Are the video stutters stem from heavy packet loss and that’s just life – or are we adding some of our own issues into the mix?
- The average bitrate we reach in a call. Is it because the browser is limiting us? Is it because the connection is bad? Is it…
The list goes on.
The fact that now you get a fully implemented media engine in the browser for free is great. The problem is, it gives you (or your developers) the opportunity to blame the browser: It isn’t us. Google’s engineers did such a crap job with X that we just can’t fix it.
More often than not – this won’t be the problem.When in doubt – check AppRTC
Google launched AppRTC quite some time ago.
AppRTC is Google’s way of showcasing WebRTC in their simplest version of the “Hello World” program. This being WebRTC, there are many moving parts, but to some extent, AppRTC is rather baseline – especially in its dealings with media.
This makes AppRTC a great baseline reference when you have issues with the media paths of your own service or just want something to compare it with.
Got an issue? Test what happens when you run AppRTC and compare it with your own service. If you see that your service isn’t performing in the same manner, chances are the problem is on your end – and now you can start diverting focus and resources towards searching the problem instead of blaming the browser.
Where to look for the problems?
- Your NAT traversal servers, if they are being used
- Are you doing any backend processing for the media? Map your pipeline there. Check each step of that pipeline to see if it is to blame
- Transcoding never fails to fail you – check there if you use it
- Jitter buffers are notoriously… jittery. Make sure the implementation fits your use case
- Network routes and handling dynamic bitrates and packet losses might be handled nicely by the browser, but is your backend up for the task as well?
Google has another great analysis tool – test.webrtc.org
You open the settings, insert your own STUN and TURN server configuration – and start the test.
It will then check the system and network connections to give you a nice view of what the browser is experiencing – something you can later use to understand the environment you operate in.Why is this important?
With WebRTC, it is easy for developers to blame the browser. This isn’t productive.
Your first task should be to create a baseline reference you can trust. One that enables isolating the issues you are experiencing systematically.
AppRTC is a good place to start.
The post Are You Using AppRTC as Your WebRTC Baseline Reference? appeared first on BlogGeek.me.
Our next Kranky Geek event is taking place in India.
Kranky Geek events? We did them twice. Both times in San Francisco. Both were very successful events. In both we didn’t know if these are one time gigs or something we want to continue doing.
Then we sat down to plan 2016, and came up with three planned events. The first one is taking place in Bangalore, India.
As with any Kranky Geek, this one is about developers of real time communications.
Like previous Kranky Geek events, it is free to attend. Sponsors take the burden of enabling us to plan this event and then pay for everything around it.
Google has been taking the lead here and helping us a lot in getting these events off the ground – in a way taking the leap of faith in our ability to manage these events.India
Google asked us to do an event in India, so we happily obliged. For me, it would be the first time in India, making the excitement on my end even higher.
India makes sense in a lot of ways. Many of the vendors I end up looking are vendors that are local to India. Others are vendors with large development teams in India who end up doing a lot of the WebRTC development. Kranky Geek India gives me personally a great opportunity to meet many of these people in person.
To make things short:
Where? Bangalore, India
Exact location: MLR Convention Center
Date and time: March 19, 11:00 until we finish
How do I register? here
Our sponsors this time are Google, TokBox and IBM. Expect a large cadre of interesting speakers and topics – some local and some international in nature.
I’d love to see you with us at the event!
Just making sure you’re not missing out…
If you don’t know, in the last year I’ve been part of a great team of partners. We are building together a WebRTC monitoring and testing service called testRTC. The service is up and running for some time now with an increasing number of customers.
The most crappy part of our service was our website (not the one customers are using, but rather the one potential customers look at). So we updated it recently.
One of the main additions to that website is the new blog there. I’ve got an editorial calendar for it running until March with weekly content that I want to share with you, but felt that BlogGeek.me isn’t the best of places for it – it was too focused on testing or too related to testRTC.What will you find in our testRTC blog?
- Announcements about our service and the versions we are rolling out
- Useful tips for testers, like the one we published yesterday about .y4m files and Chrome
- Things we think you should take care of in your testing practices
- Insights into our design decisions for our internal architecture
- Test script samples of how testRTC can be used to handle certain WebRTC testing issues
So some of the content will be relevant to everyone while other parts of it for those using testRTC.Subscribe now and follow us
If this sounds interesting, I suggest you subscribe to our blog or social media link(s):
Dumb pipe or not, data services thrive mainly out of the telecom world these days.Can Telecom Services survive the Internet?
Telecom Services are an interesting notion. For over a hundred years we’ve been taught that Telecom Services=Phone calls. Then messaging was added to it in the form of SMS on mobile. Telecom services themselves assume that their role in life is to sell us our communication services.
This is no longer true.
I remember working on 3G-324M. A circuit switched video protocol, now dead to the world at large. In many of my discussions, people complained about their inability to add services on top of what a carrier provided – there were too many layers of debilitating bureaucracies.
Today? Everything operates over an IP network. Most of us don’t even care if it is cellular, landline, wireless, or whatever – as long as we get our bits on the line – we’re happy.
While we are all happy using VoIP services and discussing how disruptive it is to carriers, we haven’t seen nothing yet.
The wheel has turned. In the past, advantage lay in owning the network and offering managed services on top of the network. Today, and moving forward, advantage lay with those who can operate their service across networks.
This means that carriers are left with their own network, and a DNA of working inside their own managed network – something that makes it harder for them to operate in this new reality.
Here are two areas that drive the message home:#1 – Google Fi
Google Fi is how mobile phones should operate. It is Google being an MVNO and offering mobile plans to its customers. Instead of buying a plan (and maybe a subsidized handset) from a carrier, you can just purchase a plan from Google – and use a Nexus smartphone.
What makes Google Fi so different is that it operates on 3 different networks:
- Any Wi-Fi it can get connected to
Read the FAQ for this one – it is quite telling.
Here’s one piece of it:
What happens if I start a call over Wi-Fi and then lose my Wi-Fi connection?
On your Project Fi device, if you start a call over Wi-Fi and then your connection weakens or drops (such as when you leave your home or office), Project Fi seamlessly transitions your call to a cellular network (if one is available) so you can keep talking.
Calling is no longer tied to a cellular network. Fi has 2 cellular network and whatever Wi-Fi you happen to be on. And it decides what to use based on past experience of Google – and is able to change that dynamically mid-call.
Fi is not your typical MVNO. Or your typical VoIP provider. Or your typical carrier.
It is just how things should be.#2 – Internet of Things
The Internet of Things to me is everything but a carrier. The hint to that is in that first word – Internet. You don’t really need a carrier for that – just an IP connection. Any IP connection.
While there are use cases that will necessitate a carrier (or just his SIM cards?), most of them don’t have a carrier as a prerequisite for their existence.
I like this slide of Octoblu – an IOT platform that was acquired by Citrix:
It shows the various players in the IOT space:
- IOT frameworks
- Smartphones (control points of us humans)
- Embedded devices and sensors
- Messaging, aggregation and rules engine for all the data flowing around
- Storage and analytics
- Applications and integration
Nothing about the underlying network. No one really cares what that ends up being. Which makes sense. For this to work, you need an ubiquitous network. Not necessarily one with high bandwidth or no packet loss – but one that you can assume exist. Which is what we have in most of the modern world now.Final Thoughts
No. This isn’t the end of carriers.
Yes. They will still make boatloads of money.
Much like electricity is a utility, access to the Internet is a utility.
The services on top of it though? They don’t necessarily belong to the carriers.
The post Google Fi, Internet of Things and the Bleak Realities of Telecom Services appeared first on BlogGeek.me.
All roads lead to WebRTC.Java in the browser no longer an option
This started happening in 2015, and is growing as a trend. Half a year ago we witnessed browsers killing off plugins and Flash with a slew of new security issues getting shunned by browsers for a few days.
This left developers with 4 available alternatives for VoIP in a browser:
- Flash, with the assumption it is being declining in popularity and support
- Plugin, which is getting harder and harder to build and maintain in a way that browsers will support it at all
- Java, the promising technology from a decade or two ago that got outdated for frontend browsers, but still available
Oh and there’s this Java Web Start thing, but seriously – you planning on enticing your customers to INSTALL something on his desktop in 2016?
With Flash and Plugin options becoming deprecated as we move further, it seems that Java will be taking the deprecation plunge as well. Oracle just announced they won’t be supporting their Java plugin moving forward.
You are yet again left with WebRTC.
The real implications aren’t for those using WebRTC, but rather those who are trying to support browsers without WebRTC:
- Up until today, they were two ways of supporting non-WebRTC browsers: Flash or a plugin (Java or other)
- Flash was always a challenge due to the mismatch in media codecs between Flash and WebRTC, along with crappy echo cancellation
- Plugins meant you could support WebRTC by wrapping it as a plugin, but this is becoming harder to do with each passing day
- Java seemed like a good enough alternative:
- Many organizations had to enable Java in browsers because their internal systems worked with Java applets and programs
- With Java you could implement WebRTC on the network on your own – there was an implementation or two of this nature
- The problem is that Java will stop supporting plugins, so if you relied on Java to get WebRTC for you – that route is closing as well
The future of communications is in WebRTC.
Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.
The post First Plugins, then Flash and now Java – WebRTC is now the only alternative appeared first on BlogGeek.me.
It is. But it really isn’t.
Confused?Still thinking WebRTC = P2P?
There’s so much misunderstanding about WebRTC that it is funny at times. People throw into a conversation sentences like “WebRTC is just peer-to-peer – it can’t do a large conference service like you can with [PLACE-YOUR-COMPANY-NAME-HERE]”.
As with anything else in life, such comparisons are plain wrong. As I always say: WebRTC is just a technology. It is up to you to develop your service on top of it. If that service happens to be a large conferencing service, then why not?
WebRTC being P2P is just as P2P as SIP is. Or H.323. The only difference is that you get to choose your own signaling and your own client. For the first time in history, you get to choose how the topology of your solution will look like from a media and signaling perspective while using a standard specification – and not be bogged down by how people decided to define SIP. Or XMPP. Or whatever.
I had a call with a customer recently. A question that was asked during that call is do I see anyone using WebRTC in mobile just because of cost inefficiencies – not because there’s a browser requirement hiding somewhere in there. The immediate answer I gave was “definitely”. Followed with a few examples to show the point.
WebRTC is P2P? WebRTC is for browsers only? WebRTC only works in Chrome and Firefox?
There are two ways to think of WebRTC:
- A standard specification with a default implementation in browsers
- An open source media engine
If you miss that second option of open source media engine then you are missing out on a lot of the use cases out there that are based on WebRTC.
The same applies for server implementations.
There are 3 main components to a WebRTC deployment on the server side:
- Signalling – how do you get the WebRTC clients connected in the first place?
- NAT traversal – STUN and TURN needs to be mediated
- Media processing
The first two are mandatory. You’ll have them in all production services with WebRTC no matter what. The media processing one is a bit less obvious, but it is necessary in many use cases. I’ve touched this briefly recently on a post on Dialogic’s blog – oftentimes, you’ll need a server. Be it for recording, multiparty or something else. When that time comes – it isn’t that WebRTC doesn’t cut it for the job because it is P2P – it is that you’ll need to search beyond Google for a solution.
And when you search beyond Google, there are tons of different alternatives:
- DIY from Google’s WebRTC open source stack (or by other means)
- Open source frameworks and SDKs, with and without paid support options
- Commercial products, hardware and software based
- Commercial SaaS offerings for specific media components
- Commercial SaaS offerings for the whole shebang
- You can build/integrate it with your own developers or use outsourced developers or software houses
Next time someone dismisses WebRTC for his project because it is only peer-to-peer – tell them to check his initial hypothesis so he won’t miss out on some of the options he has available to him.
Messaging is a platform.
We’re used to messaging. All of us. SMS has been around for ages. And it feels like iMessage, WhatsApp and Facebook messenger were here in the last few decades as well – they are so ingrained in how so many of us behave that we fail to even acknowledge how new they are.
For those of us who have VoIP in their veins – who learned, worked and breathed VoIP in the beginning of the second millennium, messaging is just an extension of VoIP. A buddy list, with the ability to send a message to a buddy.
Some even believe you can charge for messages (RCS – I am looking at you).
The truth of the matter is, that today, messaging is free. It is an expected “utility”, where money is made elsewhere. Facebook spent countless of billions to own WhatsApp – a messaging service with boatloads of users and little by way of features and bells and whistles. Oh – and in most cases and places, WhatsApp never charge its users for the system, and now, it probably never will.
For me, these are the things that are important from these two posts:
- That whole phone number replacement thing
- Is irrelevant in many cases
- It might work. It might not
- But that’s not where the action or money is anyway
- The future is in messaging services that may acknowledge the phone number but don’t rely on it alone
- The business model is in the business
- Messaging services doesn’t rely on consumers to pay. They rely on having a huge active subscribers base – attracting businesses to pay for the opportunity to interact with the users. Facebook is headed there. WhatsApp announced going there. WeChat is already there
- This means having an API, a market place/discoverability, good integration points
- B2C conversations
- Should you build a website for your company? A smartphone app?
- Maybe it needs to be embedded into the messaging services your customers are using instead?
- And if it is, will it be as brand pages, or just direct messaging to users?
- For the most part, messaging platforms will end up connecting people not only to other people, but to businesses and maybe even devices (for those of us in love with IOT concepts)
- Artificial intelligence and messaging bots
- Everyone is headed there in the past couple of months for some reason
- Most don’t know what it means
- I can’t say I grok it to the level I wish that I did
- For me, this is about bringing a Siri/Cortana/Google Now like experience into the messaging platform
- Delighting users
- Focusing only on the job-to-be-done of the platform isn’t enough
- Rationalizing a great UX and putting a polished design isn’t enough
- Users need to enjoy the service – it is about experiences for them – even in a work environment
- Here’s how Slack does it – which is a lot more telling than the Facebook examples
Messaging is a lot more than messaging and signaling protocols these days. It is less about the underlying network technology and more about business aspects and usability. It takes away a lot of the power and ego out of the VoIP guys. Just like that, they don’t really know what should be in their core competency. I come from this VoIP background, and I need to struggle with it daily.
What are your messaging plans for 2016?
S doesn’t stand for Simple in SFU.What are you doing about your WebRTC SFU requirements?
I have noticed recently that more and more companies are attempting the creation of their own SFU. SFU stands for Selective Forwarding Unit, and it is by far the most popular and cost efficient architecture today for multiparty video with WebRTC. With it, all participants send their video to a single entity (usually in multiple resolutions/bitrates), and that single entity decides (selectively) how to route the incoming video to all the participants.
One such popular framework is the Jitsi Videobridge.
Up until today, an SFU for WebRTC was rather simplistic. You had VP8 to contend with as a developer but that’s about it. Life was good. You built your service and mostly whined about incompatibility between browsers.
Things have changed.
Here are a few things that you need to take into consideration when you either build your own WebRTC SFU or adopt/acquire one from others:
- Do you use VP8 or VP9 in your SFU?
- Google is already adding VP9 to Chrome
- How long will it take until it catches on for some use cases?
- VP9 is a better codec, so why not use it?
- Can it support multiple codecs simultaneously?
- Before the end of this year, we will have VP8, VP9 and H.264 available to us in browsers
- Not all browsers will support them all
- VP8 seems like the lowest common denominator at the moment
- This may change to H.264 when Microsoft Edge and Chrome support it though
- An SFU supporting only VP8 will start looking old pretty fast – and won’t work on Edge
- Staying in H.264/VP8 land will not perform as well as VP9 in terms of perceived quality for the users
- So it would be beneficial to be able to use whatever is available at the best possible quality
- Which makes it a lot more complex for an SFU – more decisions to make with more data points to take into consideration
- Mobile doesn’t like multiple, simultaneous video decoders
- Especially not when this is hardware accelerated – not all smartphone hardware can work this way
- For mobile devices, you just might want to select a single video stream to send it – or combine multiple video streams to a single one (which looks more like an MCU, but who cares?)
- In many new use cases, people want to have multiple participants chatting, but many more passively viewing
- Can an SFU scale there? And if it can’t, what will you do instead?
Like any other technology, once you get down to it, there’s more to do than the proof of concept. Consider these aspects at the beginning of your project – and not when you need to seriously rethink your architecture.
Nobody cares anymore.Nobody cares if you are a silo or federated as long as you’ve got an API
It used to be important. Interoperability. Federation. Communication across networks, devices and vendors. All useless now.
We’ve got our lowest common denominator: IP, HTTP – the web. We have our point of federation/aggregation – they now call it the home screen of a smartphone.
People got all riled up on my blog last week something about Wire needing to federate – check the comments. My view? Federating wouldn’t move an inch in their user’s base needle.
Today’s openness and messaging is all about being the platform and enabling others to connect to you. How is that achieved? By way of APIs. And by this new stupid word – “Bots” – which most probably stands for automation.
Why is Bots stupid? Because it just means using the API in a certain fashion.
Back to Messaging.Silo
If you have a service. What happens if it is a silo?
You gain users to it. Slowly or faster. Doesn’t matter that much (though it probably does to you).
One day you want to add more utility to the service – some stickiness – making sure people don’t leave. So you add features. But you understand at some point that going it alone won’t move you fast enough, so you open it up to external developers and services.
You publish an open API.Federation
Federation you say? You make your service accessible to other networks by interacting with them using the same protocol?
But what does that give you exactly? Same set of features you have, give or take a feature or two. Same utility. No stickiness. No differentiation. Not enough.
So you again wish to add features, but getting out of the core you’ve federated just places you in the position of proprietary features. And again you’ll one day understand it isn’t enough. Faster “innovation” and growth are required on that front – you can’t cater all of your customers’ needs. So you… open up! Slap an API on top of your service.No one cares
Two alternatives. Same end result.
Time to move on. Nothing here to see.
Just make sure you have a solid infrastructure – and an API on top of it for others to integrate with.
The post Messaging. Federated? Silo? Does it Matter with an API and Bots? appeared first on BlogGeek.me.
Interesting how vendors define themselves.
Oftentimes, when you ask companies to define themselves, you get a complete shopping list. The end result is that you are left without an answer that you can use. Enter Twitter, with its razor sharp 140 character descriptions of the account.
Here’s what the WebRTC PaaS vendors I covered in my report (that weren’t taken off market) and how they define themselves:#Cloud #Communications #WebRTC #API Start building on https://developers.apidaze.io Makers of @ottspott_co. Happy New YearApizee is a provider of real-time communications on webFollow us for mobile app development news, hackathons & events. Check out our community link below. For questions about your device tweet our experts @ATTCaresPlatform as a service and free APIs, SDKs to integrate text, audio, video chat, web conferencing and more into your websites and applications.Bit6 revolutionizes how developers integrate communications into their mobile & web applications. Download beta SDK for iOS now!WebRTC pioneer, real-time communication for mobile & web, customer & workforce contextual collaboration, in-app video & live assistance, visual self-serviceUnify delivers world leading collaboration & unified comms solutions. Talk to us about #NewWayToWork #NW2W #futureofwork Tweets by Sally ^SH & Jett ^JMMaking the future of digital communications services happen. #Mobile #Messaging #Telecom #Cloud #IoT #WebRTC #SS7 #Monetizing #MessagingSecurityPowerful, Intuitive #RealTimeCommunications for an all IP-World #WebRTC #OTT #mobile #cloud #KandyMobile #Disruptor50OnSIP is a leading provider of real-time communications services for businessesThe SDK that has everyone talking. Grab yours at http://developer.oovoo.com . Now with in-call messaging and filters too!Communications for Internet of Apps. Open, cloud based video, voice, data communications for enterprise, social, consumer apps across #WebRTC and mobile.Plivo is a Cloud API Platform and a Global Carrier Services Provider for Voice Calls and SMS. Sign up for a free trial today.Add video, voice, and messaging features to your app in minutes with #respokeShow What You See! Deliver a better experience by adding real-time interactions to your web or mobile app. #CX, #FieldService #Telehealth, #CustServ & moreUse the Sinch APIs to enhance your app with Voice, SMS, Verification, Video, and Instant Messaging.Skylink – WebRTC, audio, video, embeddable real-time communication.TokBox,a @tefdigital company, operates the #OpenTok Platform, making it quick and easy to integrate real- time communications into your websites and mobile appsTropo, now part of Cisco, is a cloud communications API that makes it easy to build voice & text messaging apps. Completely free to try, pay-as-you-grow pricingChanging communications forever by empowering software people to build the future of our modern communications apps. For support: @TwilioHelpCloud platform for real-time communication app development
A few interesting observations:
- Some don’t have an API specific Twitter account – rather a corporate wide account. This makes it hard for developers to understand they have an existing offering for developers
- Some explain their position in the organization and not what they do, which is somewhat sad
- Some definitely are pivoting
As these vendors are in the same place, there’s obviously a lot of shared use of words. I’ve taken the Twitter definitions above, removed unique words and placed them in a tag cloud – the bigger the word – the more appearances in makes:
Community is the derivation of communications, which makes a lot of appearances.
Most focus on Mobile.
To be expected.
WebRTC was less popular in the description. Refreshing and interesting.
Messaging isn’t high on the agenda of most platforms.
Some suggestions to the vendors are in order:
- If you are a service within a larger organization, make sure to have a Twitter account dedicated to developers
- Focus on the developer who reads the description and needs to understand what you can do for them, and not who you are within the company
- Bring the same clarity that Twitter description forces you to all your marketing collateral
2016 will be the year of video!
I heard that in 2005 I think. And then 2006. And then in almost every following year.
I used to work in a video conferencing company. So it really mattered.
When video did happen… it happened outside of the domain of enterprise video conferencing systems. And it continues to grow predominantly there.
But the thing is – video still is minuscule. Voice isn’t that interesting or important as it used to be either.
If I had to chart the use of our basic communications options these days, it would probably look like this:
I’d also say that the only reason video is almost as big as voice is due to WebRTC and the passing of time – It is easier today than ever before to implement and add video chat capabilities anywhere. And there are people who tend to do video calls instead of voice ones – because they can, but not because video is that critical, mystical part we’re often led to believe.
Video definitely has its place in the world and is extremely useful. I do most of my own business through video calling with clients all over the world. Most of them have never met me in person and are still happy to work with me. With voice, it would be slightly harder to achieve.
What ticked me to this topic was a piece on Ars Technica about the adoption percentage of IPv6 in 20 years (hint: the smallest 2 digit number). While the two things are different, video hasn’t fared much better and has been around for even longer.
Video will be a slow process, but the end result will never be the pervasiveness of voice or the current ubiquity and growth of messaging in all of its forms.
You still waiting for video to happen?
Test and Monitor your WebRTC Service like a pro - check out how testRTC can improve your service' stability and performance.
The post 20XX will be the Year of Video! Not… and how is this related to IPv6? appeared first on BlogGeek.me.
Who needs to communicate in enterprises anyway?
Everyone.Communication is… overrated
But do we really need to treat it as if it is the most critical piece of the enterprise world?
I use multiple systems to make my calls these days. They are WebRTC based or proprietary apps such as Skype, WebEx or GoToMeeting. I grumble when I have to use a proprietary system and install stuff on my laptop, but that’s life.
It was like that for me even when working for enterprises in the past – big and small. Somehow, you always need to have a “phone system” and be reachable. But other than that? I’d say “omnichannel” as a buzzword has stuck to the contact center but is just as important in unified communications.
But in Unified Communications, Omnichannel means something really different – it means that you can now reach out to people on lots of different channels and mediums – picking up the ones most suitable for the taks – which most often than not ends up being different than what the corporate IT has decided you should be using.
And you know what? I couldn’t be bothered with it.
The essence of Unified Communications is the here and now. Real time communications. If a minute passed, it is no longer interesting. It is lost.
Hangouts. Talky. A phone call (international or otherwise). Skype. Anything else.
Just pick one and lets meet.
Enterprise Messaging though is a different story.
It isn’t focused in the here and now, but rather in collecting data and making it accessible. It is about synchronizing teams and aligning them – asynchronously.
And “omnichannel” there? It means integrations with anything and everything that is enterprise software.
Which makes it the point of access for an employee to his daily life in the office.
It is a lot more sticky these days than unified communications.
Unified Communication is on another rebranding rampage. We used to call it “Convergence” a decade or two ago. And when that felt old, we started calling it Unified Communications. There are analysts that are now coining the term WCC – Workstream Communications and Collaboration. A mouthful that simply says Unified Communications need to look at the Enterprise Messaging space and copy it.
The end result will still be a focus on the here and now. And it will still be overrated.
[show promotion title=”strategy-session”]
A shy over a year ago, I wrote about 3 startups: Talko, Wire and Switch
All of them looked promising. All were using WebRTC.
In 2015, Switch had a meeting with $35 million, along with quite a few successful deployments in businesses big and small.
A month ago, Talko got acquired by Microsoft. I’ve interviewed here the Talko team in the past. Selling to Microsoft shows. Shutting the company. With little objections from customers. It all points to a single conclusion – Talko has been a failure when it comes to the business side of it. It probably had a solid technology – otherwise – why would Microsoft acquihire the team and fold it into Skype? I am sure Ray Ozzie and the team of Microsoft veterans in Talko added to this acquisition, but there was no other value in this transaction.
The Talko Team expresses it best on their updated homepage:
However, as engaged as many of you have been, the reality is that the broad-based success of communications apps tends to be binary: A small number of apps earn and achieve great viral growth, while most fall into some stable niche.
Talko didn’t grow fast enough or big enough. Clementine’s acquisition by Dropbox is similar. A communication solution geared towards team/group/enterprise communications gets acquired for its team with the service being left behind, never to be seen again.
And that’s in the less competitive domain of the enterprise. What will be with Wire? The third company I wrote about.
On Android, Wire reportedly has 100K-500K installs. Assuming iOS has twice as much (I am trying to be positive), that still falls way short of any of the messaging services we usually hear about – they are measured by 100’s of millions. Of active monthly users – not installs.
It is hard to see how Wire can change its abysmal future without a serious pivot or a drastic change in current market trends. Some will say this is a matter of a directory service and network effects. I think it is a matter of strategy and luck. Where Wire failed to attract the crowds, a different messaging service – Telegram, with 50M-100M installs on Android and a reported 60M monthly active users.
Wire was formed in 2012 and Telegram in 2013. So we can’t say Telegram had any head start here.
WebRTC makes it too easy to build and launch a communication service, which in turn, makes it hard to build a viable business with it. The role of product managers and people who need to think of the business case is more important than the technologists building the service when it comes to WebRTC. At the same time, finding good developers who grok WebRTC isn’t easy either.
2016 is going to be crucial for Wire.
What do you see for your initiative in 2016? Do you have a business case and route to market and money, or are you tinkering with the technology, assuming that if you build it they will come?
When it is the wrong metric to track.Microsoft playing the number games with Edge adoption stats
That’s how long people have been using Microsoft Edge “just last month”, according to Microsoft:
Over 44.5 billion minutes spent in Microsoft Edge across Windows 10 devices in just the last month.
That other number of 200 million monthly active devices using Windows 10 is much more impressive.
I am interested in Edge due to WebRTC and ORTC. It is one of the missing pieces of our puzzle to get adoption (or at least that’s what we’ve been told).
So how can 44.5 billion minutes can be so unimpressive?
Do the math.
Let’s assume only half of Windows 10 users make use of Microsoft Edge.
This gets us to an average of 445 minutes a month per user, placing it at less than 15 minutes a day (!)
How many of these minutes are spent with an idle browser? I got a laptop and a desktop open 24/7 with Chrome running on them. Even when I am engaged in other applications.
Microsoft decided to announce a largish number to hide the fact that Microsoft Edge isn’t really getting the love and adoption they expected, which is sad. I’ve used it a couple of times on my own Windows 10 laptop. It does what it is supposed to do and does it well, but that’s about it.
The challenge is migrating from Chrome. It stores my credentials to the many sites I visit, it has that nice search bar that often times just finds the URL I need without really searching (it automatically completes from its history), there are the few extensions I’ve got installed. All in all, it does the work. It is bloated and a memory hog, but the time when this mattered (a year or two ago) passed already, so there’s very little incentive for me to switch browsers.
Microsoft is killing Internet Explorer 8, 9 and 10 in the same day next week, pushing businesses into Internet Explorer 11 or Microsoft Edge. This might gain them a percentage or two more in adoption of Microsoft Edge – not nearly enough. Microsoft will probably announce end of life for Internet Explorer 11 in a year or two – the sooner the better if they want Microsoft Edge to grow.
What else can Microsoft do to improve its position? I don’t know. I don’t believe they can. The opportunity to surpass Google Chrome had come and gone. They will need to wait for the next opening when Google falters with Chrome or make something enticing enough for people to switch. It is sad, as Microsoft Edge is technically sound – it made browsers interesting again.
For WebRTC, Microsoft Edge still makes no difference at all. We’ve seen a few announcements of ORTC support by some vendors, but that’s about it. There’s no urgency in vendors to support it. The discussions are still about Internet Explorer when it comes to WebRTC.
Where does that leave us?
- Companies who waiting for Microsoft to adopt WebRTC will continue to wait
- Those who haven’t waited have made the correct choice – deal with what’s available and don’t wait for the forces that be to save you
- While Apple might get WebRTC properly, Microsoft hasn’t. Introducing ORTC into Internet Explorer is what the market needs, but it won’t happen by Microsoft
- Mobile is unaffected, as consumption there is done by apps, so browser adoption issues are irrelevant for most