I recently visited an asset management firm in the Netherlands, where various internal applications are created by the internal IT department. Here's their main application, used for asset management, i.e., stock trading and similar activities:
The above is yet another NetBeans Platform application. Especially the Window System, i.e., the docking framework, of the NetBeans Platform is considered to be very useful by the developers.
In the above application, data is pulled in from various web services, and managed in the application, which is basically a container for data. In fact, you could look at it as a highly customized browser. Had the application been a web app in FireFox, or some other existing browser, there wouldn't have been enough control over its functionality. Therefore, the developers created their own browser, to have maximum control over every aspect of the application. That's all that such desktop applications are and it explains the continuing need for desktop applications.
Here you see the application in action by one of its users, i.e., if you're managing assets, you typically have multiple monitors, showing multiple different applications. One of these, you can see on the far right, is the application shown above.
Other applications are being created on the NetBeans Platform by the same organization. For example, here you see an internal document management system, for printing, and similar activities. What's interesting is the lower part of the screenshot below, which is a JavaFX WebView component, containing a JQuery form in the bottom right. That means that a NetBeans Platform application can even integrate with JQuery; that's pretty cool, I think.
I always find it really interesting to come across applications such as the above two. They have in common that they're in the back office of an organization, that you're never going to read about them on the organization's website. In fact, I've been asked not to mention the name of the organization nor where it is.
In short, let's not base our understanding of the popularity of a technology on the analysis of GitHub or on seeing what people are using at conferences or using Google trends or things like that. Instead, if we want to know what's actually being used and done in the software domain, we need to really become anthropologists and go out into the field and meet people at the organizations where they work and see what they're actually doing. From the lowlevel subjective view, something higher level objective can maybe be extrapolated, and not the other way round. Indeed, that's a lot of work and much more difficult than running some scripts to analyze GitHub. But any other approach simply neglects the scenarios I've been describing in this blog over the past 10 years, where few of the applications I've encountered are on GitHub, even fewer are described on the company website, and almost none of the developers go to conferences, so all of these use cases fall under the radar.