[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [www-vrml] X3D and the Draconian Parse Rule



Peeps,

For the record and posterity-- because I think this issue is going to come
up again and again-- I completely agree with Miriam, at least at the level
of philosophy.

Flux will always do its best to render something. That's our product
philosophy, pure and simple. It should be friendly to the end user. And
stopping operation because a Box isn't under a Shape node isn't friendly--
in fact it's downright hostile. For that, a warning can be issued. (However,
I don't believe there should be an obligation to try and *render* that box.
I think ignoring it is a fair outcome.)

I believe warnings are an appropriate response to most erroneous content. I
am also considering a "strict conformance mode" for Flux, that *would* bitch
and stop operation, but *only* for use during development time. That would
help developers avoid errors before they ever deploy. But to me, that's a
development tool feature, not a browser sine qua non.

The above being said, there are some things that simply won't render in
Flux:

- badly formed XML - the XML parser I use will throw up before I can even
render the stuff;
- bad VRML97/classic syntax - Flux uses a strict YACC-based grammar and if
the *syntax* is bogus there isn't much to be done.

These are the result of engineering decisions: it would be more difficult to
develop a browser that is resilient in the above ways. However, given a
toss-up on the engineering issues, I opt for being friendly. So, in the
above Box case, it's equally easy to ignore it as it is to stop... therefore
I think it best for Flux to ignore the aberration and try to render the rest
of the Scene.

Tony


> -----Original Message-----
> From: owner-www-vrml@web3d.org [mailto:owner-www-vrml@web3d.org] On Behalf
> Of Miriam English
> Sent: Friday, September 10, 2004 6:25 PM
> To: www-vrml
> Subject: Re: [www-vrml] X3D and the Draconian Parse Rule
> 
> I always felt that the easy-going nature of html is one of the things that
> contributed greatly to its popularity. Humans are fallible, net
> connections are fallible, and bit-rot makes even pure data fallible.
> Acknowledging that fallibility and designing our machines to take
> appropriate account of it seems like a good idea. Taking a very strict
> approach of "it's not perfect so refuse to have anything to do with it"
> seems a backward step. We have the technology, why don't we use it? It is
> not hard to put up an alert to note that the syntax is wrong or the file
> is damaged or "badly formed" (dontcha love that bit of jargon) and then go
> ahead and do the best at displaying it as possible. Surely this would make
> web3d more accessible and less frustrating for end-users. Computer
> language specialists tend to obsess about absolute purity for purity's
> sake rather than messy real-world concerns.
> 
> Please note it isn't my intention to put anybody down here. I consider
> myself one of those who obsesses about code purity too, but I try to
> balance it with my messy artist's eyes. We need those obsessions, but we
> also need to consider the poor sod trying to see the end result.
> 
> Best wishes,
> 
> 	- Miriam
> 
> 
> Alan Hudson wrote:
> > Bullard, Claude L (Len) wrote:
> >
> >> Given that X3D has multiple encodings, that one is XML and that XML
> >> parse rules are not prescribed by X3D but by XML 1.n, what should a
> >> browser do if the file it is processing isn't well-formed?
> >>
> > It should stop.  Same thing if it encountered a VRML Classic encoding
> > file which was missing a final } or other parsing error.  Browsers which
> > try to carry on are not doing the community a service as content will
> > play very differently across browsers.
> >
> 
> --
> ---------=---------=---------=---------=---------=---------=------
>         How I wish I could enumerate PI easily
>          3. 1  4   1   5       9      2   6
> ---------=---------=---------=---------=---------=---------=------
> http://werple.net.au/~miriam
> My live Journal page http://www.livejournal.com/users/miriam_e/
> -------------------------------------------------------------------------
> for list subscription/unscrubscription,
> go to http://www.web3d.org/cgi-
> bin/public_list_signup/lwgate/listsavail.html


-------------------------------------------------------------------------
for list subscription/unscrubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html