For the first time, we are seeing how our lives will increasingly be inside computers. It’s what we recognize as ambient computing. Like a fish in water, our existence will be in a computer that is our car, our home or the streets we walk on. We will not really care. It will just be part of our existence. For example, your car has hundreds of sensors and tens of processors that record and manage all kinds of vehicular and incidental data. In many ways, it is a data cloud sitting in your driveway.
In an API contextual framework, the world will be about events and far less about requests. That means a fundamental shift in how we think about the way we live and work. Trillions of things will be connected. They will work according to events.
Dr. Phil Windley is an enterprise architect with the office of the CIO at Brigham Young University. He is also the founder and CTO of Kynetx, the company behind Fuse, the open source connected-car product.
At the API Strategy and Practice conference earlier this year, Windley gave a talk that raises questions about the value of the RESTful API in an IoT context. The API is a catalyst. It has helped create connected app networks that are taken for granted by most. But how will cars or any of the other trillion devices connect with each other?
Windley maintains that what’s coming are a new form of events-based APIs and microservices that are inside a unique architecture based on persistent compute objects that he calls “picos.” It is these picos which form the basis for how an ambient universe might exist. The first generation of this new reality is embodied in his company’s Fuse device which reflects Windley’s views about the Internet of Things.
In a nutshell, Dr. Windley said that picos are a programming model. Inspiration for his model came from the Maya Designs trillion-node-network idea. The short video, “Trillions,” predicts that there will be trillions of computing devices in the not too distant future, and that developers and scientists should start to think about data and hardware at that scale.
To handle those kinds of numbers, Dr. Windley thought picos, these little encapsulated packages of data, were a useful way to associate data with those devices. Picos go even further because that data could just as easily be associated with a person, a fleet of vehicles, a pothole, or whatever else is interesting and useful. For example, a personal pico might contain your name and personal characteristics. It might also list your relationship with family members and friends. Likewise, a vehicle pico might include the VIN number for a car, who it’s registered to, and so on. And, your neighbor might also have a pico. So, when you want to loan out your car to your neighbor, your pico, the vehicle pico, and your neighbor’s pico could be evaluated by a rule that tells the vehicle computer system that your neighbor can borrow your car. The owner of the car, of course, would set the rules for borrowing the car or revoke those rights at will.
A pico could also represent something a bit more intangible that’s not necessarily tied to a device. Take the lowly pothole. A pothole pico might include the date the pothole appeared, size, patching history, and so on. The pothole may not even exist any longer, because the road has been repaved. Of course, it might still be useful because simply having a history that can be combined and analyzed with other picos could very well help road designers prevent future potholes from forming on that or other stretches of highway.
Fuse, developed by Kynetx, is an open source project for connecting cars to their owners and drivers, giving near-real time access to that data. It plugs into the car’s standard data port and pushes data up to the cloud over a cellular connection. It also has a built-in GPS receiver that takes care of the location information. Their tag line: “your car, your data, your way.”
Distinguishing features of Fuse include the promise to keep your data private with the entire system being engineered to that end. The owner has the final say on who has access to data generated by the Fuse system. Not only can developers, or the owner themselves, build applications to use the data, they can also create their own instance of Fuse. In other words, you can self-host the system and control all aspect of using the data, if you like.
As a developer, you could build all kinds of interesting applications using data that is connected through APIs. For example, your home automation system might be on the lookout for the “event” (perhaps showing up through the Fuse API) of your car pulling into the driveway, at a certain time of day. According to a pre-defined rule the system would turn on your kitchen light.
Also, you don’t really “query” or “poll” a vehicle, in the traditional sense of an API. Since, the Fuse device pushes data up to the cloud at regular intervals, specific data can trigger actions, based on events. Starting and shutting off the vehicle are two such events that are used to define the beginning of a route, that show up on a map in the Fuse application, built for Android smart phones.
Finding More Information
Being open source and event-driven also opens up the possibility for Fuse to work with other car-connected APIs, like Automatic.
Naturally, you’ll need to buy a Fuse device to be able to start playing around with data from your car. You can get your Fuse from the Web site.
Finally, take a look at going further on the “extending and using Fuse” page.