00:17
<nessy>
hmm… has anyone ever thought about using video as a background on web pages?
00:19
<nessy>
also… haw would you apply a gradient to a video?
00:20
<mbrubeck>
http://abduzeedo.com/web-inspiration-video-backgrounds
00:20
<mbrubeck>
Can videos have alpha channels?
00:23
<nessy>
yeah
00:24
<nessy>
that links only works in opera for me
00:26
<nessy>
oh, it's flash!
00:26
<nessy>
I'm looking for html5 video as a background
00:28
<nessy>
those are cool examples though
00:29
<mbrubeck>
The same thing should work with <video>
00:33
<nessy>
what … replacing the whole web page with a video, like flash is a whole-page flash there?
00:34
<nessy>
or are you saying it would be nice if we could use video as a background in CSS?
00:34
<mmn>
nessy: there was progress on allowing any element to be used as a CSS background: https://bugzilla.mozilla.org/show_bug.cgi?id=506826
00:36
<nessy>
mmm - that looks cool - does it work for anything but images?
00:37
<nessy>
I might ask about videos in that bug actually
00:38
<mmn>
nessy: I think it's supposed to work for any element
00:39
<nessy>
that would be awesome
00:39
<nessy>
though I'm a bit doubtful - it says "A new CSS image type, -moz-element(#foo)"
00:39
<mmn>
http://weblogs.mozillazine.org/roc/archives/2008/07/the_latest_feat.html mentions "live thumbnails"
00:40
<AryehGregor>
It means "image" from the standpoint of CSS, i.e., so it can be used wherever CSS images can.
00:40
<roc>
that never landed on trunk
00:40
<roc>
it wasn't the right API for the things we wanted to do with it
00:40
<doublec>
That's the branch I used to make the demo here: http://www.bluishcoder.co.nz/2008/07/video-bling.html
00:41
<theMadness>
I mean, are there any languages where <ol> will display by default
00:41
<theMadness>
with localized, non-decimal numerals?
00:41
<theMadness>
Like, all the ancient ones?
00:42
<mbrubeck>
nessy: I was thinking you could just position a <video> behind the content, filling the viewport.
00:42
<nessy>
yeah, my ultimate aim is indeed to have reflections for the video
00:43
<nessy>
mbrubeck, I guess that would be possible - and use the z-dimension
00:45
<nessy>
webkit has the -webkit-box-reflect CSS property - is there any chance that is coming to CSS3?
00:46
<nessy>
roc: what is your thinking of what would be the right way to do video as background or reflections?
00:47
<roc>
for a lot of use cases you want some kind of <portal> element which can refer to other elements via an href *and* has a DOM interface that lets you explicitly pass in a DOM node to render
00:48
<roc>
I'm not sure about CSS reflections
00:48
<roc>
the Webkit property seems a bit too special-purpose
00:48
<roc>
maybe a pseudo-element
00:51
<nessy>
well, FAIK reflections right now require duplicating the element and then applying a gradient
00:52
<nessy>
then with a video you have to make sure the two videos run in sync
00:52
<nessy>
at least the webkit property avoids duplicating the element
00:54
<nessy>
so, right now, I can't do reflections for video in CSS only, right?
00:55
<doublec>
nessy, you can use canvas
00:55
<doublec>
nessy, so you don't need to duplicate the video and keep it in sync
00:55
<nessy>
yeah - that sounds painful compared to just a box-reflect property :)
00:55
<nessy>
but I guess that's how it will be :)
00:56
<doublec>
nessy, this would probably work: http://www.canvasdemos.com/2009/02/27/reflectionjs/
00:56
<doublec>
nessy, maybe with slight modifications to use video instead of image
00:57
<nessy>
thanks, will try
00:57
<doublec>
or use webkit's box-reflect :)
00:59
<nessy>
nah, only if CSS3 was actually looking at adding that property
00:59
<nessy>
I want to show the things that are possible now with existing specs
01:00
<nessy>
gradients on videos are the same problem, I guess?
01:00
<nessy>
http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/ has a nice example of a gradient on an image, but they are both used as background
01:32
<nessy>
hmm, I guess you can do gradients by putting a div on top of the video with a gradient as a background that has some transparency
01:54
<TabAtkins>
nessy: Yes, that's what you have to do, though it's fairly easy:
01:55
<TabAtkins>
<div class=videowrapper><video/></div> <style>.videowrapper { position: relative; } .videowrapper::after { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: -moz-gradient(left, white, rgba(255,255,255,0)); }</style>
01:58
<TabAtkins>
Argh, -moz-linear-gradient(), of course.
02:01
<TabAtkins>
Note, though, that obviously this blocks any interaction with the controls.
02:02
<roc>
you can use pointer-events:none to get around that
02:02
<TabAtkins>
Ah, right.
02:03
<roc>
hmm, I wonder if a ::reflection pseudo-element would work
02:05
<roc>
video::reflection { transform:...; mask:...; opacity:...; }
02:19
<nessy>
oh, I didn't know about pointer-events!
02:21
<nessy>
oh, I love it!
02:24
<nessy>
though the controls are now faded, too :)
03:38
<Hixie>
ok so consider the following scenario:
03:38
<Hixie>
<track> is created
03:38
<Hixie>
src is set to A
03:38
<Hixie>
it's enabled
03:38
<Hixie>
A starts to download
03:38
<Hixie>
the track is disabled
03:38
<Hixie>
A continues to download, presumably
03:38
<Hixie>
now what if .src is changed?
03:38
<Hixie>
do we abort the download but not download a new file?
03:39
<Hixie>
do we not abort until the track is re-enabled?
04:28
<Hixie>
should i be firing load, abort, and error events at the <track> element?
04:34
<Hixie>
what if the .src is dynamically changed to something that can't be parsed as a url?
04:36
<othermaciej>
should work the same as any other element referencing an external resource IMO
04:43
<Hixie>
they aren't all consistent
04:43
<Hixie>
for example, <track> can be disabled, but other elements generally can't
04:44
<Hixie>
some do cross-origin stuff, others don't
04:51
<nessy>
apart from the disabling, it should be consistent with other resource loading though, no?
04:52
<nessy>
when the track is disabled, we'd presumably want to stop downloading
04:52
<nessy>
and continue downloading if it is enabled again
04:53
<nessy>
if .src is changed and track is still active, we should abort the downloading then download the new resource
04:53
<nessy>
it's always about what should be available to the browser for display
04:54
<nessy>
load, abort and error events would be good to have on <track> if that is consistent with other external resource referencing elements
04:55
<Hixie>
stopping the download when the track is disabled would lead to bad ui, i think
04:56
<Hixie>
it would mean that if a user kept turning a track on to see if it was available, then turning it off if it wasn't, it would never get downloaded
04:56
<nessy>
how?
04:56
<nessy>
I wouldn't use "turning on" as a means to find out if it is available
04:57
<nessy>
don't we encourage the creation of a menu for that?
04:57
<Hixie>
the menu turns on and off the tracks
04:58
<nessy>
yeah, but just being listed in the menu means that something is available, so that's sufficient for that
04:58
<nessy>
if I turn a track on, I actually want to see it
04:58
<Hixie>
so e.g. if there were two tracks, one simple english and one with massive annotations, then they'd both be in the menu, but the user might keep switching from one to the other waiting for the second to be available
04:58
<Hixie>
which it would never be if we stopped the dowwnload each time he went back to the first one
04:58
<nessy>
are we making tracks alternatives of each other?
04:59
<Hixie>
that's entirely up to the user interface
04:59
<nessy>
in that situation, if I was the user, I would just turn on the second and wait until it starts displaying
04:59
<Hixie>
you might :-)
04:59
<nessy>
if I turn it off, I expect it to stop downloading
05:00
<nessy>
I look at the live situation - if I turn a track off, I'd want it to stop downloading and not continue getting a file that continues to grow
05:01
<Hixie>
for streaming titles that would indeed be a different issue, but i thought we'd decided not to support those out-of-band?
05:01
<nessy>
why? what would stop it from working?
05:02
<nessy>
maybe I wasn't present for that decision ;) or I have a bad memory ;)
05:02
<Hixie>
well if the track was enabled when the video was started, the video would never begin playing, for instance
05:02
<nessy>
ah, because we wait until its fully downloaded… hmmm
05:03
<nessy>
maybe it requires something similar to the video tag where there is "sufficient data" downloaded
05:03
<nessy>
i.e. there is enough to sync with the buffered video/audio
05:03
<Hixie>
or we can just not support infinite timed tracks :-)
05:03
<nessy>
we support live video, right?
05:03
<Hixie>
given that we expose the timed tracks in the API, infinite timed tracks would require infinite memory
05:03
<nessy>
so timed tracks wouldn't be that different
05:03
<Hixie>
yeah but we don't expose the video to the API
05:04
<nessy>
what do you mean?
05:04
<nessy>
we can get currentTime and stuff like that
05:05
<Hixie>
yeah but there's no way to get the video data
05:05
<Hixie>
you can get the cue data
05:05
<nessy>
you can through canvas, right?
05:05
<Hixie>
you can only get the currently playing frame
05:05
<nessy>
right ...
05:05
<Hixie>
you can get _all_ the cues
05:06
<nessy>
yeah, I see....
05:06
<nessy>
hmm, I'm just hesitant to make too many differences between handling data that comes our of a track in a video or from external
05:06
<nessy>
ideally we'd have the same API for both
05:07
<nessy>
but I see the difficulty...
05:07
<Hixie>
they're completely different things, i don't see how they could even have a similar API, let alone the same one
05:08
<nessy>
they're not actually that different
05:08
<Hixie>
in what way are they similar?
05:08
<nessy>
you can even have a video container that consists of links to other files that are the tracks and pulls them in - that's exactly the same as pulling them in through the markup
05:08
<nessy>
I think quicktime allows for that
05:08
<Hixie>
i'm not sure i understand what we're talking about any more
05:09
<nessy>
a video that has hyperlinks to media files instead of audio and video data inside it
05:09
<Hixie>
start over. what are you suggesting in terms of what the design of the api should be?
05:10
<nessy>
the api to the tracks in the video file should be the same as the api to the externally linked files
05:10
<Hixie>
sure
05:11
<nessy>
what did you mean then by "they are completely different things" ?
05:11
<Hixie>
i meant video data vs text tracks
05:11
<Hixie>
oh, i see, you're saying that we have the same infinite text data problem with embedded tracks
05:11
<Hixie>
hmm
05:11
<nessy>
ah, I meant text tracks from inside the video as opposed to external text tracks
05:11
<nessy>
yup :)
05:12
<nessy>
we could always collect cues and make those available that we have and not make predictions over future ones
05:13
<nessy>
a bit like videos don't have a duration when they are streaming
05:14
<nessy>
and like it's not possible to seek in live streams
05:14
<Hixie>
it's more the ones that correspond to points of the video before video.startTime that i'm worried about
05:15
<Hixie>
i wonder how to discard them
05:15
<nessy>
do we need to?
05:15
<nessy>
hmm… I guess we do
05:15
<nessy>
since they legally don't really exist, I guess
05:15
<Hixie>
well from a practical perspective, we can't have infinite cues
05:16
<Hixie>
just like we can't have infinite video data
05:16
<nessy>
from before startTime won't be infinite - unless I'm missing something
05:17
<nessy>
a file has to start at some point
05:18
<Hixie>
startTime is the time up to which the UA has discarded data
05:18
<Hixie>
it's not the start of the file
05:18
<Hixie>
the start of the file is time 0
05:18
<benschwarz_>
Hixie: I was looking for your e-mail yesterday
05:18
<nessy>
not necessarily - some files can start at an offset, in particular if they are streaming
05:18
<Hixie>
benschwarz_: ian⊙hc
05:19
<Hixie>
benschwarz_: it's at the top of the spec :-)
05:19
<benschwarz_>
Hixie: I just wanted to let you know I nabbed a quote of yours for a recent presentation
05:19
<Hixie>
nessy: for purposes of the aPI, that's still exposed as time=0
05:19
<benschwarz_>
Hixie: http://www.slideshare.net/benschwarz/take-back-the-web
05:19
<Hixie>
benschwarz_: cool
05:19
<nessy>
ah, we're talking playback offset time then, I guess
05:20
<benschwarz_>
Hixie: did you also see my post to public-html?
05:20
<benschwarz_>
http://lists.w3.org/Archives/Public/public-html/2010May/0285.html
05:20
<nessy>
so, what is startTime then? is that the state of the buffering?
05:20
<Hixie>
benschwarz_: btw my name is Ian Hickson or Hixie, not Ian Hixie :-)
05:20
<benschwarz_>
I'm going to write a more considered post to the whatwg list
05:20
<benschwarz_>
Hixie: oh! sorry :)
05:20
<benschwarz_>
I checked your web site and not a spec page
05:21
<benschwarz_>
but that might've been the rush of prepping for a presentation 2 hours before it started
05:21
<benschwarz_>
my apologies
05:21
<Hixie>
nessy: it's the earliest time available - search for "earliest possible position" in the spec
05:23
<Hixie>
benschwarz_: saw your e-mail, but there was no technical feedback, so i didn't do anything with it :-)
05:23
<nessy>
ah, I thought you defined a new startTime for tracks
05:24
<nessy>
benschwarz_ you should have sent the link to your reformatted spec - I couldn't find it
05:24
<nessy>
wasn't looking hard though
05:25
<nessy>
I'm quite happy with the readability of the specs - no worse than any other technical documentation I've read
05:25
<Hixie>
benschwarz_: um btw, the "15" in "W3C Proposed Recommendation 15 December 1999" is the date :-)
05:25
<benschwarz_>
nessy: It simply isn't good enough for the weight of the world.
05:26
<nessy>
Hixie: I'd still say that "before startTime" is no infinite because the stream has started reaching the browser at some point; in theory that timeline is infinite, yes, but it's not what the browser has to deal with
05:26
<benschwarz_>
Hixie: mm. oh well :) same difference
05:33
<Hixie>
nessy: before startTime isn't infinite; the point is that the user agent can discard data when it needs to to keep the resource requirements under control, and it makes sense to discard cue data from before that point as well especially if it came from the same file
05:34
<nessy>
yes, agreed
05:35
<nessy>
though it probably makes less sense to discard cue data than video data for sheer lack of volume (in general)
05:52
ment
wonders how far would google go with NaCl
05:53
<ment>
(on the range from silently it announcing on slashdot to printing full page ads with hearts in new york times)
05:54
<MikeSmith>
Hixie: have you had time to look at the Khronos Typed Arrays spec yet?
06:12
<Hixie>
yeah
06:12
<Hixie>
i commented on it earlier
06:12
<Hixie>
(in #whatwg)
06:16
<MikeSmith>
ok
06:21
<MikeSmith>
if this goes forward and gets support from other browser vendors, I'm wondering what that'll mean for the various other binary-data proposals that have been under discussion
06:21
<MikeSmith>
at ECMA
06:23
<Hixie>
dunno
08:22
<MikeSmith>
http://www.w3.org/2010/05/video/mediaevents.html is handy
08:25
<MikeSmith>
btw, I was talking with a researcher at work who's interested in using the media API to do some things some things with video
08:25
<MikeSmith>
his question was whether the API provides a way to extract individual frames
08:26
<annevk>
drawImage
08:27
MikeSmith
goes to look at drawImage spec
08:28
<annevk>
it just takes whatever the video displays currently and puts it on <canvas>
08:29
<MikeSmith>
void drawImage(in HTMLVideoElement image, in float dx, in float dy, optional in float dw, in float dh);
08:30
<MikeSmith>
what are dx and dy ?
08:30
<annevk>
position
08:30
<annevk>
on the canvas grid
08:30
<MikeSmith>
ah, yeah, OK
08:31
<MikeSmith>
so you could call this each time there's a frame change?
08:31
<annevk>
Hixie, seems that once a <track> is loading putting it on disabled should not cause it to stop loading
08:31
<annevk>
Hixie, should prolly work similarly to how <link rel=stylesheet> works; that has pretty much the same issues as far as I can tell
08:31
<MikeSmith>
annevk: or what event could I use to call it?
08:32
<annevk>
is it important that the video plays back smoothly?
08:32
<MikeSmith>
no
08:32
<MikeSmith>
he just wants to be able to grab each frame
08:33
<annevk>
otherwise it's prolly better to figure out the framerate and then use seeking and seeking events
08:33
<MikeSmith>
yeah, that's what I had said I thought would work
08:33
<MikeSmith>
to him
08:33
<annevk>
ought to work :)
08:33
<MikeSmith>
ok
08:34
<MikeSmith>
I reckon this is the kind of thing that JS libraries can eventually provide some convenience methods for
08:36
<Hixie>
annevk: does changing .href on <link> cause a stylesheet load to abort?
08:37
<annevk>
pretty sure it does
08:37
<annevk>
no reason for it to continue
08:45
<zcorpan_>
Hixie: "[video.startTime] It might not be zero if the clip's timeline is not zero-based" - http://www.whatwg.org/specs/web-apps/current-work/complete/video.html#video
08:45
<zcorpan_>
Hixie: re http://krijnhoetmer.nl/irc-logs/whatwg/20100518#l-283
08:45
<annevk>
https://bugs.webkit.org/show_bug.cgi?id=39259 -- cool (via Peter`)
08:46
<zcorpan_>
Hixie: although i would be fine with changing the spec so that startTime is 0 even for non-zero-based videos
08:47
annevk
wonders why they keep the version in the file names
08:47
<Hixie>
zcorpan_: huh, what do you know
08:48
gsnedders
tends to think zcorpan_ knows quite a lot
08:50
<annevk>
zcorpan_, what's the point of startTime then?
08:53
<zcorpan_>
annevk: it updates for streaming video when video data is discarded
08:53
<zcorpan_>
annevk: although buffered.start(0) also does that
08:53
<zcorpan_>
maybe we should remove startTime and just have buffered.start(0)
08:55
MikeSmith
wonders what application/srgs+xml is
08:55
<MikeSmith>
ah
08:56
<Hixie>
startTime != buffered.start(0)
08:56
<Hixie>
the data at startTime might not be buffered
08:56
<Hixie>
startTime is just the earliest point that's ever accessible
08:57
<Hixie>
startTime might be equivalent to seekable.start(0)
08:57
<Hixie>
i'd have to think about that to be sure
08:58
<zcorpan_>
oh, right, seekable.start(0)
08:58
<MikeSmith>
othermaciej: have you or others from Apple chimed on in the Typed Arrays draft spec yet?
08:59
<othermaciej>
MikeSmith: I know olliej is interested
08:59
<othermaciej>
MikeSmith: I plan to read over it very soon
08:59
<MikeSmith>
k
08:59
<othermaciej>
MikeSmith: I would like to propose changes to make it serve the use cases I envisioned for BinaryData
08:59
<othermaciej>
so there can be one true way to represent synchronously accessible in-memory binary data
09:00
<MikeSmith>
use cases.. would be good to have somebody collect those
09:00
<othermaciej>
Typed Arrays are an agenda item for the upcoming TC-39 meeting
09:00
<MikeSmith>
ah, good
09:00
<MikeSmith>
about time
09:00
<MikeSmith>
when is that meeting?
09:01
<MikeSmith>
one try way would be great..
09:01
<othermaciej>
I believe it is the 24th and 25th of this month
09:02
<annevk>
Kanji beats English by almost 2.5 to 1
09:02
<MikeSmith>
but from the little I know about TC-39 I suspect that getting agreement on the one try way for this is not going to be very quick or smooth
09:02
<annevk>
toally unfair on twitter
09:02
<MikeSmith>
annevk: the character count you mean?
09:02
<annevk>
MikeSmith, yeah, http://twitter.com/annevk/status/14214874107
09:03
<MikeSmith>
heh
09:03
<MikeSmith>
I figured it took at least twice as much for a normal message in English
09:04
<MikeSmith>
so the lesson here is that everybody should learn Japanese and tweet in Japanese
09:04
<MikeSmith>
for the greatest efficiency
09:04
<MikeSmith>
actually, I guess Chinese might be even more efficient
09:04
<MikeSmith>
but maybe not
09:05
<MikeSmith>
I was thinking that because Chinese doesn't have a separate phonetic alphabet like Japanese does
09:05
<abarth>
hi gsnedders
09:05
<annevk>
MikeSmith, hmm yeah
09:05
<MikeSmith>
but then I realized, it's the same count anyway, because you're just using the logograms for phonetic purposes
09:06
<gsnedders>
abarth: Hey, I saw your email; short answer is no.
09:07
<zcorpan_>
twitter should translate to english before applying the character count
09:07
<MikeSmith>
zcorpan_: yeah, that would even the playing field
09:07
<abarth>
gsnedders: thanks. did you author the existing tests by hand/
09:09
<boblet>
MikeSmith: watcha up to tonight?
09:09
<boblet>
or in other words, check yo email
09:13
<MikeSmith>
boblet: meetings from 7pm til midnight, unfortunately
09:14
<MikeSmith>
boblet: but can meet up with you all tomorrow night
09:14
<boblet>
MikeSmith: ouch. Red Bar at 12:30 then? :D j/k (orishe?)
09:15
<MikeSmith>
no Red Bar for me tonight
09:15
<MikeSmith>
not in the mood to deal with Yuji
09:15
<boblet>
heh
09:15
<MikeSmith>
boblet: you'll still be in town tomorrow night?
09:17
<boblet>
CSS issue, but no way to calculate device ppi because CSS absolute units use 96dpi-derived (not calculated) cms. big pita given current mobile landscape
09:17
<boblet>
MikeSmith: yeah here til Thurs
09:17
<MikeSmith>
k
09:23
<boblet>
where do wwwstyle ppl hang out on IRC? … here? :|
09:23
<annevk>
here mostly I guess
09:23
<annevk>
#CSS on irc.w3.org:80 is somewhat reserved for the CSS WG
09:25
<boblet>
annevk: is that private?
09:26
<boblet>
aah web-based
09:27
<annevk>
not sure what the policy is, it's logged
09:27
<annevk>
and it's not web-based... it's an IRC channel
09:29
<gsnedders>
abarth: I authored very few of them, they're just the tests from html5lib
09:30
<abarth>
ok, thanks
09:30
<gsnedders>
abarth: A load of them were programmatically created by Philip`, hsivonen tends to write the majority of new ones nowadays AFAIK, zcorpan_ hand-wrote a whole load for the script parsing
09:30
gsnedders
is at his desk again
09:30
<annevk>
Hixie wrote the initial batch
09:31
<annevk>
James and I added a couple; the rest is how gsnedders sketched it
09:31
<annevk>
if this is about html5lib tests
09:34
<jgraham>
I add some when we have bugs that get fixed
09:35
jgraham
wonders what the original question was
09:36
<boblet>
annevk: thanks — left a question there. what settings are you using for #CSS btw? tried irc.w3.org:80 and :6667 but doesn’t seem to connect in Colloquy
09:36
<Hixie>
some opera person should point emoller to the <device> part of the spec
09:36
<jgraham>
zcorpan_: ^
09:37
<jgraham>
(if the question was something like "do we have a way of autogenerating interesting cases from the spec" the answert is "no but that is something I would really like")
09:38
<Lachy>
Hixie, what is an "emoller"?
09:38
<jgraham>
Lachy: who, not what
09:39
<Lachy>
oh
09:39
<annevk>
boblet, besides 80, 6665 ought to work
10:37
<hsivonen>
http://digitaldaily.allthingsd.com/20100514/chuck-geschke-on-adobe-flash-apple/
10:38
<hsivonen>
Adobe co-chair comments on HTML standardization
10:42
<jgraham>
Remember kids, proprietry is best!
10:43
<jgraham>
"""[...] you get the experience of HTML on the Web, where the kind of browser, hardware and OS you use determines what your experience"""
10:44
<jgraham>
I take it he has never tried to use flash on mobile then
10:44
<jgraham>
Unless he is claiming that consistent awfulness is a virtue?
11:04
<zcorpan_>
hsivonen: http://twitter.com/ronanklyne/statuses/14218178122
11:08
<AryehGregor>
JP: Why isn’t Flash an open standard?
11:08
<AryehGregor>
CG: It is. What are you talking about?
11:08
<AryehGregor>
. . .
11:08
<AryehGregor>
"If you look at the amount of time it will take HTML5 to become a reasonably solid platform, it’s going to take a long time because there are an awful lot of vested interests trying to influence its development."
11:08
<AryehGregor>
Thankfully, the editorial process at the WHATWG insures that vested interests can all jump off a bridge, unless they're held by browser implementers.
11:14
<Hixie>
that remains to be seen
11:15
<Hixie>
since the WHATWG is pretty much deferring to the W3C
11:15
<Hixie>
and it would take a pretty big vested interest to change that
11:16
<AryehGregor>
So far the only deference to the W3C has been on basically editorial matters, or matters that pertain only to the W3C spec, no?
11:17
<AryehGregor>
Or things that are fairly unimportant.
11:17
<Hixie>
i was going to say the opposite
11:17
<Hixie>
the only things that the whatwg has done differently is editorial things
11:17
<Hixie>
e.g. spec organisation
11:18
<Hixie>
but so far there haven't been any cases of decisions made by the w3c that are controversial and non-editorial
11:19
<AryehGregor>
What I meant was that when the W3C has overruled the WHATWG (= you), it's been mostly editorial, and unimportant when not editorial.
11:19
<Hixie>
indeed
11:19
<Hixie>
so far
11:19
<Hixie>
sleep time
11:19
<Hixie>
nn
11:19
<AryehGregor>
Good night.
11:36
<hsivonen>
innerHTML is IE is far more brittle than I had thought
11:44
<zcorpan_>
hmm, in gecko i get "<input type="disabled">" for innerHTML of <input disabled="">
11:44
<zcorpan_>
um
11:44
<zcorpan_>
i mean i get "<input disabled="disabled">"
11:45
<Dashiva>
In HTML mode?
11:45
<zcorpan_>
yes
11:47
<annevk>
oops
12:10
<annevk>
"This is yet another proposal to replace <video>, <audio>, <model> etc with a single element: <include>." -- good times
12:11
<roc>
God help us all
12:12
<roc>
zcorpan_: I'm not 100% sure that our innerHTML implementation uses the HTML5 parser yet
12:12
<roc>
wait, I don't see annevk's quote
12:12
<roc>
phew
12:14
<annevk>
whatwg list
12:17
<Dashiva>
Must resist urge to suggest <element @role> to replace all other elements
12:18
<roc>
hmm, my mail must be backlogged
12:18
<roc>
that's a relief
12:21
<Philip`>
Dashiva: Don't forget <attribute @role> to replace all other attributes
12:23
<Peter`>
Should introduce <anything>
12:24
<gsnedders>
Peter` and Philip`? Now that's just evil.
12:25
<Peter`>
It would certainly be interesting to define parsing and display rules for <anything>
12:25
<Peter`>
If the contents validate as an URL, fetch the content. Depending on the Content-Type header display a) a video, b) a music player, c) an iframe...
12:26
<jgraham>
gsnedders: You don't like primes?
12:26
<roc>
an <iframe> already does that
12:26
<Dashiva>
Wait, I got it
12:26
<Dashiva>
How about replacing the entire language with <html src="file.html">
12:27
<jgraham>
That's not Semantic enough. We need <html src="file.rdf">
12:27
<jgraham>
So that users can define their own tag ontologies
12:31
<hsivonen>
hrm. contentDocument.open() doesn't work on an iframe that's not in a document :-(
12:35
<MikeSmith>
speaking of replacing attributes .. http://docs.google.com/Doc?docid=0AaYxrITemjbxZGNmZzc5cHpfM2Ryajc5Zmhx&hl=en .. <input type=speech> spec proposal also proposes adding "grammar" and "grammartype" attributes
12:35
<MikeSmith>
we all remember how much we loved the word "grammar" in school
12:36
<Dashiva>
Quite a bit, but not as much as syntax?
12:37
<MikeSmith>
well, I never had a Syntax Book
12:37
<MikeSmith>
but I did have a Grammar Book
12:37
<MikeSmith>
which I did my best to abuse as much as possible
12:38
<MikeSmith>
maybe it's just a kneejerk reaction, but I feel like any feature that'd require the use of a "grammar" attribute can't be a step in the right direction
12:41
<MikeSmith>
the spec seems like a case of overengineering
12:41
<MikeSmith>
or at least like way too much overloading of the input element
12:41
<MikeSmith>
but the use cases do seem important
12:42
<MikeSmith>
the uses cases being things like doing Web searches by voice, adding voice to turn-by-turn directions/navigations
12:43
<MikeSmith>
an translation applications with voice
12:43
<MikeSmith>
this just doesn't strike me at least as the most obviously optimal way to provide a feature for those use cases
12:44
<Peter`>
It overlaps with <device> quite a bit
12:44
<MikeSmith>
yeah, annevk asked about that on the list already, I think
12:45
<Dashiva>
Shouldn't such input be media-independent?
13:01
<hsivonen>
wow. After making a demo that fails gracefully in IE8, I can understand the frustration Web authors have with IE
13:02
<hsivonen>
the way IE deals with absent properties on host objects is... annoying
13:06
<hsivonen>
could someone with IE9 Platform Preview tell me what happens when loading http://hsivonen.iki.fi/test/moz/detect-html5-parser.html please?
13:16
<hsivonen>
I wonder if innerHTML malfunctions in IE8 when the node is not in the document...
13:19
<zcorpan_>
hsivonen: iirc innerHTML works fine for nodes outside the document
13:21
<Peter`>
hsivonen: will know in a couple of minutes, rebooting to windows 7
13:24
<Peter`>
hsivonen: script error encountered
13:24
<Peter`>
"Object expected" in detect-html5-parser.js on line 76
13:25
<hsivonen>
Peter`: what about on reload now (I changed line 76)
13:25
<zcorpan_>
Hixie: should we expose the subprotocol to script? a script can open a connection without asking for a subprotocol, but the server can reply with one (which the client ignores)
13:26
<hsivonen>
zcorpan_: for limited values of "fine", it appears
13:26
<Peter`>
http://pastie.org/965384
13:26
<Peter`>
hsivonen: ^
13:26
<hsivonen>
Peter`: thank you!
13:26
<Peter`>
No problem!
13:27
<hsivonen>
better than IE8 but nowhere close to compliant
13:29
zcorpan_
pointed to hsivonen's test in the ie9 bug he filed a few days ago
13:31
<zcorpan_>
hsivonen: what's limited?
13:31
<zcorpan_>
hsivonen: innerHTML on <html> and <table> doesn't work in ie even when they're in the document
13:45
<gsnedders>
Hmm, how can I find out if all files in a folder are identical?
13:46
<gsnedders>
If not, which ones differ from some reference?
13:46
<hsivonen>
zcorpan_: most tests in my demo never get as far as having a non-null e.firstChild in IE8
13:47
<zcorpan_>
hsivonen: ok. weird
13:47
gsnedders
gets reminded of FILE DIR as arguments for diff
13:48
<Philip`>
gsnedders: diff -r dir1 dir2
13:48
<Philip`>
if you mean comparing two parallel directories
13:49
<Philip`>
If you mean comparing all the files within a directory to each other, md5sum *|sort and then look for odd ones out
13:52
<gsnedders>
Next random question: is there any way to add a 5s delay to all requests to Apache httpd?
13:53
<Philip`>
Yes
13:53
<gsnedders>
How?
13:55
Philip`
shrugs
13:55
<Philip`>
I guess you could use mod_perl and set a PerlPostReadRequestHandler that does "sleep 5" or something along those lines
13:57
<Philip`>
(or copy-and-paste a proxy server example from some asynchronous networking framework and add a delay call into that, so that you don't tie up expensive Apache processes)
14:06
<nessy>
http://www.w3.org/2010/05/video/mediaevents.html is an awesome page!
14:07
nessy
was just reading back
14:07
<MikeSmith>
nessy: yeah
14:07
<nessy>
sometimes philippe just amazes me :)
14:07
<MikeSmith>
another product from the plh workshop
14:08
<MikeSmith>
yeah, he does some useful things now and then :)
14:08
<nessy>
a specific workshop that he held or just general "the works"?
14:08
<MikeSmith>
his personal workshop
14:08
<MikeSmith>
I meant
14:09
<nessy>
yeah - totally awesome
14:09
<zcorpan_>
he could log more details about the timeranges objects
14:10
<MikeSmith>
zcorpan_: yeah, there's a few more things that could be added
14:11
<MikeSmith>
like a way to do looping
14:13
<hsivonen>
http://www.w3.org/2010/05/video/mediaevents.html crashed my Minefield!
14:15
<MikeSmith>
cool
14:16
<MikeSmith>
plh knows how to exercise the right code, then, I guess :)
14:54
<MikeSmith>
hsivonen: http://twitter.com/adamshaylor/status/14181389367
14:54
<MikeSmith>
"The @w3c validator is down. Suddenly I feel very naked. How hard would it be to write an independent TextMate bundle?"
14:55
<MikeSmith>
I don't use TextMate but I assume a "bundle" is a TextMate extension or plugin or whatever
14:55
<jgraham>
That sounds... non trivial
14:56
<MikeSmith>
well, making something that just called an already-installed local instance of the validator.nu backend would not seem too touch
14:56
<MikeSmith>
*tough
14:56
<MikeSmith>
like the vim plugin that hendry made
15:11
<jgraham>
Yeah, maybe
15:37
<MikeSmith>
hsivonen: http://twitter.com/murtaugh/status/14230623258 makes me realize I really need to make time to get George's required-attributes-missing patch whittled down and committed
15:38
<MikeSmith>
(the problem he was frustrated by way <input type=image> with no alt attribute
17:23
<KaOSoFt>
Hello.
17:26
<KaOSoFt>
Is there a way to take the value of a single (checked) radio button inside a group of radio buttons? I mean, without having to go through each one's value, but more like a single one with the value of the radio button selected.
17:27
<AryehGregor>
. . . Why is an empty <ul></ul> valid in HTML5?
17:27
<KaOSoFt>
I'm thinking PHP here, but perhaps there is a method to filter it like that in simple HTML.
17:28
<Philip`>
AryehGregor: Why shouldn't it be?
17:29
<AryehGregor>
I guess it makes no less sense than an empty div.
17:29
<Philip`>
(I like it being allowed so I can write: print "<ul>"; print "<li>$_" for @items; print "</ul>"; etc without having to worry about the @items == 0 case specially)
17:30
<AryehGregor>
That kind of thing seems inelegant to me. You leave artifacts in the markup that are meaningless vestiges of how you composed it.
17:31
<Philip`>
Laziness wins over elegance
17:32
<Philip`>
given that it works fine in all practical aspects (i.e. in rendering)
17:34
<jgraham>
AryehGregor: The idea was you might fill it in with script or so later iirc
17:35
<AryehGregor>
Yes, but it annoys me. It's sloppy. Like how the new skin on Wikipedia has horribly confusing whitespace. If you look at the source code, you'll see it's because it's neatly formatted with <?php ?> without regard to what whitespace this introduces in the output.
17:35
<AryehGregor>
I've also been known to add code to avoid <foo bar="baz"> becoming <foo > when the bar attribute is omitted.
17:36
<AryehGregor>
And carefully echoing "\n\t\t\t" and such at various points.
17:36
<AryehGregor>
I guess I'm a little obsessive-compulsive, though. :/
17:36
<AryehGregor>
jgraham, that makes more sense.
17:39
<Philip`>
AryehGregor: You need a Tidy filter after the PHP has generated its stuff
17:40
<AryehGregor>
We do, but we're going to have to get rid of it because Tidy probably can't handle HTML5 (let alone HTML5+MathML, etc.). Actually we've had problems with Tidy for a long time, it's inflexible and changes incompatibly between versions.
17:40
<AryehGregor>
We have our own built-in sanitizer, but it doesn't work as well or something, I've been told.
17:40
<Philip`>
(By "Tidy", I meant an HTML5-compatible Tidy-like tool that probably isn't actually Tidy)
17:43
<AryehGregor>
jgraham, you win. https://bugzilla.wikimedia.org/show_bug.cgi?id=23575#c2
17:44
<jgraham>
AryehGregor: Ifr you can run java you should write a sanitizer based on the validator.nu html parser
17:44
<TabAtkins>
AryehGregor: Source-code prettiness has always won out over generated-html prettiness for me. I've tried to be conscious of how my source-code turned out. I stopped that pretty quick.
17:45
<AryehGregor>
jgraham, isn't there a PHP parser too?
17:45
<jgraham>
AryehGregor: True
17:45
<jgraham>
But is is slow
17:45
<AryehGregor>
We could use that, and use the Java one optionally for performance. Or the C++ version used by Mozilla, so we could adapt it to be a PHP module.
17:45
<jgraham>
I assumed you wanted reasonable perf
17:46
<AryehGregor>
That's always a tradeoff. MW already has some pieces that are slow because they're written in PHP, and for decent perf you need to install a PHP module.
17:46
<AryehGregor>
It kind of stinks if you're on shared hosting.
17:46
<AryehGregor>
But, oh well.
17:46
<jgraham>
Hopefully someone will eventually write a java-to-non-Gecko-C++ translator for the validator.nu parser
17:47
<AryehGregor>
That's the cool thing about a standardized parsing algorithm, we'll reliably have interoperable parsers in various languages. :)
17:47
<AryehGregor>
Hopefully more languages will have standard HTML5 parsing libraries in the future.
17:48
<jgraham>
Indeed
17:48
<AryehGregor>
Now we'd just have to write a sanitizer that works with a DOM . . .
17:48
<TabAtkins>
jgraham: You got my email about html5lib stuff?
17:49
<jgraham>
TabAtkins: Yeah
17:49
<jgraham>
Need to ressurect the python 3 port
17:49
<jgraham>
and then work out how to generate python 2 from python 3
17:49
<TabAtkins>
Yeah, I doubt a 2.x library would be pulled into stdlib at his point.
17:49
<TabAtkins>
There's a 3to2 program.
17:50
<AryehGregor>
Actually, how would we use a Java sanitizer? Could we pass it the HTML5 and maybe get back well-formed XML so that we could parse that on the PHP side? It would be a pain to implement the actual sanitization logic in both PHP and Java.
17:50
<jgraham>
Right, but it isn't magic
17:50
<TabAtkins>
It's not!?! ;_;
17:50
<jgraham>
I doubt it :)
17:50
<TabAtkins>
You could just wait for Python 2.8, which'll be 3 by another name.
17:50
<jgraham>
AryehGregor: Presumably you give it a string, it returns a string
17:50
<AryehGregor>
Also, any hope of a PHP standard library? What's even the procedure for that?
17:50
<jgraham>
you use stdio to communicate
17:51
<AryehGregor>
I imagine they'd want it in C or something.
17:51
<AryehGregor>
jgraham, yeah, so that makes it kind of hard to get a DOM . . .
17:51
<AryehGregor>
Oh well, I have other things on my plate right now.
17:51
<AryehGregor>
Although I'll put this on my to-do list.
17:51
<jgraham>
AryehGregor: Oh you need a DOM to be returned, not just a string?
17:51
<jgraham>
That would be harder, yes
17:51
<AryehGregor>
Well, we'd want to have the sanitization logic in PHP only, preferably.
17:52
<AryehGregor>
We don't want to keep the same logic implemented in both PHP and Java.
17:52
<jgraham>
(I assumed if you were already using tidy then subcontracting the whole thing to an external porgram would be fine)
17:52
<AryehGregor>
Wikimedia is, but we don't rely on Tidy by default.
17:52
<AryehGregor>
Also, we don't like relying on non-PHP code we write ourselves, because most MediaWiki developers won't know whatever language it is.
17:52
<AryehGregor>
Tidy is an intact external program that we don't need to maintain.
17:53
<AryehGregor>
(a while back there was XSS in EasyTimeline, and it wasn't fixed for days after being reported, because it's written in Perl . . .)
17:54
<jgraham>
It doesn't seem that sort of problem would be any easier to fix if the program is just an "intact external program"
17:55
<jgraham>
(it may even be harder if source isn't avaliable)
17:55
<AryehGregor>
Well, of course, but we can expect upstream to maintain the security fixes in that case.
17:55
<AryehGregor>
We're the only ones who control EasyTimeline or texvc or whatever, so we have to fix them if they'll get fixed at all.
18:02
<hsivonen>
jgraham: there's a class that abstract out the Gecko stuff waiting for you to subclass it...
18:06
<hsivonen>
(writing an HTML sanitizer is on my todo list)
18:06
<AryehGregor>
Oh, awesome.
18:09
<hsivonen>
we need on for HTML-in-RSS in Firefox
18:09
<hsivonen>
s/on/one/
18:12
<KaOSoFt>
For some reason http://validator.w3.org/ is loading really slow. Is it only me?
18:37
<TabAtkins>
People should just... not try and pretend that they know how to do logic. Particularly, using "QED" as an attempt to end an argument with a laughably fallacious proof just makes you look retarded.
18:38
<Dashiva>
Are you trying to argue with the axiomatic proof?
18:39
<TabAtkins>
YOU CAN'T DEFEAT THE AXIOMATIC PROOF
18:44
<jwalden>
NO ONE DEFEATS THE AXIOMATIC PROOF
18:52
<AryehGregor>
TabAtkins, only mathematicians should attempt logical proofs.
18:52
<AryehGregor>
(I'm looking at philosophers here)
18:52
<AryehGregor>
In practice, it turns out that actual logic is rarely very useful outside of mathematics.
18:53
<AryehGregor>
Usually the interesting question is which axioms to pick, rather than their logical consequences. Except in mathematics, because we don't care what axioms you pick, it's all good.
18:53
<AryehGregor>
What's especially sad is when people cite the names of logical fallacies (which they typically don't understand) instead of, you know, actually pointing out why someone's reasoning is flawed.
19:20
<TabAtkins>
AryehGregor: I agree on all counts.
19:21
<TabAtkins>
And that was the problem here. There were several hidden assumptions being used that made the conclusion correct if you accepted all of them, but the right thing to do was to challenge one of the assumptions, which was unreasonable.
19:22
<TabAtkins>
So trying to pretend like using a logical argument made the argument open-and-shut was stupid.
19:24
<AryehGregor>
Which post was this?
19:25
<TabAtkins>
One of Andrew's latest things on the flexbox threads.
19:27
<Dashiva>
TabAtkins: That's the thing with axioms, if they are your axioms you don't see any need to question them
19:30
<othermaciej>
if you are a geometer, then working from axioms makes sense
19:30
<TabAtkins>
Geometers are mathematicians.
19:31
<othermaciej>
that would be an example of the axiom of subsets
19:32
<TabAtkins>
Sigh. ^_^
19:32
<othermaciej>
(or Axiom Schema of Specification if you want to be all fussy)
19:38
<AryehGregor>
othermaciej, assuming you use a theory based on ZF. What if you use finitely-axiomatized NBG? Then there are no axiom schemas. :)
19:40
<othermaciej>
AryehGregor: it's too early in the morning for me to try reasoning about proper classesw
19:42
<AryehGregor>
Anyway, specification only says that if the set of mathematicians exists, then the set of all mathematicians that are also geometers exists, if "is a geometer" can be expressed as a first-order statement. It doesn't prove that geometers are mathematicians.
19:48
<othermaciej>
no, you don't understand, I have an axiomatic proof
19:48
<AryehGregor>
Ah, then I stand corrected.
19:48
<roc>
does disabling script via <iframe sandbox> disable plugins too?
19:49
<AryehGregor>
I thought all plugins are disabled in sandboxes, unless you can verify that they'll obey the sandboxing.
19:49
<othermaciej>
I believe <iframe sandbox> disables plugins by default, currently
19:49
<Dashiva>
Isn't there an allow-plugins keyword?
19:53
<roc>
aah right thanks
19:53
<roc>
there isn't
19:53
<roc>
I guess the theory being that if you allow plugins you have no control over what the plugin might do
19:54
weinig
just learned that google image search uses <iframe sandbox>
19:56
<othermaciej>
weinig: whoah rilly?
19:56
<weinig>
othermaciej: yup
19:56
<othermaciej>
that's mildly terrifying!
20:05
<jgraham>
Why only mildly?
21:50
<AryehGregor>
The fact that I make this kind of post is why Slashdot takes too much of my time and I need to stop reading it: http://news.slashdot.org/comments.pl?sid=1655340&cid=32257928
21:52
<Dashiva>
The truth is irrelevant, you're from wikipedia and should know this already
21:52
<AryehGregor>
Sigh.
21:52
<AryehGregor>
At least if Wikipedia says something blatantly false, I can correct it.
21:53
<AryehGregor>
As long as it's *sufficiently* blatant that no one's likely to argue with the change.
21:53
<AryehGregor>
This does actually happen sometimes, believe it or not.
21:53
<Dashiva>
[citation needed]
21:55
<deltab>
AryehGregor: do you know alterslash.org?
21:56
<AryehGregor>
How does it work?
21:58
<Dashiva>
Looks like a deletionist's vision of slashdot
22:06
<AryehGregor>
I mean, are they manually selected or something?
22:07
<deltab>
no, it's automatic
22:07
<AryehGregor>
Doesn't sound useful, then. My objection to Slashdot is the preponderance of idiots who get upmodded because they sound confident.
22:07
<deltab>
ah, okay
22:27
<Hixie>
woah
22:27
<Hixie>
the old html parser in gecko treated all unknown elements as equivalent for the purposes of end tag matching?
22:28
<AryehGregor>
o_O