06:29:16 RRSAgent has joined #svg 06:29:16 logging to http://www.w3.org/2009/08/05-svg-irc 06:29:18 RRSAgent, make logs public 06:29:18 Zakim has joined #svg 06:29:20 Zakim, this will be GA_SVGWG 06:29:20 ok, trackbot; I see GA_SVGWG()2:30AM scheduled to start in 1 minute 06:29:21 Meeting: SVG Working Group Teleconference 06:29:21 Date: 05 August 2009 06:29:41 GA_SVGWG()2:30AM has now started 06:29:48 +[IPcaller] 06:29:52 Zakim, [ is me 06:29:52 +heycam; got it 06:31:06 +??P1 06:31:32 +??P2 06:31:46 hmm 06:31:47 +[IPcaller] 06:31:48 Zakim, ??P1 is me 06:31:48 +shepazu; got it 06:31:58 Zakim, [IP is me 06:31:58 +anthony; got it 06:32:28 Zakim, ??P2 is me 06:32:28 +jwatt; got it 06:32:44 Zakim, ??P2 isn't actually me, I was just joking 06:32:44 I don't understand you, jwatt 06:32:49 idiot 06:34:38 Zakim, who's noisy 06:34:38 I don't understand 'who's noisy', jwatt 06:34:39 ack 06:35:02 -shepazu 06:35:51 zakim, code? 06:35:51 the conference code is 7841 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), shepazu 06:36:22 Chair: Cameron 06:36:35 + +1.919.824.aaaa 06:36:50 Zakim, aaaa is me 06:36:50 +shepazu; got it 06:37:17 Scribe: anthony 06:37:17 Agenda: http://lists.w3.org/Archives/Public/public-svg-wg/2009JulSep/0024.html 06:37:45 Topic: SVG DOM improvements 06:38:02 CM: DS you just sent an email about this 06:38:04 DS: I did 06:38:18 http://www.w3.org/mid/4A791DAB.1020504@w3.org 06:38:18 http://lists.w3.org/Archives/Public/www-svg/2009Aug/0010.html 06:38:50 DS: Occurred to me how can we find out what methods are used 06:39:01 ... could look at the libraries Dojo 06:39:14 ... and what other libraries think are available to browers 06:39:21 ... might give us a clue to the degree of use 06:39:53 ... and those libraries would be affected by any changes we make in the DOM 06:39:57 ... so we need to look at those 06:40:08 ... we need to be careful about what we change 06:40:48 ... I think it would be really valuable to make a survey of what DOM methods are implemented 06:40:57 ... be useful to figure out interoperability 06:42:05 CM: I opened up a couple of example pages 06:42:19 ... and some were pretty impressive 06:43:13 DS: If we can figure out what DOM methods are used and implemented 06:43:20 ... we can use that as a starting point 06:43:30 ... to figure out what things we change, if we change anything 06:44:13 CM: Figuring out what is implemented is easy and something we can do 06:44:32 ChrisL has joined #svg 06:45:07 DS: Dojo may not code to the lowest common denominator 06:45:20 ... so may only be one method to survey what's out there 06:45:38 +ChrisL 06:45:40 CM: So if it's not implemented it may be an indication that it's not used out there 06:45:59 ... ideally the test suite will test the the features so we can figure out what's implemented 06:46:13 DS: I'm not convinced that the test suite tests all of the interface 06:46:21 CM: How do you want to go about it? 06:46:31 DS: It may be something we can automate 06:46:52 ... as a first pass solution we can go through the methods to see if they return something 06:46:59 ... and that might be a really fast way of doing it 06:47:02 ... as survey 06:47:09 ... not testing implementability 06:47:13 ... just seeing if it's done 06:47:37 ... If people are open to it, I'd like for us to have some actions come out of this 06:47:51 CM: Maybe a good way to go about this is to have a wiki page that has the interfaces 06:47:55 ... and assign them to people 06:47:59 DS: Sounds like a good idea 06:48:09 CM: I don't mind being assigned interfaces 06:48:27 ... so whoever makes the wiki page can randomly assign them 06:48:37 ... are you going to do that [DS]? 06:48:40 DS: I suppose I could 06:48:58 AG: Anyway to use the IDL? 06:49:21 CM: When it builds the spec it creates an XML doc with the method names and the return types 06:49:31 ... since I'm familiar with the file 06:49:35 ... I could whip something up 06:50:00 ACTION: Cameron to Extract the interface and method names from the IDL 06:50:00 Created ACTION-2645 - Extract the interface and method names from the IDL [on Cameron McCormack - due 2009-08-12]. 06:50:29 ACTION: Doug to Follow up on ACTION-2645 and assign work to the extracted interface and method names 06:50:29 Created ACTION-2646 - Follow up on ACTION-2645 and assign work to the extracted interface and method names [on Doug Schepers - due 2009-08-12]. 06:51:28 DS: JWatt you had some issues with what I had worked up with the APIs 06:51:49 s/APIs/DOM APIs/ 06:53:19 JW: That what was a while ago 06:53:26 ... I think I can remember changing the names 06:53:37 ... so for things like CreateElement 06:54:08 s/CreateElement/document.createElement/ 06:54:16 ... We have that method on that document interface already 06:54:25 ... the suggestion was to add it to the element inteface 06:55:42 ... what I was thinking that when you create an element it puts in the name space of the element you just called upon 06:55:54 s/upon/it on/ 06:56:08 that sounds like a useful default 06:56:10 ... so when you have some SVG element and you want to create some children you don't have to 06:56:17 ... specify the name space every time 06:56:49 ... the problem with document.createElement is it puts it in the NULL space 06:57:20 ... it would be nice if each element could take an object to set the attributes, the main thing I was thinking about 06:57:26 ... was getting rid of the name space stuff 06:57:31 ... which people seem to find so hard 06:57:59 element.dwim.createElement :) 06:58:04 ... then it would have a different behaviour with elements that have name spaces 06:58:19 Web DOM Core (zcorpan's DOM Core rewrite) says document.createElement() uses the HTML namespace: http://simon.html5.org/specs/web-dom-core#dom-document-createelement 06:58:53 CL: Someone has done this and use the HTML name space 06:58:59 ... see above link 06:59:31 JW: That's in the HTML name space 07:00:09 ... Opera and Webkit stick it in the HTML name space 07:00:19 ... FF puts it in the NULL name space 07:00:24 ... but either way it will still work 07:00:28 JW: not sure about Opera 07:01:10 CL: What they've done is that they've made it easy for HTML and harder for everyone else 07:02:03 JW: Basically we could do the same on other documents 07:02:13 ... I was think we could go to the name space of the root element 07:02:26 ...and when the document is created it uses the root name space 07:02:36 CM: I think that's a good idea actually 07:02:50 DS: I think this is do-able, I don't think it's enough 07:03:11 JW: By doing that it would no longer be inconsistent 07:03:42 -heycam 07:04:08 ... to make element.CreateElement use the name space of the element on which it's called 07:04:37 +[IPcaller] 07:04:38 Zakim, [ is me 07:04:38 +heycam; got it 07:04:44 ... and then hopefully that will simplify things for users 07:04:52 DS: I understand what you are saying 07:05:10 ... I think that is a good first stab at implementing something better 07:06:12 ... I made a script library 07:06:17 ... that does such sorts of things 07:06:23 ... I just don't think it goes far enough 07:06:32 ... I don't think that's the real thing that makes it hard to use SVG 07:07:02 ... I think the real problem the element not being immediately being inserted into the DOM 07:07:11 ... I think there is a case for that 07:07:35 ... I think there is a case to have a method that inserts and sets the attributes 07:07:52 JW: It makes sense to extend that 07:08:02 DS: That's where I disagree 07:08:15 ... I think we'd be overloading CreateElement 07:08:29 JW: You're saying that forget about the name space issues for the moment 07:08:45 this works for me in firefox: javascript:HTMLDocument.prototype.createElement=function(n){alert('yo '+n)};document.createElement('svg') 07:09:25 ... passing in parameters to pass in object literals for attribute values 07:09:34 DS: I can see both sides of this issue 07:09:48 ... I personally think it's being overridden in this way 07:10:02 ... I don't know what effect it would have on the JavaScript 07:10:13 CM: There is overloading in Java 07:10:18 JW: Default arguments? 07:10:20 CM: No 07:10:26 ... effectively you can do something like that 07:10:32 JW: You can get the same effect? 07:10:34 CM: Yes 07:10:55 ... To me this passing in attributes to CreateElement to create the element makes sense 07:11:15 ... We could pass in a dictionary name of values 07:11:22 ... e.g. a map of objects 07:11:37 DS: So when I was talking about adding some methods to SVG 07:11:46 ... we were talking about one thing 07:12:04 ... but here we are talking about overriding CreateElement 07:12:15 ... and this puts us into the same area as the WebApps working group 07:12:29 CM: Is WebApps going to continue to work on DOM Core? 07:12:36 DS: Not sure what's going to happen to that document 07:12:47 ... we have talked about taking on WebDOM 07:13:47 ... I'm concerned about the length of time it would take to do that 07:13:57 ... it something we need to take to the WebApps working group 07:14:09 ... I'm not absolutely that they would want to take on these features 07:14:28 ... I'm concerned that some of the things we are trying to do here is at odds with what they are doing 07:14:48 JW: To me it's a no-brainer whether it goes through them or not 07:15:19 DS: I've proposed things that I thought were pretty sensible 07:15:39 ... and they got caught up 07:19:54 ... I can bring this to the WebApps working group and see what they say 07:22:10 CL: Has there been any feedback about it? 07:22:16 ... how have they responded? 07:22:20 DS: People like it 07:22:37 CM: I would rather take it to WebApps first 07:22:43 ... and if nobody is interested there 07:22:49 ... we can work on it ourselves 07:23:56 DS: I guess the other part is I like the insert interface 07:24:06 ... which is different to CreateElement 07:24:26 ... InsertElement and InsertElementNS would basically need the element name and optionally the name space 07:24:30 -shepazu 07:24:50 +shepazu 07:25:17 Element.prototype.insertElement = function( elementName, attributeObj, index ) { 07:25:33 Element.prototype.insertElementNS = function( namespace, elementName, attributeObj, index ) { 07:25:52 DS: The first one would insert it into the name space 07:26:05 ... the second creates the element in the name space you specify 07:26:17 ... the index can be left off 07:26:27 ... or if there the location of where you want to insert it 07:26:45 ... it would be a bit faster and a convenience 07:26:53 Element.prototype.insertAtIndex = function( el, index ) { 07:27:21 ... Rather than insert before element or insert after element 07:27:25 ... have an insert at index 07:27:29 ... this is where I want this element 07:28:10 CM: It's odd there is only insert before 07:28:25 DS: I think it was an over looked 07:28:30 ... so this just solves all the cases 07:28:35 s/insert before/insertBefore/ 07:28:59 ... I'd like to actually propose all of these 07:29:18 JW: It wasn't that it was ideas that I talked about it was that the names were changed 07:29:28 ... InsertElement and InsertElementNS 07:29:37 ... to me it's like InsertBefore 07:30:18 ... I wouldn't be expecting to pass a name 07:30:51 ... CreateElement and CreateChild is what I'd like use as the naming sorts 07:31:11 DS: I think CreateChild is a little vague but I'm not going to argue that 07:31:55 JW: It almost makes sense to have just one function 07:31:59 ... and just overload it 07:32:08 ... to allow it to insert at another index 07:32:22 ... It could be a bit of a problem because, if you have an index 07:32:29 ... by default you want to create it so it doesn't append 07:32:38 ... but you want to also pass something in 07:32:40 ... for an index 07:32:43 ... or append 07:33:09 ... I guess -1 could be the default 07:33:17 ... and that would mean do not insert this a child 07:33:23 DS: Please no 07:33:35 ... using -1 as a default is not a good idea 07:34:01 (reminds me of putting -999 into data as a "missing value" value) 07:34:07 AG: Using -1 is a bad idea 07:35:37 CM: Don't think about it as defaults 07:35:43 ... think about it as overloaded methods 07:36:03 JW: Lets make it undefined then, it doesn't get inserted 07:36:17 CM: I think it if you don't pass the value in at all 07:36:43 JW: I guess I'm coming at this from the way our implementation works 07:37:41 ... you could say passing in a negative number does a prepend 07:37:57 CM: I don't think it's something we need to discuss if it's an implementation detail 07:38:10 DS: We need to define what negative numbers do 07:38:21 ... I wouldn't object to overloading CreateElement so much 07:38:37 ... but we may constrain what is useful 07:38:50 CM: I think I agree with Doug with the index thing 07:39:09 ... I'm happy with overloading with specifying attributes 07:39:36 JW: I'm not as enthusiastic about adding an index to CreateElement as I am to other methods 07:39:52 DS: Having CreateElement and CreateChild makes more sense to me 07:39:58 ... then overloading CreateElement 07:40:02 element.addKid 07:40:35 heh 07:40:41 nice and short 07:41:32 CM: I agree we should have some functionality to create an element and add some attributes 07:41:51 JW: I agree, which is why I thought of having CreateElement and CreateChild 07:42:35 ... if you guys are happy to have it as two methods then I'm find with that 07:42:38 s/CreateElement/createElement/ 07:42:49 s/CreateChild/createChild/ 07:43:17 DS: I think InsertElement at index if you want to insert things at a different location 07:43:59 ... I can draft something up 07:44:23 Topic: DOMFocusIn, DOMFocusOut, and DOMActivate 07:44:57 DS: In DOM 3 Events we are talkinga bout deprecating DOMFocusIn/Out/Activate 07:45:02 CL: What would use instead? 07:45:12 DS: Focus/Blur/Click 07:45:30 DS: FocusIn/Out both bubble 07:45:37 ... Focus/Blur do niot 07:45:43 s/niot/not/ 07:49:29 ... FocusIn/FocusOut have been proposed to be deprecated 07:50:05 ... If they were in SVG we'd add a note in the errata that these are being deprecated in DOM 3 Events 07:50:24 ... we'd just be noting that these things are available 07:50:36 ... I don't think that there is a problem with noting that 07:50:48 ... I don't know how much content uses them 07:50:52 ... I've seen them used though 07:50:58 JW: I've seen them used though 07:51:16 ... I don't know Mozilla would get this to fly 07:51:29 ... Webkit would probably follow if Mozilla did it 07:51:54 ... it seems to me you have a button and it can either be activated by clicking on it or focus and pressing a key 07:52:04 DS: Those things do generate a click event 07:52:21 JW: So click doesn't necessarily mean click 07:52:48 ... is this the behaviour of all browsers already? 07:52:52 DS: Yes, I'm pretty sure 07:52:55 ... I did a test 07:53:03 JW: There is still a bubble issue then 07:53:17 ... can the others be changed? 07:53:19 DS: No 07:53:32 ... I think there are uses for the bubbling 07:53:50 ... the Xform guys thought there might be a use for bubbling 07:54:06 -shepazu 07:54:23 +shepazu 07:54:34 -shepazu 07:54:56 +shepazu 07:55:13 CM: I guess you're looking for an indication from us 07:55:27 ... whether it's ok 07:55:33 DS: I'd like to get your feedback 07:55:48 ... I think I'll probably deprecate them, unless I here a really strong argument about it 07:57:23 CM: I agree with the general sense to reduce duplication 07:57:36 ... I don't know how much content extists 07:57:46 ... but it would be good to move to a common set 07:58:00 ... I'm not sure of use case for bubbling 07:58:17 DS: Did my analysis of what we could do for Tiny 1.2 and Full 1.1 seem ok? 07:58:21 CL: It seems reasonable 07:58:27 ... I mean we don't really have much of a choice 07:58:37 DS: From a process point of view is it ok? 07:59:18 ... I'm interested in making SVG as usable to authors as possible 07:59:25 ... on thing I haven't tested is Focus/Blur in SVG 07:59:59 ... I suspect in FF and other mainstream browsers it works 08:05:41 -shepazu 08:05:59 -heycam 08:06:00 -ChrisL 08:06:02 -anthony 08:06:07 -jwatt 08:06:08 GA_SVGWG()2:30AM has ended 08:06:09 Attendees were [IPcaller], heycam, shepazu, anthony, jwatt, +1.919.824.aaaa, ChrisL 08:08:05 RRSAgent, make minutes 08:08:05 I have made the request to generate http://www.w3.org/2009/08/05-svg-minutes.html anthony 08:47:44 heycam has joined #svg 11:37:05 Zakim has left #svg