Air Traffic Control, HTML Display, and JavaFX
By Geertjan on Mar 10, 2011
I was reminded of this yet again yesterday, while walking around at ATC Global, the annual air-traffic control conference, which is the largest of its kind, held annually in Amsterdam. I met some of the developers from the LAIC Group, who showed me their air traffic control solution, which was originally created for Air Traffic Planning Controllers by the Air Navigation Services in the Czech Republic:
Look at the screenshot above. What you see is a Java Swing application. The main area shows a flight display of air traffic in the Czech Republic. Each point on the map, representing an airfield, can be clicked. When clicked, a browser opens, displaying airfield data... in an HTML browser. Part of the data displayed in the browser is static, while other parts are dynamic, supplied by the currently selected airfield. Performance is paramount in these kinds of applications, i.e., when something is clicked there needs to be an immediate, instantaneous response. Not only that, but the air traffic controller needs to be absolutely certain that there will be an immediate response, i.e., reliability & performance are essential.
At the time that the application was being developed, the best HTML browser identified for the purposes of this application by the development team was ICEbrowser. At the end of 2009, that browser stopped being developed and, apparently (this is what the developers on the LAIC team told me), it only worked with Java 1.4.
Essentially, their choice of browser has prevented this application from being moved away from 1.4. Rather than looking for another browser, they'd rather wait until the JDK provides a standardized one. It certainly is preferable to have a standardized component to getting one from a 3rd party, as the ICEbrowser experience learns. However, LAIC first heard about JWebPane back in 2008. "We were excited about it, at the time," they told me. "But now..."
Now, not so much, since it still does not exist. Which brings us to JavaFX. By being able to drop WebView directly into their application, this team will be able to move from 1.4 directly to 1.7, all thanks to the availability of standardized web browser support.
The point of this blog entry is simply to point out how important WebView is to commercial applications. Forget the animations, the interesting circles, the whizzbangywhatnots, just give corporate developers what they need, which simply is a standardized web browser. (Oh, and also something better than JMF, but that's also part of JavaFX.) Aside from those things, for corporate applications anyway, Swing is fine.