YOUR FEEDBACK
E-Commerce 2.0
Brian wrote: I think we're heading in the right direction, but we've still...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Swing Baby, Yeah!!!
With JVMs being pulled from Internet Explorer, Java's attention moved off the desktop and onto the server

Digg This!

Back in 1996, Java was originally hailed as a way of making the Web more appealing through applets, and, with its "write one, run anywhere" philosophy, as the holy grail for desktop apps that would be truly cross platform. The truth is that both were oversold at the time. With the combination of low bandwidth Internet connections and early Swing releases not living up to user expectations occurring in the middle of the Microsoft vs. Sun "pure Java" fight that resulted in JVMs being pulled from Internet Explorer, Java's attention moved off the desktop and onto the server.

It's now 2006 and the world is a very different place. Java Virtual Machines are now present on about 85% of desktop PCs, about two-thirds of which are at 1.3 or higher. The top 10 PC OEMs now redistribute a JRE with their product and, in January 2006 alone, there were over 30 million downloads of the Windows Java SE.

More intelligent and demanding users are become increasing disillusioned with the poor page-based, latency bound user interface model that the browser-centric world delivers. To a large extent all of the AJAX hype being whipped up at the moment is a recognition of this fact, although what it's actually doing is elevating the discussion to be one of "how do we deliver rich content" rather than bun fights over "HTML rocks, Swing sucks, baa."

At JavaOne's opening keynote this year, the absolute highlight for me that showed how far Swing has come was a demo of an application that used Web services APIs from flickr.com and maps.google.com, popular and high-content Web sites in their own rights, and trumped both sites with a beautiful Swing program. Romain Guy, one of the Swing engineers who'd written the program, used it to navigate his photo album pictures from flickr, using 3D smooth animation, reflection techniques, and beautiful user interface effects that fully demonstrated the power of desktop applications. The program then picked up Google maps data to show the route Romain had taken during a recent road trip that merged with photos he'd taken on the way. The power of this message was simple: the desktop can be used to integrate back-end data that is available on the Web (through Web services) and create a user interface experience that is richer than anything the Web could offer and truly puts the user back in control. It was beautiful to watch, and ironically reminded me of how Flash developers used to show off how they could make the Web experience better, except the Swing demo was an order of magnitude higher than anything Web 2.0 could possibly hope to offer. It also struck a chord with the idea that while all the server guys are focusing on SOA and ways for back ends to publish their data and re-usable services, it's now open season again as to what the user interface is going to be. Swing is totally there now: mature, fixed, better, and 100% ready to step up to the challenge.

Leaving bombast aside, technology never wins because it's better. The battleground in traction is largely based on perception, ideas, and adoption by the community. What's encouraging about Swing is that it is doing well on all three fronts.

In a recent Evans Data survey of Java development trends, developers were asked where they spent most of their time building apps. Forty-one percent said they wrote desktop apps, 37% J2EE, 4% Java on mobile devices, while the remainder apparently didn't know what they do at work each day As for the future, when questioned about which Mustang features people were most looking forward to, over 60% answered that they're turned on by the Desktop Java enhancements.

