If you have given a cursory glance to the menu of this website, or the categories of topics on which articles have been written, you’ll perhaps feel that many of them don’t resonate with the central theme of the website: IoT. When we talk about IoT, the focus is largely on the ‘things’, or the inter-connected devices, and the communication protocols. But several of the categories (Python, FastAPI, etc.) do not seem to be very much in line with IoT.
However, that is not exactly true. If we just look at the journey of an IoT company, you will get a strong idea of why IoT is so much more than just the devices. Note that I’ll be covering only the purely technical disciplines in this post. Several non-technical or semi-technical disciplines, like sales, marketing, product management, design, support, etc. also play a huge role in the development of any IoT device.
Journey of an IoT device
Conceptualization and Prototyping
Within this phase, you will essentially determine what your device will do, what all sensors it will have, how it will look, how will it communicate with the servers/ apps, etc. Primarily, the following disciplines are involved, and work in close collaboration:
- Hardware: For getting the physical device ready
- Firmware: For providing the necessary intelligence to the device
- Backend/ Cloud: For making sure that the data sent by the devices is properly processed and stored
- Frontend/ App: For making sure that the end-user is able to consume the data sent by the device
Of course, some requirements may change depending on your specific application. For instance, if your device simply transmits data to the end-users’ app using BLE, you may not need Backend/Cloud engineers. But generally, people prefer to collect and store data on the cloud.
During this phase, the hardware part is more or less frozen. Any problem observed in the device is preferably solved by the firmware using Over-The-Air (OTA) updates. The app/ frontend for the end-users is also updated based on user feedback. Backend is in the monitoring/ maintenance mode, making sure everything works smoothly.
This is the phase where the hardware and firmware are more or less stable, and the backend/cloud team swings into action. As the number of devices scales from 10 to 1000 to 1,000,000, the cloud infrastructure has to cope up with the exponentially increasing load, making sure that the end-users don’t experience any inconvenience due to the load on the servers.
Often, the entire infrastructure is re-architectured to keep up with the increasing load. Handling a higher volume of data, while keeping the cost in check is an important factor that determines the unit economics of any IoT company.
The app keeps on getting updated as more and more feature requests come in from the users, and occasionally, firmware OTA updates are also sent to the devices.
This is also the stage where the data subsystem starts coming into prominence. As the devices keep dumping more and more data into the cloud, you eventually start wondering how to put this data to good use. This data can be used to add more value to the end-users, or to provide valuable insights to auxiliary industries.
An important subset of the data subsystem is the visualization team. Presenting the data insights is as important as getting them.
When you put all of the above in perspective, you understand why this website covers several concepts that are not related to the ‘things’ or the ‘devices’, but more related to cloud, data, backend systems. Hopefully, I’ll be able to add tutorials on frontend/app as well, in the days to come.
If you are starting off in IoT, it doesn’t matter which discipline you’ve started with. There is an entire universe left to explore. Happy learning!