Who’s winning the desktop: Sun, Adobe or Microsoft?

Java on the desktop today

A discussion on the future of Java on desktop is going on right now at JavaLobby .
A anonymous poster (rba1988) asks the following question:

“I was just wondering what you people think of the future of Java standalone/desktop applications. What’re your opinions on this? Do you think people will continue developing pure Java applications that you won’t find on web pages but on the desktop. Or do you think that Java programming are really meant for applet development and not for application development?”

The readers of this respected online forum are actively participating in this discussion and, as usual they try to protect their ten year old pet called Java. Some say that Java is improving on the desktop and has good opportunities there. The reason is simple and prosaic: Java Swing puts bread on their tables. They do not want changes. They do not want to learn another language or tool. They can do everything with Java Swing.

C’mon guys, get real. IMO, Java Swing will slowly but surely go away: first, from the Web applications arena, and in several years from the desktop. Sun Microsystems has been treating Java on the desktop as Cinderella way too long. Now Sun is way behind. So who’s way ahead? Adobe with Flex 2 on the Web and Apollo on desktop and Microsoft with their WPF/E.

Swing is very very powerful tool, but it’s very expensive. I’m talking about real-world applications not mortgage calculators. You do not pay for a Java license, but you pay high salaries to people who develop in Swing. They write tons and tons of code. In addition to this, IDEs generate tons and tons of boilerplate code. Someone has to read and understand all this.

What about deployment? HelloWorld with one text field and a button won’t run on your PC unless you’ve installed the JRE that weighs 16MB (Sun is trying to make it lighgter for the Web ).

Yesterday, I was creating an application for my client in Flex 2 that runs in Flash Player 9. All of a sudden, some big shot came in and a quick demo was required. No, the big shot can’t stop by my desk and wants to see this Web application in action on his laptop in his office. No problem, because I was not using Swing. I was using Flex 2, so I copied a couple of files to a webapps directory under Tomcat, and emailed him the link. He clicked on the link, and a message “Flash Player 9 is required. Do you want to install it?” poped on his laptop, he pressed OK and 5 seconds later, he was working with my application, which was working with Java messaging feed on the server side. Do not trust me? Click on this link (it’s not my yesterday’s application but is similar to that) http://samples.faratasystems.com/porfolio/PortfolioRpcDemo.html

It should be up and running within seconds. By the way, this entire application including quote generation (random numbers by a POJO), charts, RSS read and links to Yahoo financial news is less than 300 lines of code.

Adobe or Microsoft?

The next question is, who is going to take a lead in the RIA area: Adobe or Microsoft? Let’s talk about penetration of new software. Do you know which OS I am using at work? Windows 2000 professional. Let me check my calendar…Yep, it’s 2006.
There is no other software in the world that has such a high penetration rate as Flash Player. As per Adobe within a year something like 80% of people upgrade Flash Player to newer version (the numbers might be slightly off). Within three months 50% of user will switch to Flash Player 9. Do you know which JRE version is used for most of the applications at my current client’s site? You got it, 1.4.2. It’s been two years after release of Java 1.5.

I bet on Flash GUI talking to Java on the server. Today you can create Flash applications using Adobe Flex,plain ActionScript coding or Open Laszlo. Next year, Adobe Apollo will let you create full featured desktop applications that integrate HTML, Flash, JavaScript and Acrobat aith a full access to your file system.

Competition: Microsoft WPF/E and C# combo. On the side note, Java Swing beats C# on the GUI side. My friend is working for a company that has decided to replace their Swing GUI with C# in their financial trading application. They can’t get the same performance they had before… Anyway, it won’t be easy for Microsoft to catch up with Adobe , but hey, it’s Microsoft. Gotta respect them.
AJAX won’t become a mainstream on the business applications landscape. It’ll find its limited use in consumer facing applications like Amazon, Yahoo, Google and major online retailers.

A happy Java ending
I love Java…one the server side where it belongs. Well, there is one more area for Java: mobile devices. More and more people believe that their cell phones are not just telephones that should be used for dialing phone numbers, but also cook breakfast in the morning. Java is a leader in the mobile space and I do not see any danger there. Flash Lite is way too young, and is making its first baby steps at this moment.

2 thoughts on “Who’s winning the desktop: Sun, Adobe or Microsoft?

  1. What is suprising is that you missed Eclipse RCP (and so did nearly all of the people on that thread..)

    Ideally Adobe would create a flash plugin to use in Eclipse / SWT. Then you could get the best of both worlds.
    Its a bit odd that they didnt do something like that for Flex Builder, rather than having to launch the browser all the time.

    As for Apollo, well its going to have to pack a lot of support for application development for me to even consider moving.

    The RCP shines in this area.

    You want a help system? Just add the plugins and bundle your html.easy.
    Remote updates for your application? Just add the plugins and get Eclipse to generate your update site. easy.
    Undo support. ? Add the plugins, write the actions. easy.
    Thousands of other features ready to roll into your own application? Just get the plugins :)

    It really makes application development enjoyable. Dont get me wrong, i like Flex and I want Apollo to be good, but its probably going to take a good while yet.

  2. Sun, Adobe or Microsoft?

    Is this a question… LOL

    Microsoft can never be defeated…. sorry java boys but C# is the GOD

Comments are closed.