00:00 | <jamesr> | how would you indicate the transition from initializing->normal? |
00:00 | <jamesr> | fire a context restored? |
00:00 | <zewt> | yeah |
00:00 | <zewt> | basically turning it into a readyState, i guess |
00:01 | <jamesr> | yeah. it might be a little awkward for developers to put their initial startup code in the contextrestored function |
00:02 | <Hixie> | are lost webgl contexts really that common? |
00:02 | <jamesr> | and in the lost handler they'd have to know if they were transitioning from init->lost (in which case they should show the webgl sadness) and normal->lost |
00:02 | <Hixie> | exposing this to web authors seems like a losing strategy. |
00:02 | <jamesr> | Hixie: on XP, every time the screensaver starts you lose context |
00:02 | <jamesr> | and every time the computer goes to sleep |
00:02 | <zewt> | Kenneth already described returning contexts in the "lost" state, which would require handling that too |
00:02 | <Hixie> | if UAs don't hide this from pages, they're just gonna break. |
00:02 | <jamesr> | and i believe you lost it when switching the logged in user on some OSes |
00:02 | <Hixie> | people aren't going to be testing this kind of thing. |
00:03 | <jamesr> | Hixie: yes. but UAs can't hide a webgl lost context from the page |
00:03 | <Hixie> | why not? |
00:03 | <jamesr> | how could you? |
00:03 | <jamesr> | to restore state, you'd have to save all commands + all resources for all commands and replay them from the beginning |
00:03 | <Hixie> | remember the state of the context and fake it |
00:03 | <zewt> | there are a lot more system-specifics for *GL than with most web APIs, that you can't avoid without crippling things |
00:03 | <jamesr> | the state of the context is potentially huge |
00:03 | <Hixie> | well i guarantee the web author ain't gonna do it |
00:03 | <jamesr> | it's the GL state and then all resources referenced from that state |
00:04 | <jamesr> | game authors sometimes do it properly |
00:04 | <Hixie> | not on the web |
00:04 | <zewt> | jamesr: if you're able to save state immediately before losing the context, you could serialize textures and so on; but I don't think you get any chance to do that with a lot of system 3D APIs |
00:04 | <jamesr> | but i agree that most won't |
00:04 | <Hixie> | if native app game authors only _sometimes_ do it properly, we're in for a world of pain here |
00:04 | <Hixie> | we can't ship an api this broken |
00:04 | <jamesr> | zewt: yeah you don't get any notification that the context is about to go away |
00:04 | <zewt> | webgl is already shipping :) |
00:04 | <jamesr> | Hixie: we did, heh |
00:04 | <jamesr> | thankfully nearly all XP users are currently blacklisted |
00:04 | <Hixie> | i predict doom for that api then |
00:05 | <Hixie> | mind you the ridiculous platform-specific-endianess thing pretty much already guaranteed doom too |
00:05 | <zewt> | i'm here late in the game but trying to do what little I can to reduce the chances of doom :) |
00:05 | Hixie | is unimpressed by webgl :-P |
00:05 | <jcranmer> | replace it with webmagic |
00:06 | <jcranmer> | which automatically figures out the right thing to do at every API invocation |
00:06 | <jcranmer> | and shoots the original developer if it can't |
00:06 | <jamesr> | webgl is definitely a different philosophy from most web apis |
00:07 | <zewt> | most web APIs aren't seriously hardware-bound, so they can get away with "make sure everyone can do the same thing"; if you did that with a 3d API you'd cripple it |
00:07 | <zewt> | that doesn't mean they shouldn't do everything they can to avoid accidentally tripping over that, though |
00:08 | <zewt> | for example, by making sure if you use any optional features, you explicitly enable them first |
00:08 | <zewt> | which they don't do at all |
00:08 | <jamesr> | they did for opengl extensions |
00:08 | <jamesr> | you have to turn them on and before you do they aren't available at all |
00:08 | <jamesr> | (shaders won't compile with them, etc) |
00:08 | <Hixie> | jamesr: yes, the different philosophy is the problem :-P |
00:08 | <zewt> | yeah but I'm talking about the basic stuff: MAX_TEXTURE_SIZE, etc |
00:09 | <jamesr> | ah yeah, they didn't define a required baseline for all of those |
00:09 | <jamesr> | i think the texture fetch count is a nastier one |
00:09 | <zewt> | i've already been bitten in the face by MAX_VERTEX_TEXTURE_IMAGE_UNITS, starting to implement something only to find that MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0 everywhere |
00:09 | <jamesr> | it's a number that you have to query. it's 0 most places |
00:09 | <jamesr> | heh yeah |
00:09 | <jamesr> | that one kind of blows |
00:10 | <zewt> | it's particularly nasty because the spec *specifically* says "everyone must support this"--but the "(but the max might be 0)" is implicit |
00:10 | <zewt> | great, everyone must support no fewer than 0 of something |
00:11 | <zewt> | there should be a table of minimums for every one of those variables, and you should have to explicitly set them higher if you want to use more |
00:11 | <zewt> | so at least if you're writing code that won't run everywhere, you know it |
00:12 | <zewt> | ... i'd suggest this on webgl-pub but it feels like too radical a change from webgl's design for it to even be worth suggesting |
00:21 | <zewt> | heh, i bet you could improve compatibility by always causing contexts to be lost if a tab is unfocused for more than a couple minutes--a lot more people would notice and implement webglcontextlost that way (unfortunately, it would also reduce net UA quality) |
00:34 | <Philip`> | zewt: Hmm, 0 everywhere? |
00:34 | <Philip`> | http://feedback.wildfiregames.com/report/opengl/feature/GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB seems to indicate it's typically non-zero |
00:34 | <Philip`> | at least in raw OpenGL |
00:35 | <zewt> | Philip`: https://groups.google.com/group/angleproject/browse_thread/thread/fbf08f0ab51ff26d |
00:36 | <zewt> | is the problem in practice |
00:37 | <Philip`> | Ah |
00:37 | <zewt> | it surprised me, since I'm sure my hardware supports it--if it was something advanced like trying to use 8 texture samplers I'd have checked earlier |
00:38 | <wilhelm> | Hixie: In chapter 7.5.2, "Custom scheme and content handlers", under the protocol argument, it says "Note: This feature is not intended to be used with non-standard protocols". What are non-standard protocols in this context? |
00:39 | <Hixie> | myprot: |
00:39 | <Hixie> | anything not registered with IANA |
00:39 | <wilhelm> | OK. So everything in the first table here, but nothing from the second? http://en.wikipedia.org/wiki/URI_scheme |
00:40 | <Hixie> | everything except those that are security issues like http: |
00:40 | <Hixie> | otherwise yes |
00:40 | <Hixie> | however, it is my belief that we should move away from IANA here |
00:40 | <Hixie> | and instead use something like wikipedia or some other wiki to register protocols |
00:40 | <Hixie> | which would make this mostly moot |
00:40 | <jamesr> | zewt: i think it's worth suggesting at least |
00:41 | <wilhelm> | Indeed. But then I presume we want a whitelist here. |
00:41 | <jamesr> | i'm not a true "webgl people" (have really no opengl background) but i'd like stuff to work |
00:42 | <zewt> | jamesr: i might, but will let the current stuff settle a bit |
00:42 | <Hixie> | wilhelm: why not a black list? |
00:42 | <jamesr> | earlier the better the odds of success are |
00:42 | <jamesr> | as more content gets out there it'll be harder to change |
00:42 | <Hixie> | wilhelm: i mean, in principle i agree that whitelists are better, but here you know what the dangerous ones are, they're the ones you implement. |
00:43 | <jcranmer> | Hixie: I can see some issues with blacklisting non-official URIs |
00:43 | <jcranmer> | particularly some well-known real-time-chat-related ones |
00:43 | <wilhelm> | That would allow the non-standard protocols – but that might not be a problem. |
00:43 | <Hixie> | what issues? |
00:43 | <jcranmer> | (aim, irc, skype) |
00:43 | <Hixie> | wilhelm: the UA should allow non-standard protocols |
00:43 | <wilhelm> | Noted. |
00:44 | <Hixie> | wilhelm: realistically, given how hard it is to register protocols, the majority of them will be unregistered. that's why i want to make it easier to register protocols. |
00:44 | <jcranmer> | I can imagine, e.g., a web-irc interface wanting to register IRC links |
00:44 | <Hixie> | that seems reasonable |
00:44 | <Hixie> | where's the problem? |
00:45 | <wilhelm> | If we have a blacklist of the scary stuff, there isn't one. (If we can make a definite list of scary stuff. :) |
00:45 | <jcranmer> | well, irc:// isn't a IANA-registered protocol, at least according to WP |
00:45 | <Hixie> | jcranmer: so? |
00:46 | <Hixie> | oh, i see what you're saying |
00:46 | <jcranmer> | well, if I didn't misread the earlier discussion |
00:46 | <Hixie> | i misunderstood, sorry |
00:46 | <jcranmer> | misunderstanding is very plausible |
00:46 | <Hixie> | agreed that we should not blacklist the unregistered ones (or whitelist the registered ones) |
00:46 | <jcranmer> | put another way |
00:46 | <Hixie> | only blacklist the ones the UA implements |
00:46 | <Hixie> | (and doesn't want to allow overriding of) |
00:46 | <jcranmer> | I expect that the primary use of registering oneself as a URI handler is will be to support uncommon protocols |
00:48 | <jcranmer> | mailto, news, nntp, and possibly tel or geo are the only official protocols on WP I can see someone feasibly wishing to handle |
00:49 | <jcranmer> | and even then, mailto is probably the only one which would see widespread adoption |
00:49 | <wilhelm> | Hixie: A related issue – should we aim for a blacklist or whitelist for the mimeType argument? Mozilla documentation indicates that they only whitelist a few types. (Our blacklist would have to be very long if we had one – there's plenty of MIME-types used internally that, if overruled, would break stuff fundamentally.) |
00:51 | <wilhelm> | jcranmer: Of those already supported by UAs? Probably. Stuff like spotify: (a vendor-specific scheme for a music streaming service) is very common in Europe, though. Although that might be intercepted at a different level. |
00:52 | <jcranmer> | my point is that I expect that the largest usage is going to be for unofficial ones |
00:52 | <wilhelm> | I wouldn't be surprised. |
00:53 | <jcranmer> | I might argue that most people aren't going to bother going through any registration process |
00:54 | <Lachy> | defining and registering a URI scheme is so unbelievably painful |
00:55 | <Lachy> | just look at the hassle I've been going through trying to get a spec written and approved by the IETF for the about: URI scheme |
00:55 | <jcranmer> | the most most people will go is plopping a brief syntax page on a blog |
00:55 | <jcranmer> | or perhaps a dedicated page squirreled away deep in the guts of some site somewhere |
00:56 | <Hixie> | wilhelm: the mime type list has to be a blacklist, the whole point is to allow arbitrary unknown (to us) types to be supported |
00:56 | <Hixie> | Lachy: yeah we really need to do something about that |
00:56 | <wilhelm> | Hixie: That makes sense. We'll just have to be very, very careful, then. |
00:56 | <Hixie> | wilhelm: yeah :-/ |
00:56 | <jcranmer> | I see what you mean about a mime-type blacklist |
00:57 | <jcranmer> | but, security wise, that makes you reactive instead of proactive |
00:58 | <Lachy> | Hixie, I'm working on it. Another editor volunteered to help with the spec, which encouraged me to actually spend some time on it |
00:59 | <Hixie> | AryehGregor: btw, the whatwg spec license isn't the MIT license, it's a custom license with much the same effects as MIT (but written less well) |
00:59 | <Lachy> | they actually tried to get the spec to require an IANA registry for about: URIs, to which I've said no |
00:59 | <Hixie> | Lachy: i meant fix the registry problem, not about: specifically, but glad to hear about: is moving forward |
01:00 | <Hixie> | AryehGregor: also, google doesn't own the copyright on the whatwg html spec, apple, mozilla, and opera do |
01:00 | <Hixie> | AryehGregor: the rest of your points stand though |
01:01 | <jcranmer> | Lachy: you put the about:mozilla easter egg in an RFC draft ‽ |
01:02 | <Lachy> | Hixie, why don't you get the WHATWG Members to agree to change the spec's licence to MIT, BSD or CC0? |
01:02 | <Lachy> | jcranmer, yes, as an example. Why? |
01:03 | <jcranmer> | it just seems... wrong |
01:03 | <Lachy> | why? |
01:03 | <wilhelm> | Hixie: And my third, and final question tonight – should there be any restrictions on the content in the title argument? Our prototype UI and prototype storage format aren't particularly happy about \n or very long strings, for example. (I suppose we're free to discard the parts of the string we don't like.) |
01:03 | <Lachy> | it's one of the most well known easter eggs, and is relevant to the draft. |
01:03 | wilhelm | notices “might use”. |
01:04 | <jcranmer> | I guess it seems to kind of defeat the purpose of easter eggs |
01:04 | <jcranmer> | I'm not exactly objecting to it |
01:04 | <Lachy> | wilhelm, just replace invalid characters with U+FFFD (Replacement Char) and Base64 encode the string. That should prevent any unwanted characters sneaking into the ini file |
01:05 | <Lachy> | jcranmer, oh, so you want it to remain a "secret" :-) |
01:05 | <wilhelm> | If we need to store that part at all… |
01:06 | <jcranmer> | well, an RFC ~= a specification, and mentioning easter eggs in specifications seems wrong |
01:06 | <jcranmer> | well, more objectionable than, say, putting it on Wikipedia |
01:09 | <Lachy> | btw, the latest editors' draft is here if you would like to review it. https://github.com/josephholsten/about-uri-scheme/raw/master/draft-holsten-about-uri-scheme-07.txt |
01:09 | <Lachy> | most significant changes are in section 5 |
01:09 | <Hixie> | Lachy: what problem would that solve, and is that problem costing more than it would cost me to try to herd the cats in question towards making a decision? :-) |
01:10 | <Hixie> | wilhelm: you can massage the string as you wish |
01:10 | <Hixie> | wilhelm: no restrictions in terms of throwing exceptions or whatnot as far as i recall, though |
01:10 | <Lachy> | Hixie, I'm not sure what you're referring to? |
01:11 | <Lachy> | oh, you mean the licence question? |
01:11 | <Hixie> | yeah |
01:11 | <Lachy> | (I forgot I asked) |
01:11 | <wilhelm> | Hixie: Got it. Thanks. |
01:11 | <Hixie> | Lachy: i shouldn'ta replied then :-P |
01:12 | <hober> | Lachy: what list do the about: discussions happen on? |
01:14 | <Lachy> | Hixie, it would make the licence consistent with that which we're asking the W3C to use, and by avoiding a custom licence, it reduces licence proliferation a little bit |
01:15 | <Lachy> | hober, unfortunately, all the comments I've received since the Last Call process began aren't being archvied. They're being CC'd just to the people involved with the discussion :-( |
01:16 | <Lachy> | I don't know why there is no mailing list. The draft-holsten-about-uri-scheme at tools.ietf.org address they're posting to doesn't seem to have an archive. |
01:16 | <wilhelm> | Hixie: (Stating clearly in the spec that arbitrary unknown URI schemes and MIME-types are to be supported might lessen the confusion for the next implementor that comes along. I voted in favour of a MIME type white list for our implementation earlier today, in fear of security implicatons. :) |
01:16 | <zewt> | is there any precedent (outside of WebGL) where merely registering an event handler (and not calling preventDefault from it) has side-effects? |
01:17 | <Hixie> | Lachy: yeah i don't think that benefit is worth it. But feel free to reach out to the charter members and try to convince them yourself if you think it is. :-) |
01:17 | <Hixie> | Lachy: i would certainly support your request |
01:17 | <Lachy> | Hixie, if the W3C did adopt MIT/BSD/CC0, would you think it's more worth making it consistent then? |
01:18 | <Hixie> | i would at least suggest it. it'd probably be easier to convince them in that kind of situation, too. |
01:18 | <Lachy> | ok |
01:18 | <Hixie> | wilhelm: can you file a bug or send mail on it? |
01:18 | <Hixie> | wilhelm: (feel free to use the bug reporting widget, that's sufficient) |
01:18 | <Hixie> | wilhelm: (and trivial) |
01:18 | <wilhelm> | Hixie: Sure. |
01:18 | <Hixie> | thanks |
01:19 | <zewt> | (webgl has side-effects from registering webglcontextrestored, which seems very weird; wondering if I'm able to say "nothing else anywhere does this") |
01:19 | <Hixie> | registering webglcontextrestored? |
01:20 | <Hixie> | you mean calling addEventListener()? |
01:20 | <Lachy> | zewt, what side effects? |
01:20 | <zewt> | webgl only automatically restores contexts if at least one webglcontextrestored event listener is registered |
01:20 | <Hixie> | that's totally bogus |
01:20 | <zewt> | that's the argument i'm about to make, i just want to double-check before I claim nothing else anywhere does it :) |
01:20 | <Lachy> | nothing else I'm aware of does that. |
01:33 | <Hixie> | wow |
01:33 | <Hixie> | the chairs don't think that "HTML is a media-independent semantic markup language" ??? |
01:33 | <jamesr> | what is it? |
01:34 | <Hixie> | they don't sa'y |
01:35 | <jamesr> | well i'm sure it is a useful and productive distinction |
01:36 | <jamesr> | zewt: if you don't have such an event listener registered is the behavior observable? |
01:36 | <jamesr> | zewt: if the context is restored but no JS runs then the context will still be just as dead as it was when it was still lost... |
01:41 | <zewt> | you can tell if a context is lost/restored without any events, using isContextLost (or just by calling any method; if the context is lost, nothing works) |
01:41 | <zewt> | eg. you could (as a dumb, contrived example) check for a lost or restored context in a timer |
01:42 | <zewt> | if you don't do canvas.addEventListener("webglcontextrestored", function(e) { }, false), it's never restored |
01:43 | <jamesr> | true. i think the thinking was that in general once the context is lost and restored you have to do a decent bit of work to try to reestablish the GL state before the context is useful at all |
01:43 | <jamesr> | so if a page isn't going to even attempt to restore context, there's not much point in doing work to try to restore it |
01:43 | <jamesr> | because the page is completely boned in the event of a lost context |
01:44 | <jamesr> | instead of depending on event registration maybe it should be an attribute on the context |
01:45 | <zewt> | i'm going to suggest that you have to preventDefault on webglcontextlost to indicate that you want it to be restored |
01:46 | <zewt> | eg. the default behavior of webglcontextlost is to prevent the context from being restored |
01:46 | <jamesr> | hm. might be a bit awkward for impls - you have to do some of C++ work to get the context restored before you can accept commands on it |
01:46 | <jamesr> | an |
01:46 | <jamesr> | ah wait, on loss |
01:46 | <jamesr> | not restore |
01:46 | <zewt> | all it is is a flag |
01:46 | <zewt> | right |
01:53 | <jamesr> | that'd be a breaking change for current content that correctly handles lost context |
01:53 | <jamesr> | (which is probably like 2 pages) |
01:53 | <jamesr> | but sounds reasonable i s'pose |
01:54 | <zewt> | if webgl guys are willing to change this stuff, i think it's worth it--everything related to events in webgl is sort of a mess |
01:55 | <zewt> | (if they're not, well, then they're not) |
07:05 | <hsivonen> | what version of the spec is generated with the "START epub" markers? |
07:10 | <othermaciej_> | a version published in epub format perhaps? |
07:12 | <hsivonen> | othermaciej_: the START epub directives affect what content is included |
07:12 | <othermaciej_> | it's a mystery to me |
07:12 | <hsivonen> | Hixie: X!<---->XX looks like a typo |
07:14 | <zewt> | i wonder how many people have mailed Edward so far with "please stop" |
08:28 | <Hixie> | hsivonen: nothing uses epub right now |
08:28 | <hsivonen> | Hixie: ok |
08:31 | <nessy> | Hixie, hsivonen: hmm… http://www.jedisaber.com/eBooks/Readers.asp |
08:34 | <Hixie> | hsivonen: fixed the typo, thanks |
14:46 | <AryehGregor> | Hixie, so when Google hired you to edit HTML5, they gave the copyright ownership away to Apple, Mozilla, and Opera? |
14:48 | <wilhelm> | AryehGregor: Not quite. Ian was an Opera employee editing the same spec initially. The copyright just never changed as he changed employers. (c: |
14:48 | <jgraham> | AryehGregor: Apple Mozilla and Opera already held the copyright. Presumably Google were happy for him to keep editing the document under those terms |
14:48 | <AryehGregor> | wilhelm, but legally, all the work he's done since he joined Google belongs to Google unless they explicitly transferred it in writing. |
14:49 | <wilhelm> | I'll leave it to the lawyers to determine how that works on a derivative work. (I have no idea. :) |
14:50 | <AryehGregor> | The general rule with derivative works is that the rights-holders to both the original work and the modifications have exclusive rights, which means you can't do anything with it (redistribute, etc.) without their joint permission. |
14:51 | <AryehGregor> | Or put another way, if you redistribute it etc. without permission, you infringe on the copyright of both parties. |
14:51 | <AryehGregor> | At least that's my understanding. |
14:52 | <gsnedders> | AryehGregor: Another question is whether Google owns all of Hixie's work or not |
14:52 | <AryehGregor> | gsnedders, why wouldn't they? He's a regular employee creating it as part of his job duties. |
14:53 | <AryehGregor> | Unless Google agreed otherwise in writing, they own the copyright to anything he creates as part of his duties as an employee. |
14:53 | <gsnedders> | AryehGregor: I don't know about US law. Certainly here, and I think everywhere in the EU, it has to be explicitly stated in the contract. |
14:53 | <AryehGregor> | (Whereas for instance, I'm a contractor, so Google only owns my job work because they stipulated that) |
14:54 | <gsnedders> | (Well, not in the contract, but somewhere where the author of the work has agreed to the transfer) |
14:57 | <AryehGregor> | gsnedders, for US law, see: http://en.wikipedia.org/wiki/Work_for_hire |
15:44 | <bga_> | [trolling] https://bugzilla.mozilla.org/show_bug.cgi?id=649408 |
16:11 | <AryehGregor> | You know, every time I see IE9 say "aryeh.name is not responding" and get annoyed because it actually means "IE is broken and can't run this webpage properly even though it works fine in every other browser", I realize that Windows application developers must feel exactly the same way about "foo.exe is not responding". |
16:12 | <AryehGregor> | "What do you mean, my program isn't responding? It's doing just fine, but your Win32 API call changed behavior between XP and Vista and so you made it go into an infinite loop!" |
16:13 | <hsivonen> | AryehGregor: you are having the Native experience! |
16:14 | <AryehGregor> | hsivonen, no, this is only IE9. |
16:14 | <AryehGregor> | I'd have to use IE10 if I wanted Native HTML5. |
16:14 | <hsivonen> | AryehGregor: oh. I see |
16:14 | <Philip`> | I thought IE9 was already native, and IE10 was more nativer |
16:15 | <Philip`> | (except IE10 on ARM which presumably isn't native) |
16:16 | <Philip`> | (unless you're allowed to port your application to multiple architectures with it still being native, you're just not allowed to port to any other OS) |
16:16 | <AryehGregor> | Oh, I see. |
16:17 | <AryehGregor> | My code was making the extremely silly assumption that if node.parentNode is not null, then node == node.parentNode.childNodes[i] for some i >= 0. |
16:17 | <AryehGregor> | Naturally, in Native HTML5 (or the precursor thereto) such naive assumptions do not hold. |
16:17 | <richardschwerdtf> | I would doubt Ian would allow Google to own what he has done, especially if he started the work prior to coming to google. |
16:18 | <AryehGregor> | So my code var ret = 0; while (node != node.parentNode.childNodes[ret]) ret++; has gotten up to ret == 2483917 in IE9. |
16:18 | <AryehGregor> | Well, at least there's a not-completely-horrible built-in debugger to let me figure this stuff out. |
16:18 | <AryehGregor> | richardschwerdtf, you mean you assume that Google would be willing to let him hold copyright to the work he does for them? |
16:19 | <Philip`> | Maybe it's actually in childNodes[2.5], wedged between two other nodes? |
16:19 | <Philip`> | Could be a performance optimisation to avoid having to shuffle the other nodes around when inserting new ones |
16:19 | <AryehGregor> | It's owned by Google unless they say otherwise, as long as he's their regular employee. |
16:19 | <AryehGregor> | Philip`, that's a very good idea. I'll be sure to check. |
16:19 | <richardschwerdtf> | No. I don't think Google paid attention to it. They are not like IBM or Apple |
16:19 | <Philip`> | Just enumerate all 64-bit floating point values |
16:20 | <richardschwerdtf> | or Microsoft |
16:20 | <bfrohs> | Philip`, well, any specs Ian works on only helps Google with every single web application they work on, so that would be a small price to pay to have progress being made in HTML |
16:20 | <zewt> | any competent company, large or small, pays attention to who owns the stuff they're paying people to make |
16:21 | <richardschwerdtf> | I think it depends on how you define competent. Google may find this completely acceptable. |
16:21 | <AryehGregor> | richardschwerdtf, 1) If they didn't pay attention to it, they own the copyright by default under US law. 2) It's universally accepted that software companies get the copyright to their employees' work; otherwise they couldn't function, unless they do only open-source stuff and never want to keep anything proprietary. 3) In my contract with Google, I was explicitly told that the copyright on all my specification work was to be held by Google. |
16:21 | Philip` | wonders if you could use typed arrays to implement float enumeration |
16:21 | <richardschwerdtf> | yes, but what if the work started prior to joining the company? |
16:21 | <Philip`> | (by incrementing the integer representation of a number, then reading back its float representation) |
16:21 | <AryehGregor> | They'd only hold copyright to the things he did on company time, obviously. |
16:22 | <richardschwerdtf> | from what I have seen of Ian I would think he would want to be able to control his work on HTML whether he were working at Google or not |
16:22 | <zewt> | AryehGregor: (rather, "while employed at Google"; it doesn't generally matter to work-for-hire whether you're doing stuff on company time or not) |
16:23 | <gsnedders> | AryehGregor: I had gotten the impresssion it wasn't unusual in the US for software companies to own all code written by employees, regardless of whether for work or not |
16:23 | <AryehGregor> | zewt, sure it does. If you're not doing it as part of your duties as an employee of the company, they don't hold the copyright. If I write a novel in my spare time, my employer doesn't get the copyright. |
16:23 | <richardschwerdtf> | Imagine, you have a falling out. with your employer on HTML and wanted to continue to edit the spec. elsewhere. |
16:24 | <AryehGregor> | richardschwerdtf, also, you know, the specification says that the copyright is held by Apple, Mozilla, and Opera. And Ian himself said that in this channel just today. |
16:24 | <AryehGregor> | So, you know, this isn't really a case where we need to do personality analysis on anyone. |
16:24 | <zewt> | AryehGregor: if they're paying him to work on specs, then this is work on specs; a major point of the concept of "work for hire" is making it so people can't be paid to create something, then claim after the fact that they did it on their own time |
16:24 | <richardschwerdtf> | I am sure Google and Microsoft would just love their omission |
16:24 | <jgraham> | It is not beyond the realm of possibility that Hixie insisted on this as a clause in his contract |
16:24 | <AryehGregor> | A "work made for hire" is— (1) a work prepared by an employee within the scope of his or her employment; or (2) a work specially ordered or commissioned for use as a contribution to a collective work, as a part of a motion picture or other audiovisual work, as a translation, as a supplementary work, as a compilation, as an instructional text, as a test, as answer material for a test, or as an atlas, if the parties expressly agree in a writt |
16:24 | <AryehGregor> | en instrument signed by them that the work shall be considered a work made for hire. (17 U.S.C. § 101) |
16:25 | <AryehGregor> | "within the scope of his or her employment" |
16:25 | <AryehGregor> | jgraham, and then he still left the spec saying that it's copyrighted by Apple, Mozilla, and Opera? |
16:25 | <AryehGregor> | (and the W3C) |
16:25 | <AryehGregor> | (for the W3C version) |
16:25 | <Philip`> | AryehGregor: From what I've heard it's common for employment contracts to say they own all software you write even if it's on your own time, and you have to negotiate exceptions if you want to do things that won't compete with the employer |
16:25 | <zewt> | right, which means "the stuff you do for your company" (eg. "write specs"), not "stuff you do 9-5 while in the office" |
16:25 | <richardschwerdtf> | yes. like I said I am sure Ian covered his bases. |
16:25 | <AryehGregor> | (I don't get how multiple parties are independently claiming they hold the copyright) |
16:26 | <jcranmer> | release it public domain! |
16:26 | <AryehGregor> | Philip`, I wouldn't be surprised if some contracts stipulated that, yeah. |
16:26 | <jcranmer> | ;-) |
16:26 | <jgraham> | I mean insisted that work on HTML5 get realeased under the existing copyright terms |
16:26 | <jgraham> | But I don't really know anything about this stuff |
16:26 | <zewt> | (FWIW, I don't really think there's any problem here--I have no concerns about Google playing contract games to try to usurp the HTML spec copyright--so in my opinion this is all academic) |
16:26 | <AryehGregor> | richardschwerdtf, okay, have you noticed where the spec says "© Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA."? Could you please explain this text according to the theory that Ian holds the copyright on his own work? |
16:27 | <AryehGregor> | It's academic in the case of HTML. The spec is released under a permissive license anyway. |
16:27 | <AryehGregor> | It doesn't matter who owns it. The only benefit the owner gets is they don't have to give attribution to themselves, or whatever. |
16:27 | <jgraham> | AryehGregor: Doesn't W3C claim copyright on the W3C spec? I don't see how either is compatible with the idea that Google (or Hixie) holds copyright on Hixie's contributions |
16:28 | <AryehGregor> | jgraham, yeah, I'm confused by that. |
16:28 | <richardschwerdtf> | @AryeGregor: I saw that. Ian has claimed he owns copyright on W3C forums if I recall |
16:28 | <Philip`> | Surely Google's evil plan is to wait until Microsoft fully implements Native HTML5 and then reveal that actually they have copyright ownership over all of HTML5 due to some technicality and then sue Microsoft for billions of dollars |
16:28 | <richardschwerdtf> | Google is not on the copyright list |
16:28 | <Philip`> | That's the only reason they're funding this work on HTML5 at all |
16:28 | <Philip`> | richardschwerdtf: That's how cunningly they're hiding their conspiracy |
16:29 | <AryehGregor> | richardschwerdtf, so on the one hand we have your recollection. On the other hand we have the text in the actual spec (which Ian wrote), plus also: [110412 20:05:24] <Hixie> AryehGregor: also, google doesn't own the copyright on the whatwg html spec, apple, mozilla, and opera do |
16:29 | <jgraham> | Philip`: If it were Oracle… |
16:29 | <AryehGregor> | That was barely more than twelve hours ago. |
16:29 | <richardschwerdtf> | so, who owns copyright on the WhatWG spec? |
16:29 | <AryehGregor> | . . . |
16:29 | <AryehGregor> | Okay, seriously, what? |
16:31 | <richardschwerdtf> | so, everyone but google has copyright on the spec. hmmm. sounds like they don't have rights to it |
16:31 | <AryehGregor> | It's permissively licensed. |
16:32 | <AryehGregor> | Anyone can use it however they want. |
16:32 | <richardschwerdtf> | people can create derivative works |
16:32 | <jgraham> | Right, afaict the only rights the copyright holders have is to change the license for future revisions |
16:32 | <AryehGregor> | Also, looks like Windows 7 hasn't gotten rid of that "If you don't say otherwise within ten minutes I'm going to restart the computer and destroy all your work" feature. |
16:32 | <AryehGregor> | Go Microsoft. |
16:32 | <richardschwerdtf> | do the derivative works have to have apple, mozilla, and opera copyright transferal? |
16:32 | <Philip`> | AryehGregor: It's for your own good |
16:33 | <zewt> | hey, they need to install those updates to prevent data loss |
16:33 | <richardschwerdtf> | I am not sure how that works? |
16:33 | <TabAtkins> | AryehGregor: On my comp, at least, W7 doesnt' auto-restart. It just throws up a prompt that is content to wait around forever. |
16:33 | <AryehGregor> | richardschwerdtf, no. It's a permissive license. You can do anything you want with derivative works as long as you give attribution. |
16:33 | <AryehGregor> | TabAtkins, I just saw one with a countdown. |
16:33 | <richardschwerdtf> | interesting |
16:33 | <richardschwerdtf> | So, w3c could do that |
16:34 | <zewt> | my favorite is if csrss crashes in XP, and it pops up a dialog saying "error, rebooting in 30 seconds" |
16:34 | <zewt> | and there's *no way* to say "hold on give me a second here" |
16:34 | <zewt> | (yeah, csrss crashing is *bad*, but come on) |
16:34 | <AryehGregor> | Oh, now my code is just crashing the tab in IE instead of looping infinitely. That's progress. |
16:35 | <AryehGregor> | Seriously, what the heck is so broken with IE here? |
16:36 | <jgraham> | csrss? |
16:36 | <AryehGregor> | I guess it's to Microsoft's credit that I even ask the question. In IE before IE9, it wouldn't have even occurred to me to be surprised. |
16:36 | <zewt> | system service process |
16:36 | <jgraham> | richardschwerdtf: Sure, W3C could fork HTML5 is they want |
16:37 | <richardschwerdtf> | ok |
16:37 | <jgraham> | I mean they already have one copy with their copyright that is different to the W3C copy so they wouldn't even rely on the WHATWG license |
16:38 | <richardschwerdtf> | Interesting |
16:39 | <jgraham> | But if the plan was "fork and change the editor" I expect there would be significant difficulty in getting people to pay attention to the fork |
16:39 | <hsivonen> | jgraham: look for "non-exclusive" in http://lists.w3.org/Archives/Public/public-html/2007Apr/0429.html |
16:39 | <bfrohs> | Aye, especially with three browser vendors backing the WHATWG version, and the editor being from the fourth vendor :P |
16:40 | <jgraham> | hsivonen: I still don't really understand |
16:46 | jgraham | worries that he is not sufficiently grown up to have a proper conversation on, well pretty much any subject at all, given how amused he is by the headline "Soap giants in price fixing fine" |
16:46 | <jgraham> | I mean it's not even very funny |
16:46 | <TabAtkins> | It is acceptable for people of any age to be amused by headline-ese. |
16:49 | <zewt> | of course, today we have bad URL snippet generators, leading to such interesting things as "banksy-billboard-cbs-the-light-group-academy-awards-graffitti-bomb-sunset-gas-station-norm-76-mickey-mouse-minnie-mouse-las-vegas" |
17:55 | <hsivonen> | for native HTML5: https://bug649408.bugzilla.mozilla.org/attachment.cgi?id=525702 |
18:09 | bfrohs | really hates that file inputs aren't styleable |
18:10 | <zewt> | ff4/chrome's HTMLInputElement.click fixes that, though |
18:11 | <zewt> | except i havn't been able to figure out a way to feature test that... |
18:12 | <bfrohs> | Not sure I would call that a 'fix' :P |
18:13 | <AryehGregor> | What's wrong with: "click" in document.createElement("input") |
18:13 | <zewt> | the method exists in browsers where it doesn't do anything, iirc |
18:14 | <AryehGregor> | Obnoxious. |
18:14 | <bfrohs> | and the fact that you have to use javascript to use an 'official' hack to get around the style issue... which has always been possible with label. |
18:14 | <zewt> | well, styling for file inputs varies a lot, too |
18:16 | <bfrohs> | input[type="file"]:button and input[type="file"]:input (or equiv) would be a beautiful thing |
18:17 | <zewt> | yeah, but in practice with so many browsers having hideous file widgets (FF's is *really* bad) usually I'd sooner just make my own button |
18:18 | <zewt> | but sure, would be nice to have some control over that |
18:18 | <bfrohs> | Yeah, but at least some day things would be easy |
19:48 | <Rik`> | hsivonen: the new Perian version provides Quicktime components for WebM |
19:48 | <Rik`> | sadly, looks like Safari is not using them |
19:51 | <Rik`> | maybe I need to restart for Safari to discover those new Quicktime components |
20:04 | <eric_carlson> | Rik`: file a bug if Safari doesn't use installed QuickTime component - problems are much more likely to be fixed if you tell someone about them |
20:05 | <Rik`> | eric_carlson: that's what a Perian guy told me on twitter |
20:05 | <Rik`> | I just can't reboot right now |
20:06 | <eric_carlson> | Rik`: OK. Can you cc me if you do write up a bug? |
20:08 | <Rik`> | eric_carlson: in the perian bug tracker or radar ? |
20:08 | <eric_carlson> | Rik`: webkit bug and/or Radar |
20:09 | <eric_carlson> | Rik`: eric.carlson⊙ac |
20:16 | <TabAtkins> | Every song by The Ink Spots reuses the same opening, as far as I can tell. |
20:16 | TabAtkins | is running a 50's jazz/r&b station on pandora. |
20:19 | <yijun> | hello, there |
21:27 | <zewt> | Hixie: re: exposing blacklisted WebGL by treating it as not a supported contextId; it may work for them, but they need a way to give an error message to the application (eg. "Blacklisted video card" or "WebGL not supported in Windows 3.1"); could use any thoughts of how to do that with getContext |
22:18 | <Hixie> | zewt: just have the UA tell the user, why does the page need to know? |
22:18 | <Hixie> | zewt: it would be bad to tell the page too much information, hostile pages could then use it to know what kind of attack to try |
22:22 | <zewt> | i'll pass that along, though there are probably cases where you'd prefer the page not say anything to the user, so you can fall back to another method cleanly |
22:22 | <zewt> | but I guess if that's wanted it can just be a getContext parameter |
22:32 | <zewt> | though, WebGL specifying that canvas.getContext("webgl", {silentFailures: true}); prevents those notifications is hairy, since that would require their spec monkey-patch getContext's spec--not nice |
22:33 | <zewt> | (for example, if you're only opening webgl to run some kind of feature detection, you probably don't want the UI notifying the user if it fails) |
22:37 | <jamesr> | economist.com attempts (or used to attempt) to initialize a webgl context as some sort of feature detection |
22:37 | <jamesr> | and then doesn't use the context ever |
22:37 | <jamesr> | they are/were using some sort of fallback library that offered to feature test a bajillion things and then put the results into a big dictionary |
22:38 | <jamesr> | and they asked it to check webgl |
22:38 | <zewt> | that seems reasonable--not ideal, since in principle each webgl context could have different features, but shouldn't pop up ui |
22:38 | <jamesr> | i think they set the library up to feature test everything it was capable of, but then never actually checked 99% of the features they testd for |
22:39 | <zewt> | (contrived example, gpu blacklisting might also restrict a certain GPU to 2 texture units to work around driver bugs) |
22:40 | <jamesr> | it's not super reasonable because the page didn't use webgl in any way |
22:40 | <jamesr> | so the page load got a lot slower if the browser supported webgl (context initialization is not cheap) for no user benefit |
22:40 | <zewt> | right, it's not an ideal thing for pages to do |
22:44 | <Hixie> | context initialization shouldn't be sync anyway |
22:44 | <jamesr> | indeed |
22:45 | <zewt> | well, the "simplest" solution to all this would be to make getContext return a tiny factory with its own API for creating the real WebGL context |
22:45 | <zewt> | that'd be totally incompatible, though |
22:45 | <Hixie> | that would be lame |
22:46 | <zewt> | why? there's no async version of getContext |
22:46 | <zewt> | unless you want to add one, heh |
22:46 | <jamesr> | i think it'd be easier for getContext("webgl") to return a context in the 'initializing' state and then fire an event when the context is ready to go |
22:46 | <Hixie> | right |
22:46 | <Hixie> | though frankly i'm not convinced we should be exposing the slowness of the hardware to js at all |
22:47 | <jamesr> | canvas.addEventListener("webglcontextready", domyshit); canvas.getContext("webgl", {async: true}); |
22:47 | <Hixie> | but that gets back to the thing about how maybe webgl is the wrong approach entirely, and that's not a battle i have the bandwidth for :-) |
22:47 | <Hixie> | {async:true} should be the default and only option |
22:47 | <Hixie> | c.f. XHR |
22:47 | <jamesr> | yeah |
22:48 | <jamesr> | i think the same is true for readPixels(), getIntegerv(), etc - all the long blocking calls |
22:49 | <jamesr> | but i haven't though that through fully |
22:49 | <jamesr> | been thinking about it with regards to that slow shader compilation thread |
22:49 | <zewt> | well, the same can happen with 2d canvases: since a complete <img> may not actually be decompressed, blitting an image to a canvas may take a long time (which has to be sync, at least if you eg. make a call to getImageData immediately after) |
22:50 | <zewt> | (browsers like to discard undisplayed images to save memory) |
22:50 | <Hixie> | drawImage() does nothing if the image isn't ready |
22:50 | <Hixie> | it doesn't block |
22:51 | <zewt> | the image is ready, it's just not decompressed in memory; as soon as you do anything with it, the browser decompresses it |
22:51 | <Hixie> | but yes, the 2d context is sync in many places, that's an unfortunate bug we haven't been able to fix |
22:51 | <Hixie> | it was inherited from apple's initial implementation |
22:51 | <zewt> | webgl inherits from opengl; everyone has their legacy, I guess :) |
22:54 | <jamesr> | we can't do much about 2d canvas at this point |
22:54 | <jamesr> | despite it being kind of bad in many places |
22:54 | <jamesr> | hopefully we can still fix webgl issues |
22:55 | <Hixie> | indeed |
22:55 | <zewt> | do you have any sense of whether there's any chance of making getContext async by default? it would be a totally breaking change, so I'd imagine not, but I don't know their compatibility philosophy at this stage |
22:55 | <zewt> | (if I were them, I'd say no, since losing momentum on people who have started using webgl already would be a hit for them) |
22:56 | <Hixie> | depends what you mean by async |
22:56 | <zewt> | <jamesr> canvas.addEventListener("webglcontextready", domyshit); canvas.getContext("webgl", {async: true}); |
22:56 | <Hixie> | i don't think we should do that |
22:56 | <Hixie> | i think we should just return an object that's initialising |
22:56 | <jamesr> | in that proposal it returns an object immediately |
22:56 | <jamesr> | right |
22:56 | <zewt> | how's that different from the above? |
22:56 | <jamesr> | and the webglcontextready tells you when the context is ready to receive draw commands |
22:56 | <jamesr> | you basically said what i said :) |
22:57 | <Hixie> | and it should act as if it was initialised until such time as the page does something that can tell if it really was initialised or not |
22:57 | <Hixie> | at which point it blocks |
22:57 | <zewt> | hmm |
22:57 | <jamesr> | if you issued draw calls on the context before it was ready you'd get an immediate exception |
22:57 | <Hixie> | much like how things like .offsetWidth and CSS work |
22:57 | <jamesr> | just like how lost contexts behave |
22:57 | <jamesr> | no, i don't think the implicit blocking is good |
22:57 | <Hixie> | jamesr: i don't think that's a good design either |
22:57 | <jamesr> | .offsetWidth's behavior is terrible for applications |
22:57 | <Hixie> | contexts should always work, imho |
22:58 | <jamesr> | it causes impossible to diagnose performance issues |
22:58 | <zewt> | jamesr: an advantage of implicit blocking is it's backwards-compatible, though |
22:58 | <Hixie> | imho we shouldn't expose hardware and OS limitations |
22:58 | <Hixie> | anyway |
22:58 | <Hixie> | not my problem :-P |
22:58 | <jamesr> | a disadvantage of implicit blocking is that it's terrible and slow |
22:58 | <Hixie> | i have enough problems to deal with as it is :-P |
23:01 | <zewt> | trying to only bug you where the problems intersect with getContext :P |
23:01 | <jamesr> | so i think getContext should return something immediately |
23:01 | <jamesr> | a |
23:01 | <jamesr> | and it should be up to WebGL to define how interactions with that context work |
23:03 | <zewt> | jamesr: the options at that point are 1: block when needed (ugly but backwards-compatible), 2: *always* return an initializing canvas, and queue an event to initialize it, so it's *guaranteed* that you can never use the context until webglcontextrestored (or whatever) is fired async |
23:03 | <jamesr> | {async: true} can be an indication to webgl that the context should start uninitialized and that it should fire an event when the context is ready to go, or another event if the context is never gonna come up |
23:03 | <jamesr> | zewt: yeah i prefer 2 |
23:03 | <zewt> | that is, even if the browser is able to return an already-initialized canvas, it must not |
23:04 | <jamesr> | well, only if it's the first call |
23:04 | <zewt> | right |
23:04 | <zewt> | (err, already-initialized context) |
23:04 | <jamesr> | subsequent calls get the primary context in whatever state its in |
23:04 | <jamesr> | so maybe they get a still-uninitialized context, maybe they get an initialized context, maybe they get a lost context |
23:04 | <jamesr> | but the first call creates and immediately returns an uninitialized context |
23:09 | <Hixie> | are any of the pro-<u> people who actually want <u> for semantic reasons and not presentational reasons here by any chance? (or are there no such people?) |
23:10 | <AryehGregor> | I think there are a couple of Chinese people who want it for semantic reasons. |
23:10 | <AryehGregor> | I'm pretty sure most of us want it for presentational reasons, though. |
23:10 | <Hixie> | i'm trying to apply this <u> CP but the semantic definition in the CP makes no sense (it mixes multiple unrelated things together) |
23:10 | <AryehGregor> | Hixie, I managed to work into the change details that it's just an example and you can make more or less whatever change you like as long as it makes <u> conforming. |
23:11 | <Hixie> | i guess i could just have it be defined as "the one presentational element in the language" |
23:11 | <Hixie> | but i can't really see why we would want to add presentational elements |
23:11 | <AryehGregor> | Or redefine <b> and <i> and <sup> and <sub> and . . . as presentational. :) |
23:11 | <Hixie> | that would be a retrograde step |
23:11 | <AryehGregor> | I'm aware you think that. :) |
23:12 | <Hixie> | i really don't understand this concept of wanting HTML to have presentational markup |
23:12 | <Hixie> | but anyway |
23:13 | Hixie | looks at the Decision to see if any sort of rationale can be determined from that |
23:13 | <Hixie> | it looks like the main rationale is "wysiwyg tools output it" |
23:13 | <Hixie> | so maybe that would be the definiton to use |
23:14 | <Hixie> | "represents text that was underlined in a WYSIWYG tool" |
23:14 | <othermaciej> | you could just start with the B definition: "The b element represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is boldened." |
23:14 | <othermaciej> | and replace the "such as" list |
23:14 | <othermaciej> | and the word "boldened" with "underlined" |
23:14 | <Hixie> | if <b> and <u> both have the same meaning, we should drop one of them. |
23:15 | <Hixie> | the normative part of the <b> definition is "a span of text to be stylistically offset from the normal prose without conveying any extra importance" |
23:15 | <Hixie> | it doesn't mention bold at all except in the non-normative list of examples |
23:15 | <othermaciej> | the <i> definition (skipping the "such as") is "The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose" |
23:15 | <kennyluck> | then what about "a span of text to be stylistically offset from the normal prose without conveying any document edit" |
23:16 | <othermaciej> | which seems like a superset of "stylistically offset from the normal props without conveying extra importance" |
23:16 | <Hixie> | othermaciej: right, supersets are common in HTML. e.g. <span> is a superset of all the phrasing elements. |
23:16 | <othermaciej> | so the spec already allows multiple different elements for different kinds of text stylistically offset from the normal prose |
23:17 | <othermaciej> | it seems like the only difference between b and i is that i may (but does not have to) indicate extra importance |
23:17 | <othermaciej> | though none of the listed examples indicate extra importance afaict |
23:17 | <Hixie> | i is a non-stylistic offset |
23:17 | <Hixie> | b is a stylistic offset |
23:18 | <Hixie> | the examples demonstrate this quite well, i think |
23:18 | <Hixie> | e.g. reading the <i> examples, they are all cases where you'd speak with a different voice (typically slightly slower), whereas the <b> examples you wouldn't read differently at all |
23:19 | <othermaciej> | so the key difference is whether the offset is stylistic? |
23:19 | <kennyluck> | Hixie, I don't agree with that, especially when <i> is used for technical terms. |
23:19 | <othermaciej> | you'd speak a ship name or taxonomic name in a different voice? |
23:19 | <Hixie> | right. <b> has more in common with <mark>: one is key words or passages that the author highlights, while the second is key words or passages highlighted by an editor. |
23:19 | <othermaciej> | I certainly haven't noticed sea captains or biologists doing that in speech |
23:20 | <AryehGregor> | I don't speak ship names or taxonomic terms in a different voice. |
23:20 | <AryehGregor> | Or loanwords, even if I'd italicize the loanword. |
23:20 | <gsnedders> | I do! |
23:20 | <Hixie> | othermaciej: for ship names and species names there's a pause before the name (same as book names with <cite>, actually). |
23:20 | <gsnedders> | I make them sound all impressive and stuff! |
23:20 | <othermaciej> | English typographic rules are unfortunately slightly ad-hoc |
23:20 | <othermaciej> | Hixie: you have unusual prosody, then |
23:20 | <Hixie> | that's possible |
23:21 | <othermaciej> | "The scientific name for the common house cat is <i>felix catus</i>." |
23:21 | <othermaciej> | er, "felis catus" |
23:21 | <othermaciej> | anyway |
23:21 | <othermaciej> | most people would not pause in that sentence, unless they were unfamiliar with the term, in which case it is a matter of confusion, not style |
23:21 | <Hixie> | i definitely speak that "felis catus" part differently. |
23:22 | <AryehGregor> | I'd say it differently in that specific sentence. |
23:22 | <AryehGregor> | But not because it's a taxonomic term. |
23:23 | <AryehGregor> | If I said "The common term for the United States is 'America'", I'd also pronounce "America" differently. |
23:23 | <Hixie> | yeah, quotes are similar in style |
23:23 | <AryehGregor> | Although actually, properly speaking, "America" should probably be italicized there. |
23:23 | <othermaciej> | because it's a copula? |
23:23 | <AryehGregor> | I dunno. |
23:24 | <AryehGregor> | What I'm very sure of is that the rules for italics in English are not tied to pronunciation, they're tied to various historical conventions that developed solely in writing. |
23:24 | <Hixie> | another way of thinking of the difference between <i> and <b> is that <i> is something that applies to the text, such that if you copied the sentence to another document you'd keep the same <i>s, whereas <b> is context-sensitive, so you might not keep the same <b>s and might in fact have different <b>s |
23:24 | <othermaciej> | "The frequency of red light is about 680 nanometers" |
23:24 | <AryehGregor> | My copy of Paradise Lost has all proper nouns italicized. Does anyone pronounce all proper nouns differently from other words? |
23:24 | <Hixie> | that wouldn't be <i> imho |
23:24 | <Hixie> | more <b> |
23:25 | <Hixie> | (but that's splitting hairs) |
23:25 | <othermaciej> | so the quasi-semantic uses of <u> sound similar to <i>, except that there is a different ad-hoc list of things where the relevant default typographical rule applies |
23:25 | <Hixie> | well the key difference is that the uses for <u> are virtually non-existent in comparison |
23:26 | <AryehGregor> | You realize that no one but you is actually going to consistently use <b> and <i> for the semantics you've defined, right? Everyone's just going to use them for bold and italics. |
23:26 | <AryehGregor> | Even standards aficionados. |
23:26 | <AryehGregor> | I'm not sure anyone but you actually understands the semantics you've defined for <b> or <i>. |
23:26 | <TabAtkins> | Hey, I used <i> for the correct purpose! (Actually, fantasai corrected me and made me use <i>.) |
23:26 | <Hixie> | nobody uses <cite> consistently either, doesn't mean there's no benefit to having clear definitions |
23:27 | <othermaciej> | in practice, <i> <b> and <u> will be inserted when the user of a WYSIWYG editor hits Cmd+I, Cmd+B or Cmd+U respectively |
23:27 | <Hixie> | what will be inserted when the user in a WYSIWYG editor drags an image to a specific position on the page? |
23:28 | <othermaciej> | <img>? |
23:28 | <Hixie> | what if the position is over another image? |
23:28 | <AryehGregor> | What does "over another image" mean? |
23:28 | <TabAtkins> | <img> with abspos? |
23:28 | <AryehGregor> | It will be inserted at wherever you drag it to. |
23:28 | <Hixie> | why don't we have html elements for abspos then? |
23:28 | <AryehGregor> | Probably it'll go before or after the existing one. |
23:28 | <othermaciej> | I haven't tested WYSIWYG editors that allow exact positioning control to see what they do |
23:29 | <AryehGregor> | Pretty sure it's not gonna be absolutely positioned. |
23:29 | <TabAtkins> | Because Aryeh isn't speccing something that requires absposing stuff? |
23:29 | <AryehGregor> | I'm currently speccing what browsers implement, or some approximation thereto. |
23:29 | <AryehGregor> | And they don't implement any such thing. |
23:29 | <othermaciej> | even though people think of bold, italic and underline presentationally, they often affect the meaning of the text in some way (even if not clearly expressed or even understood by the user) |
23:29 | <AryehGregor> | Generally, contenteditable stuff is meant to be sliced out and reused in other pages, so abspos wouldn't make sense unless you could guarantee the position relative to some non-statically-positioned container. |
23:30 | <Hixie> | and what about if the user draws a text box above another and says the first should flow to the second? should we have elements for positioned text flows? or columns? or any other presentational stuff? |
23:30 | <othermaciej> | exact positioning of images, generally not |
23:30 | <Hixie> | or what if the user says the underline should be dotted? |
23:30 | <AryehGregor> | Bold, italic, and underline *always* affect the meaning of the text in some way. Unless you're talking about some illiterate sign put up by someone who applies them at random. |
23:30 | <Hixie> | basically i'm saying i don't understand what is special about <u> |
23:30 | <AryehGregor> | Hixie, huh? What does "draws a text box above another" mean? |
23:30 | <Hixie> | AryehGregor: do you have Pages.app by any chance? |
23:30 | <TabAtkins> | AryehGregor: In a layout manager for a magazine, for example, or something similar. |
23:31 | <AryehGregor> | Hixie, virtually every WYSIWYG editor has a very prominent underline button. I don't even understand what these other things you're talking about are. |
23:31 | <AryehGregor> | Hixie, if that implies having Mac, then no. |
23:31 | <AryehGregor> | TabAtkins, that's a very atypical use-case compared to basic inline formatting. |
23:31 | <AryehGregor> | Zillions of blogs allow HTML-formatted comments, practically no one formats magazines using a web app. |
23:31 | <othermaciej> | if you think of producing a publication as a process where one person does the writing, and a different person does layout, bold/italic/underline are generally added by the writer, while many of the other things Hixie mentions would be done by the person in charge of layout |
23:31 | <Hixie> | in Pages, the ability to position text is more prominently displayed in the UI than the ability to underline text |
23:31 | <TabAtkins> | Huh? It's very typical in print publishing, which is getting closer and closer to being doable with high fidelity using web technologies. |
23:32 | <AryehGregor> | Print publishing is a very uncommon use-case, compared to marking up blog comments or forum posts. |
23:32 | <AryehGregor> | It's a specialty thing that almost no one will ever be involved in. |
23:32 | <Hixie> | we shouldn't be encouraging people to underline text on the web in those contexts anyway, since it's bad ui (clashes with links) |
23:32 | <TabAtkins> | Wait until Named Flows (a proposal from Adobe) get implemented. |
23:32 | <othermaciej> | most links on the web are not underlined by default these days |
23:33 | <othermaciej> | most that I see underline only on hover |
23:33 | <Hixie> | (pretty much everything i've described is either in css or has been proposed for css, fwiw) |
23:34 | <othermaciej> | but anyway, I don't want to debate |
23:34 | <AryehGregor> | It's still just not anywhere near as common as underlining. |
23:34 | <othermaciej> | was just trying to contribute ideas for a sensible definition |
23:34 | <othermaciej> | I must admit I do not fully grok the distinctions among the existing valid phrasing elements |
23:34 | <othermaciej> | so I am perhaps not the best person to make suggestions |
23:36 | <Hixie> | AryehGregor: i don't really see much underlining around the web, personally, except for links |
23:36 | <Hixie> | AryehGregor: and when i do see it it tends to be bad typography |
23:36 | <AryehGregor> | Hixie, didn't the CP say that <u> is the sixth most common phrasing element or something like that? |
23:36 | <AryehGregor> | I agree that it's bad typography, almost always. |
23:36 | <AryehGregor> | Underlines are only really appropriate for typewriters and handwriting. |
23:37 | <AryehGregor> | But users expect them, so authors will add the functionality one way or another. |
23:37 | <TabAtkins> | AryehGregor: We established a few days ago, I thought, that it's used on a fairly small percentage of sites. I guess it's just used a lot on those sites. |
23:37 | <AryehGregor> | No need to make their lives difficult. |
23:37 | <Hixie> | AryehGregor: <br> was the 8th-most used element of all in 2005, doesn't mean we should encourage its use |
23:37 | <AryehGregor> | I don't see any point in discouraging it. |
23:37 | <AryehGregor> | But then, I don't have a problem with presentational markup per se. |
23:38 | <AryehGregor> | So it's kind of hard to have any sort of discussion with you about this kind of thing. |
23:38 | <Hixie> | AryehGregor: and <table> was the 9th, well above <p> |
23:38 | <TabAtkins> | I see a lot of reason to discourage it, from seeing novices abuse it and create layouts that break in different resolutions. |
23:38 | <Hixie> | AryehGregor: you don't have a problem with media-specific presentation? |
23:38 | <TabAtkins> | Back when I was a webdev, the person from Marketing I worked with would occasionally write HTML, and pretty much every use of <br> was a misuse that I had to fix. |
23:39 | <Hixie> | pretty much every use of <br> in general is a misuse, indeed |
23:39 | <AryehGregor> | Hixie, in the real world, no. It's best if you can do things media-independent, and we should try to design the language to be easy to use in a media-independent fashion, but there are always limits. I don't have a problem with the fact that the overwhelming majority of authors test only in conventional browsers. |
23:39 | <nessy> | hehe - sometimes it's easier than div clear both ;-) but yeah... |
23:39 | <AryehGregor> | Nor with the fact that they only care about conventional browsers. |
23:40 | <Hixie> | they shouldn't have to test it at all |
23:40 | <TabAtkins> | nessy: That was, by far, the most common reason I had to correct it - it was being used as a poor-man's clear. |
23:40 | <TabAtkins> | nessy: Which usually broke in different screen widths. |
23:40 | <AryehGregor> | All software has to be tested if you want it to work well. |
23:40 | <AryehGregor> | I agree that we should be trying to design the language so that a page only tested in conventional browsers works okay in other UAs too. |
23:41 | <Hixie> | that goal is entirely incompatible with presentational markup. |
23:42 | <othermaciej> | what would unconventional UAs be able to do better if the [U] button in editor UI inserted something other than <u>? |
23:42 | <AryehGregor> | Not really. Other UAs can just skip the presentation, and the meaning will typically be preserved. Or they can adopt some convention to render it in their preferred medium, even if it's not normal for that medium. |
23:42 | <Hixie> | othermaciej: the state of the art is such that WYSIWYG editors can't create good media-independent pages. |
23:42 | <AryehGregor> | E.g., if users of screen readers wanted to know what text was italicized, the UA could read italic text in a different voice or something, or say "italics" before reading it, or such. |
23:42 | <Hixie> | othermaciej: hence why i originally had <font> as conforming, but just for wysiwyg editors |
23:43 | <AryehGregor> | Then they know the text was italicized, which is enough to grasp the meaning as well as someone actually viewing it. |
23:43 | <Hixie> | othermaciej: i'm fine with <u> being just for those editors |
23:43 | <nessy> | what problem exactly is introduced by allowing <u>? |
23:43 | <Hixie> | AryehGregor: that is treating those users as second-class citizens, which is imho quite immoral. |
23:44 | <nessy> | I also want it in WebVTT, btw, because captions have it and we don't have links there, so there is no confusion |
23:44 | <AryehGregor> | Hixie, do you think authors are morally obligated to spend a disproportionate amount of their time on a tiny minority of their users? |
23:44 | <TabAtkins> | Do you think that <u> saves a "disproportionate amount of [author] time"? |
23:44 | <othermaciej> | so there's a possible definition - "The u element represents a span of text that a user chose to underline without expressing a specific semantic." |
23:45 | <Hixie> | AryehGregor: there is no need to spend any time over any subset of one's users if one uses semantic markup |
23:45 | <TabAtkins> | othermaciej: That's just "this element is presentational". ^_^ |
23:45 | <Hixie> | othermaciej: yeah, that's what i suggested earlier |
23:45 | <AryehGregor> | Hixie, that's just not true in practice. |
23:45 | <AryehGregor> | TabAtkins, no, but once you're okay with presentational markup, there's no reason to disallow <u>. |
23:45 | <Hixie> | AryehGregor: it really is |
23:46 | <TabAtkins> | IIRC, the major motivation for <u> was to save bytes over <span style="text-decoration:underline;">. |
23:46 | <AryehGregor> | Hixie, if that were true, then you'd expect authors to widely use semantic markup. The fact that they aren't indicates that there's some cost to it. Maybe education, maybe the actual use -- but if the benefit significantly outweighed the cost, it would be popular. |
23:46 | <Hixie> | once you're ok with presentational markup, there's no reason to disallow <center>, <table border>, <font>, bgcolor="", etc, either |
23:46 | <AryehGregor> | Hixie, I've already addressed that point multiple times. |
23:46 | <AryehGregor> | I'm okay with allowing anything that would be widely used and is a simple shortcut for equivalent CSS markup. |
23:47 | <AryehGregor> | None of the items you mention qualify. |
23:47 | <AryehGregor> | (although I think <table border=1> should be valid for different reasons) |
23:47 | <Hixie> | AryehGregor: there are two reasons people don't use semantic markup; the cognitive (people don't think semantically), and wysiwyg editors. |
23:47 | <AryehGregor> | Hixie, sure. Both of those are legitimate disadvantages, and they normally outweigh the advantages by a large margin. |
23:48 | <kennyluck> | Before I see more examples how <b> and <i> are styled, I don't think the cognitive part can make any improvement. |
23:48 | <Hixie> | AryehGregor: but in both cases it is _using presentational markup_ that leads to spending "a disproportionate amount of their time on a tiny minority of their users" |
23:49 | <Hixie> | AryehGregor: if you just used semantic markup, you'd spend all your markup time on all your users, and some additional time on just visual users (writing the css) |
23:49 | <Hixie> | AryehGregor: we're not going to solve either of those problems by adding <u> |
23:49 | <AryehGregor> | Hixie, assuming you understand semantic markup to begin with, and that it's not more efficient for you to use a WYSIWYG editor. |
23:49 | <Hixie> | AryehGregor: we might help the first a little by not having <u> |
23:49 | <AryehGregor> | Both of those are illegitimate assumptions. |
23:49 | <Hixie> | if you use a wysiwyg editor, non-visual users are a lost cause |
23:49 | TabAtkins | suggests that AryehGregor spend some time maintaining a large site that was written by a dev who used layout tables and presentational markup heavily. |
23:50 | <Hixie> | so that case isn't really interesting to this discussion |
23:50 | <AryehGregor> | TabAtkins, separate issue. You can write easy-to-maintain code that uses only appropriately-classed spans and divs, with no semantic markup at all. |
23:50 | <TabAtkins> | I have never seen such a thing. |
23:50 | <AryehGregor> | You can write bad code in any language. |
23:50 | <Hixie> | i don't have a problem making a second set of conformance criteria for wysiwyg editors while the state of the art there is where it is |
23:50 | <TabAtkins> | I consider it a theoretical case that doesn't exist in practice. |
23:50 | <AryehGregor> | Well, for one thing, you could be using Dreamweaver or something. |
23:51 | <AryehGregor> | But we're talking about <u>, not table-based layout. |
23:51 | <TabAtkins> | Use of <u> was also rampant in the last large site I maintained. |
23:51 | <AryehGregor> | Hixie, WYSIWYG editors are probably the most important issue at stake for <u>. |
23:52 | <Hixie> | AryehGregor: the CP asks for <u> to be always conforming, not just for editors |
23:52 | <AryehGregor> | Hixie, because there's no way to tell if something was written by an editor. |
23:52 | <Hixie> | AryehGregor: i'd be fine with making <u> just valid for editors, just like omitting alt="" is valid just for editors. |
23:52 | <Hixie> | AryehGregor: there's no way to tell if the contents of an <h1> are a heading either, but we still require that |
23:53 | <Hixie> | AryehGregor: we can have different conformance criteria for hand authors than for editors |
23:53 | <Hixie> | AryehGregor: that's not a problem |
23:53 | <Hixie> | AryehGregor: indeed we did, at some point in the past |
23:53 | <AryehGregor> | Hixie, I don't care as long as the validator doesn't complain. As far as I'm concerned, authoring conformance requirements that aren't machine-checkable are your personal opinion and they don't affect me. |
23:53 | <AryehGregor> | (unless I happen to agree with them) |
23:53 | <AryehGregor> | However, the CP might be construed not to allow this. |
23:53 | <Hixie> | so you'd be ok with <u> being only valid if the document has a <meta name=generator> element? |
23:54 | <AryehGregor> | No. |
23:54 | <Hixie> | i rest my case |
23:54 | <AryehGregor> | Who says WYSIWYG-edited pages always actually produce that? |
23:54 | <Hixie> | we can say that |
23:54 | <AryehGregor> | In particular, part of the page might be WYSIWYG-edited. |
23:54 | <Hixie> | "editors must include..." |
23:55 | <AryehGregor> | That will lead to people including <meta name=generator> to shut up the validator. |
23:55 | <AryehGregor> | Even on hand-edited pages. |
23:55 | <Hixie> | well people can always shut up the validator |
23:55 | <Hixie> | validators are tools |
23:55 | <Hixie> | you can always take the battery out of the smoke detector |
23:56 | <AryehGregor> | Allowing people to shut up the validator by including useless cruft is an antipattern. |
23:56 | <Hixie> | no, it's adding the useless cruft that's the antipattern |
23:56 | <AryehGregor> | We had too much of that in the old days, things like type="text/javascript" and so on. |
23:56 | <AryehGregor> | Well, as I said, I don't think we're ever going to agree on this, so go ahead and make any change you like that's compatible with the CP. |
23:56 | <othermaciej> | I'll just note that, while almost any prose expressing non-machine-checkable requirements on <u> contents is likely consistent with the decision, limiting it to documents with <meta name=generator> likely is not |
23:56 | <Hixie> | the difference there is that type="" was useless, whereas the generator mark serves a useful purpose: distinguishing editor-autogenerated pages from hand-authored pages |
23:57 | <Hixie> | my real concern is what to do in the whatwg copy |
23:57 | <Hixie> | not the w3c copy |
23:57 | <AryehGregor> | Ah. |
23:57 | <AryehGregor> | I wonder which one the validator will follow. |
23:57 | <Hixie> | if i don't include <u>, then henri will probably follow a hybrid |
23:58 | <Hixie> | so i plan to include <u> |
23:58 | <Hixie> | just not sure how to include it |