W3C home > Mailing lists > Public > www-svg@w3.org > March 2000

Re: Question about Stylable SVG

From: Chris Lilley <chris@w3.org>
Date: Wed, 22 Mar 2000 22:55:38 +0100
Message-ID: <38D9415A.54A98D42@w3.org>
To: Jon Ferraiolo <jferraio@Adobe.COM>
CC: Apu Nahasapeemapetilon <petilon@yahoo.com>, " =?iso-8859-1?Q?=22Håkon=22?= Wium Lie" <howcome@opera.com>, www-svg@w3.org


Jon Ferraiolo wrote:
> 
> At 07:23 AM 3/8/00 -0800, Apu Nahasapeemapetilon wrote:
> ...
> >SVG is different from most other W3C specs in that
> >it won't be browser-makers that implement the best
> >viewers -- it will be graphics companies. These
> >graphics companies don't also have access to a ready
> >stack of other web-related technologies.

> Implementing the SVG spec in and of itself was indeed quite a bit of work,
> but nothing like than the level of effort needed to implement support for
> (for example) the HTML side of the web world. 

That is a good point. I mean, consider the effort needed to implement an
HTML browser in some new device or OS or whatever. First you read the HTML
spec. Maybe you implement it, which isn't so hard. Then you add HTTP and
FTP and mailto and GIF and JPEG, the latter on the basis of a hunch rather
than anything in the spec. Then you do some field testing and discover that
99.9999% of the content doesn't work in you r implementation, so you sink
50 man-years into installing Netsxcape 1.2, 2.0, 3.0, 4.0, IE2, IE3, IE4,
IE5 (and thats just on the Windows 98 platform), and then carefully reverse
engineering whgat they do on thousands of sample test files and try to
build a model of how they render. Which is difficult because there isn't a
model and they don't all render the same - but you need to figure out which
quirks people rely on, which they avoid and which they write a sniffer
script for. Then you figure out how to fool the sniffer script into
treating you liek a browser it already knows about. At this point you
probably have four or five parallel "parse trees" in memory, for different
purposes - one which treats </p> as <p> , one for figuring out where forms
start and stop, and so forth. Heaven help you if you want to try
implementing CSS or DOM on top of all this stuff.

After succesfully having done all this (and lots of very large, even
massive, companies have tried and failed, never reaching this point here)
suppose you were suddenly filled with some sort of philanthropic urge to
document for posterity what the actual, 'what you really have to know',
spec for "an HTML browser" was. it would be huge, and incredibly complex.

SVG is a big and complex spec and calls in a bunch of other specs, too.
Yes. But its *several orders of magnitude* smaller than the philanthropic
spec I mentioned above. And the thing is, to figure out what to do, you
read the spec and implement exactly what it says.

For things that may be unfamiliar, like Porter-Duff compositing, we provide
explicit details and pointers to the literature and pseudo code, and
examples together with renderings of them. I can tell you, it wasgreat to
see two independent implementations give the same results, it really shows
what a complete and detailed spec can do.

Plus, the SVG WG is working on an SVG test suite which will be a great help
to implementors, and to authors who are evaluating products. It should be
very easy to compare what an implementation does with what the test suite
says it should do and how the sample rendering looks, and the test suite
should then allow explicit referencing back to a particular part of the
spec which is incorrectly implemented.

> And SVG's re-use of other W3C
> technologies has allowed Adobe (as one implementer) to share large amounts
> of code across engineering efforts. And I guarantee it will be much easier
> for people starting work today as there is more and more off-the-shelf
> software that can be deployed, rather than having to write everything from
> scratch.

This is also a good point, and of course helps smaller companies as much if
not more so since they can't afford to waste time re-inventing all this
stuff.

--
Chris
Received on Wednesday, 22 March 2000 16:55:58 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:18 GMT