Most developers that want to add SMS or voice (telephone) processing to their applications have come across a publicly traded company called Twilio (TWLO). The company is impressive with their 2019 revenue approaching 1 billion dollars. (Don’t they call a $1B startup a UNICORN?)
Why Twilio Sucks
I recently attended a Twilio event where they tried to teach us how to add Voice and Text to our application. We spent several hours trying to earn points using TwilioQuest to accomplish various tasks. After we finished, I compared my experience with the Voice Elements Platform (VE) by Inventive Labs. I found that our Voice Elements Platform outshines Twilio in many ways, such as our Premise option, ease of programming and our top-down approach.
Voice Elements is a toolkit that was designed from the ground up for Visual Studio (.NET) developers. It can provide as much and more functionality as Twilio’s “Programmable Voice” and “Programmable SMS”. With Voice Elements, you can quickly build many common applications like SMS, Conferencing, Fax, IVR, Notification Systems, customized Virtual PBX platforms and comprehensive, feature-rich Call Centers.
Why Voice Elements outshines Twilio
Premise is Key
Cloud Cons
The biggest disadvantage to Twilio is that you will always have to run in the cloud and pay whatever price they charge. With Voice Elements, you can run in the cloud or on premise without changing your code. Our premise offering allows you to install Voice Elements on a Windows virtual machine (VM) within your organization and behind your firewall. The user-friendly, easy installer will have you up and running in minutes. You can connect to your local SIP PBX, your own SIP Trunk, or to a TDM to VoIP gateway.
Premise Pros
The big advantage for premise is privacy. All the recordings, data, and transactions remain safe behind your firewall controlled by you. Many customers also find that the ability to connect up to their own switch is more efficient. Let’s say you write a self-service payment application. When there are problems, you may wish to connect the caller to an agent. If you have installed on premise, you can perform a SIP REFER to the agent through your switch. Thus, a real transfer can be achieved. If you were using a cloud service like Twilio, a second leg of the call back to your company would be initiated and the two legs pinned together. During this stage of the call, your costs double because there are now two channels being used.
Voice Elements offers both Cloud and Premise.
Best of Both Worlds
Voice Elements seamlessly transitions from Cloud to Premise. It is important to note that with Voice Elements you will use the SAME CODE whether you choose cloud or premise, allowing you to effortlessly transition from one to the other.
Ease of Programming in Visual Studio
Twilio is designed to run using web REST services and web hooks passing their TwiML markup to give commands. In contrast, with Voice Elements, you install References to the Voice Elements Client DLL’s. This is automated by finding the Voice Elements Client on NuGet. To get a debugging environment in Voice Elements is simple, and in minutes you can be up and running. In contrast, to get the Visual Studio environment debugging going with Twilio, you have to install NGROK. Just to get that set up and poking the right settings in the dashboard took me nearly 30 minutes!
Request/Replies or Top Down
The architecture between Twilio and Voice Elements is very different. Twilio was built for all web developers that are familiar with creating back-end Web Api services and posting to REST services. Voice Elements was written specifically for .NET developers.
Typically, a Voice Elements production application ends up running as a windows service on a Windows box somewhere. Depending on your point of view, this is either a big advantage or a big disadvantage – just different design architecture. Doing the web pieces, the functionality tends to be Post / receive or Receive / return oriented, while Voice Elements enables you to just write top down code. Having pockets of code everywhere reminds me of the old “spaghetti” code languages. Having hundreds of round trips to the server, each time establishing a connection, is extremely inefficient. In my book, Voice Elements is so much more efficient and easier to maintain. Your Voice Elements application will have a permanent connection that is always pinned up.
Voice Elements is more efficient and easier to maintain.
Voice Elements’ Comprehensive Documentation
Voice Elements has comprehensive documentation and sample code. Additionally, we have implemented the Visual Studio IntelliSense to its classes and methods making the developer experience fantastic. Most .NET / Visual Studio / C# developers rely on IntelliSense and find its documentation is very good.
I found the documentation on Twilio to be very good. However, I found myself constantly poking stuff into their console to make things work. This does not happen in Voice Elements. Once you point to a Voice Elements server with the proper credentials, your code reliably communicates with the server whether the server is in the cloud or on your own VM.
Voice Elements enhances the accuracy and quality of calls.
Superior Human or Machine Detection
Call Progress Analysis
It is called “Called Progress” on outbound calls. Twilio charges extra for this. It is supposed to detect Human vs machine. Voice Elements does this considerably more accurately, and it also includes a Beep Detector for certain applications. The Beep Detector will send an event to your application if Voice Elements detects an answering machine. This enhances the accuracy of your call.
Beep Detector
Twilio does not appear to have an equivalent functionality to the Voice Elements Beep Detector. In contrast, Voice Elements allows for instant HUMAN / MACHINE detection using normal call progress technology. On top of that, you can turn on the Beep Detector to override the result should it detect a beep from an answering machine. Many have ditched Twilio and moved to Voice Elements to gain advantage in this area.
Call Recording
Twilio charges for this. In Voice Elements, Call Recording is FREE.
Side by Side Comparison
Voice Elements |
Twilio |
|
Programmable SMS |
Yes |
Yes |
Programmable Voice |
Yes |
Yes |
Programmable Fax |
Yes |
Yes |
SIP Trunking |
Yes |
Yes |
Conferencing + Whisper / Coaching |
Yes |
Yes |
Browser (Web Client) (WebRTC) |
Yes | Yes |
Speech Reco / TTS Included |
Yes |
Yes |
Free Call Recording |
Yes |
X |
Free Call Progress |
Yes |
X |
Subsequent Beep Detector |
Yes |
X |
Designed for Visual Studio |
Yes |
X |
Can run at your premise or data center on your own VM |
Yes |
X |
Integration with your IP PBX |
Yes |
X |
Top Down C# Programming (Complete script all in one place) |
Yes |
X |
Dead Simple |
Yes |
X |
.NET Developers Dream (A programmers UNICORN) |
Yes |
X |
Cost |
VE will match |
Good |
Final thoughts for Visual Studio / C# / .NET Developers:
If you are a Visual Studio, C#, or .NET developer, Twilio sucks when compared to Voice Elements. Give Voice Elements a try and see the benefits of Voice Elements for yourself. Check out our DEMOs and download complete solutions that run with just 1 click. Get your application quickly into production!