Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jim-oflaherty-jr-qalocate-com/abd2f5c8113249f25b67478741a5495a to your computer and use it in GitHub Desktop.
Save jim-oflaherty-jr-qalocate-com/abd2f5c8113249f25b67478741a5495a to your computer and use it in GitHub Desktop.
Article: Augmenting what3words for E911

Augmenting what3words for E911

Version: v2022.06.25

Available As

Table of Contents

Overview

During the years I’ve worked with organizations supporting emergency communications centers (ECCs), a.k.a. E911, what3words has literally been a life saver. It has been inspiring to see the positive human impact what3words has achieved through the reduction of human pain, suffering, and loss of life.

By reducing the time spent by an emergency call-taker (ECT) to determine where an emergency caller (EC) is located, what3words has improved response times of appropriate first responders (FRs), resulting in significant improvements in the preservation of life, liberty, and property.

A few examples illustrate these benefits:

  • Police have apprehended home invaders, and located accidents anywhere from the interstate to the edge of a lake in the middle of nowhere.
  • Firemen have extinguished or even prevented grass or forest fires.
  • Emergency medical technicians (EMTs) have preserved lives by arriving quickly to medical emergencies, such as cardiac events and drownings.

However, some concerning issues have emerged for ECTs while using what3words. Linguistic design issues have caused dispatch to incorrect locations, resulting in delayed arrivals of FRs. And while accidentally increased response times might be acceptable in package delivery, they are obviously unacceptable in most, if not all, ECC scenarios.

The root cause of the errors is uncaught human-to-human miscommunication. Luckily, this problem has already been solved in other domains. Thanks to Claude Shannon, information theory comes to our rescue! (Meta double entendre totally intended.)

This article will explore a technical augmentation to what3words for ECCs that aims to virtually eliminate all of these EC human-to-human communication errors. Accepting the what3words multiple spoken language dictionaries as is, the augmentation consists of three parts:

  1. A pair of functions encoding/decoding a checksum+sourceDictionary numeric value to the end of any valid what3words phrase
    1. Original: castle.remarked.restored
    2. Augmented: castle.remarked.restored.3924.1
  2. A local relational database management system (RDBMS) table filtered to only the encoded what3words phrases (see 1.ii above) within the ECCss jurisdictions (e.g. their surrounding counties) from multiple language dictionaries
  3. A combination of items 1 and 2 used during a live emergency call to redundantly converge on the correct what3words phrase using a checksum equivalence filter” combined with a weighted SOUNDEX index rapidly reducing the number of possible valid phrases to a small handful

Although imperfect, what3words is a fantastic tool for improving the communication between ECs and FRs, saving lives and property, and reducing human suffering. With so much potential and so much at risk, continually improving what3words is a worthwhile effort.

To paraphrase Voltaire…

  • Don't let perfect be the enemy of good enough.

Why Is This Important

In an emergency situation, every additional second added between first contact of the EC with the ECT and the eventual arrival of the appropriate FRs rapidly increases the potential loss of life, liberty, or property. Each loss takes an increasingly serious toll on the entire ECC ecosystem.

Alternatively, every additional second that can be eliminated between the first contact of the EC and the eventual arrival of the appropriate FRs to the emergency location reduces the potential for loss of life, liberty, and property. And each success leads to an increase in the well-being of the ECC and FRs organizations, and everyone supporting them.

When working flawlessly, which is ~99% of the time, what3words has substantially improved both the response times of and the accuracy of arrival of FRs to all sorts of emergency situations.

The problem is within ~1% of errors. While what3words argues that these miscommunication error instances are on the order of 1 in 2.5 million, an ECC inspired (less marketing biased) researcher studying the data from a linguistic and information theory analysis indicates they are far more likely to occur at least as frequently as 1 in 100 emergency calls. My own examination of the data indicates linguistic weaknesses that put the rate of occurrence far closer to the researcher’s claims than to what3words’ claims.

Regardless of the precision of the exact ratio, if location errors occur with a high enough frequency, they rapidly erode the trust and confidence of everyone involved within the various ECC and FR support organizations. This serves no one.

Even at the rate of once a month for an organization, errors are sufficient to trigger and sustain a systemic distrust of the system causing the issue. In this case, the blame and possible future litigation and criminal prosecution for the breakdowns will land squarely on what3words. This is especially true within the over litigious US, regardless of the contract terms what3words attempts to use to shield themselves from civil and criminal liability.

Because everyone in the ECC must automatically default to assuming every EC is in a life-threatening situation, sending FRs to an incorrect location creates and amplifies a huge wave of escalating stress until the location confusion can be identified, corrected, and then resolved. We need to figure out how to prevent this class of errors from happening.

Obstacles & Problems

So what is the root cause of the problem with what3words?

Human communication. Big surprise, right? Isn’t that pretty much the root cause of all human problems?

