Lastly, an underwater messaging app – .

Don’t you hate it when, after going just five or 10 meters underwater, you lose signal completely? Now this vexing limitation of modern technology is being addressed by researchers at the University of Washington, who have made an underwater communication app that uses sonic signals to pass messages to your other submerged friends. It may sound silly, but millions of people could use this tech in both recreational and professional diving situations.

The communication problem underwater is simple: Rradio waves are absorbed by water, and no signal our phones send or receive can travel more than a few inches without being completely lost. That’s one reason submersibles and the like need a tether: to pass data back and forth to the surface.

Sound waves, on the other hand, travel through water quite readily, and are used by countless aquatic species to communicate. Not humans, though — because the way we make sound only works well in air. So for as long as anyone can remember, divers have communicated to one another using hand signals and other gestures.

Professional divers will have a vocabulary of dozens of signals, from “low on air” to “danger to your right” and anything else you can imagine coming up during a dive. But you have to learn those, and see them when they’re used for them to work; you can bet at least some divers wish they could tap out a message like they do above the waves.

That’s the idea behind AquaApp, a software experiment by the Mobile Intelligence Lab at UW, led by PhD student Tuochao Chen and prolific professor Shyam Gollakota.

The system uses a modified form of “chirping,” or using the phone’s speaker to create high-frequency audio signals to communicate data rather than radio. This has been done before, but not (to my knowledge) in such a simple, self-correcting way that any smartphone can use.

“With AquaApp, we demonstrate underwater messaging using the speaker and microphone widely available on smartphones and watches. Other than downloading an app to their phone, the only thing people will need is a waterproof phone case rated for the depth of their dive,” said Chen in a UW news release.

It’s not as simple as just converting a signal to an acoustic one. The conditions for transmitting and receiving are constantly changing when two people’s locations, relative speeds and surroundings are constantly changing.

“For example, fluctuations in signal strength are aggravated due to reflections from the surface, floor and coastline,” said Chen’s co-lead author and fellow grad student, Justin Chan. “Motion 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 AquaApp would work under real-world conditions.”

The app is constantly recalibrating itself with a sort of handshake signal that the phones can easily hear and then report back the characteristics of. So if the sender’s tone is received but the volume is low and the high end is attenuated, the receiver sends that information and the sender can modify its transmission signal to use a narrower frequency band, more power and so on.

In their on-site experiments in lakes and “a bay with strong waves” (probably Shilshole), they found that they could reliably exchange data over 100 meters — at very low bitrates, to be sure, but more than enough to include a set of preprogrammed signals corresponding to the old hand gestures. While some (including myself) may lament the loss of an elegant and very humane solution to a longstanding problem, the simple truth is this might make dangerous diving work that much safer, or let recreational divers communicate more than “help” and directions.

That said, diving is a pastime and profession steeped in history and tradition, and it’s very unlikely that this digital communication method will supplant gestures — an analog, self-powered alternative is exactly the kind of thing you want ready as a backup if things go sideways.

AquaApp’s code is open source and free to use — take a look and try it yourself at this GitHub repo.

Comments are closed.