MashMeTV Build Fully-featured Collaboration Tool With PubNub

MashMeTV Build Fully-featured Collaboration Tool With PubNub
MashMeTV Build Fully-featured Collaboration Tool With PubNub
MashMeTV Builds Fully-featured Collaboration Tool MashMeTV is a video chat
tool that allows up to 10 participants to interact and collaborate face-to-face in real-time. When inside the video chat, participants may perform various activities around a series of tools including: watching video, creating and editing documents, presenting slideshows, painting on a collaborative blackboard, browsing the web, and navigating Google Maps, all in a web browser. MashMeTV gives users the ability to synchronize any web app such as Google Docs or YouTube and transform it into an immersive social experience.

Challenge

The appeal of MashMeTV is that users can interact in real-time using a number of different tools while video chatting. Early in its beta stages, MashMeTV had three concerns. First, low latency was the primary concern because the application is built entirely around real-time interaction and collaboration. Any lag or high latency issues would break the user experience within the app. Secondly, the development team wanted a real-time service that offered a support team with high availability. The last thing the development team wanted was to have to sit around and wait for slow support response. Lastly, MashMeTV needed an highly scalable service that required low maintenance, allowing them to focus on their product, rather than babysitting servers. MashMeTV Collaboration Tool

Solution

When looking to solve their real-time challenges, MashMeTV looked at several alternatives. In the beginning, they experimented with custom websockets servers on
and nodejs (based on socket.io). Even though they found that the latency was low enough for real-time functionality, custom websockets required a substantial amount of maintenance and had issues with scaling. Giving up on open source solutions, MashMeTV then tried another real-time provider, however the high latency and dropped messages they experienced affected the real-time functionality of the app. To lower the latency and reduce backend maintenance, MashMeTV replaced their original real-time service with the PubNub Real-Time Network. To further improve performance MashMeTV uses PubNub’s Channel Multiplexing feature to handle its many simultaneous data streams. This reduces the required network bandwidth, which in turn reduced overall latency. Lightweight and easy to use, PubNub was fully integrated into the app in under two days. Using the PubNub API written in the JavaScript 3.51 SDK, it seamlessly fit in with their infrastructure. During PubNub implementation, MashMeTV praised PubNub’s support team for their immediate response which contributed to the reduced integration time:

When we started with PubNub we were a free-trial sandbox customer. Even with that status, any issue we had were answered by support within minutes or a couple of hours tops. Who does that?

MashMeTV CEO Víctor Sánchez

Results

Before implementing the PubNub Real-Time Network, latency was almost double what it is now. While anything under 200 milliseconds is considered real-time, PubNub was even faster, clocking in at 170 milliseconds. In addition to low latency, the quick implementation saved development costs, and MashMeTV is able to focus on their core service rather than maintaining custom servers and websockets. Mashme Tour

I think the really low latency is the key for PubNub to be what it is today. For us, it converted MashMeTV from an idea to a real product. We wanted to focus on providing an experience for the final user, and that was a huge job by itself. We did not want to worry about maintaining scalable websockets infrastructures and our clients at the same time,

Víctor Sánchez