Good News! We’ve launched an all new Chat Resource Center.
We recommend checking out our new Chat Resource Center, which includes overviews, tutorials, and design patterns for building and deploying mobile and web chat.
SwapLingo is an online language learning platform. SwapLingo connects students and teachers in live online video classes with interactive step-by-step language courses. Once in the app, in addition to the main video chat screen, students can use a number of real-time interactive features, including real-time chat and a collaborative whiteboard.
Knowing that real-life social interaction with native speakers is the easiest and most effective way to learn a language, SwapLingo creates a virtual platform with the collaborative tools to master any language.
Emulating Real-Life Interaction
To emulate this real-life interaction, SwapLingo needed a real-time communication layer for key collaborative tools. They wanted a way to increase interaction in the classes, not just through audio/video, but through other collaborative tools as well.
In addition to real-time chat when in the virtual classroom, they wanted a way to keep students and teachers alike in the loop. To insure a smooth learning experience from start to finish, SwapLingo also needed a mobile push notification service as a way to update teachers on student connectivity (if the student lost connection, microphone enabled/disabled, etc).
SwapLingo wanted these collaborative features without spending time and resources building and maintaining their own real-time infrastructure.
Build vs Buy
Before settling on PubNub, SwapLingo experimented with another real-time service provider and two open source protocols (Node and WebSockets), but soon found the trouble with building out a real-time infrastructure from scratch.
“All that was starting to get too complicated, and I was already happy with our stack and didn’t want to be mucking around. What we wanted wasn’t that difficult. I didn’t want to have all this extra maintenance and configuration that would come along with doing building something inhouse,” said Dan O’Reilly, Founder and CEO of SwapLingo.
Wanting a simple and easy solution that could be implemented quickly without much heavy lifting, O’Reilly found PubNub’s Build Chat In 10 Lines of Code blog post, and had real-time chat running in a matter of days. After revisiting PubNub, SwapLingo found that they could easily add other communication features across the web app including, mobile push notifications and real-time connection monitoring.
“It started off with a simple use case, and expanded from there. And I’m pretty sure it’s because it was so easy to implement and use.”
Building a Real-Time Communication Layer
SwapLingo uses the PubNub Data Stream Network to power their real-time communication layer across their web app. Three key features of the app use PubNub:
- Real-time Chat
- Mobile Push Notifications
- Real-time Connectivity Monitoring
SwapLingo utilizes PubNub’s Data Push feature for real-time chat and connectivity monitoring. This allows for students to communicate with the teacher and their peers in a side chat box. Real-Time Data Push is also used to show student connectivity in class, to tell if their video and microphone is enabled or disabled, which helps the teacher troubleshoot connectivity issues.
“One of the biggest issues was that students were having trouble connecting their webcam and microphone. Initially we had difficulties determining if it was a browser issue, user issue or something wrong with our website? With PubNub, there is no more guess work from the moment a student enters a class we get relayed all the information we need to ensure students connect properly. Since we have implemented PubNub to track the status of student we have made huge improvements making the joining process much smoother and greatly improving the users experience when students first join a class.”
For mobile push notifications, SwapLingo uses PubNub’s Mobile Push Notifications feature. This allows them to send an email and/or SMS reminder to students 10 minutes before their class begins. If the student is logged in, they can also use PubNub to push the notification within the web app to let students know their class is about to begin (and give them an easy way to join the class).
Ease of Implementation
Implementing PubNub was easy for the SwapLingo team. Because of ease of use, as well as documentation, they had their real-time functionality up and running in a couple days.
“For the real-time chat it only took a couple hours to implement, especially because of that [Build Real-Time Chat In 10 Lines of Code] tutorial. And to do everything else, and get it looking and operating the way we wanted, it was only a couple days.”
But it wasn’t just the ease of implementation, but also the ease of maintaining and orchestrating the real-time functionality in their web application.
“We haven’t had to revisit since, it’s all been working great. One we had it up and running, I think I’ve only had to log in once or twice. Pretty much flawless.”
Focus On The App, Not Real-Time Infrastructure
“We didn’t want to be spending dollars, days or even weeks setting up more infrastructure to do what PubNub provides.”
Implementing the PubNub Data Network into their app has saved the SwapLingo team time and money. Using PubNub means that SwapLingo doesn’t need to configure or maintain an additional server to manage real-time actions.
“Building and maintaining a real-time service requires a ton of maintenance, uses a lot of resources, and if it crashes, it’s a huge pain to fix without disturbing the users who are online using SwapLingo. PubNub has none of these problems. They take care of all the infrastructure.”