Using Mobile Technology to Broaden the Impact of Academic Research

When funding agencies like the National Science Foundation, National Institutes of Health, Department of Energy, Department of Defense, and NASA review grant proposals for academic research, one of their expectations is that research teams will demonstrate an understanding of the broader impacts of that research. If NSF funds your study of hexavalent chromium’s movement through soil, how will you share your findings with the public — teachers, students, journalists, and citizens? The accessibility of scientific research and the opportunity for ordinary citizens to participate in scientific research and learn about exciting studies as they’re being conducted is a higher priority than ever, and mobile technology makes it easy for researchers to widely share their research and invite citizen scientists to participate.

The science of geology in particular lends itself to citizen science, because we see it all around us. In fact, there’s a popular saying in geology, coined by the geologist Herbert Harold Read, that the best geologist is the one who has seen the most rocks. What a great perspective — that the more observant you are, the better you’ll be at science. That attitude opens up the sciences to everybody, regardless of background or resources. At the University of Wisconsin-Madison, one research team put that idea into action and built a free mobile app that anyone, from professional geoscientists to regular people who are interested backyard geology, can use to learn about what we see around us and add our own observations.

The app, Rockd, is built with Ionic and allows users to record their own observations of rock outcroppings and measure their progress through the geological record, in both time and space. Ultimately, users are able to learn more about the surrounding geologic world and get direct access to numerous geologic maps and links to primary literature, courtesy of GeoDeepDive.

“A key feature of Rockd is that we use Macrostrat’s extensive spatially indexed databases, so Rockd can assist users in the data entry process by suggesting nearby geologic units, taxa, and rock types,” explains John Czaplewski, a mapper and the lead developer of the Macrostrat lab in the Geoscience department at the University of Wisconsin-Madison. Czaplewski’s responsibilities include all aspects of web application development, including building APIs that allow access to scientific data and building applications that allow the public to access that data.

Rockd is built from the ground up with Ionic, meaning it makes heavy use of Ionic UI elements,” says Czaplewski. “The interface of Rockd largely revolves around the use of cards and lists, so it was nice to be able to use those components and focus on building a pleasant user experience, instead of stressing about CSS details.”

When Czaplewski and the professors and students in the department were field testing Rockd, they quickly discovered that relying on the user to type was cumbersome when outside in direct light and while carrying other field tools, so Czaplewski built a few interfaces that allow users to tap through hierarchies of terms one-handed.

“For those parts of the app, we use `ion-slides` extensively, which we found makes for both an intuitive and educational experience, as it reinforces the relationships between entities as the user drills down to their desired term,” Czaplewski explains.

Czaplewski took advantage of several Cordova plugins to leverage a phone’s hardware for a useful, unique experience. Rockd uses `cordova-geolocation` to locate the user, and then uses their position to immediately return a geographic and geologic summary of their current location.

“Additionally, if they decide to make an observation at that location, we can use their current location to provide intelligent suggestions for attributes like the rock’s age and composition, and even what fossils it might contain,” says Czaplewski.

“Qualitative descriptions of rocks are useful, but having a picture to accompany those observations is incredibly important (and fun and interesting!),” he adds. “To capture images, we use `cordova-plugin-camera` to access the camera and camera roll.”

Because geologists often find themselves in fairly remote locations with limited or no internet access, it was important to allow offline data entry.

“We use PouchDB to cache all of the stratigraphic names, time intervals, and lithologies from the Macrostrat database, and taxonomic names from the Paleobiology Database,” says Czaplewski. “This comes out to about 40,000 terms that we store on the device, so that users can search for and autocomplete these terms while offline. We also use PouchDB to save offline checkins, including the photos, so they can be synced once the user has reception again. This is also a great way for data-sensitive users to limit their network usage while out in the field.”

Instead of simply checking if AJAX requests to external services fail or not, Czaplewski’s team used `cordova-plugin-network-information` extensively in Rockd to make sure the user has a good enough signal to upload photos or request information about their current location.

“Instead of the app automatically trying to upload photos over a 2G network and likely failing, it will recognize that the user doesn’t have a strong signal and automatically store their observations in PouchDB, Czaplewski said.

Czaplewski’s team used `cordova-plugin-device-orientation` to allow geologists to record observations about rocks that would traditionally require the use of a compass within the app.

“There is of course a strong element of location in Rockd, and maps are integral to the experience,” adds Czaplewski. “One of the big advantages of using Ionic was that we were able to use Leaflet, a fantastic JavaScript mapping library. By doing so, we were able to use a lot of techniques and knowledge from past web projects, as well as take advantage of the huge Leaflet ecosystem for things like the marker clustering plugin that we used.”

The team also used Turf.js, a module library for geospatial operations in JavaScript, which allowed them to do quick spatial operations client-side, instead of making an expensive request to an external service.

Rockd is a bit of an experiment for us, as there isn’t a huge precedent for scientific labs creating apps for public consumption,,” says Czaplewski. “Ionic allowed us to rapidly and cheaply go from an idea to a working prototype, and quickly on to a public app. Macrostrat already has a fairly robust web presence, and a rich data resource and API at its disposal, so we were able to reuse a lot of existing code, services, and ideas when building Rockd.”

While Rockd is the first example of an Ionic app that was built as an academic research tool, it’s getting easier for researchers to find and use Ionic. Wayne Johnston, a research and scholarship librarian at the University of Guelph, in Canada, added Ionic to his wiki knowledge base of tools and resources that support the use of mobile technology in field research. IonicResearchKit is a plugin that’s an open source equivalent of Apple’s ResearchKit Framework that makes it easy to create cross-platform hybrid native apps for medical research or for other types of research projects. We’d love to see academics using Ionic more often. If your research group is building with Ionic, let us know in the comments, or email us.