Uncharted UI Hazards

On the night of November 29th, the 65-foot sailboat Team Vestas Wind slammed into a reef at 19 knots (a significant speed in a boat) in a remote part of the Indian Ocean.

They were on their way from Cape Town to Abu Dhabi, along with 6 other boats, in the second leg of the Volvo Ocean Race — a round-the-world sailboat race and one of the toughest sporting events in the world.

How did this happen? These were professionals — some of the best sailors in the world. The obvious answers are that either the charts were inaccurate or the boat’s crew committed “human error”. The consensus in the sailing world attributes the accident to human error. A recent New Yorker article sums it up:

“At a press conference on Monday, Team Vestas admitted that the crash appears to have been caused by ‘a simple human error’: the navigator, Wouter Verbraak, did not zoom in enough on his charts. Race organizers have pointed out that it was a high-stress situation caused by approaching bad weather.”

At the risk of reviving an age-old discussion, the navigator’s (in)action may have failed the crew, but the charting software’s user interface clearly contributed to the wreck.

Looking at the charts, team navigator Wouter Verbraak determined that there were seamounts in the area and that the water level would change from 3000m deep to just 40m. While much shallower, 40m is still plenty deep. What he didn’t see was the large, barely submerged reef directly in their path. As Verbraak explained,

“In hindsight we [should’ve] continued to zoom in on the area much more on the electronic charts. Not doing so is the big mistake I made.”

In fact, crew members on the other race boats commented that  it would be easy to miss seeing the reef without zooming way in on the chart. That is a critical observation. Verbraak didn’t zoom in and actively search for hazards, so he didn’t see them.

This speaks to a fundamental difference in  the way paper charts and vector-based software charts deliver information. Because paper charts are static, any information that falls within the chart’s geographic area must be depicted on that chart – the navigator sees all charted information simultaneously; nothing is hidden. In effect, the paper chart is bringing the information to the user. The downside is that these charts can be physically large and many are required to cover large areas.

Software-based vector charts, on the other a hand, cover vast areas but must viewed within the constraints of a laptop (or smaller!) display. The workaround for this constraint is to progressively hide information as the user zooms out to view larger areas. This creates a significant issue: the navigator doesn’t know what he’s not seeing. In this instance, Vebraak essentially needed to search  for hazards by significantly zooming into the chart. If zooming in and out and mentally noting relevant information is effectively a  usage requirement, the software relies on significant mental effort – effort that may not be reasonable for sleep-deprived users in stressful circumstances.

This is a tough user interface problem, one we at Swim are familiar with from our work on aviation charting applications. There is simply more data than can be legibly displayed on a physically-constrained screen at any one time. A strategy must be developed that balances the software’s ability to dynamically provide the right data at the right time with the user’s ability to manually control the data being displayed – while preventing the possibility of critical mistakes.

While this example specifically deals with electronic charting, it speaks to a broader principle of UI design – whenever possible, necessary or desirable information should be brought to the user; users should not be required to go find the information. The trick, of course, is determining what information to display, and when to display it within the confines of ever-shrinking screens.

Verbraak blames himself for making the mistake of not looking hard enough. We believe that the software should have been smart enough to alert him to the danger present rather than hiding it from him.