NCSA Mosaic for X 2.0 prerelease 4 available

marca@ncsa.uiuc.edu (Marc Andreessen)
Date: Wed, 29 Sep 93 02:19:17 -0500
Message-id: <9309290719.AA17205@wintermute.ncsa.uiuc.edu>
From: marca@ncsa.uiuc.edu (Marc Andreessen)
Sender: marca@ncsa.uiuc.edu
To: www-talk@nxoc01.cern.ch
Cc: ebina@ncsa.uiuc.edu, chouck@ncsa.uiuc.edu, mfolk@ncsa.uiuc.edu,
        alanb@ncsa.uiuc.edu
Subject: NCSA Mosaic for X 2.0 prerelease 4 available
X-Md4-Signature: 1b4b459d7b9ebb44fb4317964285299d
......ftp.ncsa.uiuc.edu in /Mosaic/prerelease.  Source, plus binaries
for Sun, IBM, SGI.

This prerelease is a *major* revision and provides lots of new
functionality.  It is bound to be unstable, and MANY THINGS DO NOT
WORK like they did in 1.2 or 2.0pre2 (e.g., transparent uncompression,
Gopher icons, use of NCSA WAIS gateway, telnet/rlogin hyperlinks,
etc.).  However, it is in many ways a big improvement over 2.0pre3.

*Please* do not distribute this widely or install it for general use.
However, we encourage those of you who are interested to bash on it
and let us know what you think.

