TECH: How to send Messages to Mosaic

Mark Pesce (mark@eit.COM)
Wed, 9 Nov 1994 08:56:57 -0800 (PST)

> Hi,
> I'm a contract Windows programmer. I've been busy the last couple of years
> working for Sense 8 corp. I was responsible for writing World Toolkit for
> Windows. I would like to use this technology to make a VRML reader.
> There's something basic I don't understand. Let's say I'm looking at a
> regular WWW page with Mosaic. I see a link which points to a VRML file. I
> choose it, and this fires up my VRML reader. I interact with this 3D world
> for a while, and while doing so I perform some sort of action that is
> supposed to load another WWW page.
> The question I have, is how does the VRML reader notify it's calling program
> (Mosaic) that it should load a new page?
> Thanks.
This is a good question.

The X-Windows versions of Mosaic have, for quite some time, implemented
a SIGNAL which can cause Mosaic to flip pages. This is documented at

Lately, because of the demands of the community of users, they have
specified something known as the Common Client Interface (CCI), which
is a specification for making requests to Web browsers. It is implemented
in the X-Windows versions, and will (real soon now) be implemented in the
MS-Windows and Macintosh versions.

The URL which defines CCI is

It is important that any VRML browser implement MIME, completely; otherwise
cyberspace can not have the multimedia richness that the Web does have.

There are (to my knowledge) two ways of doing this:

1) Read in the .mime.types and .mailcap yourself (if under UNIX, if under
MS-Windows you'd have to parse the MOSAIC.INI and NETSCAPE.INI files, etc.)
and use this in order to determine what types launch what apps. There's
plenty of sample source code to demonstrate this in the NCSA Mosaic X sources.

2) Hand any type other than ".wrl" off to Mosaic (or some other browser),
and then let them deal with it. That's what happens in the preliminary
versions of Labyrinth, and it also works just fine, and is much easier to

Hope this helps.

Mark Pesce
Enterprise Integration Technologies