views:

672

answers:

4

Java supplies standard User Interface guidelines for applications built using Java Swing. The basic guidelines are good, but I really feel the look and feel is really boring and outdated.

Is anyone aware of a publicly available Java User Interface Guide that has better look & feel guidelines than the Sun provided guidelines?

+3  A: 
VonC
+1  A: 

I don't think there are any other complete guidelines. But if you are not talking about the spacing/positioning of components (I don't think that part of Look And Feel Design Guidelines is outdated), but only about the look and feel good starting points are singlabx / swingx:

http://swinglabs.org

http://swinglabs.org/docs/presentations/2007/DesktopMatters/FilthyRichClients.pdf

http://parleys.com/display/PARLEYS/Home#slide=1;talk=7643;title=Filthy%20Rich%20Clients

and JGoodies:

http://www.jgoodies.com/articles/index.html

http://www.jgoodies.com/articles/efficient%20swing%20design.pdf

jiriki
+3  A: 

the apple developer guide has a human computer interface guide - http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000894-TP6 .

Even though its targeted at the mac platform, you could learn something from it - its the reason why so many mac apps are pleasant to use, as well as aesthetically pleasing!

Chii
+3  A: 

Along the line of Chii's answer, I would recommend taking a look at the Windows Vista User Experience Guidelines for general tips on making user interfaces.

Although the name ("Windows Vista User Experience Guidelines") and source (Microsoft) may suggest that it only contains Windows-centric tips and advice, it does offer good general tips and directions that can be used when designing interfaces for non-Windows applications as well.

The Design Principles sections address some points to keep in mind when designing an effective user interface. For example, bullet three of How to Design a Great User Experience says:

Don't be all things to all people Your program is going to be more successful by delighting its target users than attempting to satisfy everyone.

These are the kinds of tips that apply to designing user interfaces on any platform. Of course, there are also Windows-specific guidelines as well.

I believe one of the biggest reasons why look and feel of Swing applications seems "boring" and "outdated" is due to the platform-independent nature of Java. In order for the graphical user interfaces to work on several different platforms, Java needs to have facilities to adapt the user interface to the different host operating systems.

For example, various platforms have various sizes for windows, buttons, and other visual components, so absolute positioning does not work too well. To combat that problem, Swing uses Layout Managers which (generally) use relative positioning to place the visual components on the screen.

Despite these "limitations" of building graphical user interfaces for Java, I think that using tips from guidelines that are provided by non-Sun sources and non-Java-specific sources can still be a good source of information in designing and implementing an user interface that is effective. After all, designing an user interface is less about programming languages and more about human-machine interaction.

coobird