Re: [whatwg] Spec comments, section 4.8

2009-09-04 Thread Ian Hickson
On Wed, 2 Sep 2009, Aryeh Gregor wrote:
> On Wed, Sep 2, 2009 at 6:17 PM, Ian Hickson wrote:
> >> "The user agent stops fetching the media data before it is completely
> >> downloaded" implies that 1) it cannot occur after the media is
> >> completely downloaded,
> >
> > Correct.
> 
> Okay, then I was reporting the wrong part of the contradiction.  It says 
> "networkState equals either NETWORK_EMPTY or NETWORK_LOADED, depending 
> on when the download was aborted."  I believe NETWORK_LOADED should be 
> NETWORK_LOADING.  The same is probably true for the error event.

Fixed. Thanks.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Spec comments, section 4.8

2009-09-02 Thread Aryeh Gregor
On Wed, Sep 2, 2009 at 6:17 PM, Ian Hickson wrote:
>> "The user agent stops fetching the media data before it is completely
>> downloaded" implies that 1) it cannot occur after the media is
>> completely downloaded,
>
> Correct.

Okay, then I was reporting the wrong part of the contradiction.  It
says "networkState equals either NETWORK_EMPTY or NETWORK_LOADED,
depending on when the download was aborted."  I believe NETWORK_LOADED
should be NETWORK_LOADING.  The same is probably true for the error
event.

> I've added a mention that this is not an error condition. Does that work?

Yes, that's clearer.


Re: [whatwg] Spec comments, section 4.8

2009-09-02 Thread Ian Hickson
On Fri, 28 Aug 2009, Aryeh Gregor wrote:
> On Thu, Aug 27, 2009 at 10:23 PM, Ian Hickson wrote:
> >> 
> >> Is "The user agent stops fetching the media data before it is 
> >> completely downloaded" really a good description for abort?  It can 
> >> trigger during the NETWORK_LOADED state, can't it?  Also, doesn't it 
> >> only fire when the load is aborted by the user or a script?
> >
> > Not sure what you mean. When else would it abort? What other 
> > description would you use?
> 
> "The user agent stops fetching the media data before it is completely 
> downloaded" implies that 1) it cannot occur after the media is 
> completely downloaded,

Correct.


> and 2) it will fire if the user agent stops for any reason, e.g., if the 
> network connection fails or the server closes the connection.

I've added a mention that this is not an error condition. Does that work?


> As far as I'm reading the normative portion of the spec, neither of 
> those points is true.

How so?


(I've made the section explicitly non-normative.)

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Re: [whatwg] Spec comments, section 4.8

2009-08-28 Thread Aryeh Gregor
On Thu, Aug 27, 2009 at 10:23 PM, Ian Hickson wrote:
> You need a better font.

Well, it's the default Ubuntu sans-serif font, I think.  I guess I'm
better off than the people viewing in IE6.  :)

>> Is "The user agent stops fetching the media data before it is completely
>> downloaded" really a good description for abort?  It can trigger during
>> the NETWORK_LOADED state, can't it?  Also, doesn't it only fire when the
>> load is aborted by the user or a script?
>
> Not sure what you mean. When else would it abort? What other description
> would you use?

"The user agent stops fetching the media data before it is completely
downloaded" implies that 1) it cannot occur after the media is
completely downloaded, and 2) it will fire if the user agent stops for
any reason, e.g., if the network connection fails or the server closes
the connection.  As far as I'm reading the normative portion of the
spec, neither of those points is true.  (Actually, this sentence also
seems to be normative?  At least, I don't see it set off as
informative by anything.)


Re: [whatwg] Spec comments, section 4.8

2009-08-27 Thread Ian Hickson
On Mon, 17 Aug 2009, Aryeh Gregor wrote:
> 
> It's kind of a nitpick, but I don't think this sentence is accurate: 
> "Another example of an image that defies full description is a fractal, 
> which, by definition, is infinite in complexity."
> 
> First of all, we're talking about describing images here, which are 
> presumably projected onto finite-resolution displays, and which are 
> certainly being processed by finite-resolution retinas.  Visually, it's 
> not possible for anything to have infinite complexity.
> 
> Second of all, mathematically, fractals are rather interesting things, 
> but "infinite in complexity" is not a correct description by any 
> definition of complexity I'm aware of.  Fractals are often generated by 
> very simple definitions or computer programs, so they have low 
> Kolmogorov complexity.  Something like a Sierpinski triangle is very 
> simple to explain, understand, draw, and picture.  You could describe 
> one like this: "An equilateral triangle pointing upward.  A 
> downward-pointing triangle of half the height has been removed from the 
> middle, leaving three upward-pointing triangles each half as tall as the 
> original.  From each of those three, another downward-pointing triangle 
> has been removed, leaving nine quarter-height triangles, and so on ad 
> infinitum."  That's an accurate and precise description.
> 
> I'm not sure fractals are a good example here at all.  But if they are, 
> at least the text ", which, by definition, is infinite in complexity" 
> should be removed.

