Options:
- # Session Start: Fri Jul 10 00:00:00 2009
- # Session Ident: #whatwg
- # [00:13] * Quits: poe_ (n=poe@adsl-ull-160-123.48-151.net24.it) ("Quit")
- # [00:16] * Quits: jennb (n=jennb@72.14.227.1) (Remote closed the connection)
- # [00:16] * Joins: jennb (n=jennb@72.14.227.1)
- # [00:17] * Joins: weinig (n=weinig@17.246.17.208)
- # [00:32] * Joins: pauld (n=pauld@92.40.177.117.sub.mbb.three.co.uk)
- # [00:43] <Lachy> I'm very surprised by Joshue's outright rejection of my rather practical proposal for making that particular use of canvas accessible.
- # [00:44] * Quits: tantek (n=tantek@adsl-76-202-153-93.dsl.pltn13.sbcglobal.net)
- # [00:46] * Parts: ojan (n=ojan@72.14.229.81)
- # [00:47] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 113 (No route to host))
- # [00:48] * Quits: pauld (n=pauld@92.40.177.117.sub.mbb.three.co.uk)
- # [00:49] * Quits: taf2_ (n=taf2@38.99.201.242)
- # [00:54] * Quits: jianli-win (n=jianli@72.14.227.1)
- # [00:55] * Joins: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se)
- # [00:58] * Parts: billmason (n=billmaso@ip104.unival.com)
- # [01:03] * Quits: archtech (n=stanv@83.228.56.37)
- # [01:08] * Joins: tantek (n=tantek@adsl-76-202-153-93.dsl.pltn13.sbcglobal.net)
- # [01:13] * Quits: bgalbraith (n=bgalbrai@nat/mozilla/x-308f6b6c1542537b)
- # [01:14] <Hixie> oh Lachy's post reminds me that i need to follow up with the canvas issue
- # [01:15] * Quits: jwalden (n=waldo@nat/mozilla/x-57a77f21dfd979e0) (Remote closed the connection)
- # [01:16] * Joins: jwalden (n=waldo@nat/mozilla/x-d988f26c36d56765)
- # [01:23] * Quits: svl (n=me@86.87.68.167) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [01:23] <Lachy> Hixie, what did you think of my suggestions for making that canvas example accessible? Were they reasonable given the contstraints, or is Joshue right about it being ridiculous?
- # [01:24] <Hixie> i don't understand why you would use canvas for that use case at all
- # [01:25] <Hixie> (...and it already has an accessible version anyway)
- # [01:25] <Hixie> though that one seems to be missing the descriptions
- # [01:27] <Philip`> Lachy: Animated image maps sound ridiculuous to me
- # [01:28] <Hixie> man, changing table taint is gonna be such a pain
- # [01:28] <Philip`> If you're going to all the trouble of maintaining a kind of scene graph DOM, you might as well just use SVG and then you won't have all the weirdness and restrictiveness of image map shapes
- # [01:29] * Joins: bgalbraith (n=bgalbrai@nat/mozilla/x-c36db5f90134b38c)
- # [01:30] <Hixie> that won't get you accessibility though
- # [01:30] <Hixie> (though for some reason, svg gets a free pass)
- # [01:31] <Philip`> s/ridiculuous/ridiculous/
- # [01:33] * Quits: dglazkov (n=dglazkov@nat/google/x-8746114d09aca911)
- # [01:35] <Lachy> Hixie, I know that specific page probably shouldn't use canvas, but there are lots of other interactive uses of canvas
- # [01:38] <Lachy> Philip`, I don't see why animated image maps would be ridiculous. If you wanted to support keyboard navigation while still providing the same visual layout, how would you do it without throwing out the canvas entirely?
- # [01:39] <Hixie> you can't do it properly right now without using either svg or crazy image map stuff
- # [01:40] * Quits: weinig (n=weinig@17.246.17.208)
- # [01:40] <Hixie> i don't know how to make it possible though
- # [01:42] <Philip`> The image map keyboard navigation order will be completely unrelated to the spatial positions of the areas, so it's not a good way to provide keyboard navigation of the graphical display
- # [01:43] <Hixie> keyboard navigation is the one aspect of making canvas accessible that i might be able to figure out
- # [01:43] <Lachy> if you know the positions of the areas on the screen, it's conceivable that you could calculate a reasonable tab order and either set tabindex or do the complicated thing of reording the area elements in the DOM
- # [01:43] <Philip`> Anything that gives a linear keyboard navigation order will be operating over a separate view of the data from the non-linear graphical view, so it seems unhelpfully complex to try to mix both the views together instead of just providing two independent views
- # [01:44] <Hixie> e.g. by providing a hook for the canvas to say how it is willing to handle focus movement while the canvas is focused
- # [01:44] <Philip`> (where one view might be <canvas> and the other view might be a <table> or <ul> or something)
- # [01:45] <Lachy> Philip`, providing 2 separate views doesn't solve the problem that Steve raised, which is that the original should be accessible, instead of having to maintain two completely different views
- # [01:46] * Quits: drostie (n=hopkins@5ED17066.cable.ziggo.nl) (Remote closed the connection)
- # [01:46] <Lachy> although, in this case, as I mentioned in my email, the table view is probably useful for more than just accessibility reasons
- # [01:47] * Sirisian_ is now known as Sirisian
- # [01:47] <Lachy> what if we took the concept of the image map and provided an API to declare a specific region of the canvas as being an active region which can respond to events?
- # [01:48] <Lachy> and which can recieve focus
- # [01:49] <Philip`> canvas.clearEventHandlers(); ctx.addEventHandlerOnClickInsideCurrentPath(function (evt) { ... })
- # [01:49] <Lachy> Then a backwards compatibility layer could possibly be provided by script libraries that generate equivalent image maps in the DOM
- # [01:50] * Joins: webben (n=benh@dip5-fw.corp.ukl.yahoo.com)
- # [01:51] * Joins: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au)
- # [01:51] * Quits: cying (n=cying@70.90.171.153)
- # [01:52] <Lachy> Philip`, I was thinking something like: region = context.createActiveRegion(...); region.addEventListener(...);
- # [01:54] * Joins: weinig (n=weinig@17.246.17.208)
- # [01:55] <Hixie> that might be even better than doing it manually
- # [01:56] <Philip`> It'll be fun the first time someone creates a hundred active regions per frame, and forgets to delete them all before starting the next frame
- # [01:56] <Hixie> yeah that's the main reason i prefer the manual approach
- # [01:56] <Hixie> anyway, hopefully the wai will advise us as to the best approach
- # [01:57] <Lachy> Philip`, it might be better to just move the regions around, rather than delete and create new
- # [01:57] <aboodman> does anyone know of a demo anywhere of app cache that works in firefox 3.5?
- # [01:57] <aboodman> the web fails me
- # [01:59] <aboodman> uh, n/m, found something
- # [01:59] <Lachy> do we have a list of known uses canvas, like Yahoo Pipes, Bespin, and this Web Tools directory, from which we can analyse the use cases?
- # [01:59] <Lachy> Would be useful to have things like that listed in a wiki
- # [02:00] * Quits: tantek (n=tantek@adsl-76-202-153-93.dsl.pltn13.sbcglobal.net)
- # [02:00] <Philip`> Use cases for a declarative canvas interaction API, I guess?
- # [02:01] <Lachy> good, looks like we do have some http://esw.w3.org/topic/HTML/AddedElementCanvas#head-c43887ef27c016a20e53d16718ab16a398b6899d
- # [02:01] <roc> what is the difference between "declarative canvas interaction API" and "SVG"?
- # [02:01] <Lachy> Philip`, yeah. Any non-interactive canvas probably wouldn't need much beyond traditional fallback content, just like a regular image
- # [02:02] <Philip`> roc: Canvas is cooler than SVG
- # [02:03] <Philip`> It would be sensible to see how many of the use cases could be better handled with SVG, but I guess if the original developers chose canvas (despite it requiring lots of manual code to process input) then they must have had reasons
- # [02:04] <roc> performance tends to be one reason
- # [02:05] <roc> but it seems plausible that maintaing some set of parallel structures is likely to hurt performance
- # [02:05] <Lachy> roc, it's better to pave the cowpaths and let them keep using canvas in more accessible ways, than to try and get everyone to use SVG instead
- # [02:06] <roc> I don't agree
- # [02:06] * Quits: heycam (n=cam@124-168-95-60.dyn.iinet.net.au) ("bye")
- # [02:06] <roc> building a bunch of new canvas APIs and then discovering it's approximately as crappy as SVG would have been would be a terrible outcome
- # [02:07] <Lachy> no-one is suggesting building a set of APIs that are as crappy as SVG
- # [02:08] <roc> sure, no-one starts out with that intention
- # [02:08] <roc> anyway
- # [02:09] <Lachy> I'm not sure what you're trying to say now
- # [02:09] <Hixie> i'm sure the SVG WG didn't plan to make something "as crappy as SVG" as roc put it
- # [02:09] <Lachy> you started out questioning why we needed to develop declerative canvas APIs instead of just using SVG, but then said SVG is crappy. So I'm confused
- # [02:09] <Hixie> so why would your idea not end up being "as crappy as SVG"?
- # [02:09] <roc> I'm saying that adding some kind of parallel, accessible view of the canvas content may well destroy the reasons that people like to use canvas in teh first place
- # [02:10] <Lachy> roc, the new APIs suggested in here wouldn't be a parallel accessible view.
- # [02:10] <Lachy> the backwards compatible image map approach I suggested could be considered that way though
- # [02:11] <roc> you're talking about declaring "active regions"
- # [02:11] * Quits: jennb (n=jennb@72.14.227.1)
- # [02:11] <roc> how is that not a parallel, accessible view?
- # [02:12] <Lachy> because it wouldn't just serve accessibility reasons. Imagine being able to declare an active region, and then just listen for clicks there, instead of having to calculate where on the canvas the click occurred
- # [02:12] <Philip`> It's still a parallel view which is accessible
- # [02:13] <roc> the cases where canvas wins most over SVG are where the information is dense
- # [02:13] <roc> like graphs, or an RTS where every pixel is custom rendered
- # [02:14] <roc> in those cases, you'll have zillions of active regions
- # [02:14] <roc> if you only have a few active regions, then you probably only have a few shapes, and you can use SVG
- # [02:14] * Quits: weinig (n=weinig@17.246.17.208)
- # [02:14] <Philip`> http://philip.html5.org/demos/canvas/spritepick/example.html
- # [02:15] <roc> pretty cool
- # [02:15] <Lachy> roc, what other possible way is there that could solve the problem?
- # [02:15] <roc> I don't know
- # [02:15] <Philip`> That probably counts as dense information
- # [02:15] <roc> not all problems have solutions
- # [02:15] <Lachy> then how could we improve on the solution the idea to solve some of its own problems?
- # [02:15] <Philip`> What is the problem anyway?
- # [02:15] <roc> another problem with the active region approach is that it's bolted-on accessibility
- # [02:16] <roc> authors just won't use it
- # [02:16] <Lachy> the problem is making canvas accessible to people other than sighted people with a mouse
- # [02:16] <roc> or they'll use it wrong
- # [02:16] <roc> especially if there's a measurable performance hit
- # [02:17] <Hixie> Lachy: as i said, the other solution is to provide a hook for script so that when the canvas is focused, if the user tabs or directionally navigates the focus, the canvas can say "ok keep the focus in the canvas, i can handle that one"
- # [02:17] <Philip`> roc: They might use it if it's the easiest way to support interactivity (i.e. clicking on regions), and a side-effect is that it can be exposed in a more accessible way
- # [02:17] <Lachy> there doesn't really seem to be a way for it to not be bolt on accessibility. But, as I said before, it could be leveraged for more than just accessibility purposes
- # [02:17] <Philip`> roc: It's kind of a pain to put onclick on the canvas and then have to manually work out which object was clicked on, so an API that makes that easier might get used by people who don't care about accessibility
- # [02:18] <Lachy> Hixie, that sounds far more complicated than letting the browser itself help out
- # [02:18] <roc> Philip`: maybe, except for the problem I noted about having large numbers of regions
- # [02:18] <Hixie> Lachy: maybe, i haven't compared the resulting code
- # [02:19] <roc> If the canvas contents are changing, then you have to maintain the set of regions and their geometry
- # [02:19] <roc> seems to me that's probably actually harder than writing your own picker code
- # [02:19] <roc> maintaining cached stuff persistently is almost always harder than just recomputing something whenever you need it
- # [02:20] <Philip`> I'm assuming you could just destroy and recreate all the regions every frame, at the same time as you're recreating all the rendered paths
- # [02:20] <roc> if you're doing that, then the actual code that walks the regions to do picking is relatively easy
- # [02:20] <Philip`> (Hooray for garbage collectors)
- # [02:21] <roc> maybe if you did beginRegion(...); draw draw draw; endRegion(...)
- # [02:25] <Lachy> interesting idea. So the region would include any pixel that was drawn on
- # [02:27] <roc> yeah
- # [02:28] <Philip`> What does "drawn on" mean?
- # [02:29] <roc> whatever we want it to mean
- # [02:29] <roc> that would be more convenient than writing your own custom picking code, so I can believe that people might actually use it
- # [02:29] <roc> and it might perform OK, since the browser can compute bounding boxes for you
- # [02:29] <Philip`> I can imagine it would relatively common to e.g. draw a shadowed box, and want to respond to the mouse being over the box and not its shadow
- # [02:29] <roc> and probably already does for invalidation etc
- # [02:30] <Philip`> but also to draw an image with transparency, and want to respond to the mouse being over non-zero-alpha bits
- # [02:30] * Joins: othermaciej (n=mjs@17.246.18.9)
- # [02:32] <jwalden> man, wikipedia is being amazingly aggressive with their video support
- # [02:34] * aroben is now known as aroben|away
- # [02:35] * Quits: ZombieLoffe (n=e@unaffiliated/zombieloffe)
- # [02:36] * Quits: MikeSmith (n=MikeSmit@EM114-48-19-210.pool.e-mobile.ne.jp) (Read error: 110 (Connection timed out))
- # [02:43] <ezyang> It's... it's... taint mode changes! (Runs away and screams)
- # [02:44] <ezyang> Pretty large changeset too. That makes me very unhappy
- # [02:44] * Joins: webben_ (n=benh@82.152.35.195)
- # [02:44] <Hixie> sorry!
- # [02:45] <Hixie> it shouldn't actually be that hard to code
- # [02:45] <Hixie> most of the changes were in the examples
- # [02:45] <Hixie> assuming your tokeniser already groups characters, you don't need the new insertion mode
- # [02:48] * Quits: bgalbraith (n=bgalbrai@nat/mozilla/x-c36db5f90134b38c)
- # [02:53] <Hixie> http://www.lebgeeks.com/forums/viewtopic.php?id=5446&action=new
- # [02:56] * Joins: heycam (n=cam@clm-laptop.infotech.monash.edu.au)
- # [02:56] * Quits: webben (n=benh@dip5-fw.corp.ukl.yahoo.com) (Read error: 110 (Connection timed out))
- # [03:02] <Lachy> where do people get the idea that HTML5 is officially released?
- # [03:03] <Hixie> it is officially released
- # [03:03] <Hixie> it's been officially released since about 2004
- # [03:03] * Joins: MikeSmith (n=MikeSmit@EM114-48-205-137.pool.e-mobile.ne.jp)
- # [03:03] <Lachy> it seems more like that the forum post meant finalised, not just a public draft
- # [03:04] <Hixie> what does "finalised" mean
- # [03:04] <Hixie> you mean like xhtml2? :-)
- # [03:04] <Lachy> no, I mean like being finished and published as a Rec
- # [03:05] <Lachy> but if that's not what the post meant, then it's not clear why he would use langauge like "Officially Released" in that context
- # [03:06] <Lachy> unless he thinks this is the first time it's been public
- # [03:07] <Hixie> by the time html5 is a REC, nobody will care
- # [03:07] <Hixie> we'll be all working on HTML6 or even HTML7 (assuming we don't go with what I would like to do, which is just make HTML a living document with no meaningless versioning)
- # [03:08] * Quits: MikeSmith (n=MikeSmit@EM114-48-205-137.pool.e-mobile.ne.jp) (Client Quit)
- # [03:09] <Lachy> so you would just keep it like it is on the whatwg copy with section specific status markers forever?
- # [03:11] <Hixie> sure
- # [03:12] * Joins: MikeSmith (n=MikeSmit@EM114-48-205-137.pool.e-mobile.ne.jp)
- # [03:14] <Lachy> we could effectively do that if we just treat the Recs as stable snapshots, and keep going with the same spec instead of starting fresh each time (which wouldn't be a good idea, anyway)
- # [03:15] * Quits: ap (n=ap@nat/apple/x-3a2d0a231aaedbbb)
- # [03:15] <Hixie> that would require a change to the w3c process though
- # [03:16] <Hixie> you can't do LC->CR->PR->REC if you're just doing RECs as snapshots
- # [03:17] <Lachy> not really, since each time you begin work on the next version, you just fork the spec into, e.g. an HTML5 or HTML6 branch, which then continues along the Rec track while the trunk keeps going
- # [03:18] <Lachy> just like how software branches quite happily go through alphas->betas->release candidates->final
- # [03:21] <Hixie> oh hell, i'm not maintaining two branches of html5
- # [03:21] <Hixie> it's bad enough for code
- # [03:21] <Hixie> i'm not maintaining a 15 year branch
- # [03:22] <Lachy> how else do you intend us to start on HTML5 within the current w3c process then?
- # [03:22] <Lachy> *HTML6
- # [03:25] <Hixie> we can't, with the current process
- # [03:25] <Hixie> but i think the problem is the process
- # [03:25] <Lachy> but with your model, it seems difficult for any specific section to ever be marked stable and stay that way for very long
- # [03:26] <Hixie> yup
- # [03:26] <Hixie> that's the point
- # [03:26] <Hixie> there is no stability here
- # [03:26] <Hixie> it's an ever-evolving platform
- # [03:26] <Hixie> the specs should reflect that
- # [03:27] <Lachy> but by publishing a stable snapshot, it allows implementers to clearly distinguish the stable sections from the new unstable sections
- # [03:28] <Lachy> so e.g. if video becomes widely implemented with its current feature set, and then you want to go add some new APIs after that, the new unstable stuff would be mixed in with the previously stable stuff
- # [03:29] <Hixie> i disagree with your use of the word "clearly"
- # [03:30] <Hixie> if we're trying to make it easier to recognise new features, then we should work on that specifically
- # [03:30] <Hixie> having said that, i don't know how to do that, especially when the new features integrate deeply with e.g. navigation
- # [03:33] <Lachy> I suppose I can understand why maintaining forks won't work too well. It doesn't really work too well for XHR and XHR2, like Anne is doing
- # [03:35] <Hixie> it doesn't ever work well
- # [03:35] <Hixie> it only vaguely works for software projects when they have very short lifetimes (weeks at most) and few checkins (just patches for crashes and stop-ship bugs)
- # [03:36] <Hixie> anything that has to either track another branch, or have bugs fixed in two or more branches, or merge back into another branch later, is a disaster
- # [03:42] * Quits: yshin (n=yshin@72.14.227.1)
- # [03:43] <sebmarkbage> There is never going to be anything like stable sections. I'm currently implementing drag & drop APIs with backward compatibility. They're largely implemented but there are lots of little quirks that live through major releases. I think it'll remain like that for quite a while.
- # [03:45] <Lachy> sebmarkbage, in which browser?
- # [03:46] * Quits: dbaron (n=dbaron@nat/mozilla/x-d9a204eeb91595a2) ("8403864 bytes have been tenured, next gc will be global.")
- # [03:47] <sebmarkbage> I'm implementing JS legacy compatibilty for MooTools and while doing that, working on patches for WebKit.
- # [03:47] <othermaciej> software is never perfect or frozen, yet we still ship it every once in a while
- # [03:47] <othermaciej> not sure if this is a plausible model for specs
- # [03:51] <sebmarkbage> That's the essence of HTML 5 IMHO. If you could do perfect frozen models, it'd be called XHTML 2. But the internet is a moving organism of legacy code. That somehow works.
- # [03:51] * Quits: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [03:52] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [03:59] * Quits: jianli (n=jianli@72.14.227.1) (Read error: 110 (Connection timed out))
- # [04:05] * Joins: archtech (n=stanv@83.228.56.37)
- # [04:23] * Quits: othermaciej (n=mjs@17.246.18.9) (Remote closed the connection)
- # [04:24] * Joins: othermaciej (n=mjs@17.203.15.190)
- # [04:48] * Joins: weinig (n=weinig@17.246.17.208)
- # [04:48] * Joins: bgalbraith (n=bgalbrai@71.202.109.116)
- # [04:50] * Quits: bgalbraith (n=bgalbrai@71.202.109.116) (Client Quit)
- # [04:54] <ezyang> Hmm, new table handling algo doesn't seem too hard to implement
- # [04:55] * Joins: dglazkov (n=dglazkov@c-69-181-143-54.hsd1.ca.comcast.net)
- # [04:55] <ezyang> Go go PHP
- # [05:12] * Quits: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se) ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
- # [05:19] * Quits: weinig (n=weinig@17.246.17.208)
- # [05:21] * Joins: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au)
- # [05:31] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [05:40] * Quits: MikeSmith (n=MikeSmit@EM114-48-205-137.pool.e-mobile.ne.jp) (Read error: 110 (Connection timed out))
- # [05:42] * Joins: excrypf (n=nogah@118.71.79.116)
- # [05:43] <ezyang> Wtf. None of our tests started failing with the new taint mode
- # [05:43] <ezyang> That's not acceptable!
- # [05:56] * Joins: weinig (n=weinig@c-67-180-35-124.hsd1.ca.comcast.net)
- # [05:56] <ezyang> What do the vertical lines in the "handling parser errors" section mean?
- # [06:08] * Joins: MikeSmith (n=MikeSmit@EM114-51-47-165.pool.e-mobile.ne.jp)
- # [06:09] <ezyang> Landed!
- # [06:11] <ezyang> Someone should doublecheck my test cases
- # [06:28] <roc> Tom Lord is frustrating me
- # [06:30] <othermaciej> would www-font be at all useful in any case if not for Tom Lord?
- # [06:31] <othermaciej> roc: btw, I'm pretty sure I told Hixie that canPlayType would cause the exact mistake you made to be extremely common
- # [06:31] <othermaciej> I wonder if it's too deployed to change now :-(
- # [06:31] <roc> I told him too
- # [06:31] <othermaciej> at the very least, it should not have been named to sound like it returns a boolean
- # [06:31] <roc> I make that mistake about every time I use it
- # [06:31] <othermaciej> something like playabilityForType()
- # [06:31] <othermaciej> or to make the "no" case return false
- # [06:31] <othermaciej> or split into mightPlayType() and canDefinitelyPlayType()
- # [06:31] <roc> yeah
- # [06:32] <roc> having the "no" case return false would screw with non-JS bindings
- # [06:32] <roc> Would www-font be useful? Maybe.
- # [06:32] <roc> at least it would be less painfully unuseful.
- # [06:33] <othermaciej> roc: I didn't even know your code was buggy from memory, it was only when I tested that I found it was always saying "YES"
- # [06:33] <othermaciej> (wanted to confirm that our canPlayType bug was properly fixed)
- # [06:33] <roc> hehe
- # [06:33] <othermaciej> so basically, if you and I can't understand how the API works, despite commenting on it in detail in the past, it is clearly broken
- # [06:33] <roc> yes, that was my snarky point
- # [06:34] <roc> I also implemented it
- # [06:35] <Hixie> i thought i'd fixed the things you mentioned, didn't realise i'd failed to address this particular point. i agree that we should fix this.
- # [06:36] <roc> returning the empty string would work
- # [06:36] <roc> we could probably ram that into a Firefox update
- # [06:36] * Quits: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [06:37] <othermaciej> empty string would work for JS, yes
- # [06:37] <othermaciej> in other languages, it would be harder to make it accidentally do a boolean check
- # [06:37] <roc> yeah
- # [06:37] <othermaciej> wait, I'm not sure as to Java
- # [06:38] <othermaciej> if (!str) is probably a null check in Java
- # [06:38] <roc> it's not
- # [06:38] <othermaciej> oh good
- # [06:38] * roc likes Java and doesn't care how unfashionable that makes him
- # [06:39] <othermaciej> it's not quite too late to get "" in the next Safari update if it's decided, like, today or tomorrow
- # [06:39] <othermaciej> (not that it's shipping tomorrow but I won't be able to sneak it in after that)
- # [06:39] <Hixie> spec updated to say "" instead of "no".
- # [06:41] <Hixie> roc: re www-font... given that microsoft have (as i understand it) said they won't do TTF, is there anything to discuss?
- # [06:41] <Hixie> i've only been skimming the discussion
- # [06:42] <roc> Hixie: thanks re. canPlayType
- # [06:42] <othermaciej> Hixie: thanks - I'll try to sneak it in
- # [06:43] <roc> Hixie: There is potential value in jfkthame's ZOT proposal, or something like it, independent of what MS does
- # [06:44] <roc> IMHO
- # [06:45] <othermaciej> roc: link?
- # [06:46] <roc> I wish Gmail would find public archived versions of messages
- # [06:46] <Hixie> ZOT?
- # [06:47] <roc> hehe ... www-font traffic: Jan-March: 1, April-June: 54, July-September: 415
- # [06:48] <Hixie> that's not a good trend
- # [06:48] <roc> considering we're 10 days into July
- # [06:49] <roc> http://lists.w3.org/Archives/Public/www-font/2009JulSep/0018.html
- # [06:50] * Quits: archtech (n=stanv@83.228.56.37)
- # [06:52] <doublec> are "probably" and "maybe" the only return values possible from canPlayType?
- # [06:53] <doublec> oh, and empty string, missed that
- # [06:53] <Hixie> right
- # [06:56] * Quits: excrypf (n=nogah@118.71.79.116) ("Leaving.")
- # [07:02] <MikeSmith> yey - just scored a print copy of chrome japanese comic
- # [07:05] * weinig is now known as weinig|away
- # [07:07] <roc> pah
- # [07:07] <roc> othermaciej got his patch in first
- # [07:07] <roc> but I claim it's only because they have fewer tests to update that use canPlayType
- # [07:08] <Hixie> hah
- # [07:10] <othermaciej> actually, what happened is that olliej (who didn't even see this conversation) saw on twitter that the spec changed and immediately coded a patch
- # [07:10] * Joins: slightlyoff (n=slightly@204.14.154.228)
- # [07:10] <othermaciej> I was gonna do it to morrow
- # [07:11] * Joins: slightlyoff_ (n=slightly@72.14.224.1)
- # [07:11] * Joins: nessy (n=nessy@r125-63-191-29.cpe.unwired.net.au)
- # [07:11] <doublec> hopefully it doesn't break any existing canPlayType usage
- # [07:11] <roc> doublec: it probably will
- # [07:11] <roc> however
- # [07:11] * Quits: dimich (n=dimich@72.14.227.1)
- # [07:11] <roc> this seems to be a situation where most people using the API are probably using it incorrectly already
- # [07:12] <doublec> Not from what I've seen
- # [07:12] <doublec> But they check for "probably" and "maybe" explicitly and fail on anything else
- # [07:12] <doublec> it seems
- # [07:12] * Quits: slightlyoff (n=slightly@204.14.154.228) (Read error: 60 (Operation timed out))
- # [07:12] <roc> that's OK
- # [07:12] <doublec> yep
- # [07:12] <roc> if you test on multiple browsers you probably get the "no" case OK
- # [07:12] <roc> if you don't, you lose
- # [07:14] <roc> hmm, I'm up at the beach and there's a storm warning advising everyone to stock up on food for 2-3 days
- # [07:14] <roc> if I'm offline for a while, that'll be why
- # [07:18] * Quits: MikeSmith (n=MikeSmit@EM114-51-47-165.pool.e-mobile.ne.jp) ("Tomorrow to fresh woods, and pastures new.")
- # [07:19] <Hixie> good to know
- # [07:20] * Joins: bgalbraith (n=bgalbrai@71.202.109.116)
- # [07:33] * Joins: jacobolus (n=jacobolu@c-98-248-43-68.hsd1.ca.comcast.net)
- # [07:34] * Quits: dglazkov (n=dglazkov@c-69-181-143-54.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [07:41] * Joins: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de)
- # [07:41] * Quits: jwalden (n=waldo@nat/mozilla/x-d988f26c36d56765) ("->home")
- # [07:43] * Quits: aroben|away (n=aroben@unaffiliated/aroben) (Read error: 104 (Connection reset by peer))
- # [07:59] * Quits: othermaciej (n=mjs@17.203.15.190)
- # [08:05] * Joins: ginger (n=nessy@r125-63-185-209.cpe.unwired.net.au)
- # [08:17] * Quits: dolske (n=dolske@nat/mozilla/x-21cddf4493c18bcd) (Read error: 110 (Connection timed out))
- # [08:17] * Joins: webben (n=benh@dip5-fw.corp.ukl.yahoo.com)
- # [08:21] * Quits: nessy (n=nessy@r125-63-191-29.cpe.unwired.net.au) (Read error: 110 (Connection timed out))
- # [08:27] * Joins: dolske (n=dolske@c-76-103-40-203.hsd1.ca.comcast.net)
- # [08:27] * Quits: dolske (n=dolske@c-76-103-40-203.hsd1.ca.comcast.net) (Client Quit)
- # [08:29] * Joins: dolske (n=dolske@c-76-103-40-203.hsd1.ca.comcast.net)
- # [08:33] <JPKe> 3
- # [08:34] * Quits: webben_ (n=benh@82.152.35.195) (Read error: 110 (Connection timed out))
- # [08:34] * Quits: weinig|away (n=weinig@c-67-180-35-124.hsd1.ca.comcast.net)
- # [08:35] * Parts: JPKe (i=jp@193.184.160.99)
- # [08:38] * Quits: Sirisian (n=Sirisian@ppp-70-229-33-42.dsl.klmzmi.ameritech.net) (Read error: 110 (Connection timed out))
- # [08:40] * Quits: bgalbraith (n=bgalbrai@71.202.109.116)
- # [08:46] * Joins: Maurice (n=ano@a80-101-46-164.adsl.xs4all.nl)
- # [08:48] <hsivonen> so, I think I should implement HTML5-compliant document.write timing behavior
- # [08:49] <hsivonen> basically prevent it from timeouts and such
- # [08:49] <hsivonen> is it correct that insertion point is
- # [08:49] <hsivonen> 1) Not defined when document.write runs synchronously and is not breaking on </script>
- # [08:50] <hsivonen> 2) Defined when document.write breaks on </script>
- # [08:50] <hsivonen> 3) Defined when normal tokenization executes inline script on </script>
- # [08:51] <hsivonen> 4) Defined when an external non-defer script's load completes and it is run.
- # [08:51] <hsivonen> 5) (Not yet but per sicking's email will be) when the network stream has ended, there are only defer scripts left and a defer scripts is executed
- # [08:52] <hsivonen> 6) Not defined at any other time
- # [08:52] <hsivonen> Correct?
- # [08:53] * Joins: archtech (n=stanv@83.228.56.37)
- # [08:58] * Joins: pesla (n=retep@procurios.xs4all.nl)
- # [09:05] * Joins: Mrmil (n=ut_ollie@host-77-236-204-8.blue4.cz)
- # [09:08] * Quits: ginger (n=nessy@r125-63-185-209.cpe.unwired.net.au) ("This computer has gone to sleep")
- # [09:12] * Joins: bgalbraith (n=bgalbrai@71.202.109.116)
- # [09:17] * hsivonen struggles with the UI of the spec
- # [09:21] <hsivonen> hmm. diveintomark.org seems broken
- # [09:22] * Joins: drostie (n=hopkins@5ED17066.cable.ziggo.nl)
- # [09:24] * Joins: Khazou (n=Khazou@AReims-152-1-151-72.w90-7.abo.wanadoo.fr)
- # [09:47] <hsivonen> what's the deal with SVG scripts setting the parser pause flag to true before running?
- # [09:52] <hsivonen> #dfnReturnLink-n for any value of n broken for everyone or just for me?
- # [10:00] * Quits: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de) (Remote closed the connection)
- # [10:00] * Quits: archtech (n=stanv@83.228.56.37)
- # [10:00] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [10:01] * Joins: aboodman2 (n=aboodman@72.14.229.81)
- # [10:02] * Joins: zdobersek (n=zan@cpe-92-37-65-44.dynamic.amis.net)
- # [10:04] * Quits: bgalbraith (n=bgalbrai@71.202.109.116)
- # [10:05] <hsivonen> Hixie: is there a maximum for script nesting level that follows from everything else?
- # [10:05] * Joins: gsnedders (n=gsnedder@pat.se.opera.com)
- # [10:10] * Joins: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au)
- # [10:10] * Quits: aboodman (n=aboodman@72.14.229.81) (Read error: 110 (Connection timed out))
- # [10:11] * Quits: heycam (n=cam@clm-laptop.infotech.monash.edu.au) (Read error: 110 (Connection timed out))
- # [10:12] * Joins: heycam (n=cam@124-168-95-60.dyn.iinet.net.au)
- # [10:13] <hsivonen> Hixie: it seems that Gecko doesn't execute a script if the script is in a noscript or noembed container in the tree at the time that execution is attempted
- # [10:15] <hsivonen> s/execution/running/ to use HTML5 terms
- # [10:16] <hsivonen> s/noscript/noframes/
- # [10:17] * Joins: hdh (n=hdh@hdh-1-pt.tunnel.tserv20.hkg1.ipv6.he.net)
- # [10:18] * Quits: webben (n=benh@dip5-fw.corp.ukl.yahoo.com) (Read error: 104 (Connection reset by peer))
- # [10:24] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
- # [10:28] * Joins: heycam` (n=cam@124-168-95-60.dyn.iinet.net.au)
- # [10:33] * Quits: heycam` (n=cam@124-168-95-60.dyn.iinet.net.au) (Client Quit)
- # [10:33] * Joins: Phae (n=phaeness@cpc2-acto6-0-0-cust747.brnt.cable.ntl.com)
- # [10:42] <hsivonen> Hixie: does this if block comply with HTML5? http://mxr.mozilla.org/mozilla-central/source/content/base/src/nsScriptLoader.cpp#550
- # [10:46] <hsivonen> Hixie: have you looked at the Gecko script blocker concept? does HTML5 deal with it somehow?
- # [10:47] <hsivonen> Hixie: as far as I can tell, HTML5 executes inline non-async scripts immediately, but Gecko may spin the event loop if there's a script blocker in effect
- # [10:47] * Joins: ROBOd (n=robod@89.122.216.38)
- # [10:52] <hsivonen> Hixie: the script nesting level concept was removed from Gecko a while ago
- # [10:53] <hsivonen> Hixie: while it was in Gecko, did it inspire the current spec text?
- # [10:54] * Joins: virtuelv_ (n=virtuelv@pat-tdc.opera.com)
- # [10:54] * Quits: virtuelv_ (n=virtuelv@pat-tdc.opera.com) (Read error: 104 (Connection reset by peer))
- # [10:56] * Joins: webben (n=benh@nat/yahoo/x-d5f4e17b59924115)
- # [11:04] <hsivonen> Hixie: so, if a script's parent has been moved to a different document and the script does document.write(), does it blow away the other document?
- # [11:13] <hsivonen> It seems that if I want to avoid seriously refactoring Gecko's script execution code
- # [11:13] <hsivonen> (and I want to avoid it)
- # [11:14] <hsivonen> I need to make scripts not only know their document but their originating parser
- # [11:14] * Quits: zdobersek (n=zan@cpe-92-37-65-44.dynamic.amis.net) ("Leaving.")
- # [11:14] <hsivonen> well, I suppose having a weak ref to the parser from parser-inserted script nodes isn't too serious bloat...
- # [11:16] <hsivonen> cause if I don't make them know their originating parser and scripts are moved between documents that both have active parsers, bad stuff could happen, I think
- # [11:21] * Joins: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de)
- # [11:31] * Quits: hdh (n=hdh@hdh-1-pt.tunnel.tserv20.hkg1.ipv6.he.net) (Read error: 54 (Connection reset by peer))
- # [11:33] * Joins: ZombieLoffe (n=e@unaffiliated/zombieloffe)
- # [12:04] * Quits: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de) (Remote closed the connection)
- # [12:30] * Joins: adactio (n=adactio@host86-132-125-223.range86-132.btcentralplus.com)
- # [12:30] <Lachy> http://arstechnica.com/web/news/2009/07/apple-proposes-http-streaming-feature-as-a-protocol-standard.ars
- # [12:32] <hsivonen> the basic idea would work also for Ogg, right? since you can concatenate Ogg pieces rather freely
- # [12:33] <hsivonen> I'm sure the Apple rep dealing with this at the IETF will have a fun time with all the RTSP proponents
- # [12:33] <kinetik> depends what the unpublished patent(s) related to that draft are
- # [12:33] <kinetik> http://datatracker.ietf.org/ipr/1142/
- # [12:35] <hsivonen> "In the event that these patents issue, Apple
- # [12:35] <hsivonen> agrees, upon written request from a party, to negotiate with that party a
- # [12:35] <hsivonen> non-sublicenseable license to the Essential Claims under reasonable and
- # [12:35] <hsivonen> non-discriminatory terms and conditions, solely to the extent necessary to
- # [12:36] <hsivonen> implement required portions of the Informational Internet Draft,"
- # [12:36] <hsivonen> non-sublicensable RAND...
- # [12:36] <hsivonen> way to go IETF
- # [12:37] * Quits: webben (n=benh@nat/yahoo/x-d5f4e17b59924115) ("leaving")
- # [12:37] * Joins: webben (n=benh@nat/yahoo/x-d0cc4537b033b12b)
- # [12:38] * Quits: webben (n=benh@nat/yahoo/x-d0cc4537b033b12b) (Client Quit)
- # [12:38] * Joins: webben (n=benh@nat/yahoo/x-fe983a9d20b0b4c0)
- # [12:44] * Philip` keeps getting RTSP and RTMP mixed up
- # [12:46] * hsivonen wonders if the BBC is still using Real's formats for something
- # [12:46] <hsivonen> looks like it
- # [12:46] <Philip`> They still provide radio streams using Real
- # [12:47] <Philip`> (but default to Flash)
- # [12:47] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [12:47] <hsivonen> I guess Flash has hurt Real pretty seriously
- # [12:48] <Philip`> Looks like they also provide WMA of radio streams
- # [12:49] <jgraham> Yeah the BBC tries pretty hard to cover all its bases and is pretty reluctant to remove old stuff
- # [12:49] * hsivonen hasn't used RealPlayer in ages
- # [12:50] <Philip`> (get_iplayer says "flashaac1,flashaac2,realaudio,wma" for radio streams; "flashaac1,flashaudio,iphone,realaudio" for old radio programmes)
- # [12:52] <Philip`> ("flashnormal" for live TV streams; "flashhd1,flashhigh3,flashlow1,flashlow2,flashnormal,flashvhigh2,iphone,n95_wifi,subtitles" for old TV programmes (at least ones available in HD))
- # [12:53] * Joins: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se)
- # [12:54] * Philip` likes their HD content - 1280x720 H.264 looks pretty good, and it's only 1.4GB per hour
- # [12:56] * Joins: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de)
- # [12:56] <Philip`> (Also, no adverts and I don't even have to pay the TV Licensing fee)
- # [12:59] <Lachy> there could well be prior art on it anyway, since play lists have been around for years and the idea of splitting videos up and playing them sequentially isn't new
- # [13:00] * Quits: webben (n=benh@nat/yahoo/x-fe983a9d20b0b4c0) ("Lost terminal")
- # [13:02] <Lachy> though it sucks that Apple decided to include the equivalent of the broadcast flag :-(
- # [13:02] <hsivonen> oh there's even that kind of thing lurking in there :-(
- # [13:03] <Lachy> yeah, it was mentioned in the ars technica article
- # [13:03] <Lachy> Apparently it's just a flag that indicates whether clients are allowed to cache it or not
- # [13:04] <Lachy> so of course it's a completely inneffective form of DRM, but it could well be subject to anti-circumvention clauses like the broadcast flag was
- # [13:07] * Joins: kenkam (n=kenkam@host86-144-77-90.range86-144.btcentralplus.com)
- # [13:08] * Joins: archtech (n=stanv@83.228.56.37)
- # [13:10] * Quits: Amorphous (i=jan@unaffiliated/amorphous) (Read error: 104 (Connection reset by peer))
- # [13:11] <hsivonen> is async an HTML5 invention or an IE thing?
- # [13:11] <hsivonen> on scripts
- # [13:13] * Quits: sayrer__ (n=chatzill@user-0cceh2r.cable.mindspring.com) (Read error: 110 (Connection timed out))
- # [13:15] <Lachy> I think it's an HTML5 invention
- # [13:18] <hsivonen> Lachy: OK. thanks
- # [13:20] <Lachy> hsivonen, does IE even support it?
- # [13:21] <hsivonen> Lachy: I don't see it on MSDN
- # [13:21] <Lachy> nor do I
- # [13:22] <hsivonen> If authors start using the async attribute ahead of browsers, the feature will be pretty much poisoned...
- # [13:22] <Lachy> is there any evidence that they are?
- # [13:22] <Lachy> I've not seen much written about it at all
- # [13:24] <hsivonen> Lachy: there seems to be existence proof that it has been used in the wild once
- # [13:24] <hsivonen> Lachy: view source on http://samaxes-demos.appspot.com/samaxesjs/toc-jquery.html
- # [13:24] <Lachy> it probably wouldn't hurt too much though, as long as authors don't use it and then stupidly rely on the script executing synchronously
- # [13:25] <hsivonen> "as long as", yeah...
- # [13:25] <Lachy> yeah, I don't have much faith in authors not doing stupid things either
- # [13:26] <Lachy> for many cases, they'd be better off using defer instead, since the difference between waiting for the script to be available and the page to finish downloading would be negligable in most cases
- # [13:27] <Lachy> and at least defer is supported by IE
- # [13:29] * Joins: Amorphous (i=jan@unaffiliated/amorphous)
- # [13:31] <Rik|work> and firefox now ?
- # [13:32] <Lachy> I haven't heard about it being supported in firefox, but possibly
- # [13:32] * Joins: zdobersek (n=zan@cpe-92-37-74-10.dynamic.amis.net)
- # [13:33] <Rik|work> http://hacks.mozilla.org/2009/06/defer/
- # [13:34] <Lachy> I'm quite surprised that such a useful feature has taken so long to be deployed in other browsers
- # [13:35] <Lachy> especially given that people have used increasingly complex methods of achieving effectively the same result
- # [13:42] * Quits: zdobersek (n=zan@cpe-92-37-74-10.dynamic.amis.net) (Remote closed the connection)
- # [13:50] * Quits: kenkam (n=kenkam@host86-144-77-90.range86-144.btcentralplus.com) (Success)
- # [13:55] * Joins: zdobersek (n=zan@cpe-92-37-74-10.dynamic.amis.net)
- # [14:04] * Joins: taf2_ (n=taf2@static-71-127-149-10.bltmmd.fios.verizon.net)
- # [14:28] * Joins: excrypf (n=nogah@118.71.77.84)
- # [14:40] * Quits: danbri (n=danbri@unaffiliated/danbri) ("going back to danbri.org")
- # [14:50] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 60 (Operation timed out))
- # [14:52] * Joins: pmuellr (n=pmuellr@nat/ibm/x-5665b245ef06aa54)
- # [14:56] * Quits: adactio (n=adactio@host86-132-125-223.range86-132.btcentralplus.com)
- # [15:20] <Lachy> I was going to see if I could have a go at doing some video codec comparisons between theora, dirac and h.264, but with a slightly improved methodology over what was used here http://people.xiph.org/~greg/video/ytcompare/comparison.html
- # [15:20] <Lachy> unfortunately, I can't obtain ffmpeg right now
- # [15:21] <Philip`> Are you intending to compare the quality of the codec format, or the quality of ffmpeg's implementation of them?
- # [15:22] <Lachy> one problem with that previous methodology was that the source video he created used a lossy codec, and so artifacts from that were passed through to the the resultant h.264 and theora versions
- # [15:23] <Philip`> That's how codecs get used in practice
- # [15:23] <Lachy> Philip`, from what I've read, ffmpeg seems to have the latest version of schroedinger in it for encoding dirac, and it also allows me to encode the Big Buck Bunny images into a lossless source video
- # [15:24] <hsivonen> Lachy: I'd expect quality 100 MJPEG not to invalidate the methodology
- # [15:24] <Philip`> People don't upload lossless videos to YouTube - they just copy the MPEG-2 that their camera recorded or the XviD that they generated on their computer or whatever
- # [15:24] <hsivonen> Lachy: also, non-computer-generated video will have been through DCT anyway
- # [15:24] <Lachy> it's better to eliminate unnecessary losses in quality before the final encodes
- # [15:24] <hsivonen> either as MJPEG or as DV
- # [15:25] <hsivonen> Lachy: the interesting thing is to test with the kind of crappy source material that gets uploaded to YouTube
- # [15:25] <hsivonen> Philip`: whose camera records MPEG-2?
- # [15:25] <Philip`> As someone mentioned on the list, any comparison should look at varying kinds of source material, e.g. clean CG animations and camera-phone videos and cartoons and TV recordings etc
- # [15:26] * hsivonen thought cameras were DV, MJPEG and H.264
- # [15:26] <Philip`> since some codecs might be good at some and rubbish at others
- # [15:26] <Philip`> hsivonen: No idea, I just made it up
- # [15:26] <hsivonen> oh, and many camera phones are MPEG-4 SP
- # [15:28] <Lachy> no, the interesting thing is to elimiate as many variables as possible and ensure you're only testing the quality of the encoders
- # [15:29] <Philip`> Lachy: In that case, maybe you should use a pure black image as the source video, to fully eliminate the variability in the input
- # [15:29] <Lachy> also, I'm not enitrely sure that quality 100 MJPEG is lossless, and he also had another lossy step before that when he resampled the images to 480x270 using ImageMagick
- # [15:30] <hsivonen> Lachy: I think the right thing to test is substantial random sample of raw YouTube material with YouTube's current H.264 encode and Thusnelda with constant settings for the whole sample per Thusnelda config
- # [15:30] <hsivonen> Lachy: because in practice YT doesn't hand tune
- # [15:30] <hsivonen> Lachy: because in practice, it's a comptetition against H.264 as practiced by YT--not ideal H.264 encode
- # [15:31] <hsivonen> Lachy: and because real world has crappy source video
- # [15:31] <hsivonen> Lachy: as long as you don't crop after 100 MJPEG, MJPEG should be fine
- # [15:31] <Lachy> so, that doesn't mean it's not useful to have true comparison that only tests the codecs in a way that is unaffected by other external factors
- # [15:32] <hsivonen> (since the JPEG blocks will align with the video codec blocks anyway)
- # [15:32] <hsivonen> (and video codecs most likely do something sufficiently DCT-like anyway)
- # [15:32] <hsivonen> Lachy: depends on what you are trying to prove
- # [15:33] <Philip`> Video compression is all about tradeoffs, and if you only use one source video then you're only seeing one data point and have no idea what tradeoffs were made that harm other equally-important inputs
- # [15:33] <Lachy> anyway, my plan was to encode the PNGs into a lossless huffyuv encoded video (since that's supported by ffmpeg) and then use that as the source for comparing dirac and theora, and possibly h.264
- # [15:33] <jgraham> Lachy: I think it is well known that H.264 is better in an ideal world
- # [15:33] * Joins: sbublava (n=stephan@77.119.142.2.wireless.dyn.drei.com)
- # [15:33] <jgraham> The question is is it substantially better under real wworld conditions
- # [15:33] <hsivonen> Lachy: what kind of camera are you getting your video from?
- # [15:34] <Philip`> Lachy: RGB to YUV is kind of lossy, I think
- # [15:34] <Lachy> hsivonen, I'm using the Big Buck Bunny images that were used in the previous test
- # [15:35] <jgraham> Lachy: I still don't understand what you're trying to show
- # [15:35] <Lachy> Philip`, if you know of another lossless codec that is supported by an available tool, which will then allow me to reencode as dirac and theora, let me know
- # [15:36] <Lachy> jgraham, I'm trying to test the quality differences primarily between dirac and theora
- # [15:36] <jgraham> The absolute quality difference?
- # [15:37] <Lachy> what do you mean by the absolute quality difference?
- # [15:37] <jgraham> Well I don't really mean "absolute"
- # [15:37] <jgraham> I mean you seem to want perfect input
- # [15:38] <Philip`> Lachy: I think my point is that "lossless" is kind of meaningless, since almost any processing of video loses at least a little bit of data (even if it's just converting colour formats), though I'm not sure it's a particularly interesting or relevant point
- # [15:38] <jgraham> And then will presumably fix something (bitrate? encoding time?) for output
- # [15:38] <Lachy> yes, so that the only thing being tested is the codec quality, and so that any artifacts in the video are purely as a result of the final encode, rather than any previous step
- # [15:39] <Lachy> jgraham, yes, I will eliminate as many variables as physically possible
- # [15:39] <jgraham> OK but that seems irrelevent to video on the web
- # [15:39] <jgraham> I suspect it will show you that dirac is no good at small file sizes compared with theora and H.264 is better than both
- # [15:40] <jgraham> At large file sizes Dirac will be good
- # [15:40] <Philip`> From what I've heard, Dirac is currently aimed mainly at very-high-bitrate applications, so it wouldn't be very interesting to compare at low YouTube-style bitrates
- # [15:40] <jgraham> What Philip` said
- # [15:41] <takkaria> has anyone watched hi-def stuff on youtube? :)
- # [15:42] <Philip`> takkaria: I've tried, but Flash uses up all my CPU juice and it goes all jittery :-(
- # [15:42] <Philip`> (mplayer is perfectly happy with fullscreen 720p, though)
- # [15:43] <takkaria> I've uploaded a couple of hi-def videos to youtube, so it seems like Dirac might be suitable for that
- # [15:43] <jgraham> (As Philip` or someone said the right test for video-on-the-web is to take multiple types of real world (i.e. lossy) input, reencode it to H.264/Theora/Dirac in a way that takes roughly the same time as youtube and produces roughly the same file sizes as youtube, and compare the resulting output)
- # [15:45] * Joins: jacobrask (n=jacobr@vemod.brg.sgsnet.se)
- # [15:45] * jacobrask is now known as Creap
- # [15:45] * Philip` sees http://lwn.net/Articles/326830/ saying "If you are archiving video, building a unencumbered-bluray, or squeezing production grade 1080 HD video into 270mbit SD channels, Dirac is what you want. If you are webcasting with under a couple of megabits per second, Theora is what you want"
- # [15:46] <Philip`> though I'm not sure how much that's justified by data, or where the balancing point would be
- # [15:46] <Lachy> testing with lossy input makes it harder to compare the result, since so many of the artifacts in the output will be a direct result of the input, rather than the re-encoding process
- # [15:48] <Philip`> A hard-to-compare result sounds better than a result that's meaningless to anyone who wants to use the codecs in practice
- # [15:48] <jgraham> Lachy: Since the real world input is ally lossily encoded trying to remove that from the tests makes the tests less relevent
- # [15:48] <Lachy> if you take a look at the input avi file used in http://people.xiph.org/~greg/video/ytcompare/comparison.html it's incredibly lossy, which isn't useful
- # [15:48] <Lachy> well, I disagree with both of you
- # [15:49] <jgraham> Lachy: It depends what you are looking at. But if you are interested in video on the web you need to look at the type of source material that people actually use for video on the web
- # [15:50] <jgraham> Losslessly encoded sources are only one (rather rare) type of source material
- # [15:51] <Lachy> so, I'm only interested in the quality of the final encodes, since the results of encoding a lossless input to multiple encodings should show the same relative differences in output quality, as would a lossy input, but make it much clearer to judge the result
- # [15:52] <jgraham> That seems like a huge and, I think, provably false, assumption
- # [15:52] <Philip`> Are you assuming the quality of the output is directly proportional to the quality of the input?
- # [15:53] <jgraham> (e.g. if the lossly initial encoding is compresses in blocks then a lossy subsequent encoding that works with the same block size will look better than one that uses a totally different compression scheme, or has the blocks offset or something)
- # [15:53] <jgraham> s/l//
- # [15:54] <jgraham> (even if the other encoding scheme is "better" given ideal input)
- # [15:55] <Lachy> right, so if my input video used a lossy codec which unfairly favoured one of the output codecs due to block sizes or whatever, then the test would be biased.
- # [15:55] <Philip`> It seems like saying that if you have e.g. a lossless PDF document full of text and compress it as PNG and JPEG then PNG will do pretty well, and asserting that if you print out the PDF and take a photograph so you've got a lossy version then PNG will be relatively just as effective as before
- # [15:56] <Lachy> Philip`, yeah, that['s true
- # [15:56] <jgraham> Lachy: Which is why the interesting test is to look at the actual inputs that people use.
- # [15:58] <Lachy> that may also be interesting, but that doesn't mean what I want to do isn't
- # [15:59] * Quits: taf2_ (n=taf2@static-71-127-149-10.bltmmd.fios.verizon.net)
- # [15:59] <jgraham> Right, it's just not interesting for the video-on-the-web problem (except the tiny fraction of the problem that involves losslessly encoded input)
- # [16:00] <Philip`> (Actually the tinier fraction that involves losslessly encoded input with the same kind of colour range and detail and motion as the one you're testing with)
- # [16:01] * Philip` has noticed that iPlayer programmes with bright primary red/blue backgrounds tend to look terrible and blocky around the edges of the foreground, and wonders if that's an artifact of H.264 or something else
- # [16:04] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [16:05] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 54 (Connection reset by peer))
- # [16:05] * Joins: mpt_ (n=mpt@canonical/launchpad/mpt)
- # [16:06] <jgraham> takkaria: You got an email address you prefer?
- # [16:07] <Philip`> http://etill.net/projects/dirac_theora_evaluation/
- # [16:12] * Quits: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se) ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
- # [16:16] <takkaria> jgraham: andi@takkaria.org
- # [16:18] <hsivonen> interesting that Vorbis is missing in the BBC action even though it works today and BBC is interested in RF codecs
- # [16:18] <hsivonen> enough to put money into Dirac
- # [16:20] <Philip`> As far as I'm aware, it doesn't work in the sense that you could serve it over the web and most people would be able to listen to it without installing any new software
- # [16:20] <hsivonen> Philip`: that doesn't mention Thusnelda, which suggest the test may have used a stale encoder
- # [16:21] <Philip`> hsivonen: That seems quite likely (and apparently the tests were performed "Q2-2008")
- # [16:22] * Quits: maikmerten (n=merten@ls5dhcp196.cs.uni-dortmund.de) (Remote closed the connection)
- # [16:27] * Joins: ap (n=ap@70-1-233-65.pools.spcsdns.net)
- # [16:27] * Joins: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se)
- # [16:33] <takkaria> jgraham: any particular reason?
- # [16:37] <jgraham> takkaria: I used your @opera email address instead
- # [16:38] <jgraham> If you didn't get an email, I got it wrong :)
- # [16:39] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [16:39] * Parts: Mrmil (n=ut_ollie@host-77-236-204-8.blue4.cz)
- # [16:48] * Quits: Creap (n=jacobr@vemod.brg.sgsnet.se)
- # [16:55] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [16:57] * Joins: aroben (n=aroben@unaffiliated/aroben)
- # [17:01] * Joins: dglazkov (n=dglazkov@nat/google/x-fc77c64780d6d73f)
- # [17:03] * Joins: billmason (n=billmaso@ip179.unival.com)
- # [17:06] * Quits: Maurice (n=ano@a80-101-46-164.adsl.xs4all.nl) ("Disconnected...")
- # [17:16] * Quits: jacobolus (n=jacobolu@c-98-248-43-68.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [17:22] * Joins: remysharp (n=remyshar@vinov2.gotadsl.co.uk)
- # [17:23] <remysharp> hi, I'm having some trouble understanding the effectAllowed and dropEffect attribs in drag and drop - can anyone give me a helping hand for a min?
- # [17:24] * Quits: Khazou (n=Khazou@AReims-152-1-151-72.w90-7.abo.wanadoo.fr)
- # [17:31] <remysharp> okay - is dropEffect effect supposed to be on the dragged element or on the element we're dropping on to?
- # [17:31] <remysharp> it looks like (in the browser) that I'm supposed to use effectAllowed on the dragged element
- # [17:31] * Joins: starjive (i=beos@213-66-216-93-no30.tbcn.telia.com)
- # [17:31] <remysharp> but I don't understand the language used on the attributes then.... -
- # [17:32] * remysharp confused :-\
- # [17:36] * Joins: jacobolus (n=jacobolu@c-76-102-55-224.hsd1.ca.comcast.net)
- # [17:42] * Joins: taf2_ (n=taf2@static-71-127-149-10.bltmmd.fios.verizon.net)
- # [17:42] * Joins: Maurice (n=copyman@5ED548D4.cable.ziggo.nl)
- # [17:49] * Quits: pmuellr (n=pmuellr@nat/ibm/x-5665b245ef06aa54) (Read error: 110 (Connection timed out))
- # [17:49] * Joins: maikmerten (n=maikmert@Z9889.z.pppool.de)
- # [17:51] * Joins: pmuellr (n=pmuellr@nat/ibm/x-ac14aec4d44611af)
- # [17:51] * Quits: gsnedders (n=gsnedder@pat.se.opera.com) (Read error: 110 (Connection timed out))
- # [17:54] * Joins: poe (n=poe@unaffiliated/xerox)
- # [18:01] * Quits: pesla (n=retep@procurios.xs4all.nl) ("( www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )")
- # [18:02] * Quits: remysharp (n=remyshar@vinov2.gotadsl.co.uk) ("Gotta shoot - peeyaow!")
- # [18:04] * Quits: poe (n=poe@unaffiliated/xerox) ("Quit")
- # [18:15] * Joins: myakura (n=myakura@p3126-ipbf1106marunouchi.tokyo.ocn.ne.jp)
- # [18:21] * Joins: gsnedders (n=gsnedder@c83-252-197-150.bredband.comhem.se)
- # [18:22] * Joins: slightlyoff (n=slightly@204.14.154.228)
- # [18:24] <gsnedders> ezyang: Habari will probably use it soon
- # [18:25] * Quits: dglazkov (n=dglazkov@nat/google/x-fc77c64780d6d73f) (Read error: 110 (Connection timed out))
- # [18:28] * Joins: bgalbraith (n=bgalbrai@nat/mozilla/x-0c6c0196add77226)
- # [18:32] * Joins: slightlyoff__ (n=slightly@67.218.102.238)
- # [18:32] * Joins: dglazkov (n=dglazkov@nat/google/x-1d639b5dc80121f6)
- # [18:35] <ezyang> Nice! Once I fix the DOM issues, HTML Purifier 5.0 will also use html5lib
- # [18:38] * Quits: ttepass- (n=ttepas--@p5B014DF3.dip.t-dialin.net) ("?Q")
- # [18:38] * Quits: slightlyoff_ (n=slightly@72.14.224.1) (Read error: 110 (Connection timed out))
- # [18:38] * Joins: ttepasse (n=ttepas--@p5B014DF3.dip.t-dialin.net)
- # [18:39] * Joins: sypasche (n=sypasche@dhcp-83-219-111-101.customers.tvtnet.ch)
- # [18:39] * Quits: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se) ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
- # [18:40] * Quits: slightlyoff (n=slightly@204.14.154.228) (Success)
- # [18:40] * slightlyoff__ is now known as slightlyoff
- # [18:40] * Joins: jianli (n=jianli@72.14.227.1)
- # [18:41] <sypasche> Hixie: ping
- # [18:43] * sypasche is now known as syp
- # [18:46] * Quits: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [18:47] * Parts: beowulf (i=wiglaf@ps4552.dreamhost.com)
- # [18:47] * Joins: jacobrask (n=jacobr@vemod.brg.sgsnet.se)
- # [18:47] * Quits: mpt_ (n=mpt@canonical/launchpad/mpt) (Read error: 110 (Connection timed out))
- # [18:48] * jacobrask is now known as Creap
- # [18:48] * Quits: Creap (n=jacobr@vemod.brg.sgsnet.se) (Client Quit)
- # [18:50] * Joins: sbublava_ (n=stephan@77.116.227.26.wireless.dyn.drei.com)
- # [18:53] * Quits: ap (n=ap@70-1-233-65.pools.spcsdns.net)
- # [18:54] * Joins: jennb (n=jennb@72.14.227.1)
- # [18:54] * Joins: yshin (n=yshin@72.14.227.1)
- # [19:01] * Joins: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au)
- # [19:02] * Quits: sbublava (n=stephan@77.119.142.2.wireless.dyn.drei.com) (Read error: 110 (Connection timed out))
- # [19:06] * Joins: atwilson (n=atwilson@74.125.59.1)
- # [19:16] * Joins: sebmarkbage (n=miranda@h-6-72.A146.priv.bahnhof.se)
- # [19:17] * Quits: dglazkov (n=dglazkov@nat/google/x-1d639b5dc80121f6) (Remote closed the connection)
- # [19:17] * Joins: dglazkov (n=dglazkov@nat/google/x-4a7fe27785c06a26)
- # [19:18] * Joins: jianli_ (n=jianli@72.14.227.1)
- # [19:19] * Quits: jianli_ (n=jianli@72.14.227.1) (Read error: 54 (Connection reset by peer))
- # [19:19] * Joins: jianli_ (n=jianli@72.14.227.1)
- # [19:19] * Quits: slightlyoff (n=slightly@67.218.102.238)
- # [19:20] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Ex-Chat")
- # [19:21] * Joins: cying (n=cying@70.90.171.153)
- # [19:22] * Quits: nessy (n=nessy@124-168-240-72.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [19:23] * Joins: sayrer__ (n=chatzill@user-0cceh2r.cable.mindspring.com)
- # [19:23] * Joins: slightlyoff (n=slightly@nat/google/x-904447a9192f84fe)
- # [19:28] * Joins: weinig (n=weinig@c-67-180-35-124.hsd1.ca.comcast.net)
- # [19:28] * Quits: sbublava_ (n=stephan@77.116.227.26.wireless.dyn.drei.com)
- # [19:35] * Quits: jianli (n=jianli@72.14.227.1) (Read error: 110 (Connection timed out))
- # [19:42] * Quits: jianli_ (n=jianli@72.14.227.1)
- # [19:43] * Joins: jianli (n=jianli@72.14.227.1)
- # [19:45] * Joins: dimich (n=dimich@72.14.227.1)
- # [20:41] * Joins: othermaciej (n=mjs@c-69-181-42-237.hsd1.ca.comcast.net)
- # [20:41] * Quits: jianli (n=jianli@72.14.227.1)
- # [20:42] * Joins: jianli (n=jianli@72.14.227.1)
- # [20:43] * Joins: dave_levin (n=dave_lev@c-98-203-247-78.hsd1.wa.comcast.net)
- # [20:45] * Quits: gsnedders (n=gsnedder@c83-252-197-150.bredband.comhem.se) (Remote closed the connection)
- # [20:45] * Joins: gsnedders (n=gsnedder@c83-252-197-150.bredband.comhem.se)
- # [20:45] * Quits: dolske (n=dolske@c-76-103-40-203.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [20:50] * Joins: dolske (n=dolske@nat/mozilla/x-64178f12f2b80384)
- # [20:52] * Quits: dave_levin (n=dave_lev@c-98-203-247-78.hsd1.wa.comcast.net)
- # [20:53] * Quits: myakura (n=myakura@p3126-ipbf1106marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [20:55] * Quits: syp (n=sypasche@dhcp-83-219-111-101.customers.tvtnet.ch) ("Leaving.")
- # [20:59] * Quits: weinig (n=weinig@c-67-180-35-124.hsd1.ca.comcast.net)
- # [21:01] * aboodman2 is now known as aboodman
- # [21:03] * Quits: ZombieLoffe (n=e@unaffiliated/zombieloffe)
- # [21:07] * Quits: othermaciej (n=mjs@c-69-181-42-237.hsd1.ca.comcast.net)
- # [21:10] * Joins: dbaron (n=dbaron@nat/mozilla/x-f721f4ad2fbdb03d)
- # [21:13] * Quits: bgalbraith (n=bgalbrai@nat/mozilla/x-0c6c0196add77226)
- # [21:16] * Parts: michaeln (n=michaeln@nat/google/x-649e08c808713584)
- # [21:16] * Joins: ZombieLoffe (n=e@unaffiliated/zombieloffe)
- # [21:24] * Quits: taf2_ (n=taf2@static-71-127-149-10.bltmmd.fios.verizon.net)
- # [21:28] * Joins: mpt_ (n=mpt@canonical/launchpad/mpt)
- # [21:33] * Joins: jwalden (n=waldo@nat/mozilla/x-b67b2f6533757efb)
- # [21:38] * Quits: excrypf (n=nogah@118.71.77.84) ("Leaving.")
- # [21:41] * Quits: archtech (n=stanv@83.228.56.37)
- # [22:00] * Joins: weinig (n=weinig@17.246.17.208)
- # [22:09] * Joins: othermaciej (n=mjs@17.246.18.9)
- # [22:14] * Quits: campd_ (n=dave@li5-166.members.linode.com) (Remote closed the connection)
- # [22:16] * Joins: bgalbraith (n=bgalbrai@nat/mozilla/x-094e799f06deb7df)
- # [22:19] * Quits: pmuellr (n=pmuellr@nat/ibm/x-ac14aec4d44611af)
- # [22:24] * Joins: michaeln (n=michaeln@nat/google/x-d7805bcbc47d8c8e)
- # [22:34] * Quits: weinig (n=weinig@17.246.17.208)
- # [22:40] * Quits: gsnedders (n=gsnedder@c83-252-197-150.bredband.comhem.se)
- # [22:40] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [22:51] * Joins: Sirisian (n=Sirisian@ppp-70-226-91-20.dsl.klmzmi.ameritech.net)
- # [23:01] * Quits: mpt_ (n=mpt@canonical/launchpad/mpt) (Read error: 113 (No route to host))
- # [23:05] * Joins: weinig (n=weinig@17.246.17.208)
- # [23:13] * Quits: weinig (n=weinig@17.246.17.208)
- # [23:14] * Quits: zdobersek (n=zan@cpe-92-37-74-10.dynamic.amis.net) ("Leaving.")
- # [23:17] * Quits: maikmerten (n=maikmert@Z9889.z.pppool.de) (Remote closed the connection)
- # [23:30] * Joins: ttepass- (n=ttepas--@p5B017EDD.dip.t-dialin.net)
- # [23:31] * Joins: weinig (n=weinig@17.246.17.208)
- # [23:31] * Joins: archtech (n=stanv@83.228.56.37)
- # [23:38] * Joins: ojan (n=ojan@72.14.229.81)
- # [23:42] * Joins: poe (n=poe@unaffiliated/xerox)
- # [23:43] * Joins: ap (n=ap@17.246.19.81)
- # [23:44] * Quits: ap (n=ap@17.246.19.81) (Remote closed the connection)
- # [23:45] * Parts: billmason (n=billmaso@ip179.unival.com)
- # [23:45] * Joins: ap (n=ap@nat/apple/x-310fc59502afba19)
- # [23:45] * Quits: Maurice (n=copyman@5ED548D4.cable.ziggo.nl) ("Disconnected...")
- # [23:46] * Quits: Phae (n=phaeness@cpc2-acto6-0-0-cust747.brnt.cable.ntl.com)
- # [23:49] * Quits: ttepasse (n=ttepas--@p5B014DF3.dip.t-dialin.net) (Read error: 110 (Connection timed out))
- # Session Close: Sat Jul 11 00:00:00 2009
The end :)