Mar 9, 2022What’s new in Location on Android 13 Developer Preview 1As a developer, it’s always exciting when a new Android Developer Preview drops. What shiny new Application Programming Interfaces (APIs) will I be able to use in my app? 👀 Android 13 Tiramisu Developer Preview 1 was announced on February 10, 2022. …Android4 min readAndroid4 min read
Aug 16, 2021Kotlin callbackFlow: A lightweight architecture for location-aware Android appsI’ve been working towards updating the architecture of several Android apps that make heavy use of location services. Specifically, some of them use LocalBroadcastManager, which has been deprecated, to share locations across app components like Services and Activities. Time for something new. After reviewing numerous resources on 2021-era Android best…Kotlin11 min readKotlin11 min read
Jul 13, 2021Decoding GNSS navigation messages on AndroidIf you’ve worked with raw data from the Android’s Global Navigation Satellite System (GNSS) APIs, you’re probably aware that apps like GPSTest and GnssLogger are capable of logging three types of information: NMEA data — Contains information about the locations calculated by the GNSS hardware in the industry-standard NMEA 0183…Gnss6 min readGnss6 min read
Jun 7, 2021Room + Kotlin Flow — The modern Android architecture for location-aware appsIf you’ve been developing Android apps for a while, you know how much has changed since the early days of Cupcake. If you want a real flashback, check out the first Android demo that Google published to YouTube back in 2007. It shows maps! Notifications! And a web browser!Android8 min readAndroid8 min read
Apr 5, 2021Implementing the GPSTest Database: A Serverless ArchitectureRecently, I set out to implement a new feature in the GPSTest Android app — crowdsourcing device Global Navigation Satellite System (GNSS) capabilities. You can read more about why and a description of the new feature in this article. I’d suggest reading that article before this one, as it will…Android7 min readAndroid7 min read
Apr 5, 2021Crowdsourcing GNSS features of Android devicesAs the developer of the open-source GPSTest Android app, the most common question I get from users is “can a device do X”? It’s understandable — with device costs often being $500–1000 USD (or more), users want to know what they are getting for their money. Unfortunately, this isn’t an…Mobile11 min readMobile11 min read
Jan 23, 2021GNSS, Interrupted: The hidden Android setting you need to knowThe last several versions of Android have turned it into a powerhouse for processing Global Navigation Satellite System (GNSS) data from systems such as Global Positioning System (GPS) and Galileo. Device with Android 7.0 and higher support an official API for pseudorange measurements and navigation messages, which allows developers to…Gnss5 min readGnss5 min read
Dec 14, 2020How to detect GPS week rollover problems on AndroidAndroid devices have longer lifespans than they used to. As the cost of new flagship devices has creeped over $1000 and cellular carriers in the U.S. stopped subsidizing device costs, users are keeping their Android devices longer than before. …Gps4 min readGps4 min read
Nov 24, 2020How to avoid duplicate code when using similar SDKsAs software engineers, nothing bothers us more than duplicating code within a project. For every line of duplicate code, it potentially doubles the effort required for each bug fix, refactor, and enhancement later in the life of the project. …Software Development7 min readSoftware Development7 min read
Dec 5, 2019OneBusAway for Alexa gets personalYou’re rushing out the door, hoping you didn’t miss the 8am Route 5 to work. Should you sprint to your stop? To find out, you ask OneBusAway for help, frantically yelling: “Alexa, where’s my bus?” Alexa responds with times for bunch of routes — but not Route 5. Argh 😠…Open Source3 min readOpen Source3 min read