Name: rm29839 Date: 11/25/97
Hello,
I'm working on a large intranet application which will need to support 150K users by end of 1998, and up to 1 million users
by end of 1999. In studies recently performed with pilot users, we have discovered a couple of usability issues surrounding t
he behavior of AppletContext.showDocument.
Currently, there are two showDocument method signatures in the AppletContext interface. One of them simply
"Replaces the Web page currently being viewed with the given URL". The other allows the programmer to specify an
alternative target frame in which to display the given URL (please see AppletContext javadoc for details).
We are using the showDocument(URL url, String target) method from within a Java applet to "popup" an HTML page in a new
browser window. Unfortunately, this approach has proven confusing to many of our (technically unsophisticated) users.
We have two major issues:
1. When we call showDocument with a named target (see example below), the new window which is shown inherits the exact
size and coordinates as the window from which it was called. To the user, the visual effect of this new window appearing
directly on top of the current window is almost indistinguishable from the visual effect of displaying a new page in the
current window. In other words, some users are unaware that there are now two windows instead of only one.
// Code example. Causes a new browser window
// with specified URL to appear directly on top
// of the browser window hosting the applet.
myApplet.getAppletContext().showDocument(myURL, "New Browser Window";
2. Now, let's suppose for a moment that we have already created a second browser window using the above code example.
Also, let's suppose that the user has returned to the original applet window by either minimizing or "ALT-TABing" away from
the new browser window. We make the same call as before with a new URL:
// "New Browser Window" already exists, but we
// want to show a different URL
myApplet.getAppletContext().showDocument(myURL2, "New Browser Window";
This call causes the HTML page "myURL2" to be shown in the existing browser window, which is no longer visible to the user.
We would expect that "New Browser Window" would be restored to the top of the window stack. However, this is not the case in
either Netscape Communicator 4.01 or MSIE 4.0. Since our users didn't see the window appear, some assumed something was
wrong and kept clicking on the button to make the window appear. (We *could* always use a unique name for the new window,
which would cause it to always be shown on top. However, we can't trust our users to close these windows when finished.
In order to keep them from creating too many browser instances, we use the same name).
In order to resolve these usability issues, we suggest the following:
1. Add a third showDocument method to AppletContext:
public abstract void showDocument(URL url, String target, Dimension frameDimensions)
Alternatively (and possibly more desirable), you may consider providing the same interface which both Netscape and Microsoft
are providing in JavaScript.
2. Specify clearly in the documentation that the default behavior of showDocument (as implied by the prefix "show") is to
immediately reveal the document to the user. Therefore, new windows will be top-level windows and existing windows
will be brought to the top level.
Finally, as a programmer, I realize how much of a tendency we have to dismiss these "usability" or "functional" issues as
unimportant. However, I was quite surprised to learn how many of our users were baffled by the behavior of showDocument. T
Therefore, I hope you will seriously consider this request.
Many thanks,
Mark Mindenhall
###@###.###
(Review ID: 20893)
======================================================================
Name: yyT116575 Date: 05/17/2001
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
This request is related to bugs 1262595 and 4095396, and especially to bug 4089173.
AppletContext's showDocument() method does not support the POST request method. This deficiency was identified by users more than three years ago, but remains uncorrected. My preferred implementation of this feature would be a new version showDocument():
void showDocument(URL url, String target, boolean usePost, String postData)
where url and target are as in the current version of showDocument, usePost (default false) indicates whether or not to use the POST method, and postData contains any data to be included in the request body.
Alternatively, a different method name could be devoted to showing documents requested via POST.
An even more general and powerful method would be something like
void showDocument(String data, String target),
which would allow an applet to produce or obtain an html or other document (the data argument) by any means whatever and then deliver it to the browser for display. (An argument specifying the content type might be necessary.)
(Review ID: 124573)
======================================================================
- relates to
-
JDK-1262595 (api) AppletContext.showDocument() should throw exception when it fails
-
- Closed
-