In today’s world of home automation, wearables, and virtual assistants like Siri and Alexa, it can seem like it should be easy to create a connected product. Don’t be fooled though. IoT products are complicated, so make sure you’ve considered all the possibilities before starting a new project.
Considerations for an Effective IoT Product
Connected products are a complex blend of many types of engineering. The physical device itself requires firmware, electrical, and mechanical engineering, as well as industrial design. Like a traditional web app, connected products also require frontend engineering, backend engineering, devops, and cloud infrastructure. You may even need to create a companion app that runs on the user’s mobile device.
On top of this, just because a product is cloud-connected doesn’t necessarily mean its users will find it more useful. In fact, sometimes the opposite can be true, which is how some IoT devices have developed a bad reputation. When creating a new connected product or retrofitting an existing product with cloud connectivity, it’s important to determine the value that the cloud will bring to the user. Product management and business best practices still apply to connected devices.
Successful products stick around in the market because they’re effective at meeting users’ needs. Be sure to audit those needs when determining how cloud connectivity will help your product’s users. It’s important to understand how the cloud can help fill these needs in a way that a standalone device can’t do on its own.
Synchronizing the way a user has personalized one of their devices across all of their devices can be a way to make your product feel more inviting and encourage a user to purchase multiple devices. In the case of a commercial or industrial product where the users may not be the owners of the equipment, this personalization can still have benefits, like enabling field technicians to retain their optimal workflow when servicing devices owned by different clients.
Predictive alerts can notify users when maintenance should be performed before equipment is affected by an actual failure, preventing unexpected losses due to downtime. The cloud can help accomplish this by analyzing the data across a fleet of devices and looking for anomalies. Remote updates can allow new features and fixes to be deployed to devices in the field. This can eliminate the need for users to learn a special firmware update procedure, or prevent the cost of dispatching field technicians to update devices. These are just a few ways the cloud can benefit the users of your connected devices.
Here are some other questions to answer when designing the user experience for your product:
- What are the user’s needs & pain points?
- How is the user currently solving the problem?
- What types of technology is the user familiar/comfortable with?
- Where is the product going to be used? How easy is it to access the physical product when deployed? (i.e. in a home, equipment closet, or corn field)
- Does the product require professional installation and service?
What stage your product is at is also something to consider. If you’re spinning up a brand new product line, you’ll likely need to validate the market and find the variant of your product that fits the market best. This could take several iterations, or even a major pivot, to find the right fit. During this time you may also be facing pressure to get to market quickly, which is not necessarily a bad thing. Getting a product in users’ hands sooner, even if it’s a beta version, can be valuable in shortening the feedback cycle and iterating faster. With this type of product, the software and infrastructure should be minimal and flexible, as it will need to adapt to changing requirements as the product goes through each iteration.
If you’re retrofitting an existing product line for connectivity, it may be driven by a migration off of legacy technology, UI/UX/performance improvements, a change in revenue model (subscription-based), or a number of other reasons. In this situation you likely have a good idea of the market and your users. Leverage this when figuring out how connectivity adds value, and conduct a round of interviews with some of your existing users. With this type of product, the software and infrastructure should be built to scale. If users are migrating from a prior generation of the product or are generally hyped about the new product, the cloud services may need to handle an influx of users on day one, as well as additional waves depending on migration or marketing schedules.
Technology choices have likely gone through your head if you’re thinking of creating a connected product. One way to narrow down the right tools for the job are to use the business and product requirements as the overarching set of constraints. This will eliminate some tech that clearly doesn’t fit. Although it can be tempting to pick new or trendy technology, the tech stack doesn’t guarantee a product’s success. Granted, this isn’t necessarily a reason to avoid new technology either. The key is to think critically and pick tech that solves your problems well.
Prioritize Open Communication and Expert Guidance
Keep in mind that an IoT project is more complex than building a web app or standalone device. Ensure that communication channels within your project team are set up correctly, as miscommunication can lead to the inability to integrate pieces of the product together and cause delays. If you’re new to the manufacturing side of things, you’ll want to consider your device’s test procedures, compliance, and regulatory certifications (FCC, UL, etc.). If you’re new to the cloud side, you’ll want to consider penetration testing, software maintenance, and infrastructure costs.
Creating a successful connected product can be a rewarding experience for both the users and the company. If the process feels daunting, reach out for help! Finding the right consultancy can help fill in your team’s gaps in knowledge and accelerate progress in the right direction.
Alex McLain is a software engineer with a background in connected products and IoT. He specializes in Elixir, and is an organizer of Nerves Meetup, a virtual meeting for anyone looking to sharpen their Nerves skills.
Founded in 2007, Binary Noggin is a team of software engineers who serve as a trusted extension of your team, helping your company succeed through collaboration. We forge customizable solutions using Agile methodologies and our mastery of Elixir, Ruby and other open-source technologies. Share your ideas with us on Facebook and Twitter.