Diagnosing and Debugging Remote Devices
Another essential question to ask when scaling your IoT product: what happens when there’s a bug?
Our first recommendation on this topic is to make sure you’re taking proper precautions during the IoT development process to prevent bugs that might have been avoided through thoughtful product design. The best way to do this is through robust user testing. Effective user testing for IoT gives you an opportunity to understand all of the ways your product might fail once it’s out in the wild, and it’s best performed outside the lab by people who were not involved in the development process.
Still, even if you perform user testing during the development process, bugs happen.
A few common bugs in the IoT space include:
- Integration errors
- Network issues in specific geographies
- Incompatible firmware versions
- Power consumption
In these situations, it’s important to have a team ready to respond when errors arise, with a defined process in place for the quick resolution of issues. The faster your support team can get to the root of the problem, the faster it will be solved.
Make sure that when you report a bug you’re highly specific, including information like:
- Date and approximate time the bug was found
- Bug description: A concise description of what the problem is. Pure description is helpful here — no narrative or conversational language.
- Severity: Describe the impact of the bug.
- Steps to Reproduce: Step-by-step instructions on how to reproduce this bug.
- Do not assume anything here. The more detailed your list of instructions, the easier it is for the developer to track down the problem.
- Actual Behavior: Explain what happens when you follow the instructions to reproduce the error. This is the manifestation of the bug.
- Expected Behavior: Explain what you expected to happen when you followed the instructions. This is important, because you or your users may have misunderstood something or missed a step, and knowing what you expected to see will help the developer recognize that.
- Troubleshooting, Workarounds, and Testing Steps Attempted: Describe anything you did to try to fix the bug on your own. If you found a way to make the program work in spite of the bug, describe how you did it.
This might seem like a lot of information to provide at first (particularly when you’re already in mild panic mode because of the bug), but by giving your support team context up-front, you’ll eliminate needless back-and-forth and resolve the bug more quickly.
Although sometimes controversial, you can also consider creating an opt-in system for reporting bugs and other telemetry data. A public bug reporting system will work wonders for the quality of your software.
Choosing the Right Hardware for Your IoT Device
IoT products come in many shapes and sizes. That means that when purchasing hardware for your embedded devices, a one-size-fits-all strategy won’t cut it — and definitely not at scale.
You need to choose hardware that is tailored to your use case, taking into account power requirements, the impact of environmental factors, and the durability of the hardware. Where will this product spend most of its time? Are there any edge cases you might not have considered? How long does it need to last?
You should also be thinking about what you want versus what you need when it comes to hardware. Generally, IoT project managers on the hardware hunt are looking for something that’s easy to develop and use, is affordable, and doesn’t require huge tradeoffs when it comes to power management. But to ensure success long-term, you’ll also need to consider supply-chain support, software tools and support, connectivity lifespan, and device certifications.
Scale Faster With Better Support
Making a foray into IoT is already a challenge without a guide, and scaling at an enterprise level can seem insurmountable. However, if you invest your time and budget into getting OTA updates right, setting up a process for diagnosing and debugging devices, and selecting the right hardware for your project, you’ll be more likely to succeed.
If you’re looking for a partner to join you on your journey, Very has you covered.
In addition to helping you design and build your IoT product, our expert team is equipped to support its ongoing maintenance. Our team becomes an extension of your team to help you achieve your goals within the timeframes your business needs and expects. Get in touch today.