In addition to quite a rich content Indeema delivers with regard to the various IoT topics, the present post aims at figuring out the venal or even down-to-earth aspect of a minimum viable product in the segment of the IoT. We mean the cost.
Before getting down to the calculations, a brief summary about the IoT is worth recollecting. To avoid repetition, we refer our readers to one of the recent posts where the detailed anatomy of any IoT solution is explained layer by layer. Reading it, those who are novice in the IoT subject can grasp the general picture of the simplest IoT solutions along with the “must-have” constituent parts any full-fledged IoT solution consists of. Besides, the main technologies of the IoT development are described there.
Another our article represents one of the most popular microcomputers many IoT developers use in their solutions. This reading can help in understanding where the contemporary IoT industry moves to.
And a series of the educational articles we created for the beginners gives a step-by-step guideline on how the simplest IoT solution can be developed as well as what hardware and software technologies should be applied to that.
Summarizing the abundance of information available on the internet about the IoT we can define a unit of the IoT as a device equipped with one or more sensoric hardware capable of transmitting data regarding the state or behavior of the device to a cloud or to a remote computer through the internet in order to arrange an independent self-controlled operation of the device basing on the commands generated by an analytic software layer.
Since we understand the general purpose of the IoT along with the common structure inherent in a minimum viable product of the IoT, it is time to comprehend what amount of labor and how much money can be spent to develop an MVP.
As an exemplary case of the MVP, let’s consider a temperature sensor which can display indications on a remote display. Thus, a thermometer and an office heating system can be involved. Our solution implies several temperature sensors mounted in various locations in the office. We should collect data from the sensors in order to analyze it for adjusting the office heating system. The end purpose is to keep the temperature homogeneous throughout the whole office automatically.
First, let’s make a list of devices we need to create our solution.
a module for reading temperature and sending data to a server
an adjustable heating system or air conditioners
a module for adjusting both the heating system and the air conditioner as well as for communication with a server
In fact, such a list can be pretty alterable depending on the final objectives in each particular case. However, let’s take this one as a basic toolkit allowing us to comprehend the probable cost of such a type of the systems.
The whole process of the development of our MVP includes three main parts where the first one is dedicated to the hardware we need to select, the second part implies the method of how the hardware should communicate with a server, and the third part covers some popular cloud-based solutions for the IoT.
When we consider our MVP from the client side, the issue we can see there is
a web page where the temperature can be adjusted
The components we need for the MVP include:
an appropriate temperature sensor
two programmable wi-fi modules for collecting data and transmitting the data to a server
a web server for aggregating the data as well as for creating a control panel
Since the most important features of our MVP are the speed and the low cost of implementation, the most reasonable solution implies the right choice of the sub-modules for creating the IoT system.
We propose to take ESP8266 as the programmable wi-fi module because of its low price along with sufficient characteristics meeting our requirements. In brief, this module can be described as a system-on-chip (SoC) widely used for making wirelessly networkable modules. It contains a 32-bit microcontroller unit (MCU) Tensilica L106 running at 80 MHz (maximum 160 MHz). The system has sufficient capabilities for 2.4 GHz wi-fi (802.11 b/g/n, supporting WPA/WPA2). Since it was engineered for mobile devices and wearables, its power-saving architecture allows three modes of operation where activities vary. The system has a very compact design containing everything necessary from antenna switches to power management modules in a single small package. Its broad operating temperature range implies consistent functioning in industrial environments. The other detailed technical characteristics of the system can be found at the manufacturer’s website.
We offer to use DS18B20 temperature sensor - the same as the Arduino Starter Kit includes. This is the latest DS18B20 1-wire digital temperature sensor from Maxim IC. It can report degrees C with 9 to 12-bit precision, -55C to 125C (+/-0.5C). Each sensor has a unique 64-Bit serial number etched into it allowing a huge number of sensors to be used on one data bus. This is an extremely appropriate component for creating various data-logging and temperature control projects.
When it comes to the web part of our project, the solution should include both the visual and logical (plus databases) sections where the latter is dedicated to the decision making. Two main approaches to the creation of the web part can be applied:
developing a standalone custom build from scratch using such popular technologies as Node.js, Angular, and React;
using such complex cloud-based IoT solutions as Google Cloud, IBM Watson, Amazon AWS, and GE Predix
In the case of the second approach, the question what to choose arises most likely. The thing is that any universal answer is hardly possible in such a situation. A lot depends on both the final objective of a project and the requirements of the developers since each above-mentioned cloud solution has its own narrow specialization in the IoT realm. For example, GE Predix is designed to correspond to the needs of the Industrial Internet of Things mostly.
In order to facilitate the whole IoT picture understanding, the following infographics can be used by both the customers and developers while figuring out what technologies are to be applied to one or another IoT solution:
We propose Firebase along with Google Cloud IT Core to be used in our case. We can make a visualization as well as keep our user base on Firebase. Google Cloud IT Core in its turn can be used for saving the temperature data.
In order to develop our MVP in accordance with the characteristics described above, the following team should include:
a project manager
an embedded developer
a front-end developer
a QA specialist
Let’s explain the line-up to comprehend who is who in such a team.
A project manager is the one who holds the project during the entire process of the development providing an optimal workflow for the whole team.
Even though the MVP creation does not imply a sophisticated design, a basic simple visualization is necessary. That’s why a designer should be engaged for about 24 working hours.
When it comes to an embedded developer, the task implies reading data coming from sensors along with a subsequent transmission the data to a server. Both processes require approximately 16 working hours (8 hours/each).
A front-end developer is to do most of the work on the project. The work implies setting up Firebase along with Google Cloud IT Core. Besides, a simple UI should be created. It can require approximately 40 hours in total.
In order to make sure that the entire system works as expected, it is necessary to arrange a working environment while testing how all components interact in integration. A QA specialist will need about 30 hours to accomplish the task.
Now, we can figure out an average price range defining the cost of the simplest MVP in the IoT sector. In accordance with the generally accepted hourly rates of the outsourcing software developers worldwide it is easy to calculate how much the described solution can cost in different regions.
Eastern Europe is considered as one of the leading software outsourcing destinations. An average hourly rate is $25 - 40 there. It means that the MVP requiring 110 hours for the development can cost from $2.640 to $4.400 when the developers from Ukraine get down to the project.
The outsourcing developers from India or China can rate a similar project at about $1.980 - $2.640. However, in many cases the apparent saving comes at the cost of the lower project quality.
And the developers from the USA can assess this work at $6.600 - $ 11.000 most probably.
A considerably sober approach to the software development suggests checking the quality/price ratio when an appropriate software outsourcer is to be chosen. As we show above, namely Ukrainian software developers demonstrate the perfect balance in this regard.