From: David Mark on
SteveYoungGoogle wrote:
> On Mar 10, 12:11 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>> David Mark wrote:
>>> SteveYoungGoogle wrote:
>>>> On Mar 10, 5:42 am, David Mark <dmark.cins...(a)gmail.com> wrote:
>>>>> S.T. wrote:
>>>>>> On 3/8/2010 1:04 AM, David Mark wrote:
>>>>>>> What experienced developers? What Web? Where? And scales?! I've yet
>>>>>>> to see a site out of this bunch (even a basic page) that doesn't
>>>>>>> download ten times what it should. A quick glance shows that the front
>>>>>>> (well only) page of the aforementioned Foundation site weighs in at:-
>>>>>>> Total HTTP Requests: 45
>>>>>>> Total Size: 454259 bytes
>>>>>> On dojotoolkit.com?
>>>>> No.
>>>> Where then?
>>> Groan. You again?
>> Here you go:-
>>
>> JavaScript -http://www.dojofoundation.org/
>> Timeout thread: delay 0 ms
>> Unhandled exception: [Object DOMException]
>> name: Error
>> message: SYNTAX_ERR
>> stacktrace: n/a; see opera:config#UserPrefs|Exceptions Have Stacktrace
>>
>> In Opera 10 no less. And check out the "layout" in anything less than a
>> maximized browser at a very high resolution. You can bet the developers
>> never did. ;)
>
> So your thread and OP is entitled "New Dojo Site--Most incompetent
> ever?". The OP opens with the question "Have you seen the shiny new
> Dojo Toolkit site?". But your figures for a bad site come from
> http://www.dojofoundation.org/

Interesting take. As was noted clearly, that aside was about the
_Foundation_ site, which is one of several that link from the single
page Toolkit "site." Everything else in the review applies to that
page. HTH.
From: David Stone on
In article <hn6u59$p6v$1(a)news.eternal-september.org>,
Garrett Smith <dhtmlkitchen(a)gmail.com> wrote:

