Don’t you hate it when you completely lose your signal after walking five or 10 meters underwater? Now this annoying limitation of modern technology is being addressed by researchers at the University of Washington, who have created an underwater communications app that uses voice cues to pass messages to your other submerged friends. It may sound silly, but millions of people can use this technology in both recreational and professional diving situations.
The problem with underwater communication is simple: Rradio waves are absorbed by the water, and no signal our phones send or receive can travel more than a few inches without losing it completely. This is one reason submarines and the like need a rope: to pass data back and forth to the surface.
On the other hand, sound waves travel through water quite easily, and countless aquatic species use them to communicate. Not humans, because the way we make sound only works well in the air. For as long as anyone can remember, divers have been communicating with each other using hand signals and other gestures.
Professional divers will enjoy a vocabulary of dozens of signs, from “low in the air” to “danger on your right” and just about anything else you can imagine while diving. But you have to learn those, and see them when it is used for them to work; You can bet at least some divers will want to click on a message as they do above the waves.
This is the idea behind the AquaAppa software experiment conducted by UW’s Mobile Intelligence Lab, led by doctoral student Tuochao Chen and prolific professor Shyam Gollakota.
The system uses a modified form of “chirping” or the use of a phone’s speakerphone to create high-frequency audio signals for data transmission rather than radio. This has been done beforebut not (as far as I know) in such a simple, self-correcting way that any smartphone can use it.
“With AquaApp, we display underwater messages using the widely available speaker and microphone on smartphones and watches. Other than downloading an app to their phones, the only thing people will need is a waterproof phone case that is rated for the depth of the dive,” Chen said in a press release for UW.
It is not as simple as converting a signal into an audio signal. Transmitting and receiving conditions are constantly changing when the locations of two people, the relative speeds and the surroundings are constantly changing.
“For example, fluctuations in signal strength are exacerbated by reflections from the surface, land and coast,” said co-lead author Chen and fellow graduate student, Justin Chan. Movement caused by nearby humans, waves, and objects can interfere with data transmission. We had to adapt in real time to these and other factors to ensure that AquaApp worked under real-world conditions.”
The app constantly resets itself with a kind of handshake signal that phones can easily hear and then report its characteristics. So, if the sender’s tone is received but the volume is low and the upper limit is attenuated, the receiver sends this information and the transmitter can modify its transmit signal to use a narrower frequency range, more power etc.
In their in-situ experiments in lakes and a “bay with strong waves” (possibly a Chillshul), they found that they could reliably exchange data over a distance of over 100 meters – at very low bit rates, to be sure, but more than enough to include a set of preprogrammed signals Corresponding to ancient hand gestures. While some (myself included) may lament the loss of a very elegant and humane solution to a long-standing problem, the simple truth is that this may make dangerous diving work safer, or allow recreational divers to communicate more than just “help” and guidance.
However, diving is a hobby and profession steeped in history and tradition, and this method of digital communication is unlikely to replace gestures – the analog self-alternative is exactly the kind of thing you’d want ready as a backup should things go sideways.
AquaApp code is open source and free to use – Take a look and try it for yourself at the GitHub repo.