I've changed "complexity" to "detail". Since the image could be an 
animated SVG continuously zooming into one point, I don't think the 
use of finite-resolution displays prevents the images from being, for all 
intents and purposes, infinite.


> The NETWORK_LOADED state is described (normatively) as "The entire media 
> resource has been obtained and is available to the user agent locally.  
> Network connectivity could be lost without affecting the media 
> playback."  This suggests to me that it would be incorrect for this to 
> be the state of the resource if, during playback of a lengthy video, the 
> user agent began deleting the already-played earlier part of the video, 
> so that the full data was no longer available.  However, the resource 
> fetch algorithm sets NETWORK_LOADED regardless of whether earlier parts 
> of the resource are still available, and nothing I can see ever changes 
> the network state from NETWORK_LOADED to any other state.  This seems 
> contradictory, or at least confusing.

Fixed.


> There are some Unicode characters (U+231B? an hourglass?) here that are 
> showing up as white boxes for me at the beginning of some of the list 
> elements.

You need a better font.


> "HTTP partial range requests" sounds odd to me, and "partial range" is 
> redundant.  Maybe just "HTTP range requests"?  The HTTP spec uses "range 
> retrieval requests".

Changed to "HTTP range retrieval requests".


> "The user agent cannot be in this state if playback has ended, as the 
> current playback position can never advanced in this case."
> 
> "advanced" -> "advance"?

Fixed.


> "If the attribute is absent, then the user agent should avoid making a 
> user interface available that could conflict with an author-provided 
> user interface. User agents may make the following features available, 
> however, even when the attribute is absent:
> 
> "User agents may provide controls to affect playback of the media 
> resource (e.g. play, pause, seeking, and volume controls), but such 
> features should not interfere with the page's normal rendering. For 
> example, such features could be exposed in the media element's context 
> menu."
> 
> This doesn't make a lot of sense to me.  I would have expected a list
> of features after the first quoted paragraph, but instead there's
> another paragraph that partially repeats the content of the first
> paragraph.  It reads like it originally said something different, and
> then something was chopped out and not patched up properly.

Fixed.


> This isn't really a comment, since it's too late to change it, but I'm 
> curious: why is the default that the author provides controls, instead 
> of the UA?  It seems like it would be simpler for the UA to supply 
> controls unless the author opts out.  Would you expect many authors to 
> manually supply controls?

I do not recall.


> Is "The user agent stops fetching the media data before it is completely 
> downloaded" really a good description for abort?  It can trigger during 
> the NETWORK_LOADED state, can't it?  Also, doesn't it only fire when the 
> load is aborted by the user or a script?

Not sure what you mean. When else would it abort? What other description 
would you use?


> "play" and "playing" have confusingly similar names.

Do you mean the events? If so, then I agree. Not sure what to do about it.


On Tue, 18 Aug 2009, Kevin Benson wrote:
> 
> [...] Their purpose is described later 

Re: [whatwg] Spec comments, section 4.8

2009-08-18 Thread Kevin Benson
On Tue, Aug 18, 2009 at 10:34 AM, Aryeh Gregor

> wrote:

> On Tue, Aug 18, 2009 at 6:45 AM, Kevin Benson
> wrote:
> > Their purpose is described later in 4.8.10.5 Loading the media
> > resource at step 20:
>
> Yes, but maybe a different character could be chosen, if this one
> doesn't consistently display in browsers.


 Agreed.
Maybe the symbol being used for the Resource Fetch Algorithm steps, (further
down) where it reads "resource fetch algorithm for a media element and a
given absolute URL":

↪ 'RIGHTWARDS ARROW WITH HOOK' (U+21AA)

would work better (for marking the "Steps in synchronous sections") as an
intermediary pointer symbol that follows the step number and precedes the
step description because there is precious little whitespace between,
whereas the "resource fetch algorithm" subsections have no numbering scheme
to deal with _and_ all whitespace to the left of the steps'
descriptions. (ie. Any bulleting symbol would suffice and serve the
purpose.)

Or it could be browser- and font-agnostic enough to even facilitate display
in IE :)
Something like, maybe common math symbols such as:

≈ 'ALMOST EQUAL TO' (U+2248)
or
± 'PLUS-MINUS SIGN' (U+00B1)