Changes and additions include:

 o Prerelease startup page is now hardwired to a warning page about the
   hazards of prereleases, to keep users from having the slightest thought
   that a prerelease is the same thing as a stable release and should be
   given to small children, normal users, or people without senses of
   humor. 
 o Basic interruptible I/O. 
    o You can interrupt in the middle of a connect or between reads
      of chunks of data during HTTP, Gopher, direct WAIS, and FTP
      connections. 
    o Existing problems: can't interrupt DNS (hostname) lookups,
      can't interrupt in the middle of reads. 
 o Added support for NCSA httpd 1.0 style extension/content-type config
   files (extension maps). 
    o Resource useDefaultExtensionMap, default true, can be
      set to false to keep Mosaic from having any default extension
      mappings. We strongly recommend that this resource be left
      true; simply override as necessary. 
    o Resource globalExtensionMap, default
      "/usr/local/lib/mosaic/mime.types", can be set to the location of
      the system-wide extension map config file of your choice. 
    o Resource personalExtensionMap, default
      ".mime.types", can be set to the location of the personal
      extension map config file of your choice -- the value of the
      environment variable HOME is prepended to this. 
    o Extension matching is now case insensitive (e.g., .txt and 
      .TXT are always treated the same). 
 o Added support for RFC 1343-style mailcap files to map MIME types
   to external viewers. Together with the extension map support (above),
   this provides complete customizability of viewers, supported types, and
   extensions in a manner smoothly compatible with multimedia mail. 
    o Resource useDefaultTypeMap, default true, can be set to
      false to keep Mosaic from having any default type mappings. 
      We strongly recommend that this resource be left true; simply
      override as necessary. 
    o Resource globalTypeMap, default
      "/usr/local/lib/mosaic/mailcap", can be set to the location of the
      system-wide mailcap (type map config) file of your choice. 
    o Resource personalTypeMap, default ".mailcap", can be set
      to the location of the personal mailcap file of your choice --
      the value of the environment variable HOME is prepended to
      this. 
    o In this prerelease, we are not RFC 1343-compliant in a couple
      respects: a "%s" must be included in the viewer specification; if
      it is not, Mosaic will not currently feed the data to the viewer
      via stdin. Also, "%t" and "%{" are not recognized. Also, things
      like copiousoutput, test, and needsterminal aren't
      recognized either. We don't know if these things are important
      or not (needsterminal probably is but the others probably
      aren't). 
    o There are two "magic viewers" that can be associated with
      particular MIME types: 
       o mosaic-internal-dump is used to tell Mosaic to
         dump files of the corresponding type to disk (providing
         the user with a dialog box to specify a filename).
         Normally this "magic viewer" applies to all
         unrecognized types (including, by default, 
         application/octet-stream). 
       o mosaic-internal-reference is used to tell
         Mosaic that it has native handling capabilities for this
         datatype. This should only be used for HDF and
         netCDF data files, and only with versions of Mosaic
         that have native HDF support compiled in. By default
         this "magic viewer" applies to types 
         application/x-hdf, 
         application/x-netcdf, application/hdf,
         and application/netcdf (the latter two aren't
         valid MIME types at the moment, but should be
         someday). 
 o Added better WAIS type support. In particular, given an arbitrary
   WAIS type (e.g. "TEXT", "WSRC", "GIF"), the following occurs: 
     1 If a MIME type of the same name is found, then that is the type.
      (This is looking forward to the days when WAIS servers will
      return MIME types -- "image/gif" instead of "GIF", etc.) 
     2 Otherwise, a dummy filename "foo.type" is constructed (e.g.
      "foo.GIF") and run through the normal extension mapping code
      to try to do a MIME type match. This means that you can
      expand the WAIS types Mosaic handles simply by adding
      entries to your extension map (and, if necessary, your mailcap). 
     3 If this fails, we assume plaintext. 
 o Fixed "bad docid" problem with direct WAIS queries to some WAIS
   servers (including White House Papers). (I'm still not sure this is
   bulletproof -- please send bug reports regarding bad or missing docids
   or documents, inconsistent results, etc.) 
 o Added support for 300-level HTTP/1.0 replies (301 and 302 --
   redirection or forwarding of URLs). 

   In conjunction with NCSA httpd 1.0a2 and later, this means graphical
   overviews of distributed information spaces are now easily doable (a
   single image map can essentially point to lots of URLs scattered all
   across the Web). An example is here. 
 o Added support for <BASE HREF="whatever"> to allow
   specification of a "real" URL inside an HTML document. (This is a
   convenient way to have WAIS server access not screw up URLs of
   documents that normally exist in a hypermedia hierarchy, or in any
   other instance where the same document, especially when containing
   relative links, is served off of more than one server.) 

   An example is here -- the document is physically located at
   "http://wintermute.ncsa.uiuc.edu:8080/foobar.html" but the "real" URL
   is specified in the document source. Inlined links specified with
   relative URLs, and relative hyperlinks, work. 
 o Deferred inline image loading -- resource delayImageLoads can
   be set to true (or command-line flag -dil) to cause inlined images to
   not be loaded by default. 
    o Instead, a little icon is inlined that can be clicked on to have the
      image loaded and expanded in place. 
    o Images serving as anchors get a little arrow icon on top of the
      little image icon that can be clicked on to follow the anchor. 
    o Only problem remaining: how to handle ISMAP images
      reasonably in this context. 
 o Reworked HTML widget layout to support consistent baselines --
   typography is much improved. This also means: 
    o <IMG ALIGN=MIDDLE> is now supported. 
    o Input elements in fill-out forms are now better aligned with
      their surroundings -- baseline of text in text widget is aligned
      with baseline of surrounding text line; toggle buttons are placed
      correctly. 
 o Papered over basic incompatibility between HTTP0 and HTTP/1.0
   protocols -- sockets can get confused when sending a HTTP/1.0
   request to a HTTP0 server; we now detect when this happens and
   reissue the request as HTTP0. This is not a really good fix, as there is a
   performance hit if it must be done frequently and it's ugly besides, but
   it does mean that data should never be lost when talking to a HTTP0
   server. 
 o Fixed compatibility problem with X11R5/Motif 1.2 (the binaries we
   distribute are still linked with X11R4/Motif 1.1 but you should be able
   to compile and run with X11R5/Motif 1.2 now). 
 o New and improved inlined XPM3 support. 
 o Fixed fairly large memory problem dealing with external data elements
   in HTFWriter.c, which often instantiated itself in coredumps in the
   GIF reading/decompressing code. 
 o Fixed really stupid problem interpreting binary data over HTTP/1.0
   connections. 
 o Fixed coredump on File->Mail To with no specified subject. 
 o Fixed coredump on "Save As" under some circumstances with new
   HTML widget. 
 o Fixed coredump on getting back NULL text on first connection or on
   reload. 
 o Fixed stupid bug-like feature in HDF code regarding display of only
   value of a single-value vdata. 
 o Now sends DTM disconnect message when closing application, if
   DTM connection is active. 
 o Took out extra space after periods bug-like feature. 
 o Fixed bug with new widget: document sometimes getting shoved off
   top of window and no scrollbar appearing. 
 o Binary transfer mode is back, and unknown types are handled as with
   binary transfer mode. 
 o Fixed problem with trailing slash on FTP directory (old problem, once
   fixed, reintroduced in 2.0). 
 o Fixed lots of memory leaks (thanks to Purify). 
 o Changed default documentsMenuSpecfile to
   /usr/local/lib/mosaic/documents.menu. 

Comments and feedback much appreciated -- however, beware: THIS IS
UNSUPPORTED CODE.  If you want stability, get Mosaic 1.2
(ftp.ncsa.uiuc.edu, /Mosaic/xmosaic-binaries and
/Mosaic/xmosaic-source).

Cheers,
Marc & Eric

--
Marc Andreessen & Eric Bina
Software Development Group
National Center for Supercomputing Applications
marca@ncsa.uiuc.edu, ebina@ncsa.uiuc.edu