/ Blog /Why Migrate from Twilio/Agora to 100ms?
October 5, 20224 min read
Are you on the hunt for a live video solution to replace your current tech stack powered by Agora or Twilio? 100ms might just be the alternative you are looking for. With truly scalable, reliable, and dev-friendly live video SDKs, 100ms is your new best bet for Real-time Video Conferencing and Interactive Live Streaming.
The 100ms SDK comes with everything live video stuffed into a single lightweight package. You don’t have to worry about switching SDKs for implementing specific features like live streaming, chat, or virtual background in your app. In this article, we will be comparing Twilio, Agora, and 100ms in terms of the feature set you can build around, and talk about what 100ms does differently that you might end up loving it.
To start with, here are a few reasons to consider 100ms over Twilio’s and Agora’s video SDKs:
At a high level, here’s how 100ms’ SDK compares with Twilio and Agora in terms of features:
|Video Calling/Conferencing||✅ Available.||✅ Available.||✅ Available.|
|Live Streaming||✅ Available.||Can be built with Twilio Live SDK.||Can be built with Agora Interactive Live Streaming SDK.|
|Chat||✅ Available.||Can be built with Twilio Conversations API.||Can be built with Agora Chat API (Beta).|
|Raise Hand||Easy to implement with Peer Metadata with a persistent state that is visible even to newly joining peers.||Possible to implement with DataTrack API without a persistent state. Might not be visible to newly joining peers.||Possible to implement with Agora RTM SDK. To raise a hand, a message with a request can be sent.|
|Video Background Modification||✅ Pre-built virtual background feature is available.||Can be built with Twilio Video Processor Library.||Can be built with Agora Virtual Background Extension.|
|Screen Share||✅ Available.||✅ Available.||✅ Available.|
|Mute/Unmute Remote Peer||✅ Available.||Possible to implement with DataTrack API by sending a message.||Possible to implement with RTM SDK by sending a message.|
|Remove (Kick) Remote Peer||✅ Available.||❌ Not available.||❌ Not available.|
|Persistent Peer State||✅ Available. Known as Peer Metadata.||❌ Not available.||❌ Not available.|
|Noise Reduction||✅ Available.||✅ Available.||✅ Available.|
|Recording||✅ Available.||✅ Available.||✅ Available.|
|Platforms/Frameworks||Web, Android, iOS, Flutter, React Native.||Web, Android, iOS.||Web, Android, iOS, Flutter, React Native, Windows, macOS, Unity, Electron.|
In addition to the feature comparison, here are a couple of examples of how 100ms has thought through little things contributing to easier and faster development:
Managing the publish/subscribe permissions for a peer can be a tedious task. Both Twilio and Agora SDKs do not offer any out-of-the-box solution, making it even more difficult to design permissions the way you imagine.
100ms simplifies this problem with the concept of
Roles allow developers to deal with the collection of permissions that a peer has and determine whether a peer has appropriate publish/subscribe rights. For example,
Roles can signal whether a peer can mute/unmute another peer in the same room.
You can use pre-defined roles or create your own without any additional coding. This significantly reduces the effort required to manage peer permissions. For a deep dive into how Roles work, check out this piece on roles in 100ms.
It is possible to store the persistent state of a peer with 100ms. The
Peer Metadata can be used to set data that can be updated anytime and is persisted across peers as they join and leave a room. Many useful features like raise hand and storing extra information about a peer are implemented reliably through this offering.
The persistence of this data is a key differentiation with 100ms. To contrast, both Twilio and Agora offer interactive capabilities like the raise hand feature (enabling or disabling it). But the way in which they have implemented compromises on reliability at times. For Twilio, this can be implemented with
DataTrack and for Agora, RTM SDK has to be used. In both cases, a corresponding message is sent to all the peers in a room. But subsequent peers joining the room will not see this.
Peer Metadata in 100ms ensures every peer has access to the same interactions - a peer can raise or lower their hand, and all other peers in the room will be notified. But this information will also be available for peers joining later to view and consume.
Instead of just saying yes, we simply recommend that you try out the examples we’ve built out with 100ms. Not enough? Then, try building your own apps with 100ms SDKs easily with concise Quickstart guides — Web, Android, iOS, Flutter and React Native.
If you want to envision how the migration process to 100ms might look like, do check out:
See all articles
February 21, 20226 min read
Adding AR Filters in a 100ms Video Call - Part 1
Want to build a video call app with Snapchat-like filte...
March 2, 20227 min read
Building a FaceTime app for iOS using 100ms
In this blog, we will take you through a step-by-step g...