Friday, February 1, 2013

Geo Everywhere

Precise geographic data is invaluable when it comes to software that has to know either where the hardware its running on is, or where something else is. And it seems that this particular type of data is found in software everywhere. And if it isn't, you could probably find a valid use case after browsing the code for ten minutes. Phenomenons hit software development culture, some stay while some disappear. The ones that stay, generally never stop evolving in an effort to standardize their meaning. Everyone must be on the same page, otherwise, you might as well create your own ad-hoc formulation. Geo is different. The way we store, manipulate, and use the data is constantly in flux. But the data itself — longitude and latitude — unchanging, and unambiguous.

With such a simple schema, there is little room for misinterpretation. No wonder this data has made it's way into so much of the software we use. But I have my doubts that this was simply due to the mobile computing movement, and that we're only seeing all this geographic data in software thanks to this new paradigm. It certainly helped, but there is more to it than that. With mobile, the use case for geo is the hardware itself. The applications on your phone can make use of the fact that you're two blocks west of the coffee shop on 23rd st. Likewise, mobile computers might like to know where they are relative to other mobile machines. And there are ten-thousand micro use cases in between.

I think what we'll see in the near-term is more application of geographic data to software objects, as they traverse the cloud. The capabilities of our data to navigate the globe will grow, as will our ability to instruct our applications on how to best route that data. Geographic data will play a key role in enabling this capability. Further, I think the computations that route our data between intercontinental cloud providers will be more complex than simply thinking about proximity. How close is the provider to the consumer? There are a ton of other factors in figuring this out, geo data touching on all of them.