August 4, 2021 // Product
The Law of Conservation of Complexity (aka Tesler’s Law) states that “every application has an inherent amount of irreducible complexity. The only question is: who will have to deal with it-- the user, the application developer, or the platform developer.”
Because some degree of complexity is unavoidable, the question is not how to eradicate the complexity, but instead how to reduce it and where it should live. While it might seem obvious that the user shouldn’t be forced to deal with the complexity, it’s not quite that cut and dry. There are some situations where the user is better suited to deal with certain areas of complexity, and other situations where the user should bear no responsibility, and all complexity should be handled by either the application developer or the platform.
A communications application must carry out all of the regular functions of a software application, but in addition to reading, querying, and writing data, it must also be able to deliver calls and SMS/MMS via an entirely different tech stack. Additionally, some applications must be able to scale up or down at a moment’s notice to account for the delivery of mass notifications in the case of an emergency or any other situation where calls or messages must be sent out to thousands of people at once.
With the understanding that complexity cannot be completely eliminated comes the decision of where the complexity will live and who will have to deal with it. In certain situations, it might make the most sense for the user to take on some of this complexity, but in most cases complexity should not be left for the user. As a rule of thumb, if your application developer or platform aren’t explicitly dealing with the complexity in the layers that you’re building, your user is. Be kind to the user, whenever and wherever possible.
Luckily, the right Communications Platform as a Service (CPaaS) allows you to offload much of the complexity to the platform, meaning it is not a burden for your users or for your developers.
In communications applications, there are four common areas where complexity can arise. Understanding these complexities and how to uniquely deal with each one will lead to more sound architecture, a reduction in workload for your developers, and a faster and higher performing communications application.
For a far more detailed overview of the four areas of complexity, download our free whitepaper “Reducing Complexity In Communications Applications.”
Market leaders choose Voxology as their telecommunications backbone because we make communications easy. We provide your developers with building blocks and an easy-to-use API designed to reduce chattiness and promote reliable and scalable communications.
Maximize and modernize your entire communications infrastructure with our voice and messaging services that include our personalized support, documentation, and getting started guides. Let us provide everything your team needs to build the features your customers are looking for, including: