interact.airmedia.org chat

Doug Sutherland doug at proficio.ca
Fri Oct 7 11:54:46 EDT 2005


Hi Janina,

I used to work for Sun, in the Java Software division, here are a few
comments on these Java issues:

You're right that java is not intrinsically graphical. I write Java code
every day and almost all of it is not graphical. Where there is a UI 
most people are using servlets to generate web pages dynamically. This 
is much more efficient than using swing, although more limited in 
functionality.

My opinion is that swing is way too large and complex. The original awt
(abstract window toolkit) was small and fast, but swing is huge, 
complex, and slow. As a software engineer I would not recommend swing 
for any application. Where there is a need for user interface I would 
almost always recommend a web interface built using servlets. If a 
complex GUI was required that servlets could not do, I would probably 
not even recommend Java for the task.

Regarding Java applets, they are a poor implementation approach for most
things, for many reasons. Again I would almost never recommend building 
an application using applets. Servlets are much more favorable, because 
the end result (what the user interfaces with) is a WEB PAGE, so 
anything that can view or download a web page can access it. There are 
some niche areas where applets would be a good choice, basically if the 
application must process on the client side, but there are so many 
detriments including security problems (many people won't be able to 
load/run the applets), download and execution time (slower than
web page), java and browser incompatibilities.

Regarding accessibility and Java, I think the whole idea of making a
complex GUI support accessibility is the wrong way of approaching 
accessible application development. To me its like trying to stuff 
square pegs into round holes. It would be better if the whole 
application had a clean break (or border) between the underlying
process and the user interface, allowing the user interface to be
implemented ANY way. This would not only help with accessibility, it
would also allow adaptation to different UI devices, like a PDA for 
example, or a special industrial terminal, or a non-standard screen
size etc.

Regarding the comment on "which Java" and eclipse, just a note,
eclipse is just an IDE, it's not a Java variant. Eclipse can be used
to develop C code or Java or just about anything else. The "which java" 
is configurable. Swing is not a java variant either, it's a class 
library. So perhaps you meant "which java class library" -- I can
write a UI using Java swing or using Java servlets or other means.
The "which java" issue is usually a versioning thing (do you have
the JRE version whatever) and in some cases there are incompatibilities 
across platforms (this wasn't supposed to be true but it is), or a 
different vendor or organization's java port that doesn't behave the 
same way as the Sun JRE.

  -- Doug




More information about the Speakup mailing list