Time Traveler’s Companion: Discovering the Keweenaw’s Heritage through a Mobile App
By Bob Cowling
Introduction

Place-based exploration provides an effective way of allowing users to discover and develop knowledge about the past. Geospatial technologies and web applications have enabled the creation of mobile applications that can act as storytelling devices. The Keweenaw Time Traveler: Historical Data & Maps Connected Through Time & Space is a web application designed for interactive discovery of historical content. The Time Traveler allows users to explore the historical Keweenaw Peninsula of Michigan, using georeferenced Sanborn Fire Insurance Plans, historical Census data and school and city directory records, and more. Users have the option to submit their own stories about the Keweenaw Peninsula’s past. The mobile version of the Keweenaw Time Traveler was developed titled The Keweenaw Time Traveler: Mobile Storytelling. Unlike the desktop version of the web application, the mobile storytelling app only includes maps and stories. It does not include historical data on people or places. The purpose of the mobile application is to serve as a field-based storytelling app. Users can walk the landscape and see what it looked like over 100 years ago and participate by submitting their own text, audio, or video stories about the historical landscape. This article will provide an overview of the mobile application and discuss its architecture, challenges, and future improvements.
The mobile version of the Keweenaw Time Traveler was developed titled The Keweenaw Time Traveler: Mobile Storytelling. Unlike the desktop version of the web application, the mobile storytelling app only includes maps and stories. It does not include historical data on people or places. The purpose of the mobile application is to serve as a field-based storytelling app. Users can walk the landscape and see what it looked like over 100 years ago and participate by submitting their own text, audio, or video stories about the historical landscape. This article will provide an overview of the mobile application and discuss its architecture, challenges, and future improvements.
Overview
The general public is the target audience for the mobile version of the Keweenaw Time Traveler, focusing on creating an intuitive and easy-to-use application. When the user first opens the mobile storytelling application, they are presented with a map focused on the Keweenaw Peninsula, an opacity range slider, three navigation tabs, and a Global Positioning Systems (GPS) button. The home or ‘Explore’ tab is the main page of the app in which the user interacts with the map itself and can view individual stories by selecting a stories icon (a book) (figure 2).

The Maps tab displays a list of maps that are available within the user’s current map extent (Figure 3). The types of maps available in the Keweenaw Time Traveler app include historical Sanborn Maps, Nautical Charts, Topographic Maps, Geologic Maps, and Mining Company Maps. You can find a detailed list on the “About the Maps” page. The opacity range slider enables the user to adjust the transparency of any historical map that is currently on the screen allowing for a comparison from the past to the present day (figure 4). The Story a Story tab allows the user to submit stories from either their current GPS location or from a point location manually selected on the map.


Architecture
On the front end, the application was developed using HTML, CSS, and JavaScript. Ionic Framework is used for the primary interface design (navbar, tabs, GPS button, etc.). ArcGIS JS SDK is implemented in the application as the map interface and for controlling and adding layers to the map. ArcGIS REST JS is used for submitting story points and querying existing stories data. On the backend, an ArcGIS Server is utilized for hosting and serving Tile Layers of georeferenced historical maps and Feature Services of user-submitted story points and map index polygons.
Challenges
There were a few major challenges and considerations when developing an application of this nature. The primary goal of the application is to provide a user-friendly and familiar experience. One major challenge was accessibility. We wanted to make the application accessible to everyone on any mobile device without the need to download a mobile application. To solve this problem, we created the application as a mobile web app that can be accessed via the URL from any mobile device.
Another challenge was the ability to record oral stories right from the device. Most brands of mobile phones currently do not come with pre-installed audio recording applications. We designed a custom audio recorder using HTML, CSS, and JavaScript to resolve this issue. The recorder uses the Media Capture and Streams API to record the user’s voice at the press of a button (Figure 5).

Additionally, a challenge when developing this application was how to display and query a large number of historical maps for display. Since this was designed as a field application, we only want to show maps located at or near the user’s current GPS or map location. To accomplish this, we developed an invisible index map. The index map was created by drawing a polygon or footprint around each historical map’s spatial extent (Figure 6). Attributes were added for the map’s title, date, and service_url. This layer is added to the application and set to be invisible by default. When the user clicks the GPS geolocation button and/or pans and zooms the map, the application gets the coordinates of the map’s current extent, performs a spatial query on the invisible index layer, and returns only the polygons that intersect with it. The list on the Maps tab is then populated within these results. Then, the user selects a map from the list, the application uses the value from the service_url attribute to add it to the map as a new Tile Layer.

Future Improvements
Future improvements to the application include adding geocoded historical Census and City Directory records. The question is, how do we do this and still make it a user-friendly experience? There are hundreds of thousands of historic Census and City Directory records for people living in the Keweenaw Peninsula, and displaying them all on the screen of a mobile device could have a significantly negative impact on the user experience. One solution is to create a function where the user does a long press on the screen, and they can select an option from a menu to see ‘What was here?’ This essentially would run a spatial query for any historical records within a certain radius of the long press location (geographic coordinates) executed by the user. The results would be returned and map markers would be dynamically generated on the screen along with a bottom sheet displaying the results list. A very similar concept could be used to query data on historical people and places near the user’s current GPS location (Figure 7).

Furthermore, the application will be consistently updated with new maps because users are constantly adding interesting new story points.
The application can be viewed by going to https://kett.geospatialresearch.mtu.edu on your mobile device. The application’s code is available on our GitHub Repository.
Author
Bob Cowling
GIS Data Librarian
Michigan Technological University
1400 Townsend Dr. Houghton, MI 49931
rcowling at mtu.edu
You must be logged in to post a comment.