We have to make Swing UI's not suck
I took another look at SwingSightings recently, and something struck me -- most of the user interfaces (UIs) for the Swing applications are not very good. I'm not naming names and I'm not saying everything is bad (there are in fact some pretty cool apps up there). What I am saying is that on a whole they are not so great.
Since we love Java, we can see the potential in these applications. We can see the beauty in their functionality and their crafty use of the Swing libraries. What we are ignoring is that many of them would be considered a joke if they were not written in Java. There wouldn't be anything cool about the applications or their interfaces or implementation had they not been written in Java. Its not enough to say that they are in Java anymore. They have to be in Java and good.
Another aspect has to do with subject matter. I still see too many applicatins that are development tools or developer centric. But this is a problem with Java on the desktop in general. Even now, when someone asks me what are the 'best' Java client applications I can think of, I mostly mention Java based IDEs like IDEA and Eclipse. We have to get Swing and Java out of the world of the developer and get real applications for real users being written on the platform.
And a final thought; why do people feel the need to use crazy look and feels just because their app is written in Java. Is it just because we can? I take a little different perspective. I want to write serious desktop apps, and I want to do it in Java because I like coding in Java. I am happy using the Windows look and feel on Windows and the Apple and Motif look and feels on their native platform for the majority of applications. If I am building a cool MP3 player, by all means, I going to go to town on the PLaF with the grooviest LaF I can find! But if I am designing an email client, I kindly stick to the native look and feel for normalcy. What happens is we make Swing look like a toy. "Look at the neat pictures I can draw with toy" is the image were putting out to the community.
I think we need to hunker down, build, and publicize some serious streamlined kick a-- Swing apps. Make the community think "I ought to look at Java on the desktop and Swing because I'm seeing some serious apps using it." And not thinking "Next time I need to build a chat application, Ill use Swing so I can have some neat look and feel."
Sorry for the long rant, but these things have been on my mind for a while...