Simplr Post app created for Tanzania uses Plus Code as digital address

59 views
Skip to first unread message

Abizer Jafferjee

unread,
Nov 25, 2019, 10:33:42 PM11/25/19
to Plus Codes Community Forum
Hi all,

I've created an Android app that's meant to give private and public digital addresses to people in Tanzania.

Physical addresses haven't been adopted very well in Tanzania. Most people don't know the full address to their homes.


Would like to hear your thoughts and looking for interested developers to work on the app.

Thanks!

Andreas B

unread,
Nov 29, 2019, 6:41:43 AM11/29/19
to Plus Codes Community Forum
Hi Abizer,

I can only go by the screenshots available via the Google Play entry, but your app looks useful.

What I couldn't really tell from the screenshots is if there's any functionality that relies on your users communicating a plus code to another person outside of the app. I found, in my own apps where I played with the idea of including plus codes, that there's only a few cases where that really needs to happen. It seems as if you rely on other technology such as QR codes and online databases for contact information as well, so I'd appreciate if you could talk about your use of plus codes a bit.

Abizer Jafferjee

unread,
Dec 2, 2019, 10:15:44 AM12/2/19
to Plus Codes Community Forum
Hi Andreas,

Thanks for your comments.

The original intent of using plus codes was that users would actually remember their code and share it with people in lieu of explaining directions. At the moment, I don't have enough users to know whether that will happen but I'm having some doubts about it for two reasons. Firstly, most of my target base (Tanzanians) are not used to the idea of sharing an address (code) to give directions. Secondly, my app already has the ability to share the address with users in the app or with external messaging apps so why would the user bother to remember the plus code and share it?

Ultimately, the main aim of the app should be to get a person from point A to point B in locations without proper street names, building and unit numbers and I'm hoping to improve the app to make this experience better. My idea is to use the geotag to help a person get to the address with the help of google maps, but then to focus on pictures of the street, building, entrance uploaded by the user to allow people using the app to confirm that they are at the right location.

Andreas B

unread,
Dec 2, 2019, 3:52:54 PM12/2/19
to Plus Codes Community Forum
That makes sense, thanks for the explanation. I agree with the conclusion that plus codes aren't that useful in any scenario where both users are online, and can just access a database with all the necessary information. I wonder if it would make sense for your app to use plus codes as a fallback for scenarios where one or both users sharing an address are currently not online?

For example, I assume the QR codes displayed by your app contain an ID value referencing the address data. If the QR code also contained a plus code directly, that could be used to at least display something even if the user is not currently online.

Would a statement like "1.5km to the north-west - more information if you're back online" be useful, or is connectivity not an issue that needs to be solved in your app's case?

Abizer Jafferjee

unread,
Dec 3, 2019, 12:20:27 AM12/3/19
to Plus Codes Community Forum
Actually, connectivity is a big issue because mobile data is still relatively expensive in Tanzania.

Currently the QR code has a deep-link back to the digital address within the app.

One option I thought of was to create a USSD application which can be triggered from the app and would retrieve text directions to the location.

I like your idea about giving some helpful information. How would I calculate the distance between two plus codes? And how would I know the plus code of the location the user is standing at?

Thanks Andres

Andreas B

unread,
Dec 3, 2019, 4:49:19 AM12/3/19
to Plus Codes Community Forum
If you are including the OLC library in your project directly, you will be able to calculate a plus code from the user's device location, and also translate any plus code back into latitude/longitude coordinates. All on device, without any need for connectivity: https://github.com/google/open-location-code/tree/master/java

