Potholes and Picos


You might not think of a pot hole being part of the Internet of Things, but it should be. Once we start imagining everything being connected, we start to see a world that is vastly different than the one we now know.


Imagine a pot hole in the street outside your house. Imagine that you have Google Glass and that as you drive into your neighborhood, a small bubble appears above the pot hole informing you that it was reported to the city last Thursday and a crew is scheduled to come out and patch it next Monday. That's a vision of the world that we've long been promised by science fiction authors and it's rapidly becoming a reality.

Now imagine what kind of engineering goes into making that scenario real. First, the pot hole has to have a unique identity in time and space (i.e. it's a Spime). Further, we need a way for information to be posted and read about the pot hole. Maybe there are different kinds of information so that you, as someone who lives in the neighborhood, sees the schedule for fixing it, while the crews that come out to fix it will see special instructions or notices. A road engineer might see the historical pot holes in the street to start envisioning the overall state of the road and how often it's been repaired. Someone will want a report of all the pot holes and their status. The pot hole is in a particular street in a particular neighborhood. The road has a history of use and repair. All these relationships are recorded. It's like Facebook for pot holes.

You might imagine that all we need is for the city to put an API on their pot hole database and wait for a few programmers to get busy building a new pot hole reporting business. But I think the problem and opportunity are bigger than that. The problem with seeing the world as an unstructured collection of APIs is that all the structure has to be layered on after the fact in ad hoc ways.

A better way to build this system of relationships between pot holes, streets, people in the neighborhood, drivers, repair crews, the city, and so on is to build a model of the real world—what Galertner calls a "mirror world." The model is as detailed as it needs to be for your needs and is extensible so that it's easy to add pot holes to the street model when the need for modeling pot holes comes along.

I believe the best way to build this model is with decentralized networks of what I call persistent compute objects, or picos. A pico has a unique identity, can store information, and run programs. And picos can have networked relationships with other picos. From these small means, one can build a great model of the city, it's streets, and the pot holes that invariably inhabit them. Picos allow this model to be shared and used by many people and organizations for many purposes.

The pico that represents our pot hole gets created when the pot hole is first noticed. It need never go away. Even after the pot hole has been fixed, its pico gets updated as "fixed" but the pico and its relationship to the street, the person who reported it, and the crew that fixed it remains, ready to be used. Want to use your Google Glass to see a time lapse of all the pot holes that have come and gone on your street? A road engineer might. In a mirror world built with picos, all the data is available.

The pot hole is an example of a connected thing that is sometimes ignored in favor of sexier, active, connected devices. When Cisco talks about the Internet of Things having 50 billion devices by 2020, they're talking about active devices like your phone or your car. When we add things like pot holes to the mix, there will be many more than 50 billion things on the Internet of Things. There will be trillions.

SquareTag is an early attempt to start understanding what such models look like and how they work. Using SquareTag you can create a personal inventory of the things you care about, store data about them, and run programs on their behalf. After all, if we're going to start modeling the world, we ought to start with the things we care most about. SquareTag is built on picos. Every thing in your personal inventory has it's own virtual machine and runs it's own programs.

This may seem like overkill at first, but there are numerous modeling activities that become easier when we give everything it's own identity and the ability to create relationships with anything or anyone else. For example, my wife and I both own the F-150 truck I drive. Sometimes she drives it. We both want a relationship with it. And I want the service shop I use to be able to record maintenance in the truck's pico. When I sell the truck, I need to transfer the truck's pico—and it's attendant data—to the new owner. And so on. This requires that the truck store its own data, run its own programs, and have it's own relationships.

As you walk around, try to imagine everything—and I mean everything—being on the Internet of Everything. Think about everything you own or use being in the Internet of My Things. Imagine what would happen if literally everything were connected and had an online presence. The ramifications are stunning.