| 00:00 | <Hixie> | i don't really see a formal description of what safehtml`` or html`` would be defined as |
| 00:01 | <Hixie> | http://js-quasis-libraries-and-repl.googlecode.com/svn/trunk/index.html doesn't seem to do anything, unless i'm missing something |
| 00:01 | <Hixie> | oh i see, i'm getting security errors |
| 00:01 | <ojan> | Hixie: there isn't a formal description since the implementation of safehtml is orthogonal to quasis |
| 00:02 | <ojan> | Hixie: http://code.google.com/p/js-quasis-libraries-and-repl/source/browse/trunk/js/safehtml.js |
| 00:02 | <ojan> | Hixie: but the point is that quasis call the safehtml function and that function can grab the string parts and know which parts are from JS and which parts are from the quasi |
| 00:03 | <ojan> | Hixie: you could implement safehtml in a way that gives errors when you do invalid things (e.g. mis-nest html element or quotes) |
| 00:04 | <Hixie> | well sure |
| 00:04 | <Hixie> | i guess i'm asking what is it you expect browsers to implement |
| 00:04 | <Hixie> | (this implementation of safehtml`` at http://js-quasis-libraries-and-repl.googlecode.com/svn/trunk/index.html seems to have an incomplete understanding of CSS) |
| 00:05 | <ojan> | Hixie: yeah, we'd have to decide how safehtml should work. there's been basically 0 discussion of that |
| 00:05 | <ojan> | Hixie: it could certainly work like your E4H proposal + context-aware escaping |
| 00:05 | <ojan> | Hixie: or it coudl work like the Document.parse proposal + context-aware escaping |
| 00:06 | <ojan> | the only major difference from E4H is you'd get the error when calling safehtml instead of when parsing the JS |
| 00:06 | <Hixie> | yeah |
| 00:06 | <Hixie> | that seems like sadness |
| 00:06 | <ojan> | whether you do E4H style parsing or implied context parsing is orthogonal |
| 00:06 | <Hixie> | right |
| 00:06 | <ojan> | Hixie: meh. that doesn't really bother me |
| 00:07 | <Hixie> | you've spent too much time with js and not enough with Real Languages. :-P |
| 00:07 | <ojan> | Hixie: might be true. although, the last four years has been mostly C++ and python |
| 00:08 | <Hixie> | i switch between compiled strongly statically typed languages on the server and JS on the client all the time and the fact that i can typo a variable name in JS and nobody tells me until hours later i hit that codepath drives me utterly batty |
| 00:08 | <Hixie> | where on the other side, the slightest typo gets immediately detected |
| 00:09 | <Hixie> | not to mention more subtle things like assigning radians to degrees and so on |
| 00:09 | <Hixie> | which don't even get caught at runtime in js |
| 00:09 | <Hixie> | hell i can pass a Document object where I meant to pass a string and JS is like "sure buddy, here ya go" |
| 00:10 | <Hixie> | "i bet you meant to just output the string '[Document object]' buddy" |
| 00:10 | <Hixie> | </rant> |
| 00:10 | <ojan> | :) |
| 00:10 | <ojan> | Hixie: yes, i don't disagree that it's better |
| 00:12 | <Hixie> | anyway, bbiab :-) |
| 00:12 | <roc_> | and yet, untyped languages keep winning |
| 00:15 | <jamesr_> | so does charlie sheen |
| 00:22 | <wodemay> | wtf is e4h? |
| 00:23 | <roc_> | Academic PL researchers keep asking me why untyped languages win, and I have to tell them I have no idea |
| 00:23 | <roc_> | there are lots of theories, and no data |
| 03:13 | <wodemaye__> | can an iframed page set parent.location? |
| 06:35 | <Hixie> | how has requestAnimationFrame() not been implemented yet? |
| 06:41 | <odinho> | Hixie: How? Well, by not doing it I believe :P |
| 06:55 | <MikeSmith> | Hixie: in what UA? |
| 06:56 | <MikeSmith> | it's in Firefox and Chrome and IE at least |
| 06:56 | <odinho> | MikeSmith: I know of one possible culprit at least :P |
| 06:57 | <MikeSmith> | ah |
| 06:57 | <odinho> | I'm staring it down now. |
| 06:57 | <MikeSmith> | you all need to get to work on that man |
| 06:57 | <odinho> | MikeSmith: Kinda not really my field. I want it but emoller is swamped. |
| 06:57 | <odinho> | We should clone him or something. |
| 06:57 | <MikeSmith> | oh |
| 06:58 | <MikeSmith> | he's too busy writing that Emberwind stuff |
| 06:58 | <MikeSmith> | odinho: structured clone? |
| 06:59 | <odinho> | MikeSmith: Would have to be something like that. Luckily we do have *that*. |
| 06:59 | <MikeSmith> | heh |
| 07:00 | Ms2ger | wonders what golden PNGs are |
| 07:06 | <jgraham> | Ms2ger: They're the ones that get you into the chocolate factory |
| 07:06 | <Ms2ger> | You can keep them, then :) |
| 07:34 | <Ms2ger> | "a CSS2.1 compatible browser like IE6" |
| 07:34 | <Ms2ger> | Say what? |
| 07:35 | jgraham | sees that Hixie spent the night (note to American readers: "day") advocating Haskell in the browser |
| 08:07 | <zcorpan> | AryehGregor: do you still maintain http://aryeh.name/spec/innertext/innertext.html ? the setter probably needs to convert \n to <br> elements |
| 08:11 | <jgraham> | Seems likeWebKit preserves the window object across document.open() |
| 08:12 | <jgraham> | Anyone know why? |
| 08:13 | <annevk> | foolip: is there a bug on removing media="" from <source> for audio/video? |
| 08:13 | <annevk> | jgraham: Window/WindowProxy? |
| 08:14 | <annevk> | jgraham: not sure exactly what you mean, but the "Window object" is always preserved to some extent |
| 08:14 | <zcorpan> | annevk: just emails iirc (re media="") |
| 08:15 | <jgraham> | annevk: What I specifically mean is that if you set a variable on window and then document.open() then the varaible will still be set (in Opera/IE/Gecko it isn't) |
| 08:16 | <annevk> | zcorpan: I guess that is enough |
| 08:17 | <jgraham> | And the spec says "Replace the Document's singleton objects with new instances of those objects. (This includes in particular the Window [...] objects)" |
| 08:18 | <jgraham> | So I guess WebKit is Just Wrong here |
| 08:22 | <annevk> | sounds like it |
| 08:40 | <AryehGregor> | zcorpan, I haven't particularly been, no, but that's useful info. |
| 08:40 | <AryehGregor> | Both setter and getter have to convert <br> <-> \n? |
| 08:42 | <zcorpan> | yeah |
| 08:42 | <zcorpan> | apparently we broke the setter and people complained |
| 08:43 | <zcorpan> | (i don't think we implemented your spec, we just regressed accidentally) |
| 09:12 | <zcorpan> | annevk: everything's specified in css |
| 09:14 | <zcorpan> | see http://www.w3.org/TR/CSS21/cascade.html#specified-value |
| 09:17 | <zcorpan> | annevk: what's content-fit? do you mean object-fit? |
| 09:18 | zcorpan | replies to teh email instead |
| 09:19 | <annevk> | used to be content-fit |
| 09:19 | <annevk> | CSS renames everything every other month |
| 09:19 | <zcorpan> | it used to be image-fit |
| 09:19 | <zcorpan> | iirc |
| 09:20 | <zcorpan> | maybe content-fit was discussed as well |
| 09:21 | <zcorpan> | also: other browsers, please implement object-fit :-) |
| 09:22 | <zcorpan> | (opera did it first) |
| 09:24 | <annevk> | zcorpan: would it work to just add object-fit:contain to :fullscreen? |
| 09:24 | <zcorpan> | i think so, yeah |
| 09:24 | <odinho> | I like object-fit:contain |
| 09:46 | <odinho> | jgraham, Ms2ger, AryehGregor, other testharness.js people: I kinda want a way to say "WTF don't care" about the exception being thrown in assert_throws(). |
| 09:46 | <Ms2ger> | Why? :) |
| 09:46 | <odinho> | I have the CORS-tests, and what the XHR throws is really not that important. |
| 09:46 | <odinho> | In fact, it hasn't anything to do with CORS. |
| 09:47 | <odinho> | And Mozilla is failing HARD, along with Webkit because of that. |
| 09:47 | <odinho> | Masking other, possibly real bugs. |
| 09:47 | <odinho> | assert_throws(function() { bla }) should maybe do. |
| 09:47 | <Ms2ger> | ArtB is going to want that too, when he sees the WebStorage test I added :) |
| 09:47 | <odinho> | and have function assert_throws(func_or_desc, func) |
| 09:48 | <odinho> | func_or_code I mean |
| 09:48 | <Ms2ger> | func_or_code_or_name? :) |
| 09:48 | <odinho> | Ms2ger: Yeah, _or_object |
| 09:48 | <Ms2ger> | assert_throws(null, fn), maybe? |
| 09:48 | <odinho> | Ms2ger: lemme fix that, func_or_code_or_name_or_object |
| 09:48 | <odinho> | Ms2ger: Yeah, might be more explicit. But we use the pattern of doing them small elsewhere. |
| 09:49 | Ms2ger | wants typed overloads already |
| 09:49 | <odinho> | I hear you ;] |
| 09:50 | <jgraham> | I need a word for Gecko and WebKit. GeKit? Wecko? |
| 09:50 | <Ms2ger> | FOSS |
| 09:50 | <odinho> | jgraham: Guess both works. |
| 09:50 | <odinho> | Ms2ger: What about Dillo and links2 then? You're including too much there :] |
| 09:51 | <Ms2ger> | Relevant FOSS? :) |
| 09:51 | <annevk> | SaFC |
| 09:51 | odinho | love Dillo |
| 09:51 | <jgraham> | Nothing like giving your product a name that is prone to bad typos |
| 09:52 | <annevk> | :) |
| 09:52 | <odinho> | jgraham: lol |
| 09:52 | <foolip> | annevk, a spec bug or an Opera bug? |
| 09:53 | <Ms2ger> | odinho, I'd prefer (null, fn), because really I'd rather people don't do it :) |
| 09:54 | <odinho> | Ms2ger: Okay, fair enough. |
| 09:54 | <odinho> | Ms2ger: Like, you have to, know what you're doing/really want it, if you do it. |
| 09:54 | <Ms2ger> | Right |
| 09:55 | <annevk> | foolip: I was thinking spec |
| 09:55 | <odinho> | jgraham: You should really update that git repo on github... It's out of date. |
| 09:56 | <jgraham> | The HTML spec is too big. I keep trying to write tests for one part, and finding that it depends on another part that also doesn't have tests. So eventually I end up with not enough tests of anything |
| 09:56 | <annevk> | foolip: but zcorpan pointed out there's an email thread already on the WHATWG list |
| 09:56 | <annevk> | foolip: that probably works |
| 09:56 | <jgraham> | odinho: I think you want to lookat the one on the W3C account |
| 09:56 | <odinho> | Always thinking about specs :S |
| 09:56 | <foolip> | annevk, yeah, no bug AFAIK |
| 09:56 | <odinho> | jgraham: oh. wut :P |
| 09:57 | <odinho> | jgraham: It's oooold as well. |
| 09:57 | <jgraham> | odinho: Oh, I thought MikeSmith set it up to auto-push |
| 09:57 | <jgraham> | But maybe that was just HTML |
| 09:57 | <jgraham> | s/push/sync/ |
| 09:59 | <jgraham> | MikeSmith: Any chance of getting that for the resources repo too? |
| 10:02 | <annevk> | basic description for ::backdrop anyone? |
| 10:03 | <annevk> | Note: In other words, ::backdrop gives you an additional box rendered below the element in the top layer for which it is specified. |
| 10:03 | <annevk> | does that work? |
| 10:05 | <Ms2ger> | https://lists.w3.org/Archives/Member/w3c-css-wg/2012AprJun/0277.html (MO) |
| 10:07 | <annevk> | lol |
| 10:14 | <odinho> | OKay! https://github.com/w3c/testharness.js/pull/1 |
| 10:14 | <odinho> | lunch!1 |
| 10:51 | AryehGregor | actually knows what the first three characters of "日本語は" mean, and what the romaji is |
| 10:51 | AryehGregor | only vaguely recognizes the fourth character |
| 11:39 | <annevk> | oh wow |
| 11:39 | <annevk> | http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-SessionDescription |
| 11:39 | <annevk> | WebRTC certainly became a whole lot worse... |
| 11:52 | <zcorpan> | -_- |
| 11:55 | <annevk> | what smiley is that? |
| 11:55 | <annevk> | ah |
| 11:55 | <annevk> | sighing |
| 11:56 | <annevk> | I emailed http://lists.w3.org/Archives/Public/public-webrtc/2012Jun/0002.html |
| 12:12 | <Ms2ger> | Mmm |
| 12:12 | <Ms2ger> | ctx.fillStyle = { valueOf: function() { return "blue" } } |
| 12:14 | <zcorpan> | Ms2ger: that should work |
| 12:15 | <Ms2ger> | Does the spec say that? :) |
| 12:16 | <zcorpan> | webidl says to "convert" |
| 12:17 | <Ms2ger> | attribute any fillStyle; |
| 12:17 | <zcorpan> | oh, sorry |
| 12:17 | <zcorpan> | i thought it was DOMString |
| 12:18 | <Ms2ger> | Yeah, it can take a gradient object too |
| 12:18 | <Ms2ger> | Philip`, thanks again for your tests, btw :) |
| 12:19 | <zcorpan> | i guess the spec should use (DOMString or GradientObject) instead (or whatever it's called) |
| 12:19 | <Ms2ger> | That sounds better, yes |
| 12:19 | <kennyluck> | There would never be any "CSS2.1 compatible browser" if "CSS2.1" here means the current thing in /TR/. There is no model for any contradictory theory: http://en.wikipedia.org/wiki/Theory_%28mathematical_logic%29#Consistency_and_completeness |
| 12:19 | <kennyluck> | But who used that term? |
| 12:21 | <Ms2ger> | Well, that's the definition of a contradictory theory |
| 12:34 | <sandstrom> | Anyone with an account to the whatwg-wiki? I'd like to add <meta content='notranslate' name='google'> to http://wiki.whatwg.org/wiki/MetaExtensions |
| 12:35 | <sandstrom> | There is more information about this meta tag here: http://support.google.com/translate/#2641276 |
| 12:37 | <odinho> | Shouldn't have to litter the internet with meta tags for every single feature Google implements. |
| 12:37 | <odinho> | Must say I dislike that design a lot. |
| 12:37 | <annevk> | Ms2ger: is there a way to use anolis-references without changing everything else? |
| 12:37 | <odinho> | It could maybe go as extension to robots.txt, we have that already. |
| 12:37 | <annevk> | Ms2ger: like sprinkling data-anolis attributes throughout the output |
| 12:38 | <Ms2ger> | How so? |
| 12:41 | <annevk> | Ms2ger: I prefer that references style |
| 12:41 | <annevk> | Ms2ger: an alternative would be to just make Anolis look for either style |
| 12:42 | <annevk> | Ms2ger: maybe assuming you're using the separated one first; falling back to the other |
| 12:42 | Ms2ger | is confused |
| 12:42 | <Ms2ger> | What are you trying to do, exactly? |
| 12:42 | <annevk> | I want to use <div id=anolis-references></div> |
| 12:43 | <annevk> | and for some weird reason that is tied to --w3c-compat in the Makefile |
| 12:43 | <Ms2ger> | Ah, yes |
| 12:43 | <Ms2ger> | Just laziness on my part |
| 12:44 | <annevk> | so I mentioned doing Fullscreen as a joint deliverable is asking for trouble |
| 12:44 | <annevk> | people said no |
| 12:44 | <annevk> | they were wrong |
| 12:46 | <Ms2ger> | So you want --w3c-compat and just one references section? |
| 12:47 | <Ms2ger> | annevk, ^ |
| 12:47 | <annevk> | yes |
| 12:48 | <annevk> | in general I'd prefer if reduce the amount of Anolis options |
| 12:49 | <annevk> | not sure they are all needed |
| 12:49 | <annevk> | and some of the cleanup you get with --w3c-compat such as removing the data-anolis-* stuff makes sense to just do unconditionally |
| 12:49 | <Ms2ger> | Hmm, that's not even necessary anymore now we can use HTML |
| 12:50 | <Ms2ger> | And hey, options are cheap :) |
| 12:50 | <annevk> | reducing the size of the final document is worth it I think |
| 12:50 | <annevk> | Ms2ger: -_- |
| 12:54 | <annevk> | zcorpan: there's no constructor for MutationEvent |
| 12:54 | <zcorpan> | Ms2ger: did you file a spec bug about fillStyle? |
| 12:54 | <Ms2ger> | Yep |
| 12:54 | <zcorpan> | annevk: right |
| 13:02 | <Ms2ger> | annevk, pushed |
| 13:04 | <annevk> | sweet |
| 13:25 | <annevk> | http://lists.w3.org/Archives/Public/public-tracking/2012May/0285.html and the follow-up are fun |
| 14:11 | <karlcow> | "Magicians don't need exemptions." |
| 14:24 | <Philip`> | "I grew up on a beach" - surely that's just argument from authority |
| 15:01 | <matjas> | http://mathias.html5.org/tests/javascript/identifiers/ feedback welcome |
| 15:14 | <jgraham> | Are there any tests for DOM traversal? i.e. http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#traversal |
| 15:16 | <Ms2ger> | I bet we have a couple |
| 15:18 | <Ms2ger> | Hmm, I wonder if http://mxr.mozilla.org/mozilla-central/source/content/test/unit/test_treewalker.js is the best we have for TreeWalker |
| 15:19 | <Ms2ger> | http://hixie.ch/tests/adhoc/dom/traversal/node-iterator/ |
| 15:20 | <Ms2ger> | Thank Hixie for writing some 7 years ago :) |
| 15:24 | <Hixie> | MikeSmith: it seems to be still prefixed in at least chrome |
| 15:24 | <Ms2ger> | And Opera for paying... |
| 15:25 | <Hixie> | jgraham: it's not the HTML spec that's too big, it's HTML. Splitting the spec up wouldn't solve your problem :-( |
| 15:26 | <jgraham> | Hixie: I know :) Possibly it wasn't obvious that I was deliberately misidentifying the problem |
| 15:37 | <Hixie> | jgraham: i know you know, just clarifying the record for the lurkers :-P |
| 15:39 | <odinho> | those sneaky lurkers |
| 15:40 | <Hixie> | wow i'm sure glad i'm not on public-tracking |
| 16:14 | <Ms2ger> | Hixie, you prefer reading Bj�rns emails in the archives? :) |
| 16:14 | <Hixie> | i had no freaking clue what he was talking about :-P |
| 16:15 | <Ms2ger> | I find them even more enjoyable to read in that case :) |
| 16:27 | <smaug____> | abarth: just curious, why did you ask about implementing WebApp Manifest spec? |
| 16:27 | <smaug____> | in the mailing list |
| 16:28 | <abarth> | smaug____: it's a question of prioritization |
| 16:28 | <Ms2ger> | Hixie, http://ian.hixie.ch/career/resume.html, "The preprocessor Mozilla uses": s/uses/used/ ;) |
| 16:28 | <abarth> | smaug____: if there were a critical mass of folks who wanted to implement it |
| 16:28 | <smaug____> | ah |
| 16:28 | <abarth> | smaug____: then I would have tried to make an argument to the team that they should prioritize that work above the other sysapps work |
| 16:29 | <abarth> | smaug____: as it is, i think that we'll get a better result if we tackle some of the core issues first |
| 16:29 | <abarth> | e.g., security model, a handful of APIs |
| 16:29 | <abarth> | then the requirements for the manifest will be clearer |
| 16:29 | <smaug____> | abarth: so somewhat similar question to FileSystemAPI |
| 16:29 | <Ms2ger> | Pff, who needs a security model |
| 16:30 | <annevk5> | Hixie: so we need some special language to say this is in the context of the root? Re fullscreen |
| 16:30 | <abarth> | smaug____: do you mean as in "who's interested in implementing" or in the sense of "the requirements will be more clear in the future" ? |
| 16:30 | <smaug____> | both |
| 16:31 | <Hixie> | Ms2ger: wow, about time :-) |
| 16:31 | <abarth> | yeah, it's a concern for me that there's only really one implementor for file system |
| 16:31 | <Hixie> | annevk5: i dunno if i'd say it was "special" :-) |
| 16:31 | <Ms2ger> | Hixie, it's been removed for all of a year now :) |
| 16:31 | <abarth> | i actually argued against working on it internally when we first started |
| 16:31 | <smaug____> | it isn't an API I'd like to implement |
| 16:31 | <Hixie> | Ms2ger: that's still a sadly long time for that sorry excuse of a preprocessor to have been used :-P |
| 16:32 | <abarth> | smaug____: do you mean the general idea of a file system API, or something about the specific design in the spec? |
| 16:32 | <Ms2ger> | Hixie, oh, we've got enough horrible code that we're actually shipping :) |
| 16:32 | <Hixie> | Ms2ger: hah |
| 16:32 | <annevk5> | Hixie: any precedents then? |
| 16:32 | <smaug____> | abarth: some kind of API for file management isn't needed, but the current draft isn't the best option |
| 16:32 | <Hixie> | annevk5: not to my knowledge |
| 16:32 | <annevk5> | IR |
| 16:33 | <annevk5> | Oops |
| 16:33 | <smaug____> | didn't sicking propose something better already |
| 16:33 | <smaug____> | at least to handle certain problematic cases |
| 16:33 | <Ms2ger> | smaug____, s/isn't/is/ for the first? |
| 16:33 | <abarth> | smaug____: I haven't followed the discussion very closely, so I don't know the answer to that question |
| 16:33 | <smaug____> | Ms2ger: ye |
| 16:33 | <smaug____> | s |
| 16:34 | <smaug____> | (API is needed) |
| 16:34 | <abarth> | do you mean https://wiki.mozilla.org/WebAPI/DeviceStorageAPI ? |
| 16:34 | <smaug____> | no |
| 16:34 | <abarth> | then I'm not sure what you're referring to |
| 16:34 | smaug____ | needs to find the right proposal |
| 16:34 | <abarth> | in any case, I know this is a controversial topic |
| 16:35 | <smaug____> | yeah |
| 16:35 | <abarth> | I suspect is going to come up in SysApps because there's a need for things related to files and groups of files |
| 16:35 | <abarth> | but i'm hoping to keep it off the agenda for a bit |
| 16:35 | <abarth> | so that the group can start in a happy place |
| 16:35 | <abarth> | rather than in a sad place :) |
| 16:36 | <Ms2ger> | glwt |
| 16:36 | <smaug____> | :) |
| 16:37 | <annevk5> | Hixie: okay. But if we say it's in context of the root there are no problems I guess... |
| 16:37 | <Hixie> | annevk5: i hope so :-) |
| 16:37 | <Hixie> | annevk5: it's what i thought we were doing already |
| 16:38 | <annevk5> | Would make for an easy fix :) |
| 16:39 | <annevk5> | Wonder what oyvind says of that |
| 16:45 | Ms2ger | steals Hixie's tests |
| 17:13 | <smaug____> | http://www.net-security.org/secworld.php?id=13022 makes no sense |
| 17:18 | <TabAtkins> | annevk: I don't understand your comment saying "No because width/height are set as well" in the fullscreen thread. |
| 17:23 | <Hixie> | smaug____: as far as i can tell, there's three possibilities: 1, they're dumb (unlikely); 2, they realise that DNT threatens their online business' future, so they'd rather kill it now than risk it getting widely implemented (seems a bit cynical of me), or 3, they realise that DNT is a poorly designed technology for what it's trying to do and they want to illustrate this so as to help the industry come up with something that actually works (what i hope is the |
| 17:24 | <Hixie> | case) |
| 17:25 | <webben> | Hixie: Do you reckon DNT is badly designed? Do you have any thoughts as to what would work better? |
| 17:25 | <Hixie> | webben: DNT is like P3P, it tells the good guys who wouldn't do anything bad with tracking anyway that they can't do anything good with tracking, and it's ignored by the bad guys. |
| 17:26 | <Hixie> | webben: so it gives users a false sense of security and privacy. |
| 17:26 | <Hixie> | webben: while reducing the quality of services they receive |
| 17:26 | <Hixie> | webben: so yeah, it's badly designed. |
| 17:26 | <Hixie> | webben: something that's well-designed for this kind of thing would be something like tor. |
| 17:26 | <webben> | Hixie: I agree some bad guys will ignore it (I think blocking 3rd-party cookies a la Safari might make more sense). |
| 17:27 | <Hixie> | you don't need cookies to track people |
| 17:27 | <smaug____> | the whole point of DNT is to just tell to good guys that don't track, please |
| 17:27 | <Hixie> | fingerprinting is more than adequate |
| 17:27 | <webben> | Sure, but in practice the ad industry is mostly using cookies. |
| 17:27 | <Hixie> | smaug____: what do you mean by "track"? |
| 17:28 | <webben> | I think the idea that "good guys who wouldn't do anything bad with tracking" depends very much on your view of what is bad. |
| 17:28 | <Hixie> | webben: removing cookies by default will do the same as setting DNT by default, it'll just reduce the quality of ads from the good guys and make the bad guys switch to fingerprinting. |
| 17:28 | <smaug____> | webben: very true. |
| 17:28 | <Hixie> | webben: granted |
| 17:28 | <Hixie> | webben: what is bad? |
| 17:28 | <smaug____> | webben: whatever Google and Facebook do is bad, IMO, but not everybody agree with me |
| 17:28 | <Hixie> | smaug____: what do google and facebook do? |
| 17:29 | <smaug____> | track me |
| 17:29 | <Hixie> | smaug____: what does "track" mean? |
| 17:29 | <smaug____> | store cookies when they don't need to, so that they can identify me |
| 17:29 | <smaug____> | but yes, this is all vague |
| 17:29 | <smaug____> | I know |
| 17:29 | <Hixie> | smaug____: i have no idea why that is bad or what it even means |
| 17:30 | <webben> | "bad" is probably not helpful language |
| 17:30 | <webben> | "unwanted" might be better |
| 17:31 | <Hixie> | i agree entirely that there is "bad" tracking. e.g. someone who wants to figure out who you are, what your interests are, what your bank is, so they can convincingly phish you. |
| 17:31 | smaug____ | doesn't understand "quality of ads" |
| 17:31 | <Hixie> | but the people who do that aren't going to care if you've disabled cookies, enabled DNT, or even if it's illegal |
| 17:32 | <Hixie> | smaug____: a good ad is e.g. one that tells you something you didn't know, that it turns out you do want to know. |
| 17:32 | <smaug____> | Hixie: and Google and FB very much try to figure out my interests, at least based on the ads they are showing to me, if I'm logged in to their accounts |
| 17:32 | <Hixie> | smaug____: a bad ad is e.g. one that has nothing to do with anything you care about |
| 17:32 | <Hixie> | smaug____: wait, you're logged in? |
| 17:33 | <Hixie> | smaug____: how the heck is that supposed to work without tracking?? |
| 17:33 | <webben> | But that's your personal view of "good" and "bad". That doesn't necessarily accord with what people tend to want. |
| 17:33 | <Hixie> | webben: i'm happy to entertain your definitions if you like |
| 17:33 | smaug____ | doesn't actually use Google, so, no, not logged in |
| 17:34 | <webben> | I'd avoid the words for the most part. |
| 17:34 | <webben> | it's Do Not Track, not Do No Evil |
| 17:34 | <Hixie> | this conversation seems to have about the same level of rational discourse as most discussions around DNT, which is maybe why i'm skeptical about DNT |
| 17:35 | <Hixie> | i honestly don't think most people who want it have any idea what its implications are or what it is they are worried about |
| 17:35 | <smaug____> | webben: "Evil" is of course very vague. |
| 17:35 | <Hixie> | smaug____, webben: if there is a specific fear you have, i'm happy to discuss it, but i don't know how to make progress with this level of vagueness |
| 17:36 | <smaug____> | :) |
| 17:36 | <smaug____> | very true |
| 17:36 | <smaug____> | DNT is all about vagueness |
| 17:36 | <webben> | As a future implementor (for my dayjob for a data provider for quality advertising) I think it's useful to have a flag to tell me that a user wouldn't want to have data collected about them and shared with advertisers. |
| 17:37 | <Hixie> | sharing data with advertisers seems like a generally bad idea anyway |
| 17:37 | <webben> | My concerns are more around the specifics of what is allowed, e.g. what logs can we/must we keep for security/auditing purposes. |
| 17:37 | <Hixie> | since you can't control what the advertisers do with it |
| 17:38 | <webben> | Hixie: Well... yeah... that's one of the reasons people might want not be tracked. |
| 17:39 | <Hixie> | webben: how will DNT stop it? |
| 17:39 | <webben> | Hixie: Well, in our case (for example), I suspect we'll end up not tracking requests with DNT: 1. |
| 17:40 | <Hixie> | are you sharing data with advertisers today? |
| 17:41 | <webben> | In the sense of segments in ad platforms like DoubleClick, yeah. |
| 17:41 | <Hixie> | to my knowledge, doubleclick doesn't share data with advertisers |
| 17:41 | <webben> | i guess that depends on what you mean by "share data" |
| 17:42 | <Hixie> | i assumed you meant something like "hey, bob looked at your ad, they're a 12 year old living in norway" |
| 17:42 | <webben> | oh. no. |
| 17:42 | <Hixie> | well i assume nobody is giving anything worse than that! |
| 17:42 | <Hixie> | even that much seems like something nobody should be giving today! |
| 17:45 | <webben> | No, this is more like: we track some users, we conclude (insert magic) they're male, we insert them in a male segment in doubleclick, an advertiser pays for use of the male segment in doubleclick, they end up getting shown an ad. |
| 17:45 | <webben> | i think it's useful to have a mechanism for user's to opt out of that. |
| 17:45 | <Hixie> | there's no sharing of data with the advertiser there |
| 17:45 | <Hixie> | why? |
| 17:46 | <webben> | because some users want to opt out of it |
| 17:46 | <Hixie> | why? |
| 17:46 | <webben> | i don't think it matters much |
| 17:46 | <Hixie> | what is the harm here |
| 17:46 | <Hixie> | sure it matters |
| 17:46 | <Hixie> | users and authors want all kinds of crap we don't give them because they say they want it but wouldn't really want it when they get it |
| 17:47 | <Hixie> | for example users want a way to say "make my packets have priority over everyone else's" |
| 17:47 | <TabAtkins> | What users like that want is "no ads", not "shittier ads". |
| 17:47 | <TabAtkins> | If you don't have market segmentation, you are guaranteed to get shittier ads. |
| 17:47 | <Hixie> | pretty much by definition, yeah |
| 17:47 | <smaug____> | there is no such thing as shittier ads |
| 17:47 | <Hixie> | oh my |
| 17:47 | <Hixie> | oh my oh my |
| 17:48 | <Hixie> | yes, there is |
| 17:48 | webben | has to head to the pub |
| 17:48 | <TabAtkins> | smaug____: You have a short memory. I remember the days before Google got good at serving ads. |
| 17:49 | smaug____ | doesn't know what "good at serving ads" means |
| 17:49 | <smaug____> | though, I may guess what you mean :) |
| 17:49 | <Hixie> | smaug____: if i get an ad for cheaper subway tickets on the tokyo subway, that's a shittier ad for me than if i get an ad for a good deal on a marklin 37276 Double Diesel Locomotive set |
| 17:49 | <TabAtkins> | You're either being purposely obtuse, or I don't understand how you can possibly say that. |
| 17:49 | <Hixie> | what tab said |
| 17:50 | <Ms2ger> | Hixie, have you unpacked your trains already? :) |
| 17:50 | <Hixie> | ...wow, the 37276 is awesome |
| 17:50 | <Hixie> | now i want one |
| 17:50 | <Hixie> | damnit |
| 17:51 | smaug____ | hasn't used his Märklins for ages |
| 17:51 | <TabAtkins> | Given the space of all possible ads, with no market segmentation the best you can do is get served an ad uniformly-chosen at random. This is obviously worse than choosing from a smaller set that is more likely to track your demographic segment. |
| 17:51 | <Hixie> | Ms2ger: i have a loop in my bedroom for running the engines every few months so the engines don't seize up, but other than that, no |
| 17:52 | <smaug____> | TabAtkins: for lots of people there is no such thing as good or bad ad. There is just an ad, which the user doesn't care about |
| 17:52 | <Hixie> | dude the 27276 is actually weathered and you can blow it's whistle and it's horn separately |
| 17:52 | <TabAtkins> | smaug____: Okay, then it's the "purposely obtuse" option. |
| 17:52 | <Hixie> | aw man |
| 17:52 | <Ms2ger> | *its |
| 17:53 | <Ms2ger> | You're a real Googler now... Advertising to yourself :) |
| 17:53 | <Hixie> | smaug____: we have data that shows otherwise. the fruits of said data funds much of mozilla, fwiw. |
| 17:53 | <smaug____> | Yeah, googlers speaking about ads... :) |
| 17:53 | <Philip`> | Maybe someone doesn't like being tempted to buy things they were already nearly willing to buy, because they'd like it in the short term (hence they'd acually buy it) but bad in the long term (since they'll have no money left at the end of the month to feed their children), and so they'd much rather be shown irrelevant ads that they can easily ignore |
| 17:54 | <TabAtkins> | Philip`: That's the "no ads" preference. |
| 17:54 | <Philip`> | (and the running costs of the sites they visit will be subsidised by other users who like to buy things from relevant ads) |
| 17:54 | <TabAtkins> | If they want shitty ads because they're easier to ignore, they dont' actually want shitty ads. They just want no ads. |
| 17:55 | <TabAtkins> | Nobody wants ads *and* wants them to be shitty. |
| 17:55 | <barnabywalters> | Philip`: Yep, unless it's happening subconsciously, I can't see anyone actually using that logic |
| 17:55 | <Philip`> | TabAtkins: "No ads" is preferred over "irrelevant ads" which is preferred over "relevant ads", and in practice they'll never be able to get "no ads" because that's too blatantly unprofitable for the people paying the running costs of their sites, and so "irrelevant ads" is the next best thing |
| 17:55 | <TabAtkins> | Philip`: No, that's what AdBlock is for. |
| 17:55 | <Hixie> | smaug____: do you at least agree that an ad can, all other things being equal, be assumed to have been more useful to the user if the user clicks on it than if they don't? |
| 17:58 | <smaug____> | no, not in general case |
| 17:58 | <Philip`> | Hixie: What about if e.g. you search for "open office" because you want to download it, and get shown an ad like "Download OpenOffice here for free" which you click on because it sounds very useful, and then it installs OpenOffice plus a dozen pieces of other junk (browser toolbars and popup things and trial antiviruses and whatever)? |
| 17:59 | <Hixie> | Philip`: there are certainly exceptions, i agree |
| 17:59 | <Philip`> | Many more people would click on that than on a random irrelevant ad, but it'd far less useful (/more harmful) in practice |
| 17:59 | <smaug____> | "relevant" ads may look like page content and user clicks them although (s)he was going to look for some real content |
| 17:59 | <Hixie> | so could irrelevant ads |
| 17:59 | <Philip`> | (Not a hypothetical example, incidentally) |
| 18:00 | <Hixie> | anyway, if you disagree that a user chosing to click an ad is not a good signal (even if not a 100% reliable signal) that the ad is useful to the user, then i don't see that we have common ground on which to base the conversation |
| 18:00 | <Philip`> | Hixie: Are there ways to measure the effectiveness of ads that can distinguish usefulness from misleadingness? |
| 18:00 | <smaug____> | irrelevant ad is less likely about the same thing what the user was looking for |
| 18:01 | <smaug____> | Philip`: that is interesting question |
| 18:01 | <Hixie> | Philip`: for highly commercial ads you can track conversions (sales) |
| 18:01 | <Hixie> | Philip`: this isn't my area of expertise though |
| 18:02 | <Philip`> | Maybe you could wait a while then send an email to users saying "please give a rating out of 5 for this ad you click on two weeks ago" |
| 18:02 | <Hixie> | smaug____: if a site is its own ad broker, then at a minimum the advertisers will know how to make misleading ads, even without knowing anything about the users |
| 18:02 | <smaug____> | my experience with my parents for example is that they use Google and click easily some ads and then need to go back and look for real search results |
| 18:02 | <Philip`> | like what Amazon often seems to do with reviewing products/suppliers |
| 18:02 | <Hixie> | Philip`: for things like openoffice malware, even that wouldn't work |
| 18:02 | <Philip`> | where they seem to leave enough time for people to recognise any faults with the thing they just bought |
| 18:04 | <Hixie> | yeah for highly commercial queries/ads/purchases it works much better, because users tend to have a much clearer understanding and memory that a transaction happened |
| 18:04 | <Philip`> | (If you just track number of sales then you can't tell how many people regretted it afterwards) |
| 18:05 | <Philip`> | (If you're the company making the sales, you probably don't care, because a sale is a sale, but if you're a third party then you probably want to take better care of the users) |
| 20:40 | <rafaelw_> | Hixie: would E4H support different tokenizer modes? |
| 20:41 | <rafaelw_> | e.g. var foo = <><div/><script>var i = 2;</script></>; |
| 21:28 | <Hixie> | rafaelw_: text is basically parsed as a JS string in my proposal |
| 21:29 | <rafaelw_> | so presumably the following parses very differently in HTML and E4H... |
| 21:29 | <rafaelw_> | <div><style><div></div></style></div> |
| 21:29 | <rafaelw_> | ? |
| 21:29 | <Hixie> | it parses more like in xml, yes |
| 21:30 | <Hixie> | it's javascript |
| 21:30 | <rafaelw_> | i'm less familiar with XML. |
| 21:30 | <Hixie> | and my parsing spec for it is like 20 lines |
| 21:30 | <Hixie> | so it's hardly surprising that it doesn't parse like html, whose spec is some 5000 lines :-) |
| 21:30 | <rafaelw_> | in the above example, in E4H will <style> have one child which is a <div> element? |
| 21:30 | <rafaelw_> | i'm not commenting, just trying to understand. |
| 21:41 | <Hixie> | rafaelw_: yes |
| 21:42 | <Hixie> | rafaelw_: at least as proposed. i don't really care what the exact syntax is, it could even be something like JSON for all I care, what i care about is (1) that it be simpler than the current DOM API and (2) that it be compile-time checked, like a JS object literal. |
| 21:43 | <Hixie> | i think the parallel between JS object literals and JSON strings vs HTML DOM literals ("E4H") and HTML strings is the way to think about this proposal |
| 21:43 | <Hixie> | JSON's syntax isn't exactly like JS object literals either |
| 21:44 | <Hixie> | e.g. { foo: 1 } isn't valid (key has to be quoted), nor is { 'foo': '1' } (has to be double quotes, iirc) |
| 22:01 | <TabAtkins> | Except for one detail, JSON is a subset of JS. |
| 22:02 | <TabAtkins> | (It's a silly charset issue or something.) |