Location Data Logger Design and Implementation: Introduction

Today I am beginning a multi-part blog series on the design and development of a location-based Windows* Store app. My goal is to provide developers with a complete, real-world example of creating a location-aware application on the ultrabook and tablet platforms. While an internet search will turn up several examples of how to use the geolocation sensor within a Windows Store app, they tend to be either simple code snippets with little to no discussion on how to integrate them into a larger or more complex app, or narrowly-focused examples that provide only rudimentary functionality.

The application and how to get it

The application I created, and which I'll be reviewing in this series, is called Location Data Logger. It creates position track logs from your Geolocator sensor and saves them out as CSV, GPX, and/or KML files. It turns your Windows 8 device into a position data logger, and is a very useful utility for recording your position over time. Track logs are used for everything from records of recreational travel to ground-truthing data in geographic databases. With a track log application you can save a log of a run, hike, bicycle ride, car trip, or static position measurements, and review it at a later date. You can plot the track log on a map, import the data into a Geographic Information System for analysis, or just share your data with others.

I chose this application because it is complex enough to not be trivial, but simple enough to not be overly-complex. In short, it demonstrates how one can integrate geolocation capability into a fully-functioning Windows Store app without being a merely academic exercise, and it is small enough that it can be easily reviewed and discussed.

Location Data Logger is written in C# and XAML, and the source code can be downloaded here on Developer Zone. You'll need the following in order to build and run the app:

This app works best on systems that have an integrated GPS or GNSS receiver. If your system does not have an integrated GPS or GNSS, see the blog series “No GPS? No Problem! Using GPSDirect to develop location-aware apps” for information on using an external GPS as a Windows Geolocation sensor.

In part 1, I'll start by describing the application requirements.

Part 1: Application Design →
For more complete information about compiler optimizations, see our Optimization Notice.