- From: Andrew n marshall <amarshal@usc.edu>
- Date: Sun, 23 Nov 1997 20:47:46 -0800
- To: "'www-multimedia@w3.org'" <www-multimedia@w3.org>
I realize the issue of using Cascading Style Sheets as the layout
desciption language has already come up, but I still believe it is the
almost best choice available.
SMIL is for Design Oriented Content Developers
Above all else, SMIL is intended as a content description language. As
such it is going to be used by content developers and providers. I think
it is a reasonable assumption that the majority of content developers have
at least some design background, and their expectations of their tools will
reflect this background. That is why I very strongly suggest SMIL's
initial release should include a layout system that is appealing to it core
user base. It is all about audience awareness (something any good designer
can tell you about).
Unfortunately, the existing specification completely ignores. All the
reasons listed against CSS seem to completely ignore this fact. They refer
to the programming of initial implementations and the syntax of specifying
positioning. If we are going to develop a good description language for
multimedia, we need to recognize who is going to use it.
In addition, the proposed substitution also fails to address the issues
designer are interested in. It makes the assumption that the only
variables of value are "top", "left", "z", "height", and "width" (as
implied from the statement about creating a new syntax). There is no
attention given to fonts (although it clearly specifies how to include
text), scale (everything is in a single arbitrary unit; early versions of
HTML proved this doesn't work, especially when trying to make something
cross-platform), or audio related properties (spatialization, speech
synthesis voice, or even simple details like volume). Need you know more?
CSS fills our needed role nicely in this respect because was design
specifcally for describing the details designers are interested in. And as
far as I know, it is the only language that does this in all of the media
formats we are interested in (pure video, audio/video, and pure audio;
theoretically this could be extended to paper (MS Powerpoint style icon
view) and still be covered by CSS).
CSS is an Exisitng Standard
I don't think anyone wants to define syntax, as mentioned in the SMIL
spec. That's why we should be looking to standards such as CSS. Not only
is it designed for/by our target user base, but several new media
developers are already familar with CSS with more learning. Tools that
support it are also coming out fairly quickly.
I would guess the same could be said for developer's tools, which I would
think would all you programmers/engineers out there jump at something like
this.
Heirarchical Nested Coordinate Spaces
Nested coordinates spaces both simplify document management and
automation. It becomes trivial to caption an image or video; the author
can build a frame of reference around both the image tuner and the caption
tuner. This type of encapsulation is very useful when it comes to
programming and applying transitions; any transition can be applied to the
container frame rather than to each element of the contained.
Initial Implementation Overhead
Similar to the way implementations for HTML exist with CSS support (HTML
3.2 and before), it could be relatively simple to write a SMIL
implementation that ignores most CSS values. This would be nearly
equivalent to overriding the values with user preferences, something that
is allowed in CSS. While these wouldn't be absolutely correct
implementations, they would allow developers and authors to begin
experimenting sooner. In addition, I believe it would be useful to replace
"width", "height", and "z" with "right", "bottom", and "z-index" as useful
shortcuts for their corresponding CSS values (absolute position assumed).
The additions that would be necessary are treatment of length units, and
the addition of a frame of reference. Length units would be relatively
simple for a computer oriented UA that overrides all font specifications;
px values can be device coordinates, that everything else can be calculated
to through a simple precalculated ratio since I doubt any first generation
UAs are geared towards billboards or PDAs.
The addition of a frame of reference implies adding a new tag. My personal
preference is the following tag:
frame = "<frame" *frame-attribute (">" *frame-content "</frame>"
| "/>")
frame-content = tuner | frame
frame-attribute = id | left | top | right | bottom | z-index
The problem this causes that I have been able to discount is how an
initial implementation would deal with non-absolute positioning.
Non-absolute positioned objects are potentially dynamic in sizing, as well
positioned relative to their context in a manner similar to word-wrapping.
Obviously, the problem has been solved before since reasonable
implementations of CSS on HTML already exist, however I do recognize that
very few people have access to these solutions. For the the long-term
viability of SMIL, I believe this initial programming effort is well worth
it.
Essentially it comes down to this: don't lower the standard just to make
your products fit the standard. If you need to, develop initial versions
that don't meet the standard. You will find very fewer people complain
when have something . . ANYTHING . . . that works in their hands. This
will buy you the time to complete a real version.
Andrew n marshall
student - artist - programmer
http://www.media-electronica.com/anm-bin/anm
"Everyone a mentor, Everyone a pupil"
Received on Sunday, 23 November 1997 23:44:17 UTC