Article

Announcing CallBox 1.0 – The Software Framework for IoT Products

November 14, 2023

The team at SpinDance is thrilled to announce CallBox, our new software framework for IoT products.

We’ve been working on Callbox since 2020, and we couldn’t be happier to share it with the world. It is an end-to-end framework to reduce the risk, cost and time associated with creating connected products, while avoiding vendor lock-in. 

This is the first of a few blog posts we have planned to discuss CallBox. This post is focused on the high-level details.

What is CallBox?

In a sentence, 

CallBox is an end-to-end software framework for building production-grade IoT products and platforms.

Let’s break that down:

  1. End-to-end – Connected products require software in a variety of domains: firmware, cloud, mobile and web tools are very common. CallBox builds upon and unifies the best open source tools on the market to create a seamless, end-to-end experience. But it’s more than just some glue code. CallBox provides a strong point of view on how IoT products work. It leverages everything we’ve learned about IoT over the last 10 years.
  2. Software Framework – CallBox is a framework, as opposed to a turn-key product or IoT platform. There are hundreds of software frameworks in use today, such as Ruby on Rails, React, Django or Spring. Most frameworks are focused on web sites or mobile apps. CallBox, on the other hand, is focused on the entire IoT product.
    Frameworks are popular because they provide generic functionality, which can be changed and added to, to create finished products. Frameworks save time and money by providing battle tested foundations to build upon.
  3. Production-Grade – CallBox provides the features needed to ship a real connected product. It provides the things that are difficult and time consuming to get right. Things like secure boot, over-the-air (OTA) updates, command and control, data collection, and much more.
    Many IoT prototypes struggle to make it to production because they lack these critical features. CallBox eases the path from idea to product.
  4. Connected Products and Platforms – CallBox enables manufacturers to deliver world-class cloud-connected products across industries, including consumer, commercial and industrial products. While it can be used for internal projects, it shines in products that are designed to be sold to consumers or other businesses.

Why did SpinDance create CallBox?

There are three reasons we created CallBox:

  1. To increase the quality of connected products. Frankly, there are a lot of crappy IoT products on the market. They are buggy, insecure, or just plain hard to use.
    This is unfortunate, because many of these problems are tangential to a product’s unique value proposition. Provisioning, OTA updates, and secure connectivity are just a few of the problems companies stumble through.
    SpinDance has solved these problems many times over. We get how to make things secure, performant, and easy to use. By putting our hard-fought experience into a framework, we’re able to solve these problems in one location, and offer it to many customers in a compelling and cost effective package.
  2. To reduce the risk, cost and time associated with creating great connected products. We believe in the potential of IoT. We’ve seen first hand how IoT can better the lives of the elderly; how it can transform agriculture to improve the lives of farmers and their livestock; how it can help doctors and nurses provide high grade care for their patients; and how it can improve the efficiency of buildings and cities to create a greener, better world.
    But IoT can’t do that if it’s hard to use, buggy or insecure.
    Software frameworks have transformed other areas of the tech industry, like content management, ecommerce, and more. CallBox is our attempt to bring the benefits of frameworks to IoT.
  3. To reduce vendor lock-in for IoT Platforms. Too often companies ruin their connected products by being locked into a third-party IoT platform. These systems simplify the up-front process of connecting a device, but at great expense. Prices keep rising, and more and more platforms are being discontinued, forcing manufacturers into a corner.
    And often IoT Platforms are too inflexible. You’re at the mercy of a vendor to add a feature, or be forced to implement an expensive and brittle workaround.
    Because CallBox is a framework, it can be modified at any point, in any way. We’ve architected CallBox to make modifications rare. But it’s important to have that flexibility if you need it.
    To be clear, we don’t have carte blanche dislike for IoT platforms. For example, we’re big fans of what the team at Blues is doing. They provide a clear, focused solution to one of the biggest challenges in IoT: simple wireless connectivity. But the Blues of the world are few and far between. 

What’s included in CallBox 1.0?

Although we called it 1.0, CallBox is already battle tested. The first commit was back in 2020, and we have close to 5,000 engineering hours into CallBox. Various iterations have powered production systems in a variety of industries, and it is used in hundreds of thousands of devices.

But software frameworks are tricky beasts. It can take a while to find the right patterns, and polish them to be stable, flexible and reusable.

We’re finally there with CallBox.

The 1.0 release includes the following key features:

  1. A rock-solid firmware SDK based on FreeRTOS. It includes secure boot, an IoT-friendly event loop architecture, and many more features. 
  2. A stellar cloud infrastructure that is managed using modern, infrastructure-as-code.
  3. A clean and simple to use mobile SDK. 
  4. Easy-to-use development and manufacturing tools. 
  5. Most importantly, CallBox provided end-to-end features, such as end-to-end security, OTA updates, data collection, command and control, device management, user accounts, and multi-domain device provisioning. 

We’ll be digging into these features in much more detail in upcoming blog posts, so stay tuned!

Why did we call it CallBox? 

Accordingly to Wikipedia, a callbox “is a box containing a special-purpose direct line telephone… as a way for employees at remote locations to contact a central dispatch office.”

Since IoT devices have a direct connection to a central cloud system, we think CallBox describes the connected products to a T.

Also, we’re fans of Doctor Who, the fictional British sci-fi hero who roamed time and space in a callbox called the Tardis.

Our CallBox can’t do that… yet.

How can you get started with CallBox?

CallBox is available as part of SpinDance’s software development services. At this time, we are not selling it as a separate product.

There are a number of reasons for this. As a small professional services company, we need to carefully manage our resources and how we go-to-market. We don’t want to get too far over our skis. That said, the CallBox license is extremely manufacturer friendly, and we think it is a very compelling offering as-is.

All told, we’re very excited to get to this point. We are extremely proud of CallBox, and we’d love to chat.

Contact us at hello@spindance.com to see if CallBox is right for your product.