The community around Desktop Java has really grown over the past few years and Mustang is now reaping some of this crop. SwingLabs (http://swinglabs.org/index.jsp) is an umbrella for an open source laboratory of projects whose common goal is to make Swing easier to write, faster, and better and to rally around Desktop Java. It's crop includes the timing framework being showcased at JavaOne, a very crisp and elegant API to do animation effects. SwingX has reaped the cool visual effects like drop shadow borders and custom highlighting that powered the JavaOne keynote demo. In addition to these and other fabulous improvements to Swing on the glass, there is also recognition that serious Desktop Java projects have to wrestle many other types of animal to the ground as well. The Data Binding project is looking at taking away the pain involved when binding Swing GUIs to back-end data sources. The Application Framework project is looking at the life cycle surrounding desktop. This is all good stuff.

One of the features Swing used to always get beaten up about was that it's an emulated widget toolkit and, as such, has to fake out in low-level Java 2D drawing code what the actual native widgets look like. Even though 1.4.1 improved this over previous releases, the arrow didn't quite hit the bulls-eye. Thankfully though this looks like it's now got closure as Mustang is going to use native APIs on Windows and GTK to find out how exactly, pixel perfect, each OS's widgets are being rendered. No more Swing versus SWT fights on newsgroups, phew.

Swing is really coming back hard with some great new features and for me was definitely the star of JavaOne. I talked to many other people who were also impressed with what they saw and are now seriously considering revisiting it. Web 2.0 hysteria is turning the focus of IT away from server-implementation technologies and back onto the user interface experience. When the guy next to you steps up to home plate clutching his JavaScript for Dummies book, let's hear it for the desktop: "Swing AJAX developer swing, swing AJAX developer swing."

About Joe Winchester
Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.

Joe Winchester wrote: Hi David, I wasn't making fun of Java Enterprise or Java mobil.. I was making fun of the percentage who couldn't answer what they do at work. I am a huge fan of all aspects of Java, my point was that there is a lot of Java desktop stuff still going on, and that Swing is really really good now. Mustang has a lot of very cool stuff in it, Swing labs is creating very solid frameworks, and I've been playing with some of the new JDNC stuff and it is incredibly solid. The Swing team have done an outstanding job, and a lot of people's perception of Swing is probably of Swing 1.1. People are trying to build richer user interfaces, whether it's with Flash or AJAX or whatever, and I just want people to reconsider building first class desktop apps with what is now a modern and very powerful Swing release. Joe
read & respond »
David wrote: You made fun of the java developers who did not do desktop apps, j2ee or mobile. While web apps may contain some "j2ee parts," I think many programmers do no consider these j2ee unless you are doing enterprise javabeans. Those who use pojo with servlets/jsps often do not think of themselves as j2ee -- except when we put it on our resumes!
read & respond »
David Bolsover wrote: Trackback Added: Java Swing; Swing Baby, Yeah!!! ? Back in 1996, Java was originally hailed as a way of making the Web more appealing through applets, an...
read & respond »
JDJ News Desk wrote: Back in 1996, Java was originally hailed as a way of making the Web more appealing through applets, and, with its 'write one, run anywhere' philosophy, as the holy grail for desktop apps that would be truly cross platform. The truth is that both were oversold at the time. With the combination of low bandwidth Internet connections and early Swing releases not living up to user expectations occurring in the middle of the Microsoft vs. Sun 'pure Java' fight that resulted in JVMs being pulled from Internet Explorer, Java's attention moved off the desktop and onto the server.
read & respond »
David Bolsover wrote: I have been following the Swinglabs developments for over 18 months now - this stuff rocks! I have already deployed applications using the JDNC 0.6 libraries and with the promise of JSR 295: Beans Binding the future for Java on the desktop looks very good indeed.
read & respond »
LATEST JAVA STORIES & POSTS
Case Study: Java and the Mac
This is the story of a Mac application developer (okay - it's about two of them) who set out on a quest to find an application development tool based on Java so his boss would let him develop on the Mac platform, which he loved. There was only one catch - he had to find a tool th
A Lightweight Approach to SOA and BPM in Java Using jBPM
SOA is mostly associated with technologies such as BPEL, SCA and Web Services. But does SOA really imply these technologies? In this session we will show how you can use the service oriented approach while staying inside the Java world. jBPM is a powerful lightweight framework th
JavaOne 2008: Uncommon Java Bugs
Any large Java source base can have insidious and subtle bugs. Every experienced Java programmer knows that finding and fixing these bugs can be difficult and costly. Fortunately, there are a large number of free open source Java tools available that can be used to find and fix d
The 4 Core Principles of Agile Programming
One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto (http://agilema
JavaOne 2008: Sun Adds Comprehensive Video Capabilities to JavaFX
Sun Microsystems announced it has entered into a multi-year agreement with On2 Technologies to add comprehensive video capabilities, using On2 Technologies TrueMotion video codecs, to Sun's JavaFX, a family of products for creating Rich Internet Applications (RIAs) with immersive
JavaOne Archives - Dvorak Comments on AMD Intel Lawsuit on SYS-CON.TV
Conference in San Francisco. Dvorak held forth on a number of topics, including the new AMD/Intel lawsuit, the viability of Java and Sun, the value of (or lack thereof) of corporate PR, and whether or not a new book about Silicon Valley is really worth reading.
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING JAVA NEWS
KongZhong Corporation Reports Unaudited First Quarter 2008 Financial Results
KongZhong Corporation , a leading wireless value-added services (WVAS) and wireless media co