Talk of Apps and App Stores is ubiquitous in the Defense and Intelligence domain where I spend most of my time. But what do we really mean when we talk about an App?
In the commercial world, we’ve seen wide adoption of easy to use and customer friendly App Store environments and Apps. I love my smartphone and how it’s revolutionized my life from maps, clocks, and notes to calorie counters and news feeds right in the palm of my hand. However, the exploitation tasks required by Geospatial and Image Analysts seem far more complex than the games, news, search and social apps in the commercial online, on demand world. How are we really going to encapsulate the complexity of geospatial image analysis into something as simple as an App?
A good starting point might be to define what we really mean when we talk about Apps, because we’re talking about something that goes beyond the Starbucks® Finder on my smartphone. We’ve been using the term App as a general catch-all to include algorithms, processing routines, and web-services as well as the entire back end infrastructure, such as databases and middleware, required to make the App produce the desired result. One definition from NGA refers to Apps as small functional applications that can run on workstations, mobile devices, or laptops. An App maybe an intuitive, simple tool that solves a single problem or addresses a need but in order to pull this off in a complex domain, such as geospatial image analysis, there needs to be a whole ecosystem required beyond the App the end user sees. Perhaps the beauty of Apps is that they hide complexity, making them appear very simple.
We’ve been talking about “App Ecosystems” at Exelis, and have come to define some of the components of those ecosystems as frameworks, platforms, algorithms, and user interfaces. These all work together to deliver the intelligent, elegant App that quickly, intuitively provides the results the end user desires.
Let’s take my Starbucks® Finder as an example. Suppose I’m in an unfamiliar city, and I really want a Pumpkin Latte. I open the App, tap the ‘Stores’ button, and there I am, a flashing blue dot surrounded by green tipped pins that mark my options for stores. The label on the closest pin tells me the street address and that the store is open. To make this work, there’s a database of all the Starbucks® stores and their details (metadata). There’s some sort of middleware that takes my location and finds the closest stores. There’s a map server that provides the map to show me where I am and where the stores are. Most of the software to make this happen isn’t on my smartphone at all; the software application I downloaded reaches out to the Cloud where the databases, web services, and business logic live in some sort of framework making it all work. This is the “App Ecosystem”. It’s actually pretty complicated, and the store locator is just one function of the Starbucks® App. Maybe we can learn something from these commercial Apps after all.
I’d argue that web services are critical to the success of any App that is not self-contained, or disconnected. There seems to be general agreement that a web service, or simply a service, is a software system designed to support interoperable machine-to-machine interaction over a network using standards-based mechanisms. In my example above, a web service would likely determine a geographic radius around my location, and another would make the database query to find the stores within that radius, returning these locations to the software application running on the device. A web service associated with a map server would provide the background map for the display, and another service might perform the query to deliver additional store details. From my perspective as the end user, this is just a simple App that’s going to help me find a cup of coffee. It’s just some software that resides on my device. I don’t care about the database or the web services or who supports and maintains them, and most of the time, I don’t even think about them. I also want the same or similar functionality on smartphones, tablets, and available through my web browser. I believe these are the goals for the end users of a Geospatial Analysis Apps. We want those users to focus on intelligence questions and their answers, not the details that connect the two.
As the concept of Apps evolves, these are the kinds of things my colleagues, customers and I are thinking about and discussing at length. In our world of Geospatial Image Analysis, we’re thinking about Apps that are consumers of services and services that contain the algorithms that really do the heavy lifting required for this domain. The Apps make it look easy when the Ecosystem and the platforms are all working together.
This is an emerging concept that’s very exciting and evolving rapidly. I’ll be returning to the topic of Apps, and I’d appreciate your feedback and questions. What’s an App in your world?