Re: Crawling info displays and slide shows

Tim Berners-Lee <timbl@www3.cern.ch>
Date: Tue, 5 Oct 93 10:35:17 +0100
From: Tim Berners-Lee <timbl@www3.cern.ch>
Message-id: <9310050935.AA03789@www3.cern.ch>
To: eostrom@gac.edu (Erik Ostrom)
Subject: Re: Crawling info displays and slide shows
Cc: WIGGINS@msu.edu (Rich Wiggins), www-talk@nxoc01.cern.ch
Reply-To: timbl@nxoc01.cern.ch
I wonder if this gets anyone programming...

> I don't understand how this "clutters" the language.  Can't the
> HTML document metaphor embrace temporal aspects?


What we're heading for is a full 4D montage language,
which will need its own editors to make life easier.
There are of course people working in this area...

Look at Microsoft's AVS (seemed boring) and
HyTime (this is EXACTLY what HyTime was _designed_
to do  (but don't let that influence you ;-)).

Or reinvent it if you can do a much more powerful
job.  Even if you implement a very simple subset
now, it is wise to remember where you're headed.
I think we'll need something for descibing
3D things such as rooms in a MUDD:

room4 = {
	align (23,400,12), {687, 400, 13), centers,
		{ eostrom, marca, wiggins, timbl };
	let t = at  (30,40,67)  table(400, north) ;
	ontopof  t, flowers(100);

    }
where marc = http://wintermute.../wefgwwgikjvh;
where flowers = http://elvinrude.../comon/clipart/flowers3;
[...]

slide4 = timeslice{ 4, rotate(0,1,0) {room4 } }

slideshow = consecutive {
	slide1,
	{ontopof {slide2, slide3}},
	zoom { (23,56,0.005), 0.672, slide5 },
	timestretch{2, slide5 };
}
	
and so on.  The functions are just the normal
operators, 4d versions of the menus in 2d drawing
packages (like Transform, Group, Align...), but regarded
as operators
describing a compoisite object, rather than procedures
as the menus are.  Checkout "renderman" .rib files
for one 3d version. There must be tens of them now.

I can see us adding 3d rendering
requests to http, so that a basically 2d viewer
can ask an object for a rendering as from a particular
point under particular lighting:-


	RENDER  /comon/clipart/flowers3  HTTP/1.0
	Lighting: 30@(-3,-6,+78); 100@(-56,-6, 7)
	View: from (100,23,23) to (0,0,0)
	Accept: image/x-tiff

This would allow a 2-d display with transparency to
make a good job of displaying a 3d montage.

Of course an alternative would be to return 3d object
descriptions, which would be quicker if one were to
rotate in the client, but on the other hand, the idea
of having objects on servers which would render themselves
is kinda neat because for one thing, different objects
can make different approximations when rendering themselves,
and some objects know that they have symmetery, and others
(like faces around a conference table) could just always
cheat and render themselves in 2d, so the faces would
always face the viewer!  Of course, the question of
whether the server should return a 3d version if it has one
is just done in the format negotiation, no sweat.

So how about making a slideshow program a subset of
a function descripion of a 4D montage designed for lazy
distributed evaluation?

I think it should be independent of HTML!

The objects should also be accesible with any WWW protocol,
(any URL) including
new pointers to any realtime isochronous protocols, for
putting a *live* erik at the table in the room.

Just thought I'd throw it into the ring...  :-)

Tim BL