Calculating the distance could then be performed on the lat/lng coordinates using something like the Haversine formula (https://en.wikipedia.org/wiki/Haversine_formula) - or, alternatively, following something like this wrapper class I created a while ago if very rough approximations are good enough for an offline, step-by-step navigation: https://github.com/bocops/open-geotiling/blob/master/java/org/bocops/opengeotiling/OpenGeoTile.java

In any case, displaying the current and destination plus codes while the user approaches might help them find the exact location more easily.

Abizer Jafferjee

unread,
Dec 4, 2019, 11:54:48 AM12/4/19
to Plus Codes Community Forum
Hi Andreas,

Thanks for the quick response. This is a really good idea. Currently, my focus was just on getting users used to the idea of using a plus code as an alternative to an address. But I didn't think enough about how helpful the plus code would be in navigation because I thought you'd still need to be online to make use of plus codes to get directions.

I wonder if it would be possible to build even more detailed offline text navigation through the geo tiling idea. E.g if someone wants directions from current location to point B and the app has stored plus codes of some points in between e.g. road intersections, then we could string together a complete route by calculating the distance between closest plus codes at each point of the route.

While the urban areas within countries like Tanzania have good data connectivity yet still expensive, the rural areas sometimes don't have any connectivity at all so a completely offline routing system would be really useful for organizations working within these areas.

Andreas B

unread,
Dec 5, 2019, 7:28:53 AM12/5/19
to Plus Codes Community Forum
Hi Abizer,

yes, something like that should be possible. One great feature of plus codes is that nearby codes mostly have the same prefix. This means that, if the user wants to navigate to some location that is new to them, it would be easy to look up all codes already stored on the user's device that start with the same, say, eight characters. This would allow you to help your users find their destination by a statement like "Thomas's home is near Tees Pizza" (assuming that the user already navigated to the Pizza place before).

If there's no known place near the destination itself, something similar could be attempted for nearby tiles (eight characters adjacent to the destination), tiles along the direct route to the destination, or if all else fails for the whole rectangular area that has start and destination in opposite corners. In that case, a navigation statement could be something along the lines of "You want to go to Thomas's home. Looks like Tees Pizza is about half way between your current location and that place."

The above seems to be realistic for users that use the app a lot in the same place (for example their home town), if you cache a good number of previously used locations. It is less realistic to do for the whole country in advance.

I did a quick back-of-the-envelope calculation to estimate what we're talking about. With an area of ~950,000km², I would except there to be on the order of 35,000 six-digit prefixes in use across Tanzania - but each "tile" that could be addressed by a six-digit prefix has a size of approximately 30km². I think it would be possible to find a "best city name" for that number of tiles, for example by outsourcing that task to your users - but that would mostly help with cross-country navigation and postal services, but not really be useful for a step-by-step navigation within one city. This data (35,000 x some bytes for a city name) would probably fit on most user's devices, though, so it could be great to have for offline functionality.

Going from six- to eight-digit prefixes means a factor of 400, so roughly 14M entries - which is likely too massive to either store or build in the first place.

William Denniss

unread,
Dec 5, 2019, 12:14:29 PM12/5/19
to Andreas B, Plus Codes Community Forum
On the topic of Plus Codes and offline navigation, you can actually do this pretty well in Google Maps too - at least where the download feature is available.

On a recent trip, I downloaded the area where was travelling to my device while on Wifi at home using that feature of Google Maps. Then on the road, I could punch in a plus code to bring up the pin, then use driving navigation directions to get there - all without any internet connection.

William

--
Public site: http://www.openlocationcode.com/
Github project: https://github.com/google/open-location-code
Demo site: http://plus.codes/
---
You received this message because you are subscribed to the Google Groups "Plus Codes Community Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-location-c...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/open-location-code/ceb0aa3b-b712-4180-b021-ea0b1c1ec6e3%40googlegroups.com.

Abizer Jafferjee

unread,
Dec 6, 2019, 3:55:55 PM12/6/19
to Plus Codes Community Forum
Thanks Andreas.

The fact that we can sort codes by comparing prefixes would also be helpful to just build an offline search directory to get started.

I think we wouldn't need to store all possible 8 character codes on the device but only those that have been tagged by users with a location name. In addition, when a user has an internet connection he can choose what blocks/areas he wants to download the data for (like google maps) and we could update that data with new listings whenever the user has internet again. The only issue of not storing every plus code is that a user would only be able to search plus codes that have been listed in the app.

Thanks again for the explanation. It's definitely worth looking into and possibly implementing as feature improvements, depending on user feedback.

Also, I'd really like to stay connected over linkedin. Mine's linkedin.com/in/abizer-jafferjee

Thanks

Abizer Jafferjee

unread,
Dec 6, 2019, 4:01:43 PM12/6/19
to Plus Codes Community Forum
Thanks William,

yes it's true, this feature by google is really useful. But I know that those downloads can get quite big and I think the cost of that data may deter users in countries like Tanzania. I need to confirm the approximate cost though.

Abzier
To unsubscribe from this group and stop receiving emails from it, send an email to open-location-code+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages