mashme.io: Bringing 250 people face-to-face in The Room of the Future
About mashme.io
Specializing in educational technology, mashme.io provides video collaboration experiences for over 3 million users in 73 countries. Based in Madrid, mashme.io has offices in San Francisco, Boston, and London.
Tell us your challenge. We're here to help.
Contact usUsing Google Cloud tools, mashme.io creates virtual lecture theaters for up to 250 participants, all streaming full HD with low latency in a single Chrome app.
Google Cloud results
- Reduces video-conferencing latencies by 21 milliseconds, from 211 to 190 milliseconds
- Delivers overall cost savings of around 12%, according to mashme.io
- Controls global traffic by routing signals through VPC
- Minimizes disruption with continuous integration and deployment through Google Kubernetes Engine
A team of 2 running infrastructure for 3M+ users
In 2013, Víctor Sánchez Belmar was studying abroad and relying on video conferencing to talk to his family, friends, and girlfriend at the time, back in Spain. Frustrated with the limitations of existing video conferencing options, he did what any engineer would do, and built his own. When MashMeTV launched in April 2013, it won over more than 400,000 users from 71 countries in its first six months. The mashme team made sure that the product delivered the kind of features that people were really looking for, such as file sharing with persistence, instant messenger, and recording options. And as professional organizations began to embrace the platform, the team's close attention to user needs led the company to its next stage of development.
"A lot of clients began asking us for something more tailored to their particular, professional requirements," says Víctor. "And we had a 'eureka' moment when we realized that most of our users were educating, in one way or another. Whether it was a bank, a university, or a big corporation, they were using our tools to train people. And to do that, you have to use something that really replicates the face-to-face experience."
"Every teacher we speak to tells us that latency is the most important thing for educational video conferencing. Low latency means having servers close to every student that connect to mashme.io. With students connecting from around the world, Google Cloud has the global network to make that happen."
—Víctor Sánchez Belmar, CEO, mashme.ioRenamed mashme.io, the company focused its attention on educational technology and the challenge of remote teaching and training for classes all around the world. That led to the development of an innovative new product, The Room of The Future, an HD virtual lecture theater that can replicate the experience of speaking to and seeing up to 250 people at the same time. For the teacher or trainer, The Room of The Future ranges in scale from a single large display for small classes, to an entire wall streaming hundreds of students in HD, all collaborating on documents and responding in real time. This approach to education had already won clients including Santander Bank and the Saïd Business School at the University of Oxford.
"We offer, among other things, a SaaS platform that customers can use with their own hardware," says Víctor. "Everything is based on Chrome, so students can connect to sessions directly with their mobile phones, laptops, or other devices. We haven't checked this with Guinness World Records, but we probably run the biggest Chrome application ever created. On one browser, we render up to four times 4K resolution."
Connecting up to 250 full HD live video streams in real time is a major technical challenge. Latencies need to be kept very low to achieve the face-to-face experience, and continuous integration and deployment is vital to avoid disruptive downtime for global clients. Meanwhile, costs have to be kept to a minimum, to keep the solution affordable for a growing startup. To meet those needs, mashme.io chose Google Kubernetes Engine (GKE) on Google Cloud.
"Every teacher we speak to tells us that latency is the most important thing for educational video conferencing," says Víctor. "Low latency means having servers close to every student that connect to mashme.io. With students connecting from around the world, Google Cloud has the global network to make that happen."
Minimizing latencies for a face-to-face experience
Low latencies are vital for simulating the face-to-face experience of the classroom. That's why mashme.io keeps latencies at 200 milliseconds or less, engineering that speed in real time for up to 250 simultaneous HD video streams. Those same latency requirements apply to its collaboration features too, from raise-hand functions to tools for annotating documents as a group. That's why mashme.io needed globally distributed servers, as close to each participant as possible.
"A Kubernetes conversion makes things a lot cheaper, if you're smart about it. The Google Cloud team helped us be smart, advising us on the rewrite and our orchestration. We really appreciated that help, because when you're a startup, money really matters."
—Miquel Ramon Ortega Tido, IT Cloud Manager, mashme.io"Setting up data centers around the world with your own hardware is a good way for a startup to never start," says Víctor. "Instead, we went with App Engine, to leverage Google's global network, before moving to Google Cloud with our own Docker containers, and finally to Kubernetes Engine – the paradise of container orchestration. One of the great abilities of the GKE orchestration is that we can update our nodes and services in an almost continuous way without disruption, so students don't lose an hour, or even a second, of class."
Now more than 90 percent of the mashme.io platform is on Google Cloud. "We are managing a multi-cluster environment, using the Google multi-cluster ingress tool," says Miquel Ramon Ortega Tido, mashme.io's Backend Developer. "The latency is outstanding, and the results with the multi-cluster, and the ability to communicate between different regions through that configuration, are really, really impressive."
By moving all of its signaling through Virtual Private Cloud (VPC), mashme.io reduces latencies further by connecting points around the world directly. "That really helps with traffic management," says Miquel. "The moment that traffic is inside the nearest Google Cloud node, we don't put it out onto the internet until we really have to. On the internet, every new package that a user sends could potentially take a different route. But by keeping so much internal within the Google network, we have much more control, and it's faster, too."
In addition to low latencies and continuous integration, mashme.io worked together with a team from Google Cloud to lower GKE costs as much as possible.
"A Kubernetes conversion makes things a lot cheaper, if you're smart about it," says Miquel. "The Google Cloud team helped us be smart, advising us on the rewrite and our orchestration. We really appreciated that help, because when you're a startup, money really matters."
Comparing cloud providers on Kubernetes
More than three million people around the world use mashme.io services, but the infrastructure is operated by a minimal team. "This is a two-man show," says Víctor. "Miquel and his assistant are running our whole infrastructure. That's saying something about their ability, but it also says something about the Google Cloud technology."
"I wanted to reduce our Kubernetes process from five steps to two, for lower latency. I went to the Google Kubernetes Engine team and we discussed how GKE could be slimmed down to just orchestration and networking elements. Sharing that internal knowledge is what makes it a real partnership."
—Miquel Ramon Ortega Tido, IT Cloud Manager, mashme.ioThere is nothing complacent about the way mashme.io approaches its infrastructure, however. A key concern for the company was that choosing to invest so much in Google Cloud could cause the company to be locked in to using Google products. "The reality is that I can easily take my containers and go elsewhere if I'm not happy," says Víctor. "That openness shows that Google is confident that it can provide the best orchestration without us wanting to come out." It's also why almost every month the startup does a comparison between leading cloud providers, assessing their integration with Kubernetes.
"On our last review, the only provider using the latest version of Kubernetes was Google Cloud," says Miquel. "We want all the new features from Kubernetes, and we need something that keeps up with its regular updates. Always being on the latest version makes us more competitive, because we're right at the limits of what current technology can do. We need to keep innovating at the highest level possible, and if our platform doesn't innovate with us, at the same pace, then we would need to change it."
"We really believe that we are on the best platform for innovation," adds Víctor. "I wouldn't say that if I wasn't confident that we were providing the best technology available to our clients. We put a lot of trust into Google Cloud, and that trust is repaid every month."
Lower latencies, lower costs, and a real partnership
When mashme.io switched to GKE in 2016, the new architecture reduced latencies by around 21 milliseconds and generated overall costs savings of around 12 percent, according to the company. Now Víctor and Miquel are looking at how Cloud Speech-to-Text can index classes, so students can jump to the relevant part of a recorded class. Or how combining that API with Cloud Translation can provide live translation subtitles. The team is even looking at ways to use Cloud Vision to pick up student responses in class, such as laughter, smiles, or even yawns, ready to give teachers feedback on their lessons. For each of these optimizations, mashme.io can rely on the close dialog with Google Cloud teams that has characterized their work together so far, as Miquel explains:
"I wanted to reduce our Kubernetes process from five steps to two, for lower latency. I went to the Google Kubernetes Engine team and we discussed how GKE could be slimmed down to just orchestration and networking elements. Sharing that internal knowledge is what makes it a real partnership."
Tell us your challenge. We're here to help.
Contact usAbout mashme.io
Specializing in educational technology, mashme.io provides video collaboration experiences for over 3 million users in 73 countries. Based in Madrid, mashme.io has offices in San Francisco, Boston, and London.