This is in reply to the question posted by Jason Pidd: >I want a page to initially display a page with 2 frames , one frame >initially blank, the other containing approx 16 signs to an image... This is not so much a response to Jason's question as it is a comment inspired by it. Jason's question, paraphrased by me: Multiple users are looking at the Web same page. This page contains two frames, one with thumbnails, one with an image. When one user selects a thumbnail, not only does that affect the image that user sees in the other frame, but it also affects the appearance and behavior of that thumbnail on the screens of all other users. If I understand correctly, this is double plus un trivial. The reason is that the transport protocol which underlies the Web, httpd, uses transient connections. Thus, none of the other users are connected to the server at the moment when the first user selects the thumbnail. In an extreme case, they might be using autodial PPP connections with short timeouts, and their computers no longer even have physical connections to the Internet. This is in contrast to a Telnet connection, for example, where a connection is maintained and thus for which it is easy for the server to initiate a transfer of data to the client. I can quickly think of two work-arounds, both ugly. The first is for the server to pretend that it has never finished sending data; to artificially keep the connection open. This still leaves you with the problem of how to change the appearance of an existing screen, but this might be possible using JavaScript. The other work-around involves writing a Java applet that basically embeds a client-server system totally unrelated to http or the Web within a Web browser. What makes this ugly is that one basically has to reinvent the Web from scratch and write it in Java just to accomplish a fairly simple task. That is my response to Jason. My comment is that this is a problem I have run into a number of time over the years. There are many cases where one would like a persistant rather than a transient connection. One common example is database interactions. We all handle this with fairly messy state saving routines and hidden variables, but it would be simpler if we could just hold a connection open until a client had finished a transaction. Another case that springs to mind is a fairly neat resource for biologists called BioMOO. MOO (a form of MUD frequently used for serious conferencing) uses persist connections and frequently runs over Telnet, using a Telnet client. However, it is pure ASCII and has virtually no graphic capability. This is a serious problem for Biologists, a lot of whose communication is via images. The developer of BioMOO, Gustavo, solved this by grafting a Web front end on the MOO. The problem is that MOOs are interactive, and there is no way to allow events in the MOO to update what is seen via the web. In general, one needs to run a Telnet or MOO client in parallel with the Web browser, and manually reload the Web page as instructed by that client. Gustavo simplified this a bit by writing a Telnet client in Java so that everything can happen on one screen, but automatic refreshes of the Web page are still missing. http was never designed for interactive behavior. However, there is nothing that would forbid adding the ability of Web browsers (which are already more than just http clients and HTML renderers) to communicate via a different protocol. The advantages of doing that rather than writing custom Java applets are: 1) It promotes true laziness. # <= obRelevance to (Mac)Perl 2) It could be much more tightly integrated, so that the browser could be instructed to load HTML via http via the other, to-be-invented, persistant protocol. Comments? -David Steffen- David Steffen, Ph.D. President, Biomedical Computing, Inc. <http://www.biomedcomp.com/> Phone: (713) 610-9770 FAX: (713) 610-9769 E-mail: steffen@biomedcomp.com ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-webcgi-request@macperl.org