Bandwidth, at it’s heart, is a software development company. What many see as pure telecom is driven by smart engineers creating great products. Catapult, one of Bandwidth’s communications APIs allows pretty much anyone to quickly and easily add voice/text messaging to their app.
As part of our DNA, we have been working hard to create a better experience for our developers. We keep track of trends and common customer use-cases to increase developer productivity and decrease time to ‘first-hello-world’. Here are a few highlights over the past few months detailing what’s new for our developers!
Software Develop Kit (SDK for short) allow us to abstract the common patterns for each programming language. This, in-turn, increases our developers efficiency by allowing them to get their feet wet almost immediately. As a software company, we are constantly hearing from our developers on how ArnoldC is going to be the next big thing. Well, we have created some Alpha-level SDKs for some of up-and-coming programming languages.
GoLang — High concurrency by Google
Go (a.k.a., Golang) is a programming language first developed at Google. It is a statically-typed language with syntax loosely derived from C, but with additional features such as garbage collection, type safety, some dynamic-typing capabilities, additional built-in types (e.g., variable-length arrays and key-value maps), and a large standard library. *Wiki
Go has been around for a while now, but is really starting to gain major traction. Companies like Docker, Dropbox, and Uber have all embraced Go somewhere in their stack. After hearing about a few major programmers applaud Go, we hopped on the bandwagon and started our own SDK.
Rust — Systems language guaranteeing thread safety
Rust is a general-purpose, multi-paradigm, compiled programming language developed by Mozilla Research. It is designed to be a “safe, concurrent, practical language”, supporting pure-functional, imperative-procedural, and object-oriented styles. *Wiki
Anytime a major company releases their own programming language, people listen. We did, and discovered that Rust is meant to be incredibly fast while maintaining memory safety. Making it great for burning through all sorts of I/O. Our Rust SDK was started as part of our Sabbatical Program and is approaching an official release later this year!
Elixir — Pure functions From Erlang
Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM). Elixir builds on top of Erlang to provide distributed, fault-tolerant, soft real-time, non-stop applications but also extends it to support metaprogramming with macros and polymorphism via protocols. *Wiki
Erlang has a history with telecom, in fact an Erlang is a unit of telecommunications traffic measurement. So, it makes sense that as a company based in telecom we would want to explore Elixir. Our Elixir SDK was also started as part of our Sabbatical Program and is approaching an official release later this year!
We have had a NodeSDK for a while now. In fact, it’s one of our most popular SDKs for internal development. After using the SDK, we have taken our lessons learned and various gripes and released a v2.x alpha. Take a look at the new changes below! Look for an official release in 2nd quarter of 2016!
We have seen all sorts of use-cases revolving around Catapult. In an effort to provide our developers looking for common use-cases we put together some new demo-applications as a proof-of-concept and jumping off point!
Here are just a few examples. For a full list head over to our example Github Page.
Contact Calling with C#
A fairly simple application that lets user enter their contacts, then enter their phone number. All the user needs to do is click ‘call’ and they’re connected to the contact.
Phone Number Verification with C# and NodeJS
Exactly what it sounds like, enter a phone number get a call/text with a code. Put that code into the system to verify you are who you are.
SMS Chat and WebRTC with C# and NodeJS
Basically a phone in your browser. Add your contacts then text/call them from your browser using Angular2.0 and WebRTC.
SMS AutoResponder and BXML with NodeJS
Incredibly simple demo how to auto-respond to a text message with a predefined message. It also automatically plays an audio file to the caller.
What to look forward to!
Keep your eyes out for a new bwdemos.com site! We’re rolling up some of our most popular demos to an easy to use one-stop-shop. Think app store for Bandwidth applications!
We’re constantly looking for new ideas and products to keep a pulse on emerging trends. As part of this effort, please drop us a line at email@example.com with any suggestions/recommendations.