The Internet of Things ecosystem can be incredibly hard to get a grasp on – luckily Anand Tamboli, author of “Build Your Own IoT Platform”, is here to help! I spoke with him about his new book and, in particular, the common mistakes people make when building an IoT system.
The first piece of advice Anand was eager to share was to ensure that you sort out what hardware you want to use first — it’s much easier to adjust a software approach than it is to adjust a hardware one… especially if you’re buying a whole lot of parts! Anand explains,
“All things being equal, hardware development should take precedence over software. It is relatively painful to iterate through hardware changes and at times quite costly. With most of the developers bootstrapped at the beginning, hardware errors can deplete funds swiftly.”
“Moreover, for the majority of the IoT systems, hardware usually defines the future development path and specifications. I recommend, not to put the cart before the horse, follow the correct sequence.” — Anand Tamboli
Anand and I both regularly attend the monthly IoT Sydney meetup, where we see our fair share of IoT device announcements. Anand points out that often these devices don’t really need to be smart devices — be careful when making an IoT system and be certain it is a system that is actually useful! Anand says,
“How many times have we both have laughed together at IoT Sydney meetup while watching so-called smart-things being put up for crowdfunding or sale? If only they had spent some time with customers to validate the need for the smart thing. All other times, you are only wasting your time and money.”
“Whenever developers are asking questions like ‘could we…?’, they also should ask, ‘should we…?’.” — Anand Tamboli
Anand also points out that it is easy to get focused on the DIY kit nature of the world of IoT that you don’t realise your initial creation isn’t too scalable if you needed to make hundreds or thousands. He explains,
“Many of the developers and new entrants are so enchanted by DIY kits and stuff that they nearly lose the big picture. Building something with an Arduino in one or two units is one thing and building a system to be scaled and repeated 1000x times year on year is another.”
“If you do not pay attention to the scalability factor early on, you will soon find yourself redesigning everything repeatedly, wasting time and money again.” — Anand Tamboli
Manufacturing also takes a very particular approach to building a prototype, as Anand continues,
“The same applies to the manufacturing aspect of your product. Designing the product for production level manufacturing is a different ballgame. If your cost projections are based on prototype or MVP, think again. There are several things that would need to be considered during manufacturing at scale. Types of jigs and fixtures needed for mass level programming, test equipment, repair and rework, excess parts, cycle time, shipping costs, capital expenses, operating expenses, overheads and many others. I have seen many projects where the product idea was good at the outset, but not viable for business at scale; pay attention to this factor and avoid disappointment later.”
Keep it simple. The KISS principle. That’s Anand’s next piece of advice — he says you should bring the complexity to the cloud, don’t have it all on the device you are building:
“Core to the approach should be keeping things as things, and resisting the strong temptation to turn a thing into a computer. Why? No consumer wants to reboot their thermostat, water heater, or gate opener. If you follow a philosophy to keep products simple and push product complexity to the Cloud, you can easily reduce the cost of connected product, and at the same time make the product more reliable (less software to go wrong), more secure (less software means fewer exposed attack points) and much easier for users to install and use.”
User testing is pretty darn important. You need to test out your idea with people other than yourself. You need to get them to try to use it and then take note of how they use it in particular:
“This is easy to miss if you haven’t talked to the customers or users already. With many developers, I have seen revelations and epiphanies happen when the product is shown to the user for the first time. Many things that have been incorporated are useless from users’ standpoint or many other things that haven’t been added are the ones necessary for users to use the product effectively. Realising this type of gap turns out to be very costly in later stages. This is where an MVP helps along with customer/user involvement from the beginning.”
Anand’s book is subtitled “Develop a Fully Flexible and Scalable Internet of Things Platform in 24 Hours” — can you really make a whole IoT system in that time? How? I put that question to Anand and here’s his response:
“Yes and no. The book is about how to build the core of the IoT platform with must-have functions and features in the least amount of time. Whole IoT system per se would involve several other things, including hardware integration and application side of things.”
“Nonetheless, the claim of 24 hours is not click-bait, it is a 100% legit and calculated claim. When I was writing the book, I literally timed each activity for building the platform. As it turned out, the time required was well under 20 hours, so I decided to round it up and quote 24 hours.”
“yes, you really can build a core IoT platform, which you have full control of, which is fully flexible and scalable, all by yourself, in just about 24 hours.” — Anand Tamboli
“If someone opts for using existing code and then edits it later, their platform will be up and running in less than 8 hours for sure.
A lot of times, we hear the common excuse that building your own will take more time, especially when developers opt for readymade services from other vendors. I wanted to demonstrate to everyone that this is a total myth and if you want, you can really build your own IoT platform in 24 hours of time.”
A big thank you to Anand for taking the time to share some of his experience around the IoT with us, if you are keen to get his book, you can purchase it here and use the code DEVDINE-0X-AT for a 10% discount!