Gilberto Nobili spends long hours on the water as a grinder for ORACLE TEAM USA—and when he docks, he heads in to his second calling as the team's Java developer.
Both skills mesh to boost the boat's performance through the use of real-time analytics, an initiative that helped the team win its first America's Cup in 2010. "He's a powerful, strong guy, and he's also a really good code developer," says Ian "Fresh" Burns, design coordinator for ORACLE TEAM USA.
To achieve top performance, the team analyzes data culled from more than 300 onboard sensors and sends real-time, job-specific information to each of the 11 crew members via PDAs worn wristwatch-style.
That's where Nobili comes in. Drawing on twin passions for sailing and software, he builds customized displays for each crew member, as well as for fixed devices like tablets. "I build the human interfaces for displaying data," he says. "Because I'm sailing, it's easier for me to know what they need and translate that for them, to give them the information they need."
Nobili uses Java for Android, as the onboard PDAs are all ruggedized Android-based devices, and he particularly likes Java's extensibility. "I write the code once and it can be used on many different devices," he says. He also needs a lightweight code that can maintain a high refresh rate for up to 30 devices without overburdening the wireless network. "Because the boat is carbon and thus a conductor, wireless doesn't always work very well," he says. "But we drive the boat basically on numbers, so it's a big problem to have information that is even seconds late due to connection problems, particularly as the boat now flies on [thin dagger boards called] foils. The foiling requires
Nobili currently runs the programs from a Linux server on the boat, but Java's portability is another big plus. "We need to customize and ruggedize all the hardware for the boat, and we do that ourselves," he says. "So at the beginning of the campaign you never know where you will end up—on a Linux machine or a Windows machine. Java works well for this because I can move it from one kind of machine to another quite easily."
Long hours are a given—Nobili starts in the gym at 7:30, followed by several hours of programming before the team even gets on the water. But for him, fielding the constant requests for more information means he's helping the team's Cup defense. "It's a pretty long day of work," he acknowledges. "But it's so nice to do it that you forget about the hours."