Public Transportation on the NetBeans Platform
Those pictures (and many more here) were taken during a training at Sohard AG in Berne, Switzerland. I was there to hold a 3-day NetBeans Platform training that ended yesterday. Sohard has a couple of NetBeans Platform applications ready or in development and is planning for more. The application you can see in the pictures above is the first application they created with the NetBeans Platform.
The name Sohard comes from SOftware & HARDware, those guys know how to deal with both parts! And they don't only know how to talk to the Displays they connect their application to... they also know how to take those apart and wire them up. The application runs on a distributed cluster, while communication works via RMI.
And what does the application do, exactly? It controls the displays at several train stations in Switzerland, e.g., in Berne where these pictures were taken. Looking at the screens above, you see animations of trains coming in, while showing if they are on time. And you can customize what is shown on the screens. The text on the screen is rendered in SVG and sent to the displays, so it scales well even though they are of different sizes:
You can even control the automatic doors at some places with this application. During rush hour the doors that give access to the tracks are controlled manually via this mechanism.
Soft Adoption of the NetBeans Platform
But the main interesting thing from the NetBeans Platform perspective is, that the application really only uses small parts of the NetBeans Platform. The reason why Sohard initially started with the NetBeans Platform was the window system. So, they developed this application as a plain Swing application and made only minimal use of the additional NetBeans APIs.
Now, since the application was successful, and they liked the development process, they've started to use more APIs and more features of the platform. So, this illustrates quite nicely that adoption of the NetBeans Platform in your development can be a "soft process" and you can start by using only some parts and as you learn more about the available features you can use more and more of the APIs and do a deeper integration. If you're a Swing developer, you'll feel at home anyway.
So, you see, it doesn't need to be "so hard" after all... :-)
Greetings from Zurich...
...where Geertjan and I will have a talk at the JUG tonight. If you're in or near Zurich, come join us here: http://www.jugs.ch/html/events/2009/netbeans.html.