Geertjan's Blog

  • February 1, 2011

James Gosling & The Massive Popularity Of The Java Desktop

Geertjan Wielenga
Product Manager
I watched and listened to the conversation by James Gosling with the Silicon Valley Java User Group sometime ago. (Here on YouTube.) It is two hours long. If you stick around until 5 minutes before the end, Gosling says:

"If I had to say I'm jaded it's sort of about the fact that people's attention is so focused on the web. And it feels to me like that's 10% of the computing landscape. If you look at what goes on in, say, biology. Huge, huge computational problems in biology. The people who do protein folding up in San Francisco, which is kind of everybody there, that stuff is really really cool. It sure doesn't show up on anybody's "cool" radar but, you know, all modern medicine research, it's computers. Right, it's computing. And none of that has any magic pixie dust coolness on it and modern materials. It's, again, all computer simulation and all the rest of that and the computing behind that and the rest of that, most people don't even think of it as computing because it's something that a scientist does. Talk to most people in physics, they spend most of their time writing code, not doing physics experiments. And it's just a cool world filled with thousands and thousands of different things and it feels like the web is only a corner of it."

I thought of the above thoughts again this morning when I saw the latest poll on java.net:

If the desktop is dead, why is there so much interest in improving it? Next, make sure to have a look at the comments below the chart above. People are surprised about the above results, but maybe they shouldn't be. Read "Why is your desktop app not a web app?", which is a compilation of quotes from actual enterprise Java developers. Executive summary—security and reliability. Just because you don't SEE all the desktop applications out there, doesn't mean that they don't exist. They exist in laboratories, in simulators, and in back offices in enterprises. (And many people who'd be able to verify this statement are not allowed to do so since the applications tend to be confidential, e.g., in the banking, aerospace, and military sectors!) Moreover, recent conversations I've had with Java enterprise consultants indicate that there's a perceptible shift away from the web and towards the desktop, for exactly the reasons stated above, i.e., security and reliability are becoming increasingly important in the enterprise, meaning that the web is becoming less of a viable platform for a very significant segment of computing problems. So, even when we're not looking at the purely scientific field, which is the area Gosling is specifically focused on in his comments, the relevance of the desktop is apparent.

James Gosling's comments also clarify why so many Java desktop application on the NetBeans Platform are scientific simulations of various kinds (from military to medicine). That's also a point I made in a conversation I had with Terrence Barr at JavaOne China, listen to the result here, i.e., an interview in the Java Spotlight Podcast (which I highly recommend, by the way).

It's an interesting thing that Oracle is now where so much of the computing happens, i.e., in the world of application development in the scientific world, on the desktop. And all thanks to the NetBeans Platform which has, over the past decade, created its niche precisely there, as the world's only modular Swing application framework.

Join the discussion

Comments ( 17 )
  • Adam Walczak Tuesday, February 1, 2011

    Java desktop needs most attentions because it lacks the most important features that distinguish desktop applications from web applications. Features like multimedia support, input devices, out of the box support for os specific features (like in python). To me Java desktop applications make sense only if they have to work offline and be portable (but still Qt is better in most cases here).

  • Vano Beridze Tuesday, February 1, 2011

    Java desktop should have been what WinForms+C#+ADO.NET is now.

    Swing is powerful but Sun could not manage to create component oriented market around it.

    I would be happy to have Swing+Good Components directly from Sun/Oracle+Good binding technology+JPA.

  • t3chris Wednesday, February 2, 2011

    I am quite confident, that the web will never replace the desktop entirely. It's crucial to Java's success to better support the desktop.

    In my opinion Swing is a pretty good foundation to build on - I'd prefer Oracle to focus more on Swing than on the third or fourth or ... attempt to establish JavaFX.

    I agree with Vano Beridze that good binding technology is very important to get a competitive desktop java. It's unbelievable that they discontinued JSR 295 Beans Binding without providing proper replacement or alternatives.

  • Carlos Hoces Wednesday, February 2, 2011

    I am one of the voters in favor of the desktop, and I am not at all surprised for the poll results.

    For years, Java desktop development has been the "ugly duck" waiting to grow as the swan it really is, while desktop developers had to fight alone against all odds. We still are in that position, despite the efforts, very well done, by NetBeans team to supply a competitive application framework.

    But I don not think desktop development will improve, in order to cope with users current expectations, due to in-house interest in niche-like solutions.

    It is in the mainstream development where the battle field is. Java will not grab enough attention for desktop users, unless there will be well known aplications out there, doing the same, hopefully better, as thousands other ones.

    This is, IMHO, one of the reasons for those poll results.

  • James Velasco Wednesday, February 2, 2011

    I am still surprised that Sun/Oracle has yet to capitalize on one of the most compelling enterprise technologies unique to Java, distributed desktop clients.

    The Java stack is still the only proven and mature way to provision true desktop applications (via applets and/or webstart) from a centralized server.

    We have had great success using both J2SE plugin and J2EE servlet technologies to provide <a href"http://www.int.com/products/ent_vis/viewers.htm">centrally distributed geophysical desktop applications</a> for the Energy sector, where other vendors have failed to deliver using less robust (and proprietary) stacks.

    Hopefully Oracle will be able to capitalize on this unique ability !

  • Bruce A Johnson Wednesday, February 2, 2011

    I'm an avid user of Woopra for monitoring my website. It uses a very nice Desktop Java Application for displaying web analytics. In a blog post relevant to this discussion they've announced they are going to abandon the Java version and focus on web technologies (even for a "desktop" version).


    I don't think their rational is entirely sound, but it is certainly representative of the way some developers think.

  • Geertjan Wielenga Wednesday, February 2, 2011

    Bruce A. Johnson, the application you're referring to is a consumer application. Consumer applications are continually moving to the web. However, scientific applications (see James Gosling quotation above) and enterprise applications (e.g., back office applications that need to be secure and reliable) will NEVER move there. And, because these applications are so hidden, the effect is that many people don't realize that they exist and therefore assume that "the desktop is dead". In fact, the desktop has never been dead, nor will it ever be, simply because many applications need to do a lot of very heavy processing, need to be completely secure (which the web cannot guarantee) and reliable (while at least half the world has network problems on the web).

  • Tony Anecito Wednesday, February 2, 2011

    Swing is very weak in the mobile department especially Android. Lots of client apps will never port well to mobile devices especially smart phones unless the api's evolve (like touch screen support and soap stacks) and are controlled better.


    -Tony Anecito

    2010 Duke's Award Winner.

  • Geertjan Wielenga Wednesday, February 2, 2011

    Hi Tony Anecito. Yes, you're right. In the same way, people are very weak in the flying department, especially gliding.

  • Bruce A Johnson Wednesday, February 2, 2011

    On the one hand I agree about scientific applications. I'm a scientist and my small company's Java applications are used by scientists. They're definitely used for heavy processing (visualizing and analyzing multiple GByte files). On the other hand I sell the applications, and my customers though scientists are consumers too. So any limitation of the types mentioned on that blog can impact a purchasing decision. The desktop is definitely not dead, but let's not underestimate the importance of Java applications being first class citizens on the desktop.

  • Geertjan Wielenga Friday, February 4, 2011

    Bruce, I think everyone in this discsussion wants Java applications to be "first class citizens on the desktop"...

  • Big Eclipse Monday, February 7, 2011

    Java desktop apps are definitely not dead. It's still very much alive in the enterprise, and in military and scientific applications as mentioned in the article. What we need to do is re-focus and get back to basics.

  • Sean Anderson Monday, February 7, 2011

    Desktop applications are what people know and trust; they want control of their data, especially when it comes to their company customer and financial data. I develop, distribute, and support a boring ol' Java based desktop application, and I can tell you for certain that there is a strong demand. Never have I had a user ask if I was going to "put it on the web." Very few users benefit from or require software as a service (SaaS), in my field at least. I view the web as a collaboration medium mostly, not as a vehicle for my application access and data storage (call me old fashioned).

  • guest Tuesday, February 8, 2011

    Isn't anyone going to point out that the java desktop needs attention because it is so extremely awful, and needs more work to just progress merely sporky? It is slow with the added spice of hogging all your process memory.

  • Geertjan Tuesday, February 8, 2011

    Nobody is going to point that out since your statement is only true for badly programmed applications.

  • Vance Turnewtisch Wednesday, February 9, 2011

    Wow, someone finally understands that the web and web apps are not the future of all computing. I am so sick of every "consumer" tech news site gushing over HTML5 and the future of web apps.

    Yes, the internet is wonderful, but the intense processing required in scientific endeavors cannot be achieved through the web.

  • guest Friday, September 12, 2014

    I have only one thing to add FUCK THE CLOUD!!

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.