Humans are messy and inaccurate communicators. Human language evolved to contain a lot of redundant information when communication occurs in epic narratives (a.k.a. stories) composed of complete sentences. The surrounding context of the communication, including the local culture and language dialects, creates biases which improve the odds the listener's brain selects the correct words, both in denotation and connotation, leading to accurate understanding of the speaker’s intended meanings.

Welcome to the wild and wooly domain of linguistics.

Why do you think the article, noun, and verb in an English sentence each redundantly carry pluralization information?

  • A man carries the wood.
  • The men carry the wood

It turns out human languages, in the form of narratives and sentences, have many different unconscious error correction mechanisms built in. And we've now come to understand why this exists, as explained within the domain of information theory.

A what3words phrase is neither a story, a narrative, nor a sentence. As designed, a what3words phrase does not provide any inherent or unconscious redundant information.

Instead, a what3words phrase is an attempt to produce an easier way for a human to speak the linguistic equivalent of a computer identifier. And while superior to reciting a pair of long numbers (longitude + latitude, as in what2numbers), a what3words phrase can become fairly fragile, especially in the face of environmental stressors.

Average humans experience a what3words phrase as gibberish when their brains attempt to parse and comprehend the phrase via its context based meaning-making machine.

A what3words phrase isn't optimal for human cognition, memory storage, or recall. It is great for a computer because of the phrase’s serial numeric nature. That quality is the basis for accurately turning words into a GPS coordinate (longitude+latitude).

Consider the what3words phrase…

  • ///castle.remarked.restored

There is no meaningful organic cognitive redundancy built in. Thus, what3words is fragile to the normal average human because it is experienced as gibberish.

Unfortunately, as humans become increasingly stressed, they rapidly become less normal and less average. They become increasingly messy and inaccurate communicators. And an EC likely leans toward the upper end of the stress spectrum.

This means an increasing number of errors are likely to creep into communication with the ECT.

Even in an unstressed context, if the EC happens to have a different accent (e.g. Scottish) than the ECT (e.g. West Texas English), the word cat spoken in the EC’s accent can sound like kit to the ECT. This problem is severely exacerbated when the EC isn't a native speaker of the ECT's primary spoken/heard language.

There’s a list of various forms of communication errors that can and have occurred for a what3words phrase between an EC to ECT during an emergency call:

  1. Homonyms
    1. Language accent nuance
      1. cat sounds like caught, kit, cot, and cut
      2. wants and once may be confused
      3. See examples in the “Easily Confused Words” section in this CyberGibbons Critique
      4. View video examples at 3:28 in “What’s Wrong with what3words
    2. Confusing compound words
      1. outside.wall.paper vs out.sidewall.paper vs out.side.wallpaper
      2. deep.pink.start vs deep.pinks.tart vs deep.pinks.start
  2. Synonyms
    1. Recall-by-meaning changes
      1. cat to pet
      2. mustang to horse
  3. Stress-produced accidental (de)pluralization
    1. With a bad voice connection (windy outside or highway/machinery noise), cat and cats can easily be misspoken by the EC and also easily misheard by the ECT
  4. Incorrectly assumed language
    1. There isn’t any means to tell with certainty which language dictionary a what3words phrase was selected from.
      1. Given that what3words has now been translated to +50 languages, there are places where more than one language is spoken, and more than one language is understood by the ECT.
      2. These language dictionaries (necessarily) overlap in both words and homonyms, but they don’t correlate AT ALL to the same 3mX3m what3words tiles.
    2. The Mexican border with the US is an easy example of where both American English and Mexican Spanish are quite prevalent, but it is hardly the only place globally
  5. Internationalization issues
    1. The English dictionary doesn’t distinguish between American and UK English, leaving the EC to guess which to use. For example, the words humor and humour are both present in the English dictionary.
  6. Weathering, Graffiti, and/or Malicious Defacement
    1. Change of a particular what3words phrase word
      1. On a wooden display, carving the letter o into the letter u
      2. On a placard, using a marker to close the letter u into the letter o

The challenge is that the what3words dictionaries are proprietary (closed) which complicates attempts to deeply study, understand, and then suggest approaches to solving the problematic edge cases. It is further complicated by the above communication errors being so low cost (obviously excluding the ECC/FR use-cases.) The motivation for anyone to investigate and remedy these errors is very low.

That was before yours truly decided that there had to be a way to navigate through this irritating maze of the marketing+mathematician+proprietary+litigious what3words given the eager adoption by an increasing number of ECC/FR organizations. In other words, it’s time to fix the problems to avoid the potentially tragic consequences when an ambulance is incorrectly sent 2 miles away due to a miscommunicated and/or misinterpreted what3words phrase.

To sum up, a what3words phrase is attempting to be two things at once:

  1. An easily articulated phrase by humans (rated at 6 out of 10)
  2. A perfectly accurately serial number for an idiot savant computer system (rated 3 out of 10)