> S.T. wrote:
> > On 3/9/2010 3:15 PM, Garrett Smith wrote:
> >> It is important to validate the HTML. When the browser's HTML parser
> >> encounters H1 while it is in an inline element (SPAN, here), it has to
> >> error correct and make a nonstandard decision on how to handle the
> >> situation.
> >
> > Validating is a debugging tool - that's it. It's not important if a page
> > "passes" or not.
>
> This is getting more to the topic of HTML (f'up to ciwah).
>
> If consistent expected results matter, then validating is important.
>
> Browsers do handle invalid markup in nonstandard ways. The HTML 4
> authors were aware of that fact, and included the following note:
> "Since user agents may vary in how they handle error conditions, authors
> and users must not rely on specific error recovery behavior."
> http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.1
>
> The spec also adds:
> "We also recommend that user agents provide support for notifying the
> user of such errors."
>
> I believe a c2004 version of iCab would follow that recommendation,
> though I am not certain about others.

I used that for a while on a Mac. If enabled, you would see either
a green smiley face, a yellow neutral face, or a red frowning face.
There was an option to pull up a list of the cautions and errors
giving rise to these icons.

In Firefox, Tools -> Error Console gives a fair bit of information
in terms of html and css errors and warnings on parsing documents.

I don't see anything in the current Safari along these lines.
From: Lasse Reichstein Nielsen on
"S.T." <anon(a)anon.com> writes:

> On 3/9/2010 3:15 PM, Garrett Smith wrote:
>> It is important to validate the HTML. When the browser's HTML parser
>> encounters H1 while it is in an inline element (SPAN, here), it has to
>> error correct and make a nonstandard decision on how to handle the
>> situation.
>
> Validating is a debugging tool - that's it. It's not important if a
> page "passes" or not.

True. What matters is that the page works as expected.
However, for invalid HTML, the HTML specification doesn't say what
the HTML means or how it will be parsed. I.e., you cannot possibly
know whether it will work as expected. That's why invalidly nested
HTML is bad.

> No doubt there are lengthy arguments about how critical validating is
> to the future of humanity, but the real world uses validation for it's
> useful purposes and stops there. ALT'ing every single IMG whether
> useful or not is a fool's errand.

Except for accessability, I'd agree. The HTML will still be meaningfull.

> Escaping every ampersand in a URL is wasted time.

Here I disagree. Again you cannot predict what meaning a browser will
give to your characters, so you can't know that it will work as
expected.

> That page says an inline element with position: absolute is computed
> as a block level element, which was my original point.

That's CSS, not HTML.
If you write "<span> foo <H1> bar </H1> baz </span>", it is likely to
be interpreted as "<span> foo </span><H1> bar </h1> baz ". No amount
of inline positioning will make the H1 a child of the span.


>> Do not confuse HTML flow types with CSS display values.
>
> Yes, I already conceded that point. It wasn't so much confusing the
> two, rather realizing his context was with HTML validation whereas I
> was looking from the browser's perspective, as I care about what the
> browser does with the markup -- not what the W3C thinks of it.

But do you *know* what the browser does with invalid markup?
All browsers?

Have you tried dumping the DOM of the page to see what it's really
turned into? (And if it's the right thing, why not just write that
to begin with).

/L
--
Lasse Reichstein Holst Nielsen
'Javascript frameworks is a disruptive technology'

From: John G Harris on
On Wed, 10 Mar 2010 at 17:17:02, in comp.lang.javascript, Lasse
Reichstein Nielsen wrote:
>"S.T." <anon(a)anon.com> writes:
>
>> On 3/9/2010 3:15 PM, Garrett Smith wrote:
>>> It is important to validate the HTML. When the browser's HTML parser
>>> encounters H1 while it is in an inline element (SPAN, here), it has to
>>> error correct and make a nonstandard decision on how to handle the
>>> situation.
>>
>> Validating is a debugging tool - that's it. It's not important if a
>> page "passes" or not.
>
>True. What matters is that the page works as expected.
>However, for invalid HTML, the HTML specification doesn't say what
>the HTML means or how it will be parsed. I.e., you cannot possibly
>know whether it will work as expected. That's why invalidly nested
>HTML is bad.
<snip>

In addition, you don't know what future browsers will do. It could
require a major re-work.

John
--
John Harris
From: Garrett Smith on
David Mark wrote:
> SteveYoungGoogle wrote:
>> On Mar 10, 12:11 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>>> David Mark wrote:
>>>> SteveYoungGoogle wrote:
>>>>> On Mar 10, 5:42 am, David Mark <dmark.cins...(a)gmail.com> wrote:
>>>>>> S.T. wrote:
>>>>>>> On 3/8/2010 1:04 AM, David Mark wrote:
>>>>>>>> What experienced developers? What Web? Where? And scales?! I've yet
>>>>>>>> to see a site out of this bunch (even a basic page) that doesn't
>>>>>>>> download ten times what it should. A quick glance shows that the front
>>>>>>>> (well only) page of the aforementioned Foundation site weighs in at:-
>>>>>>>> Total HTTP Requests: 45
>>>>>>>> Total Size: 454259 bytes
>>>>>>> On dojotoolkit.com?
>>>>>> No.
>>>>> Where then?
>>>> Groan. You again?
>>> Here you go:-
>>>
>>> JavaScript -http://www.dojofoundation.org/
>>> Timeout thread: delay 0 ms
>>> Unhandled exception: [Object DOMException]
>>> name: Error
>>> message: SYNTAX_ERR
>>> stacktrace: n/a; see opera:config#UserPrefs|Exceptions Have Stacktrace
>>>
>>> In Opera 10 no less.

In Firefox 3.5, I get the following errors:

------------------------------------------------
An invalid or illegal string was specified" code: "12
[Break on this error] (function(){var
_1=null;if((_1||(typeo...meout(dojo._fakeLoadInit,1000);}})();
------------------------------------------------
Use of getBoxObjectFor() is deprecated. Try to use
element.getBoundingClientRect() if possible.
------------------------------------------------

Method getBoxObject for is an XUL method that was accidentally leaked
onto the dom. It became popular some time around 2007 or so. The method
was never intended to be available in HTML (and never intended for web).
Those who initially made the mistake of using it figured out not to do
that over a year ago.

I see they make an XHR to:

http://www.dojofoundation.org/dojango/media/dojango/_base.js

- to which the server responds with:

| dojo.provide("dojango._base");
| dojo.mixin(dojango, {
| test: function(){
| console.log("test");
| }
| });

Which has the result of calling their misnamed namespacing methods
"dojo.getObject" and "dojo._getProp" all to create an adapter for
console.log, thus requiring the use of firebug lite or something that
adds a global `console` method.

I don't care much what they do with the code on their site, and in fact
the code on my site is a little old, too (7 years or so).

What bothers me about Dojo is the code behind the marketing. Through the
website and through presentations, the founders of Dojo instill a sense
of confidence and empowerment to the project managers who consider using
Dojo. That in and of itself is not bad -- it is a great thing to be
able to win an audience over (I need to improve in that area).

The problem is the code itself. The code is large. There is disturbingly
faulty logic in the core of dojo itself (some of it discussed in this NG
archives).

Projects that have used Dojo FWIS, tended to have performance issues and
take too much effort to maintain.

Significantly larger projects (72+ man months) having a poor outcome or
total failure is a more significant failure than a smallish website that
throws a few errors and hangs for two seconds. The dojofoundation isn't
much worse than any other pop website nowadays.

[...]
--
Garrett
comp.lang.javascript FAQ: http://jibbering.com/faq/