 |
JDIC misses the big picture
Posted by jonathansimon on June 03, 2004 at 10:24 AM | Comments (12)
"JDIC will enable applications written for the Java platform
(Java applications) to integrate more seamlessly with their native
desktop environment."
I wish it did. I really wish it did... but it doesn't.
I, and other Swing developers, have spent hours upon hours under
the magnifying glass -- literally -- using the Windows
zoom tools to make sure all of the layouts and components are aligning down to the pixel level in my
Swing app the same ways they would in a native Windows app. This
is the kind of precision you need when you're building high quality
user interfaces.
That said, if you are going to release Java versions of popular
native components, they must look identical down to the pixel.
And frankly these components don't even come close. Take a look
at the Windows file chooser:
And now look at the JDIC file chooser:
In the JDIC version, the fonts are incorrect, there is no toolbar or menu bar, the JDIC
"Modified" column should read "Date modified", there is no column
shading for the selected column, and the list goes on.
I realize that the attempt is to make a UI function the same across
platforms, but that is not real life. Political operating systems wars
aside, we need native components to look like native
components. This means custom code for each OS, special layouts,
customizations, and whatever it takes to deliver a professional
product.
Remember, the end goal is the product, not how we got there. None
of my users will care if the app is written in Java, Swing, SWT, C#, or
whatever. What they do care about, is whether it works like
everything else on their desktops. And the end result of what I've
seen in JDIC, is I still have to build all of this stuff myself.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
agree
When considering the user, he tends to use multiple application on one main platform, but Sun is going after a consistency in the application across platforms. As far as the user is concerned, the Java app just looks and works differently from other programs.
When someone codes up something in C I don't look at it and know immediately the source behind an executable, but I can pick out a Java app just by looking at the interface. Swing made improvements in the API for graphics, but in a sense it took a step back from the native widgets in AWT.
Posted by: duanegran on June 03, 2004 at 11:00 AM
-
That's just one market segment you are talking about
What you are talking about is a small number of commercial standard software packages. When it comes to in-house custom software, what counts is the productivity, reliability and cost of the software development process. And no it doesn't increase training costs if there are slight differences in the shades of colors or the size of fonts. For many years, hugely successful business application packages like SAP, have had ugly, completely non standard user interfaces. And what have we been building in recent years? Web UIs that defied any notion of uniformity or platform integration. Now Flash is all the rage maybe even for business software (although I doubt that).
On a completely different note, look at consumer oriented software like ICQ or the new Microsoft Media player. Although it's native software, they go out of their way to deliberately destroy this image. People deconstruct their Word toolbars in ways nobody but themselves can use their particular installation. They put green letters on black background, they zoom text size to 18pt, they use skins whenever their programs or mobile phones or PDAs allow it. Or look at the mobile phone industry. Nobody wants a uniform UI there. What they want is branding and personalisation. Do you think the millions of Windows users who bought Apple's iPad are confused because it's not like Windows?
Talking about file choosers. I'm on a Win2K machine here. IE has a different file chooser than Word has a different file chooser than Paint Shop Pro has a different file chooser than Outlook. And all of them have a different file chooser than most Windows XP programs on my gf's XP computer. Have you noticed that every new MS Office version comes with a lot of small non standard UI details?
Under all these circumstances, I don't see a rational justification for the Java community's obsession with the issue of small UI features of Swing. If we talk about acceptance of desktop apps, let's look at apps that consume three times the memory of others and take three times as long to start.
Posted by: ajeru on June 03, 2004 at 12:44 PM
-
That's the sample, not JDIC
The sample application you're commenting on demonstrates JDIC's capabilities of opening, editing, printing documents via desktop registered applications. It also demonstrates dispatching URLs into a browser instance and using the system mailer from Java.
The sample app is by no means designed to resemble the windows explorer nor is the tree component and the file list box part of the JDIC project.
While it's not yet part of JDIC making the system's file explorer available in JDIC is an interesting idea and we would welcome such a component.
Posted by: laux on June 03, 2004 at 04:27 PM
-
Native or Good Look and feel
I think the problem of the L&F of swing is that
it's not good enough, still have some UI problem, some components paint ugly, if the default metal look and feel is very good, every user like it, the user will use it intead of request native look and feel support.
The native look and feel is another option, and
need more effort to get better.
There also have some problem caused by the UI developer, do you design UI interface follow the Java Look And Feel Guideline? Do you test the usability?
I agree design good UI in java is not easy, the
BasicXXXUI class is very hard to extend, and fix some UI problem need some expert like the author of jgoodies.
Posted by: zfqjava on June 04, 2004 at 06:35 AM
-
That's just one market segment you are talking about
Though the developer can design good UI, though it's very hard, nobody can write the client application that consume small memory, and run faster like the native application :) Hope sun do it, thanks them.
Posted by: zfqjava on June 04, 2004 at 06:54 AM
-
That's the sample, not JDIC
I'm with you that the UI design is not a part of JDIC. I think that the direction of making it easier to move to rich clients is great. My problem is that without a decent UI for this functionality, alot of the usefullness is lost.
I try to look at the big picture with the whole Java on the desktop thing. We need simple, solid functionality in as close to our environment as possible. Without the UI, we're missing a lot and I think that JDIC might be overlooked in some cases because of it.
I'm trying to make sure every second that's spent on any Java desktop functionality is spent in the most efficient way possible -- given all of the work that needs to be done.
... my $0.02 ...
Posted by: jonathansimon on June 04, 2004 at 10:56 AM
-
Whats the obsession?
Where did you get the idea from that all those tiny things matter so much?
I fully agree that lots of usability features are needed; I know that good positioning and good layout really matter. But thats not what you are saying; you're actually saying that if there is a bug in the Windows dialog, we have to have that in Swing as well!
The truth is (and a huge amount of usability tests confirm it) that the things you are obsessed about matter almost not.
There are usability rules broken, there are features missing and there are annoying bugs in Swing. But screeming it has to be like XP simple is silly and earns you no respect.
Make a good file-selection dialog; follow all the usability guidelines and put as many usability features in there as time permits and you have a killer app for Java. Thats a whole lot more usefull then pointing at Sun for not doing it for you.
Posted by: zander on June 04, 2004 at 01:04 PM
-
That's just one market segment you are talking about
After unsucessfully searching for a java UI development job post bubble, I had to go back to an accounting job because that is what I have a degree in.
The applications I use in the accounting department are all over the board. There are some horrible web apps and some good ones. There are some horrible vb apps and some good ones. There are some horrible java swing apps and some good ones. You get the point.
Just write applications that complete a necessary task and have a UI with some common sense and you will be doing better than most of the corporate applications out there.
Posted by: jasonrberry on June 06, 2004 at 01:47 PM
-
Whats the obsession?
Windows, like all native platforms, has its issues. Im not saying we need to solve all of MS' problems (i.e. unified UI design standards). But there are standards for the OS that should be adhered to.
And when you release a product on a platform, the product is judged either conciously or sub-conciously by how it adheres to the platform. Skinned apps like media players and games fall under a different category as they are trying to make themselves stand out from the OS by being different. I dont think thats the game that Java is in.
-jonathan
Posted by: jonathansimon on June 07, 2004 at 09:56 AM
-
Whats the obsession?
I agree that Java is not about being different.
Problem with Windows is that there are about as many filechoosers as there are major applications...
The link to the java version of the file chooser worked one time for me last night, and it made me want to puke :( I did not see it when I wrote the reply above.
I was serious about writing a good file-chooser replacement in Java/Swing, however. I personally don't like the explorer UI for a file-chooser too much; but me and a friend of mine spent time creating a really nice looking file-chooser based on the normal XP chooser.
It aims to have lots of usability features instead of just copying a certain style.
We'd love some help, see the early-beta at http://uic.sf.net/demo/demo.jnlp
Posted by: zander on June 07, 2004 at 10:49 AM
-
losing battle
It is a losing battle for Sun to spend any more energy towards supporting the native look and feel, trying left and right to make Swing apps look and feel like a Windows app.
History told us that the effort has been futile, especially when the target is moving.
If Sun is really serious about Java on the desktop, it should spend more energy into designing a better cross-platform LNF. Swing developers are trying so hard to make their apps look like native, not because they want to, but because they have no better choice. The Metal UI is a joke.
Third-party LNFs, such as those from jgoodies, are doing a good job and they look very promising.
As a Swing developer, I wish someday Sun can come up with a set of cross-platform LNF that I can be pround of to show my customers.
Posted by: mjsong on June 17, 2004 at 02:13 PM
-
Whats the obsession?
There are a few development projects out there where the main target platform is Windows, but for whatever reason the developers want to use Java. So there is a push from above to make the app look exactly like windows, probably to help sell the idea of using Java. I wonder how many such projects are out there in the world?
Posted by: javaerb on June 24, 2004 at 10:28 AM
|