Thus, how do we solve most of the errors for the ECCs and FRs?

Heading Towards a Solution

What3words is hardly the first attempt at solving the problem of humans effectively communicating a location. The military has been on top of this problem for decades, developing and using the Universal Transverse Mercator (UTM) coordinate system. The military trains a soldier to be familiar with both the UTM and the NATO alphanumeric verbal communication system. Both were and remain critical to this day in enabling various US military units to convey accurate placement of ordinance to ensure only the enemy ends up killed and/or damaged.

Unfortunately, the average person isn’t trained in the NATO alphanumeric verbal communication system, much less accurately reading off the long string of letters and numbers representing a UTM location. And there isn’t a chance in Hades that’s going to change anytime soon, including and especially for a GPS coordinate.

And there are many solutions similar to UTM and what3words with years of investment to make them effective. Here is a woefully incomplete list of said solutions.

  1. Open Location Code (a.k.a. Google Plus Code)
  2. Geohash
  3. Google Place ID
  4. UTM
  5. H3 grid
  6. Placekey
  7. GeohashPhrase

It is easy to see that what3words is superior to UTM for the common person. However, just because what3words is superior doesn’t mean it is without problems. And unfortunately, it appears these problems are uniquely exacerbated in emergency situations.

However, now that what3words has gotten traction at a number of ECCs, suggesting those ECCs drop what3words and use an alternative system appears to be a non-starter.

Therefore, how do we safely and effectively augment what3words without being able to change its design or the language dictionaries in any way?

In a very similar way that credit cards have a check digit, a.k.a. checksum. Introducing a magic check digit (to validate the phrase words against the proper language dictionary) and combining it with a database table filtered down to just the What3Word phrases that exist within an ECC’s region/jurisdiction leads to a massive improvement in the ECT understanding and coordinating with the EC to quickly converge on the correct location information.

Design a Fast and Scalable (Software) Engineering Solution

There are 3 steps to create the solution:

  1. A pair of functions encoding/decoding a checksum+sourceDictionary numeric value to the end of any valid what3words phrase
    1. Original: castle.remarked.restored
    2. Augmented: castle.remarked.restored.3924.1
  2. A local RDBMS table filtered to only the encoded what3words phrases (see 1.ii above) within the ECCs’ jurisdictions (e.g. their surrounding counties) from multiple language dictionaries
  3. A combination of items 1 and 2 used during a live emergency call to redundantly converge on the correct what3words phrase using a checksum equivalence filter combined with a weighted SOUNDEX index rapidly reducing the number of possible valid phrases to a handful

Notice how this solution just accepts the what3words dictionaries as is. There are no requirements to get what3words to alter their beloved marketing format of three slashes followed by exactly 3 words separated by dots. We just append a dot and a set of digits.

The front door of my favorite Starbucks in Las Colinas (Irving, TX, US) changes from…

To the numerically appended value of…

  • ///castle.remarked.restored.3924.1

As distinct from…

  • ///castles.remarked.restored.5926.1
  • ///castle.remarks.restored.359.1
  • ///castle.remark.restores.546.1
  • etc…

There is lots of software engineering magic inside of the appended numeric value of .3924.1.

I am still polishing the cross multiple programming languages code design for the function which takes a language dictionary+what3words phrase as input and then emits the numeric value to be appended, as well as its inverse function that takes the phrase plus the appended numeric value and then outputs the language-dictionary and validates if the checksum value matches the provided phrase.

The appended numeric value also makes it very easy for anyone, including non-native speakers, to more accurately recite the digits than either the letters or words in the phrase’s native language.

To reiterate…

  • Don't let perfect be the enemy of good enough.

PoC, Full Implementations, and Next Steps

While I have created the components for a solution use case (the two functions), I’ve begun work on a Proof of Concept (PoC) for a US ECC organization. This involves considerably more as the database table still has to be populated using spatial algorithms, and then enriched with SOUNDEX indexes. And then following that, a UI/UX must be created enabling the hyper-responsive live interactions while an ECT is working with an EC.

As you can see, the heart of the solution is very simple. It’s getting it actually fully implemented and integrated that will end up being significant. This is a typical Enterprise IT software engineering project pathway, which I have been engaged in for +25 years.

  • If you want to know more details about our solution, and/or
  • You want to be notified when I post the source code on an open-source site (very likely Github), and/or
  • You are interested in engaging my professional services consulting to help you develop your own PoC based on our open-source software,

Please email at jim.oflaherty.jr@qalocate.com, leave me your information on our contact web page, or message me on LinkedIn. I will be pleased to get back to you.

Please Share This Article

Location: Github Gist

If you share this article with everyone you know involved with or making a difference for our ECCs and FRs and their support organizations, we can increase the number of lives and amount of property saved by more effectively reducing and eliminating location challenges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment