Home

/

Blog

/ Why Migrate from Twilio/Agora to 100ms?

Why Migrate from Twilio/Agora to 100ms?

October 5, 20224 min read

Share

why-migrate-twilio-agora-to-100ms-cover.png

ON THIS PAGE

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 with, and talk about what 100ms does differently that you might end up loving it.

Why consider 100ms?

To start with, here are a few reasons to consider 100ms over Twilio’s and Agora’s video SDKs:

  • 200X Participants in a single room: With 100ms, you can add up to 10,000 participants in a room with 100 participants publishing their audio/video at the same time.
  • Transition from Conferencing to Live Streaming: 100ms lets you transition from an interactive conference to a live stream with millions of viewers without switching SDKs.
  • Built for Developers, Designed for Scale: 100ms is built ground up for developers. From elegant APIs, and descriptive error messages, to predictable debug-ability, everything is designed to deploy stable, elegant applications in lesser time to market.
  • Built-in Reliability: With in-built handling of network and device edge-cases, and an obsessive focus on reliability, 100ms makes it noticeably easier to achieve higher call completion rates.
  • Quick-Start Starter Kits: With open-sourced UI components and production-ready templates, getting started with 100ms takes minutes, not months!

Feature Comparison - Twilio vs. Agora vs. 100ms

At a high level, here’s how 100ms’ SDK compares with Twilio and Agora in terms of features:

100ms Twilio Agora
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 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:

Difficult to Manage Pub/Sub? Roles to the Rescue

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. 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 reduce the effort required to manage peer permissions. For a deep-dive into how Roles work, check out this piece on roles in 100ms.

Offer Custom Interactivity (& more) with Peer Metadata

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 are 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.

Persistent Peer Metadata in 100ms ensures every peer has access to the same interactions - a peer can raise or lower 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.

So, should you migrate to 100ms?

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:

Engineering

Share

Related articles

See all articles