Article

Four Key Ideas that Shape CallBox, The IoT Software Framework

May 8, 2024

by Brian Tol, CTO

CallBox is SpinDance’s in-house framework for creating and operating production-grade IoT products. It provides the foundational features every connected product needs. By using CallBox, firms can focus their energy and development dollars on features, instead of boilerplate infrastructure. 

For example, CallBox provides robust solutions for device provisioning, over-the-air updates, analytics pipelines, and remote control tooling. Instead of writing these items from scratch, organizations can instead focus on the features that differentiate them in the market. 

And, because CallBox is a framework, and not a fixed product, every part can be customized. This reduces vendor lock-in, and allows for unique customer experiences.  

A good framework is based on years of experience, and that’s no different for CallBox. The design and implementation are based on the 50+ IoT products we’ve delivered over the last ten years. 

Those years of experience shaped our perspective on what’s important to build into an IoT framework.

Below are four keys to CallBox’s design philosophy:

Think end-to-end

IoT spans many spaces, from embedded devices, to cloud, to mobile apps, to business dashboards. Because of this landscape, CallBox’s features are architected and built in an “end-to-end” fashion. For example, CallBox’s remote control features carefully consider how commands might flow (or not flow) from a user’s mobile device, through the cloud, and to a device. This end-to-end approach enables robust and cost-effective products.

Build-in best practices

Good frameworks don’t just provide features, they provide best practices. CallBox includes industry best practices in a number of areas, including security, performance, security, resiliency, and privacy. By baking these in, developers using CallBox can deliver high-quality products on much shorter timelines.

Support all users in an IoT ecosystem

In a production connected system, there are many important personas that need to be supported. CallBox is designed to support the following users:

  1. End users. These users are using the end product. They need a product that is easy-to-use, performant, secure and resilient. 
  2. Internal business users. These users include product development, business analysts, and more. They need quality product analytics, delivered in a privacy-friendly way, to understand how the product is being used. This helps them make informed business decisions.
  3. Developers. Engineers need great tooling, and design patterns to easily add the features unique to the product they’re building. 
  4. Operators. This includes fleet managers, customer service technicians, and anyone working to keep a system up and running. They need features to help solve support issues and mitigate threats. 

Support the entire life cycle

The IoT product life cycle is complex and spans years and sometimes decades. A good framework, like CallBox, is designed to support every step of the life cycle:

  1. Prototyping. CallBox enables development teams to rapidly experiment, using the same tools and processes that will take them all the way to production.  
  2. Development and Testing. Developing IoT devices requires developing end-to-end features and enabling a team to easily test the features using manual and automated testing tools. 
  3. Manufacturing. IoT products are often manufactured by contract manufacturers, often overseas. CallBox enables organizations to sign, encrypt, and deliver firmware artifacts to these organizations, creating a trusted chain of custody.
  4. Provisioning and Account linking. Provisioning is the three-step process of getting a device onboarded:
    • It is connected to the network by that wifi, cellular, or LPWAN network.
    • It is onboarded to the cloud, ideally using zero trust principles. 
    • It is linked to a user’s account, consumer or commercial.
  5. Nominal usage is the life cycle where the device is being used by customers. CallBox enables a great experience, and provides tools to organizations to manage and measure their products in the field.
  6. Software updates, specifically the ability to deliver “over-the-air” updates to devices.
  7. Transfer of ownership and end-of-life. Every good thing comes to an end. At some point, a device will be sold to a new owner or decommissioned. CallBox supports transferring a device to a new owner, or responsibly removing the data and user from the system. 

By keeping these concepts front of mind, CallBox provides a solid foundation for every connected device. 

If you’d like to learn more about CallBox, or get a demo, drop us a note at hello@spindance.com.