Launching SharePlusCode: An app for finding your geolocation in remote rural locations

Reading Time: 8 minutes

Some years ago, Open Development and Education supported Tanzania Development  Trust (TDT) in their mapping campaign to combat female genital mutilation (FGM), a practice affecting more than 50% of girls and yong women in some regions of rural Tanzania.  The mapping campaign was launched due to the difficulty of locating girls at risk of FGM as well as the location of safehouses. There are villages of over 10,000 people that don’t appear on maps. OpenDevEd’s work to address this issue sparked the development of a new open-source application: SharePlusCode.

During the mapping campaign, the Tanzanian field team used smartphones to record locations of schools, safe houses, and other critical infrastructure. However, they faced a significant problem: far away from urban centres, the majority of the team’s phones were unable to obtain a location via GPS. The phones were able to get a GPS signal, but as that did not result in a location, they were deemed to be broken. Colleagues at TDT approached OpenDevEd to look into what the problem might be so that mapping could continue, and the campaign supporting at-risk girls could progress.

The solution turned out to be simple: make sure that the phone is outside for at least 15 minutes and the smartphone should be able to get a GPS fix (the reason for this is explained below). The really important point is the stark difference in situations between urban and rural environments. In a city, users do not have to wait 15 minutes because smartphones tend to be connected to the internet (via mobile internet or  WiFi), which offers additional ways of obtaining your location, but also speeds up obtaining a location via GPS.  When you take a smartphone into a rural environment and try to use it just as a GPS receiver — without the internet — obtaining your location is much slower.

Fast forward to 2019 in Zambia; Fatuma Iseje, based in the local Ministry of Health (Mkushi), was working with OpenDevEd to collect locations of rural health centres without actually travelling to them. We tried to use WhatsApp to perform this task: what could be simpler than sharing your location in WhatsApp? Many of the staff in rural health centres had smartphones and were using WhatsApp as a regular communication tool. Yet often the staff in those health centres hadn’t used the ‘share location’ function in WhatsApp. We devised some basic instructions as a series of images showing people how to share their location. It seemed such a straightforward thing: just look at the numbers and wait for it to show an accuracy reading of within 10 metres. For some users, this was easy to do.  For others, it was not straightforward. Technical support was hard to provide over phone calls and/or text messages. Additionally, we soon found out that in some cases where the location had been provided, the location was often quite inaccurate. When you share your location on WhatsApp, the accuracy is not reported, which called into question how reliable the locations were. At OpenDevEd, we put our heads together to come up with a solution.

The road to SharePlusCode

So why develop a new app? There are literally hundreds of location-detecting and sharing apps available on the market. Yet our research indicated that among the hundreds of GPS apps available on the various Android application stores there was not a single one making an allowance for these crucial 15 minutes for detection, nor that allows users to share their location together with the location accuracy —  certainly not in a simple way. There are many good apps out there, such as  GPSLogger, which we often use and highly recommend. It records your location at specific time intervals, creating multiple track points on a journey from A to B, including elevation data. It can also record accuracy alongside location. However, while the app is very powerful, it is definitely not a simple app to use. For example, there are a lot of settings; these are really useful for the expert user but can make the app complex to use.

There was a clear need for OpenDevEd to address these gaps, as well as to ensure that the solution was accessible to those who needed it most. It needed to be user-friendly for those with lower smartphone literacy or perhaps phones with older versions of Android. Our criteria for this project were simple — we needed an app which:

  • Is simple, with high usability for the intended users;
  • Understands the wait time needed to obtain the most accurate location data;
  • Allows easy sharing of location and location accuracy;
  • Uses ‘human-readable’ GPS coordinates which can be easily written or shared via a voice call or on paper;
  • Allows for use in a variety of local languages, so that users in rural areas can easily follow the instructions.

How does the app work?

Smartphones typically have cellular signals and use mobile data to connect to the internet. While we do not typically associate such features with obtaining a location,  they do form an important part of this process. Mobile phones use signals from cell towers (or ‘Base Transceiver Stations’, to use the proper terminology) to calculate a rough location. However, this requires the phone to have a strong enough signal from multiple towers; the tower’s identification number is used to look up the location of the tower (on the internet) and then triangulate the user’s position. Similarly,  smartphones can use Wi-Fi network IDs to obtain a location: the ID of the network is looked up in an online database, and the phone can estimate the location accordingly.

