Life and code.
RSS icon Home icon
  • What Did the Virgina State Trooper Say to the Maryland State Trooper?

    Posted on November 13th, 2006 Brian No comments

    No, that is not the lead-in to a joke. There is no punchline here.

    It is easy to forget that the problems we face in the Geek realm often are just specializations of preexisting real-world problems. One such case is the problem of protocol mismatches, like when two systems are speaking slightly different versions of the same protocol.

    In the case of the Virginia State Troopers, the commonly used ten-codes, e.g. “10-4,” “10-18,” etc., became a recipe for confusion during the terrorist attack on the Pentagon on September 11th, 2001. Unlike the World Trade Center, the Pentagon is surrounded by a myriad of municipalities, and each of them helped respond to the emergency of that day, and each brought with them their own protocols tuned for their specific location.

    A 10-54 in Virginia.So, while extremely common codes, like “10-4,” maintained their semantics, mixing less common codes between the officers might have lead to some confusion, funny looks, and lost time when it mattered most.

    To Arlington police, “10-13” means “officer in trouble.” To Montgomery County police, the same code means “request wrecker.” Even everyday police commands can get lost in translation: In Alexandria, “10-54” refers to an alcohol sensor. For Virginia State Police, it’s livestock on the highway.

    Now they are choosing a path to a solution common in the Geek world: They are reating a new, standard, common-language protocol. Now, the commonly used “10-4” is being replaced with the much-less-snippy “Message Understood.” I mean, who is going to say, “Message understood, Good Buddy?”

    I find that this story almost eerily mirrors the story of the Internet, XML, and Web Services. The ten-codes were created out of a bandwidth limitation. In this case, radios were new and expensive, and the technology was limited. All police shared the same radio, which meant that limiting one’s time on the air made for more efficient use of the system. For example, abbreviating a five-syllable “Message Understood” into a two-syllable “10-4” provides a 150% efficiency improvement, meaning another officer could jump in with some other information that-much-sooner.

    As the bandwidth increased, however, the need for such efficiency decreased. The increasing complexity of the network of responders meant that it became more and more difficult to keep all the various decoders (officers) on the same “version” of the protocol, leading to mix-ups. Still, human momentum, kept them in play for decades longer than their use – much like it keeps old software versions lingering on machines. In modern times, with multi-channel and code-division radios, the bandwidth problem has mostly been solved. The increase allows for a more verbose, extensible, and fault-tolerant protocol to be brought up in place of the ten-codes. In parallel, as technologists, it is becoming increasingly rare to write bit-level protocols, as more often we choose higher-level languages and protocols like XML and REST and SOAP to achieve our goals. They are more verbose, extensible, and fault-tolerant – all important goals on a network with the ever-increasing complexity of the Internet.

    It will be interesting to see if the nation-wide integration of these newer protocols follows the same progression as the XML web service standards. In the beginning were simple one-to-one mapping protocols like XML-RPC. This was followed by the various incarnations of REST and SOAP, itself undergoing a metamorphosis and settling process as the various idiosyncrasies between implementations were ironed out. Remember the days when we had to tweak WSDL to get AXIS proxies to talk to .NET services? Heck, sometimes you still have to do that.

    Will the protocols become too verbose? Is it realistic to expect an officer to speak an entire sentence into their radio when in the middle of a gun battle with a thug? Will the protocols suffer from schema versioning problems the way modern web services often do? The words “10-4” probably sound the same regardless of regional, or maybe even international, accents. What about the words “message understood?” Is there a way to prevent the over-specialization of the protocol language, which would lead to roughly the same problem we have today?

    I wonder if there is anything the Virginia State Police can learn from the W3C on how to correctly implement standards-based protocols, or if the State Police have something they can teach the W3C.

    The punchline: He did what on the 10-54?!

    (Cows on the road by blmurch, used and redistributed under a CC BY-SA license.)

    Comments are closed.