I was recently learning about Verizon starting to sell wireless data plans for drones in the Wall Street Journal as part of my research on what could be a drone API stack. As an Internet of Things (IoT) concept, I find drones fascinating because they can have so many dimensions of APIs at play. The drone, its camera, the battery, and other components can have APIs. They can publish video to YouTube and Facebook via APIs. They can receive real-time updates about weather, fires, infrastructure, and other changing events via APIs. This post is about the network API layer when it comes to drones.
If we are going to be rolling out networks for specific devices like drones, automobiles, and other IoT devices, it seems like every object should have an API, including the underlying network itself. As I wade through the different companies in my network API research and learn about the myriad of ways web APIs are being exposed at the network level, I am left thinking about the programmability of the network in service of specific devices like this and what this will mean for net neutrality.
Let's take that to another level. What happens when drones can be programmed to fly around and either be the network, or program the network? This is what captivates me about drones and APIs. It all breaks me free from thinking about APIs from just a provider and consumer dimensions and blurs all the lines. I know that Verizon is just reselling its existing network to a new type of device ($$$), but I think the potential with rolling out networks for IoT devices will be in making sure it is also programmable, along with every object that is connected.
All of this opens up some really interesting security concerns when you have so many dimensions of the physical and virtual world possessing APIs. Drones with APIs flying around providing and consuming APIs, redefining their own network with an API; it is a recipe for pure API mayhem. For now, I'll add the reference for drone specific networks to my research and keep my eye out for other device specific networks like this. Maybe as I continue to push my understanding of software-defined networks forward, I can further merge the concepts more.