Finally, of course, there is GNSS, which is typically known as GPS (Global Positioning System), but also includes other positioning systems, such as GLONASS and Galileo. GPS is a US Government-owned constellation of 31 satellites orbiting the planet, which can give a location accuracy of up to 30 centimetres from an orbital height of over 20,000 kilometres. GLONASS and Galileo are operated by the Russian Federal Space Agency and  European GNSS Agency respectively. We’re going to use GPS in the following paragraphs, though it would be more accurate to say GNSS instead.

Just like the other location-detection methods above, for GPS to work, the phone needs to obtain a table of values, allowing it to calculate the user’s location based on the GPS signal. This table is called the ‘ephemeris’, giving the trajectory (i.e. position over time) of both natural astronomical objects (such as planets, moons, or comets), and man-made ones (such as satellites), as they traverse space. On a smartphone, the ephemeris is generally downloaded via the internet, and the GPS location is calculated in a process known as Assisted GPS (AGPS). Where the internet is available, AGPS allows an almost instant calculation of your location, at least where you have a clear view of the sky. 

However, the internet is often not available in rural and remote locations, which makes the use of AGPS impossible. Therefore, without an internet connection, the ephemeris has to be obtained from the GPS satellites themselves. This method does not require internet connectivity, but — taking around 15 minutes — it is much slower than obtaining the ephemeris from the internet. This is where the need to wait 15 minutes comes from, and this is why the SharePlusCode app requires the user to wait for up to 15 minutes. It’s important that the user is outdoors — with a clear view of the sky — for that period so that the GPS signals will not be weakened or blocked by buildings or other obstacles. Fortunately, in rural locations, a clear view of the sky is easy to obtain. The app also displays the number of satellites with which the user’s phone is connected: it reassures the user that signals from satellites are received and that the location can be obtained.

What is a ‘Plus Code’ and how does it work?

Once the app has determined the phone location, that location is shared with the user in a ‘Plus Code’ format. Plus Codes, also known as Open Location Codes, were developed by Google in 2014 to provide human-readable accurate geolocation based on — but more user friendly than — traditional coordinates of latitude and longitude.

An example of the Plus Code for Google’s Headquarters in Mountain View, California: 849VCWC8+R9

This ‘human reasonable’ format, using a set of just 20 alphanumeric characters, gives Plus Codes a high level of usability that has already been employed in several low- and middle-income countries such as India, where they have been used to give residents of poorer neighbourhoods with high population density individual addresses, allowing them to receive mail and open bank accounts. Plus Code technology is open-source and free to use, making it ideal as the location format for the SharePlusCode app. The app also uses colour-coding for further usability, breaking down the Plus Code into three distinct sections for easy transcription or relaying over a voice call, with all key in-app buttons colour coded to allow easy support over the phone to those with lower digital literacy.

What are the envisioned use cases for the app?

While the app can be used for whatever reason the user sees fit after all, the app is free and open-source it was developed to be of maximal utility to users in low- and middle-income countries, where internet connectivity is often not available. The app could be used by:

  • Mapping teams seeking to obtain single locations (such as clinics, safehouses, or other key infrastructure);
  • District education officers making school visits to multiple locations across a large area, using Plus Codes transmitted by headteachers;
  • Emergency services in rural and peri-urban areas to access properties and locations without formal addresses.

What languages does it currently support?

One of the key features OpenDevEd wanted of the app was that it would be able to be used in a range of contexts, not simply in Anglophone countries. The current version of the SharePlusCode app works in 18 languages:

  • Amharic
  • Arabic
  • Bemba
  • Bengali
  • English
  • French
  • Hausa
  • Hindi
  • Igbo
  • Kinyarwanda
  • Kiswahili
  • Portuguese
  • Shona
  • Spanish
  • Telegu
  • Urdu
  • Xhosa
  • Zulu

Importantly, the language of operation can be changed from within the app, rather than having to change the language in the phone’s settings menu.

Special thanks to Narola Infotech for developing the SharePlusCode app 

OpenDevEd would like to express our deep appreciation for the dedication and support of Narola Infotech in the development of the SharePlusCode app. Following an advertisement on UpWork, Narola Infotech stepped forward and donated time to make the app happen. App development is always more complicated than anticipated, and OpenDevEd is really grateful for the extended support that app has received from Narola.

This app is a prototype: we need your feedback

The SharePlusCode app is available for download from the Google Play Store and is compatible with Android systems of 4.1 and up. However, the app is still in its infancy, and your feedback is invaluable to us in helping make the app even better. The app is entirely free to download and does not rely on advertising to run, so any feedback you might have is much appreciated. Feel free to leave a review on the Play Store or, for more detailed feedback, fill out this form (where you can attach screenshots).

Björn Haßler
Björn Haßler