In regards to a tweet on Internet of Things(IoT) by @swyx today I am giving a few thoughts on why IoT is beloved by Industry but Devs care very little.
I think the reasons are pretty simple and the reasons are straight forward.
The first reason is most new developers want an easy way to get Feedback that their code is working. Not having coding experience is nerve-racking and seeing the code work is a thrill. Console work, web development, and even game development give feedback right on your screen. IoT requires extra hardware(more on this later). While you are tinkering settings or networks, you could be coding! And how many people are going to see this physical device that measures the water levels in your desk plant?(more on this later, too.)
The second reason is Exposure. This is a different kind of Feedback that also markets your skills to potential employers or partners. For new devs this is first step to fulfilling the reason to learn coding in the first place. You are trying to make a living out of this new skill. Everyone can post code online for others to read. That is a bedrock of the dev community and pushed innovation from the start of the Open Source movement.
The Third is Cost. More hardware adds to the cost and complexity of a project. I hate to remind everyone, but young people(who make up the majority of new coders) don't have a lot of extra cash. It is a hard sell to point them to hobbyist, electronics doodads that might be seen by a some other enthusiasts without a clear path to employment is a better direction to take over say web development, which is close to free. I love my Raspberry Pi and used it in some fun projects. But I don't have an easy way to showcase the projects in ways a business would find useful or impressive without driving them to my house and pointing them out.
I could go on about other issues plaguing IoT in security but that is more than this space can house. Let's just say it is a can of worms that is still hard to overcome at this time. There is a stagnant distrust of having sensors surround you as people don't trust who or what is monitoring them.
Let's just summarize the reasons newer devs don't jump on IoT is one of Chicken and Egg dilemma.
- IoT languishes as a niche, despite Industry and platforms pushing it.
- New Devs want to build and ship projects that are cheap, quick and easy to share. IoT fulfills none of these features.
- New Devs build skills and portfolios in things other than IoT
- IoT languishes as a niche as there are not enough developers to make new devices and solutions to make them cheaper and more popular. I hope IoT can make the push to ubiquity. The promise of IoT is to make the world a magical place where the eyes, ears, and feelers of machines can read our needs and caters or manages better solutions as we need them. I always try to think, "How can we get closer to Star Trek?" Probably the best future we could imagine, right there. IoT can make a small step in that direction.
My proposal to Industry is pretty basic. To break this logjam, I have a few ideas:
- Make the hardware cheaper, easier to configure, but also with more features. Raspberry Pis are cheap but alone they are pretty limited. A new dev is not going to make the effort in how to integrate sensors and controls that would be easy to make, improve, and showcase a new doodad that could lead to work. The device I am proposing has multiple sensors integrated(or easily added via USB) with controls already attached and able to connect to networks or bluetooth very simply.
- This one is a bit trickier. A place to connect devices and share what they are doing with them would be great to showcase the Maker and give them Feedback and Exposure. At the moment it is like RasPi hobbyism. Make a website and/or post to social media and hope someone notices. What I am proposing here is a GitHub-like site that also has live data coming from the IoT device. It would outline the device project and give real time data of what it is doing or collecting.
Please tell me what you think.