or whatever. (Just thinking aloud.)


>
> > Sentence #1 Recommends unobtrusive implementation of UI features (for
> > author's sake).
> > Sentence #2 Permits override of boolean attribute for implementation
> > of UI features. (for UA's sake)
>
> But ends with a colon, which together with "the following" suggests a
> list of some sort was meant to come after it.


Yeah, I missed that colon, but the features _are_ listed after these
sentences. It just doesn't stand out as _a list_ .


>
>
> > Sentence #3 Recommends unobtrusive implementation of UI features (for
> > client's sake).
>
> Which duplicates sentence #1, even though that was only two sentences
> before.  So again it looks to me like there was originally something
> in between that made this look less redundant.  As it stands it
> definitely reads strangely to me, anyway.
>
> (I looked in the version history, but it didn't explain much.  The
> paragraph was added as-is in r678 commented out, then uncommented in
> r697.)
>

I agree that the intent was probably superseded by the result. I almost get
the sense that the pairs of sentences were originally reversed (or the
alternating sentences were). Anyways, words and sentences can _always_ be
condensed and combined. Clarity remains the objective and redundancy the
enemy.

-- 
-- 
  --
  --
  ô¿ô¬
   K e V i N
  /¯\


Re: [whatwg] Spec comments, section 4.8

2009-08-18 Thread Aryeh Gregor
On Tue, Aug 18, 2009 at 6:45 AM, Kevin Benson wrote:
> Their purpose is described later in 4.8.10.5 Loading the media
> resource at step 20:

Yes, but maybe a different character could be chosen, if this one
doesn't consistently display in browsers.

> Sentence #1 Recommends unobtrusive implementation of UI features (for
> author's sake).
> Sentence #2 Permits override of boolean attribute for implementation
> of UI features. (for UA's sake)

But ends with a colon, which together with "the following" suggests a
list of some sort was meant to come after it.

> Sentence #3 Recommends unobtrusive implementation of UI features (for
> client's sake).

Which duplicates sentence #1, even though that was only two sentences
before.  So again it looks to me like there was originally something
in between that made this look less redundant.  As it stands it
definitely reads strangely to me, anyway.

(I looked in the version history, but it didn't explain much.  The
paragraph was added as-is in r678 commented out, then uncommented in
r697.)


Re: [whatwg] Spec comments, section 4.8

2009-08-18 Thread Kevin Benson
On Mon, Aug 17, 2009 at 8:27 PM, Aryeh Gregor wrote:
> In 4.8.10.5:
>
> There are some Unicode characters (U+231B? an hourglass?) here that
> are showing up as white boxes for me at the beginning of some of the
> list elements.
>

Their purpose is described later in 4.8.10.5 Loading the media
resource at step 20:

"(Steps in synchronous sections are marked with ⌛.)"

and noted again in 6.5.4.2 Processing model at step 4:

"Note: Steps in synchronous sections are marked with ⌛."

but the potential for confusion could be further mitigated with an
earlier reference to their purpose... perhaps in "4.8.10.5 Loading the
media resource" at step 9 with an addition to this phrase:

"This algorithm is always invoked synchronously,"

that instead reads something like:

"This algorithm is always invoked synchronously (see steps marked with ⌛.),"


> "HTTP partial range requests" sounds odd to me, and "partial range" is
> redundant.  Maybe just "HTTP range requests"?  The HTTP spec uses
> "range retrieval requests".
>

I suspect this type of phrasing is born of human desire to shorten
technical jargon into more "familiar" terms for frequent usage. My
examination of the terminology most commonly used in RFC 2616 (related
to what Ian's s trying to convey) suggests (to me) this simple change:

"HTTP partial content range requests"

>
> In 4.8.10.10:
>
> "If the attribute is absent, then the user agent should avoid making a
> user interface available that could conflict with an author-provided
> user interface. User agents may make the following features available,
> however, even when the attribute is absent:
>
> "User agents may provide controls to affect playback of the media
> resource (e.g. play, pause, seeking, and volume controls), but such
> features should not interfere with the page's normal rendering. For
> example, such features could be exposed in the media element's context
> menu."
>
> This doesn't make a lot of sense to me.  I would have expected a list
> of features after the first quoted paragraph, but instead there's
> another paragraph that partially repeats the content of the first
> paragraph.  It reads like it originally said something different, and
> then something was chopped out and not patched up properly.
>

My reading of those paragraphs (two pairs of sentences) suggests (to
me) that some _do_ share purpose (unobtrusive implemetation) or target
(for _whose_ sake) but each seems to "make sense" (to me):

Sentence #1 Recommends unobtrusive implementation of UI features (for
author's sake).
Sentence #2 Permits override of boolean attribute for implementation
of UI features. (for UA's sake)

Sentence #3 Recommends unobtrusive implementation of UI features (for
client's sake).
Sentence #4 Illustrates how implementation of UI features can be both
unobtrusive and avoid interrupting page rendering. (for UA's sake)

---

Perhaps a simple clarification could be effected by changing:

"may make the following features available"

to something like:

"may make the features in this subsection available"


> In 4.8.10.12:
>
> "play" and "playing" have confusingly similar names.
>

I see (only) the unavoidable shared similarity of description (common
to this _Dispatched when..._ column) which Ian currently addresses
through word variations such as "begun" vs. "started"):

"play   Event   Playback has begun."
"playingEvent   Playback has started."

In combination with the additional information shown in their
respective  _Preconditions_ columns, there shouldn't be too much
confusion by the consumer. It doesn't seem any different than:

"load" vs. "loadend"  _or_ "seeking" vs. "seeked"

-- 
-- 
   --
   --
   ô¿ô¬
K e V i N
   /¯\


[whatwg] Spec comments, section 4.8

2009-08-17 Thread Aryeh Gregor
In 4.8.2.1.9:

It's kind of a nitpick, but I don't think this sentence is accurate:
"Another example of an image that defies full description is a
fractal, which, by definition, is infinite in complexity."

First of all, we're talking about describing images here, which are
presumably projected onto finite-resolution displays, and which are
certainly being processed by finite-resolution retinas.  Visually,
it's not possible for anything to have infinite complexity.

Second of all, mathematically, fractals are rather interesting things,
but "infinite in complexity" is not a correct description by any
definition of complexity I'm aware of.  Fractals are often generated
by very simple definitions or computer programs, so they have low
Kolmogorov complexity.  Something like a Sierpinski triangle is very
simple to explain, understand, draw, and picture.  You could describe
one like this: "An equilateral triangle pointing upward.  A
downward-pointing triangle of half the height has been removed from
the middle, leaving three upward-pointing triangles each half as tall
as the original.  From each of those three, another downward-pointing
triangle has been removed, leaving nine quarter-height triangles, and
so on ad infinitum."  That's an accurate and precise description.

I'm not sure fractals are a good example here at all.  But if they
are, at least the text ", which, by definition, is infinite in
complexity" should be removed.

In 4.8.10.4:

The NETWORK_LOADED state is described (normatively) as "The entire
media resource has been obtained and is available to the user agent
locally.  Network connectivity could be lost without affecting the
media playback."  This suggests to me that it would be incorrect for
this to be the state of the resource if, during playback of a lengthy
video, the user agent began deleting the already-played earlier part
of the video, so that the full data was no longer available.  However,
the resource fetch algorithm sets NETWORK_LOADED regardless of whether
earlier parts of the resource are still available, and nothing I can
see ever changes the network state from NETWORK_LOADED to any other
state.  This seems contradictory, or at least confusing.

In 4.8.10.5:

There are some Unicode characters (U+231B? an hourglass?) here that
are showing up as white boxes for me at the beginning of some of the
list elements.

"HTTP partial range requests" sounds odd to me, and "partial range" is
redundant.  Maybe just "HTTP range requests"?  The HTTP spec uses
"range retrieval requests".

In 4.8.10.7:

"The user agent cannot be in this state if playback has ended, as the
current playback position can never advanced in this case."

"advanced" -> "advance"?

In 4.8.10.10:

"If the attribute is absent, then the user agent should avoid making a
user interface available that could conflict with an author-provided
user interface. User agents may make the following features available,
however, even when the attribute is absent:

"User agents may provide controls to affect playback of the media
resource (e.g. play, pause, seeking, and volume controls), but such
features should not interfere with the page's normal rendering. For
example, such features could be exposed in the media element's context
menu."

This doesn't make a lot of sense to me.  I would have expected a list
of features after the first quoted paragraph, but instead there's
another paragraph that partially repeats the content of the first
paragraph.  It reads like it originally said something different, and
then something was chopped out and not patched up properly.

This isn't really a comment, since it's too late to change it, but I'm
curious: why is the default that the author provides controls, instead
of the UA?  It seems like it would be simpler for the UA to supply
controls unless the author opts out.  Would you expect many authors to
manually supply controls?

In 4.8.10.12:

Is "The user agent stops fetching the media data before it is
completely downloaded" really a good description for abort?  It can
trigger during the NETWORK_LOADED state, can't it?  Also, doesn't it
only fire when the load is aborted by the user or a script?

"play" and "playing" have confusingly similar names.