While Cardinal Peak has been developing connected products since its inception, it was not until the last decade that the underlying technologies for making IoT products was fully realized. Today’s myriad of RF options, pervasive connectivity, low-cost cloud compute cycles, emerging smart home standards and near-universal smartphone ownership has allowed the IoT market to explode. The table below provides some examples of the products we have helped design. Beyond the table are some FAQs on designing IoT products that may help you in charting your next product’s development course.
|In our initial engagement with Culligan, we helped map out their IoT strategy as they added Wi-Fi connectivity to their popular water softeners. We identified key benefits for each of their stakeholders, including end-users, their dealer network and Culligan corporate. After helping map out the overall requirements, Cardinal Peak was responsible for developing the mobile app from wireframes through final QA.|
|Cardinal Peak has supported three different brands with their Wi-Fi locks. We have been one customer’s go-to electronics team for several generations of their product, allowing them to focus their internal resources on their core offering in the cloud. Much of the challenge with Wi-Fi locks is maintaining great connectivity while minimizing battery consumption. One trick we have used is capacitive touch.|
|For a long-time customer that provides scent systems for commercial and residential spaces, Cardinal Peak has acted as an extension of their engineering team by providing both electronic product design services and embedded software development. We are pleased to have helped with several generations of this highly innovative product.|
|We helped the second largest US thermostat manufacturer meet a competitive threat by adding Wi-Fi connectivity to their existing product and getting it to market quickly. In a parallel effort, we performed a ground up design for a second-generation Wi-Fi connected product whose low landed cost provided a significant competitive advantage.|
|We helped guide a top brand in tankless hot water heaters with their first entry into Wi-Fi connected devices. Cardinal Peak had responsibility for the end-user mobile app development on both iOS and Android. As the project progressed, we expanded our testing role to better coordinate the multiple organizations working on different aspects of the design.|
|In a greenfield development for Culligan, we were asked to develop hardware, firmware and update the mobile app for their under-sink water filtration system. This battery powered device’s clever design delivers filtered water through the existing faucet as controlled by the wireless “Culligan button.” Both the quality and schedule were improved by having one team responsible for all aspects of the design.|
|For a multi-national manufacturer of air conditioners, we helped them IoT-enable their complete product line. This included dozens of models for sale under three brands requiring localization in nine languages. We developed all aspects of the complex iOS and Android app including managing end-to-end testing.|
The greatest challenge in IoT product design is insuring all the pieces work in harmony. IoT products consist of a widget (mechanical and electrical design, embedded software), RF communications, cloud computing and end-user applications. In general, they have multiple types of stakeholders that each need their own custom interface. Web portals are often developed to support customer service, manufacturing, engineering, and sometime value-add distribution/installation/service networks. While no single portion of an IoT product is more difficult to develop, the sheer volume of interfaces and protocols used across that hardware-cloud-application space is significant, and each interface is an opportunity for mistranslations. Additionally, IoT products need to work with the range of existing infrastructure already in the market including many generations of Wi-Fi routers and smart phones. Often companies looking to outsource an IoT design will engage different vendors for each aspect of the design. This strategy is problematic as no one firm truly owns the system running end-to-end so these developments often stall in final testing. Fortunately, Cardinal Peak is ideally suited for IoT designs because we have all the skills in-house as shown in the following figure.
Part of testing an IoT system is being able to recognize if a specific bug is in the app, cloud, embedded software or due to the infrastructure (Wi-Fi or smart phone configuration). While experience is a great aide, it is vital to have layers of testing throughout the system. For example, we generally recommend automating common tests with test scripts and test fixtures to exercise interfaces within the system regularly through the development process to prevent regression. In addition, developing simulators for the components of system (embedded software, cloud app, user application) allows developers to test their contributions while the mating software is still in development. This of course requires the development of detailed interface specifications early in the project. Cardinal Peak’s QA team is roughly one fifth of our overall staff because quality in not optional in today’s world of user reviews. We maximize the value of our testers with a blend of manual and automated testing. Finally, as a product reaches feature-complete, our test team manages alpha, “friends-and-family,” testing and beta testing for you. Read more on our testing practices.
As IoT devices began to proliferate and become more mainstream in the last decade, a variety of companies developed IoT platforms to make it easier for manufacturers to make their products connected. These platforms generally involved a hardware module, an extensive cloud application and an app template. The hardware module generally contained the radio for connectivity and managed all security, communications, and OTA (over-the-air) software updates. The cloud application was configured using a template which described the data for that connected device. Finally, a reference app was provided that allowed a fill-in-the-blank option for a basic app.
These IoT platforms provided a faster way get a product to market while sharing the development burden for the platform across products and companies. Cardinal Peak developed many products on IoT platforms over the years. Some of these platforms still exist and can be an acceptable option for brands looking to get their first connected product to market. However, IoT platforms are generally limiting with their one-size-fits-all, especially for brands looking to differentiate their products. Check out this blog for more on our IoT platform guidance.
As IoT devices have become more mainstream and use cases more diverse, larger players like AWS and MS Azure have moved into this space. While it is slightly more complex to develop a product on AWS IoT Core, it is infinitely more flexible than the one-size-fits-all platforms. We have found many of the companies that originally developed their products using a platform now want to upgrade to AWS IoT Core or comparable. The underlying reason is that they need to differentiate their product in a crowded market and the platforms do not support their unique needs. For example, we had one customer that needed low latency (under a second) compared to the variable delay in the platform (up to 5 minutes). We had a Wi-Fi lock customer that wanted to have best-in-class power performance which required using a specific radio that was not supported by the IoT platform. Others have wanted more control of their data and how they connect to other systems. Check out this blog, if you currently have a product on an IoT platform and considering making a change.
Many of the connected products we develop are for companies that have been market leaders in their sectors for years. They know how to design, distribute and service their devices. They think adding connectivity is like adding a new feature. They will design the new product with connectivity, release it and in 36 months design the replacement product. The reality of the situation is vastly different in that once you sell a connected product, you are a software company and need to think and act like a software company. Even if you never add a new feature to your product, you will still need to push regular embedded software updates and app updates to address new security vulnerabilities or changes in the underlying infrastructure such as Android and iOS. This ongoing cost needs to be factored into the business model. As companies embrace this, they realize that they can introduce new features and services through software updates. These new features and services keep customers in your brand, and they might even open up new revenue opportunities. The good news with being a software company is that you can launch with a few key features, then slowly grow your product iteratively over time and thereby minimize risk while delighting your customers.