At the recent Android Developer Conference (AnDevCon) in Boston, I presented “Developer Journey into the Internet of Things (IoT),” to software developers contemplating the move into building for IoT. I want to share with you some of the highlights from that keynote session.
The Internet of things is shaping up as the Next Big Thing after the mobile application wave, and I see a natural progression in taking app development skill sets to IoT development. A few trends are making it clear that the time to start developing for IoT is now.
Lower barriers to entry
First, the main barriers to entry are hardly barriers anymore:
- Immature platforms – Until recently, the IoT landscape has been fragmented across multiple standards and proprietary solutions, making it difficult for hardware developers to scale up. The best you could do was build a good product in isolation and hope it worked with competing or adjacent solutions. Now, winning platforms like AllJoyn and Thread are emerging, pointing to the maturity of IoT.
- Lack of hardware development knowledge – When I first developed hardware early in my career, I used to quip that the equipment on my workbench was worth more than the townhouse I lived in. Now, the availability of development platforms makes hardware development much more approachable, especially if you’re new to it.
- Lack of software development knowledge – There used to be little crossover between hardware and software. Now there’s a huge and growing database of code samples, training resources and working sample apps so you don’t need to write code from scratch anymore.
- High production costs – For a long time, hardware development meant a massive capital outlay up front and inventory management later on. As IoT matures, the costs of hardware development are decreasing and it’s easier to manufacture and market hardware products, even in lower volumes. Think about 3D printing, or the rapid prototyping and mass production for which Shenzhen, China is becoming famous.
In case you think you’re too far behind the curve, here’s a statistic from Mobile Vision’s Developer Economics for you: 75 percent of developers working on IoT have been at it less than two years. This is early days and not only is there a migration of seasoned developers but an entirely new generation of engineers is rising to meet the challenge.
The quantity-argument for IoT development IoT is certainly compelling, especially with Machina Research and Cisco estimating 25 to 50 billion IoT objects by 2020. But I think that the quality-argument is even more compelling: With that many connections, developers have a huge opportunity to reduce complexity for the average user.
If you’re an early adopter, most IoT devices you buy today offer only a siloed experience, which means that your devices act like little more than a controller. For IoT to really take off, we need to humanize the experience. For example, when the user arrives home, the garage door should open, the lights should turn on and the security system should disarm itself.
When you write mobile apps, you create experiences that touch people’s lives. As IoT matures, the experiences you create will touch their lives just as much if not more. And, you’ll have more and more of the tools you need to create those experiences easily.
What am I getting into?
Whether you want to build an app, a device (“thing”) or both, keep a few points in mind:
- Much of the infrastructure is already in place and much of the code is already written for you. You can find user interface tools for the app, an analytics tier for data, an ingestion tier for cloud computing and storage, and an embedded OS for the thing.
- It’s not the data alone that makes IoT valuable; it’s making the data valuable to the user. With so much data everywhere already, the successful IoT hardware developer shows the user the value in having connections to even more things in daily life.
That mindset will help you get from concept to reality. Then, readily available hardware incubators can help you get to a viable prototype, after which you can take advantage of their manufacturing partnerships.
Building your first thing
At Qualcomm, we think of two categories for IoT devices.
First, smart devices like robots require high performance, rich multimedia and sensor capabilities. They can also use their own on-device analytics. Our Snapdragon™ processor powers the DragonBoard 410c, a development board built around mobile device technology that has shipped in over a billion devices. The DragonBoard 410c costs $75 and complies with Arduino standards and the 96Boards ARM Open Platform specification.
On the other hand, IP-connected products like light switches and thermostats are designed for Wi-Fi connections and to move data to and from the cloud. The GT202 IoT Wi-Fi Development Platform is built around a Qualcomm Atheros system on a chip (SoC) to consume minimal power. AllJoyn comes pre-installed and the board is Arduino-compliant, so you can marry it to a microprocessor and run a real-time operating system. The GT202 costs $18.
So, go build your thing.
- Get the DragonBoard 410c or the GT202.
- Add sensors to get data from the physical world into your thing.
- Access the data through platform APIs. Deployment and device management are usually handled with platform’s ingestion layer.
Now you can iterate and eventually build a viable prototype.
Before long, you’ll see that the whole is much greater than the sum of its parts. With the board, sensors, OS and dumb object depicted in the diagram, you can integrate compelling experiences into smart things for IoT like an egg tray, a piggy bank, customizable lighting, an air conditioner and an irrigation system.
In short, while today’s isolated IoT devices seem like a novelty, tomorrow’s integrated experiences will become a necessity.