/irc-logs / w3c / #webapps / 2015-04-24 / end

Options:

Previous day, Next day

  1. # Session Start: Fri Apr 24 00:00:00 2015
  2. # Session Ident: #webapps
  3. # [00:01] * Joins: fjh (~fhirsch3@public.cloak)
  4. # [00:07] * Joins: jcraig_ (~jcraig@public.cloak)
  5. # [00:08] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  6. # [00:08] * Joins: fjh (~fhirsch3@public.cloak)
  7. # [00:10] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  8. # [00:10] * jcraig_ is now known as jcraig
  9. # [00:11] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  10. # [00:11] * Joins: estellevw (~estellevw@public.cloak)
  11. # [00:17] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  12. # [00:25] * Joins: jcraig (~jcraig@public.cloak)
  13. # [00:26] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  14. # [00:28] * Joins: jcraig (~jcraig@public.cloak)
  15. # [00:37] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  16. # [00:39] * Joins: tantek_ (~tantek@public.cloak)
  17. # [00:42] * Joins: jcraig (~jcraig@public.cloak)
  18. # [00:42] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  19. # [00:42] * tantek_ is now known as tantek
  20. # [01:00] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  21. # [01:01] * heycam|away is now known as heycam
  22. # [01:04] * Joins: jcraig (~jcraig@public.cloak)
  23. # [01:09] * heycam is now known as heycam|away
  24. # [01:11] * Quits: dka (~dka@public.cloak) (dka)
  25. # [01:14] * Joins: fjh (~fhirsch3@public.cloak)
  26. # [01:14] * Joins: jcraig_ (~jcraig@public.cloak)
  27. # [01:16] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  28. # [01:16] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  29. # [01:16] * jcraig_ is now known as jcraig
  30. # [01:19] * Joins: fjh (~fhirsch3@public.cloak)
  31. # [01:20] * Joins: shepazu (schepers@public.cloak)
  32. # [01:27] * Quits: shepazu (schepers@public.cloak) (Ping timeout: 180 seconds)
  33. # [01:28] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  34. # [01:30] * Quits: tantek (~tantek@public.cloak) (tantek)
  35. # [01:32] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  36. # [01:33] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  37. # [01:36] * heycam|away is now known as heycam
  38. # [01:37] * Joins: smaug (~chatzilla@public.cloak)
  39. # [01:41] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
  40. # [01:53] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  41. # [01:54] * Joins: jcraig (~jcraig@public.cloak)
  42. # [02:11] * Joins: fjh (~fhirsch3@public.cloak)
  43. # [02:13] * Quits: jsbell (~jsbell@public.cloak) ("There's no place like home...")
  44. # [02:22] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  45. # [02:28] * Joins: marcosc (~marcosc@public.cloak)
  46. # [02:29] * terri is now known as terri_offline
  47. # [02:33] * Joins: jcraig (~jcraig@public.cloak)
  48. # [02:34] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  49. # [02:36] * Quits: marcosc (~marcosc@public.cloak) (Ping timeout: 180 seconds)
  50. # [02:36] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
  51. # [02:40] * Joins: chaals (~Adium@public.cloak)
  52. # [02:45] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
  53. # [02:59] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  54. # [03:01] * Joins: estellevw (~estellevw@public.cloak)
  55. # [03:07] * Joins: fjh (~fhirsch3@public.cloak)
  56. # [03:08] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
  57. # [03:11] * Joins: estellevw (~estellevw@public.cloak)
  58. # [03:15] * Quits: kochi (~kochi@public.cloak) ("Leaving.")
  59. # [03:18] * Joins: kochi (~kochi@public.cloak)
  60. # [03:18] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
  61. # [03:25] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
  62. # [03:44] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  63. # [04:30] * Joins: marcosc (~marcosc@public.cloak)
  64. # [04:30] * Quits: marcosc__ (~marcosc@public.cloak) (Client closed connection)
  65. # [04:42] * Joins: jcraig (~jcraig@public.cloak)
  66. # [04:59] * Joins: smaug (~chatzilla@public.cloak)
  67. # [05:05] * heycam is now known as heycam|away
  68. # [05:18] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  69. # [05:19] * Joins: dka (~dka@public.cloak)
  70. # [05:49] * Joins: jcraig (~jcraig@public.cloak)
  71. # [05:49] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  72. # [05:50] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  73. # [05:58] * Joins: smaug (~chatzilla@public.cloak)
  74. # [05:58] * Joins: tantek (~tantek@public.cloak)
  75. # [06:16] * Quits: dka (~dka@public.cloak) (dka)
  76. # [06:38] * Joins: smaug_ (~chatzilla@public.cloak)
  77. # [06:42] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  78. # [06:43] * smaug_ is now known as smaug
  79. # [06:50] * Quits: smaug (~chatzilla@public.cloak) ("Reconnecting…")
  80. # [06:50] * Joins: smaug (~chatzilla@public.cloak)
  81. # [07:38] * Joins: marcosc_ (~marcosc@public.cloak)
  82. # [07:42] * heycam|away is now known as heycam
  83. # [07:42] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  84. # [07:45] * Quits: marcosc_ (~marcosc@public.cloak) (Ping timeout: 180 seconds)
  85. # [09:13] * heycam is now known as heycam|away
  86. # [09:20] * Joins: dom (dom@public.cloak)
  87. # [09:20] * Joins: JonathanJ2 (~hollobit@public.cloak)
  88. # [09:24] * Quits: JonathanJ2 (~hollobit@public.cloak) (Client closed connection)
  89. # [09:31] * Disconnected
  90. # [09:32] * Attempting to rejoin channel #webapps
  91. # [09:32] * Rejoined channel #webapps
  92. # [09:33] * Joins: cabanier (~sid15093@public.cloak)
  93. # [09:55] * Joins: jcraig (~jcraig@public.cloak)
  94. # [10:06] * Joins: darobin (rberjon@public.cloak)
  95. # [11:52] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  96. # [12:32] * Quits: tantek (~tantek@public.cloak) (tantek)
  97. # [12:47] * Quits: jmajnert (~quassel@public.cloak) ("No Ping reply in 180 seconds.")
  98. # [12:48] * Joins: jmajnert (~quassel@public.cloak)
  99. # [13:03] * Joins: marcosc_ (~marcosc@public.cloak)
  100. # [13:11] * Quits: marcosc_ (~marcosc@public.cloak) (Ping timeout: 180 seconds)
  101. # [13:27] * Quits: darobin (rberjon@public.cloak) (Client closed connection)
  102. # [13:27] * Joins: darobin (rberjon@public.cloak)
  103. # [15:36] * Joins: smaug (~chatzilla@public.cloak)
  104. # [15:49] * Joins: shepazu (schepers@public.cloak)
  105. # [15:51] * Quits: shepazu (schepers@public.cloak) (Client closed connection)
  106. # [15:51] * Joins: shepazu (schepers@public.cloak)
  107. # [15:56] * Quits: jmajnert (~quassel@public.cloak) (Client closed connection)
  108. # [16:06] * Quits: shepazu (schepers@public.cloak) (Ping timeout: 180 seconds)
  109. # [16:20] * Joins: z_ (~z_@public.cloak)
  110. # [16:21] * Joins: shepazu (schepers@public.cloak)
  111. # [16:23] * Quits: shepazu (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  112. # [16:25] * Joins: shepazu (schepers@public.cloak)
  113. # [16:27] * Parts: z_ (~z_@public.cloak)
  114. # [16:30] * Joins: marcosc_ (~marcosc@public.cloak)
  115. # [16:30] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  116. # [16:34] * Joins: othree (~sid16133@public.cloak)
  117. # [16:34] * Joins: shepazu_ (schepers@public.cloak)
  118. # [16:35] * Quits: shepazu_ (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  119. # [16:41] * Quits: shepazu (schepers@public.cloak) (Ping timeout: 180 seconds)
  120. # [16:47] * Joins: jyasskin (~textual@public.cloak)
  121. # [16:49] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  122. # [16:50] * Joins: marcosc (~marcosc@public.cloak)
  123. # [16:51] * Joins: shepazu (schepers@public.cloak)
  124. # [17:04] * Joins: yubo (~yubo@public.cloak)
  125. # [17:15] * Joins: ebryn (~sid2895@public.cloak)
  126. # [17:15] <ebryn> chillin' on google's stoop
  127. # [17:37] * Joins: timdream (~sid186@public.cloak)
  128. # [17:43] * Joins: chaals (~Adium@public.cloak)
  129. # [17:49] * Joins: smaug (~chatzilla@public.cloak)
  130. # [17:52] * terri_offline is now known as terri
  131. # [17:57] * Quits: darobin (rberjon@public.cloak) (Client closed connection)
  132. # [17:57] * Joins: tantek (~tantek@public.cloak)
  133. # [17:59] * terri is now known as terri_offline
  134. # [18:00] * Joins: RRSAgent (rrsagent@public.cloak)
  135. # [18:00] <RRSAgent> logging to http://www.w3.org/2015/04/24-webapps-irc
  136. # [18:01] * chaals changes topic to 'Web Components meeting - https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting'
  137. # [18:01] <hober> could a googler come collect sam, maciej, & me? we're in the 1875 lobby
  138. # [18:02] * chaals notes there is one on the way…
  139. # [18:02] * hober thanks
  140. # [18:02] * Joins: Zakim (zakim@public.cloak)
  141. # [18:02] <chaals> Meeting: Web apps Web COmponents meeting
  142. # [18:03] <chaals> Agenda: https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting
  143. # [18:04] <chaals> Present+ Chaals, Léonie, Mike™, AnnevK, Arron, Travis, Hayato, Smaug
  144. # [18:04] * Joins: LJWatson (~chatzilla@public.cloak)
  145. # [18:05] <chaals> Present+ DGlazkov, CWilso
  146. # [18:05] * Joins: annevk (~annevk@public.cloak)
  147. # [18:05] <chaals> Present+ AlexR
  148. # [18:07] <chaals> agenda+ intros
  149. # [18:07] * Zakim notes agendum 1 added
  150. # [18:07] <chaals> agenda+ agenda bashing
  151. # [18:07] * Zakim notes agendum 2 added
  152. # [18:07] * Joins: joannawu (~JoannaWu@public.cloak)
  153. # [18:07] <chaals> agenda+ state of the consensus
  154. # [18:07] * Zakim notes agendum 3 added
  155. # [18:09] * Quits: shepazu (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  156. # [18:09] * Joins: Travis (~Travis@public.cloak)
  157. # [18:11] * Joins: wchen (~sid45@public.cloak)
  158. # [18:11] * Joins: arronei (~arronei@public.cloak)
  159. # [18:12] <chaals> zakim, agenda?
  160. # [18:12] <Zakim> I see 3 items remaining on the agenda:
  161. # [18:12] <Zakim> 1. intros [from chaals]
  162. # [18:12] <Zakim> 2. agenda bashing [from chaals]
  163. # [18:12] <Zakim> 3. state of the consensus [from chaals]
  164. # [18:12] * Joins: aklein (~sid4454@public.cloak)
  165. # [18:14] * Quits: dom (dom@public.cloak) ("")
  166. # [18:15] * Joins: taylor (~taylor@public.cloak)
  167. # [18:15] * Joins: matthew (~uid82748@public.cloak)
  168. # [18:16] * Joins: kevin_ (~uid82749@public.cloak)
  169. # [18:16] * Joins: wilsonpage (~wilsonpage@public.cloak)
  170. # [18:18] * Joins: estellevw (~estellevw@public.cloak)
  171. # [18:19] * Joins: misko (~uid82751@public.cloak)
  172. # [18:19] * Joins: jan (~jan@public.cloak)
  173. # [18:20] <chaals> scribe: chaals
  174. # [18:21] * Joins: mjs (~mjs@public.cloak)
  175. # [18:22] * chaals notes expected start time 12.30
  176. # [18:22] * chaals W3C standard Boston time…
  177. # [18:22] <MikeSmith> s/Arron/Aaron
  178. # [18:23] <chaals> Present+ SamW, Maciej, TedOC
  179. # [18:23] * Quits: jan (~jan@public.cloak) (jan)
  180. # [18:23] * Joins: dglazkov_ (~sid4270@public.cloak)
  181. # [18:24] * dglazkov_ is now known as dglazkov
  182. # [18:24] <MikeSmith> Present?
  183. # [18:24] <chaals> DG: Lots of people here… that's good.
  184. # [18:25] <chaals> … goal of the meeting is to make sure we move Web Components closer to being interoperable standard (actually shipped…)
  185. # [18:25] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
  186. # [18:25] * Joins: justin (~uid82754@public.cloak)
  187. # [18:25] <chaals> … There are some contentious bits on Shadow DOM, and we aim to resolve that here.
  188. # [18:26] * Joins: cdata (~uid82755@public.cloak)
  189. # [18:26] <chaals> … We need to determine what goes into v1 that we can all live with and ship - and put the rest into a v2
  190. # [18:26] * Joins: misko_ (~misko@public.cloak)
  191. # [18:26] * cwilso notes logistics: bathroom is to the left down the hall, if you need any other logistics things just ask me.
  192. # [18:27] <chaals> … I would like to leave here not just feeling happy, but actually going to do work and knowing what it will be.
  193. # [18:27] * Quits: misko_ (~misko@public.cloak) (misko_)
  194. # [18:27] * chaals we are the champions my friend
  195. # [18:27] * Joins: misko_ (~misko@public.cloak)
  196. # [18:27] * Joins: SteveF (~chatzilla@public.cloak)
  197. # [18:28] * Parts: misko (~uid82751@public.cloak)
  198. # [18:28] <chaals> … would like to have champions for the things that we have to do still.
  199. # [18:28] * Quits: yubo (~yubo@public.cloak) (Ping timeout: 180 seconds)
  200. # [18:28] * Parts: misko_ (~misko@public.cloak)
  201. # [18:28] * Joins: misko_ (~misko@public.cloak)
  202. # [18:28] * SteveF waves at LJWatson:
  203. # [18:29] * Parts: misko_ (~misko@public.cloak)
  204. # [18:29] * chaals hears LJWatson harrumph…
  205. # [18:29] * Joins: misko_ (~misko@public.cloak)
  206. # [18:29] * annevk wonders if waving is appropriate if the person is blind
  207. # [18:29] * chaals thinks so…
  208. # [18:30] <chaals> … The goal is to get browsers implementing, but we need experts from the rest of the ecosystem to tell us about their experience too.
  209. # [18:30] * SteveF i usually wave close enough to leonie so i connect
  210. # [18:31] <chaals> CW: Chris Wilson - mostly here to find the tea… (Googler)
  211. # [18:31] <chaals> RN: Ryosuke Niwa, Apple
  212. # [18:31] <chaals> AB: Alice Boxhall, Google accessibility - chrome
  213. # [18:31] <chaals> Misko: work on angluar.js
  214. # [18:32] <chaals> OP: Smaug from mozilla
  215. # [18:32] * Joins: jan (~JanMiksovsky@public.cloak)
  216. # [18:32] <chaals> WC: William Chen, firefox
  217. # [18:32] <chaals> EO: Ted OConnor, Apple
  218. # [18:32] * hober waves
  219. # [18:32] <chaals> HI: Hayato Ito, work on shadow dom for google and spec it
  220. # [18:32] <chaals> Justin: Work on polymer
  221. # [18:32] <chaals> AvK: Anne, work for moz on standards
  222. # [18:33] <chaals> SW: Sam Weinig, Apple
  223. # [18:33] <chaals> MS: Mike™ Smith, W3C
  224. # [18:33] <chaals> LJW: Léonie Watson, Paciello Group.
  225. # [18:33] <annevk> CMN: Chaals, Yandex
  226. # [18:33] <chaals> CMN: Chaals from Yandex
  227. # [18:33] <chaals> AE: Arron Eicholz, MS - work on webapps
  228. # [18:34] <chaals> TL: Travis Leithead - the MS guy
  229. # [18:34] * misko_ is now known as misko
  230. # [18:34] * Joins: Guest21 (~textual@public.cloak)
  231. # [18:34] <chaals> EB: Eric Bryn
  232. # [18:34] * Guest21 is here
  233. # [18:34] <ebryn> *Erik ;)
  234. # [18:34] <chaals> MG: Mark Giffin, writing web components docs for MDN
  235. # [18:34] * Guest21 oops
  236. # [18:34] * ebryn waves
  237. # [18:34] <chaals> WP: Wilson Paige, working with WC on firfox OS
  238. # [18:34] <chaals> Jan: Founder of compnentn kitchen
  239. # [18:34] <wilsonpage> *wilsonpage
  240. # [18:34] * Guest21 is now known as rniwa
  241. # [18:34] <chaals> MJS: Maciej, webkit at Apple
  242. # [18:34] <wilsonpage> * waves *
  243. # [18:35] * rniwa joins
  244. # [18:35] <chaals> AR: Alex Russel, googler on web platform
  245. # [18:35] <chaals> AK: Adam Klein, V8 at google
  246. # [18:35] <chaals> SM: Scott Miles, work on polymer team
  247. # [18:35] <chaals> TS: Savage, google
  248. # [18:35] <chaals> SA: Steve ?? google
  249. # [18:35] * Joins: weinig (~weinig@public.cloak)
  250. # [18:36] * Joins: darobin (rberjon@public.cloak)
  251. # [18:36] <cwilso> s/??/Orvell/
  252. # [18:36] * Joins: aboxhall (~uid20617@public.cloak)
  253. # [18:36] <cwilso> s/Savage/Taylor Savage/
  254. # [18:36] <chaals> [polymer team people listening on the phone - we don't let them speak]
  255. # [18:36] <cwilso> s/Russel/Russell/
  256. # [18:36] <dfreedm> here in irc as well
  257. # [18:36] * chaals thanks cwilso for corrections
  258. # [18:37] * cwilso np
  259. # [18:37] * chaals thanks anyone who helps correct
  260. # [18:37] <chaals> agenda?
  261. # [18:37] * Zakim sees 3 items remaining on the agenda:
  262. # [18:37] * Zakim 1. intros [from chaals]
  263. # [18:37] * Zakim 2. agenda bashing [from chaals]
  264. # [18:37] * Zakim 3. state of the consensus [from chaals]
  265. # [18:37] <chaals> zakim, close item 1
  266. # [18:37] <Zakim> agendum 1, intros, closed
  267. # [18:37] <Zakim> I see 2 items remaining on the agenda; the next one is
  268. # [18:37] <Zakim> 2. agenda bashing [from chaals]
  269. # [18:37] <chaals> Topic: State of consensus and contention
  270. # [18:37] <chaals> zakim, close item 3
  271. # [18:37] <Zakim> agendum 3, state of the consensus, closed
  272. # [18:37] <Zakim> I see 1 item remaining on the agenda:
  273. # [18:37] <Zakim> 2. agenda bashing [from chaals]
  274. # [18:37] * Joins: Mark (~chatzilla@public.cloak)
  275. # [18:38] * chaals wonders if someone has the URL handier
  276. # [18:38] <chaals> DG: Most vendors aside from Google have explained their current position...
  277. # [18:38] <chaals> … would like to figure out how important contentions are - blocker, useful to have, v1 or v2 or…
  278. # [18:38] <misko> https://github.com/w3c/webcomponents/wiki/Shadow-DOM:-Contentious-Bits
  279. # [18:38] * chaals thanks misko
  280. # [18:39] * Mark is now known as markg
  281. # [18:39] <chaals> -> https://github.com/w3c/webcomponents/wiki/Shadow-DOM:-Contentious-Bits The collected points of disagreement…
  282. # [18:39] <chaals> Topic: Muktiple shadow roots per element
  283. # [18:40] <chaals> MJS: Apple thinks this should be removed and replaced with something like the ?? proposal. Strongly think this is the case for v1 - better to replace it with something useful or subclassing won't be useful.
  284. # [18:40] <MikeSmith> RRSAgent, make minutes
  285. # [18:40] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith
  286. # [18:40] <chaals> … there is a time trade off to replacing it
  287. # [18:40] <dfreedm> s/??/"named slots"/
  288. # [18:40] * Joins: Lenville (~Lenville@public.cloak)
  289. # [18:41] <MikeSmith> RRSAgent, make logs public
  290. # [18:41] <RRSAgent> I have made the request, MikeSmith
  291. # [18:41] <chaals> AvK: Mozilla probably don't care strongly for v1 - we would like some solution, and the Apple thing might (or not) work for us…
  292. # [18:41] <chaals> DG: So there is an alternative, which is not the same as "let's drop what we have"
  293. # [18:42] <chaals> TL: For multiple shadow roots, should be removed in v1. You can get a lot done just with a single shadow. I like Apple's proposal simplifying the way content is distributed. Seems easier to implement. Maybe not as beautiful, but workable.
  294. # [18:42] <chaals> DG: This has been a big sticking point for the shadow dom spec. I was the one arguing for it.
  295. # [18:43] <chaals> .. I think most usage isn't that good, so I am OK with removing it.
  296. # [18:43] <chaals> … Understand there is a need for something like this - let's take the time to study and come up with a good concrete way to solve this.
  297. # [18:43] <chaals> RESOLUTION: Remove multiple shadow roots
  298. # [18:44] <MikeSmith> RRSAgent, make minutes
  299. # [18:44] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith
  300. # [18:44] <chaals> Justin: Want to make sure removal is seperate from what replaces it…
  301. # [18:44] * Quits: darobin (rberjon@public.cloak) (Client closed connection)
  302. # [18:44] <chaals> HI: SHuld we have a replacement in v1 or wait until v2?
  303. # [18:44] <chaals> DG: I would be OK with no replacement in v1
  304. # [18:44] <chaals> AvK: Agreed, might even be better than way
  305. # [18:45] <chaals> DG: Plymer team walked away from this already?
  306. # [18:45] <MikeSmith> s/Muktiple/Multiple
  307. # [18:45] <chaals> SM: Conceptually yes (haven't implemented that but will)
  308. # [18:45] <chaals> … agree that simplifying this is the right thing, and removing it won't affect polymer.
  309. # [18:46] <chaals> Topic: Default value of "closed shadow tree"
  310. # [18:46] * chaals Topic: Bar
  311. # [18:46] <jan> If it’s helpful, I’m trying to summarize the positions on contentious bits on https://docs.google.com/spreadsheets/d/1hnCoaJTXkfSSHD5spISJ76nqbDcOVNMamgByiz3QWLA/edit#gid=0
  312. # [18:46] <chaals> MJS: The closed flag got added recently - Yay! But behaviour not fully defined yet.
  313. # [18:47] <chaals> … preference order for v1: most prefer having closed and open, default closed. 2nd, require devs to choose one, no default, 3rd choice default to open, strongly against only having open
  314. # [18:47] <chaals> … most importantly closed mode is a good block for making totally isolated components
  315. # [18:47] * rniwa see also https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0225.html
  316. # [18:47] <chaals> … people felt the medium level is not useful, but to build a full solution this is necessary.
  317. # [18:48] <chaals> agenda+ Jan…'s proposal for named thingo
  318. # [18:48] * Zakim notes agendum 4 added
  319. # [18:48] <chaals> agenda+ closed and open
  320. # [18:48] * Zakim notes agendum 5 added
  321. # [18:48] <chaals> AvK: more important discussion is semantics of closed...
  322. # [18:49] <chaals> AR: Disagree, which is important but we need the discussion. degree of difficulty to make a real closed mode is very high.
  323. # [18:49] <chaals> OP: Moz' opinion is we agree with Apple.
  324. # [18:49] <chaals> … maybe v3 for proper isolation mode.
  325. # [18:50] <chaals> RESOLUTION: There will be a v4
  326. # [18:51] <chaals> TL: Having a closed and open simple mode makes sense. When a component is poen we have what chrome ships today. When closed, i think that means you can't reach it via shadow-root property in JS but if you had a reference already you can reach it.
  327. # [18:51] <chaals> … not sure what that means for how events and styles go across the boundaries. Think we need a closed + isolated model definitely.
  328. # [18:51] <chaals> … not sure we need that and a simple closed model.
  329. # [18:51] <chaals> … because I don't understand implications of closed I think that needs to be decided for v1. Isolated model can wait until later, it is far more complicated.
  330. # [18:52] <chaals> DG: Agree on closed not isolated being needed.
  331. # [18:52] <chaals> … our preference is open by default, We want to do isolated in v2 or v3.
  332. # [18:52] <chaals> … we can live with closed by default if that's the general consensus
  333. # [18:53] <chaals> TL: v1 needs a way to consume the flag or remove it.
  334. # [18:53] <chaals> Topic: Imperative distribution API
  335. # [18:53] <chaals> MJS: We still like this - for complex stuff declarative is going to be pretty tricky.
  336. # [18:54] <chaals> … not necessary for v1. Would like something either like this or named slot proposal - at very least we don't want @@
  337. # [18:54] <chaals> agenda+ details of imperative distribution API, don't make it impossible.
  338. # [18:54] * Zakim notes agendum 6 added
  339. # [18:54] <chaals> AvK: Agree
  340. # [18:54] <chaals> TL: Agree. API can wait for v2
  341. # [18:54] <chaals> DG: Agreed...
  342. # [18:55] <chaals> RESOLUTION: Make sure we can do it - v1 if we get there or v2
  343. # [18:55] <chaals> RN: Don't want to add something that won't work out…
  344. # [18:56] <chaals> Topic: Seperate event retargeting from style composition
  345. # [18:56] * terri_offline is now known as terri
  346. # [18:57] <chaals> MJS: Apple wants seperation. Not that strong feelings about default, might be plausible to have retargeting in closed mode, not in open, as default
  347. # [18:57] * chaals powercycles his pencil
  348. # [18:57] <chaals> … choice should be addressed, maybe possible to hang this on closed/open, maybe not needed.
  349. # [18:57] <MikeSmith> RRSAgent, make minutes
  350. # [18:57] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith
  351. # [18:58] <chaals> … we probably need to offer the choice in v1. If both exist we should decide which will be the default now.
  352. # [18:58] <chaals> AvK: There should be an option, should probably be tied to closed/open - seems simplest and intuitive
  353. # [18:58] <chaals> … definitely v1
  354. # [18:58] * cwilso mic needs to recharge; the handheld should be usable a bit later.
  355. # [18:59] <chaals> TL: for retargeting if the goal is for a closed shadow not to allow access the event system has to be strongly isolated from that boundary. not sure if retargeting is sufficient, might need a nested event dispatch inside, and don't carry arbitrary properties through the shadow. If that's what we are talking about you need this for any kind of closed model.
  356. # [19:00] <chaals> … otherwise events poke a hole in that.
  357. # [19:00] <chaals> AvK: only if you have prototypes
  358. # [19:00] <chaals> agenda+ clarify event retargetting...
  359. # [19:00] * Zakim notes agendum 7 added
  360. # [19:00] <chaals> TL: Something like it should be the default for any closed stuff.
  361. # [19:01] <chaals> DG: We don't see the ened to separate these. If you want it that's OK but we haven't seen anyone wanting that in the wild. Would like to discuss use cases, where you might not want it.
  362. # [19:01] <chaals> AvK: There have been requests for it, eg for Ember wanting to reason about state in global app logic
  363. # [19:01] <chaals> DG: eventpath gives you this information already
  364. # [19:01] <chaals> AvK: Mumble mumble…
  365. # [19:01] <chaals> DG: If others want this we can live with that.
  366. # [19:02] <chaals> … But we do want open and event retargetting not to be coupled.
  367. # [19:02] <chaals> EOC: You're fine with closed and retaregetting?
  368. # [19:02] <chaals> DG: Think it is impossible not to do that.
  369. # [19:02] <chaals> AR: Think that comes to the question of what closed really means, part of the semantics discussion.
  370. # [19:03] <chaals> zakim, agenda?
  371. # [19:03] <Zakim> I see 5 items remaining on the agenda:
  372. # [19:03] <Zakim> 2. agenda bashing [from chaals]
  373. # [19:03] <Zakim> 4. Jan…'s proposal for named thingo [from chaals]
  374. # [19:03] <Zakim> 5. closed and open [from chaals]
  375. # [19:03] <Zakim> 6. details of imperative distribution API, don't make it impossible. [from chaals]
  376. # [19:03] <Zakim> 7. clarify event retargetting... [from chaals]
  377. # [19:03] <chaals> zakim, close item 2
  378. # [19:03] <Zakim> agendum 2, agenda bashing, closed
  379. # [19:03] <Zakim> I see 4 items remaining on the agenda; the next one is
  380. # [19:03] <Zakim> 4. Jan…'s proposal for named thingo [from chaals]
  381. # [19:03] <chaals> Topic: Shadow boundary piercing combinators
  382. # [19:03] <chaals> MJS: Bare minimum is they must not work in closed mode
  383. # [19:04] <chaals> … named parts model is a better alternative ven for open mode. Making the style API contract depend on the exact structure is not a great pattern. We won't die on this hill if they are there for open.
  384. # [19:04] <chaals> AvK: Postpone piercing to v2
  385. # [19:04] <chaals> … would like to discuss styling the reprojected nodes and host
  386. # [19:04] <chaals> … would like to discuss this, but feel we haven't got something good on the table
  387. # [19:04] <chaals> agenda+ styling
  388. # [19:04] * Zakim notes agendum 8 added
  389. # [19:05] <chaals> TL: Agree parts model would be good. Peter Linss yesterday helped me realise that if we let web devs style native controls we want to do it via a parts model, so would like to see that consistent with shadow DOM environment
  390. # [19:05] <chaals> … think we can get away without this for v1 - there are some nice ugly hacks to do the job if necessary
  391. # [19:05] <chaals> DG: We think it was a mistake and we want to get rid of it.
  392. # [19:06] <chaals> … see research link in wiki page
  393. # [19:06] * Quits: annevk (~annevk@public.cloak) (Client closed connection)
  394. # [19:06] <jan> Cheat sheat of browser vendor positions on contentious bits: https://docs.google.com/spreadsheets/d/1hnCoaJTXkfSSHD5spISJ76nqbDcOVNMamgByiz3QWLA/edit#gid=0
  395. # [19:06] * chaals thanks Jan for this
  396. # [19:06] <chaals> … turned out to be a big footgun
  397. # [19:06] <chaals> … definitely want to get this out of v1. Want a better styling model, so far it is still not satisfying…
  398. # [19:07] <chaals> rrsagent, draft minutes
  399. # [19:07] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals
  400. # [19:07] <chaals> [Jan's summary doc shown]
  401. # [19:08] <chaals> RESOLUTION: remove shadow piercing combinator
  402. # [19:08] <chaals> rrsagent, draft minutes
  403. # [19:08] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals
  404. # [19:09] <chaals> Topic: consensu points...
  405. # [19:09] <rniwa> could someone add a link to the minutes on https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting ?
  406. # [19:10] <chaals> HI: We have a shadow element one level of the piercing combinator. Should we remove that too?
  407. # [19:10] <MikeSmith> -> https://docs.google.com/spreadsheets/d/tkXdf761xqo8mM6G-dIomYg/htmlview#gid=0 Cheat sheet of browser vendor positions on contentious bits
  408. # [19:10] <chaals> RESOLUTION: Yes.
  409. # [19:10] <chaals> AvK: We want some kind of event retargetting, right.
  410. # [19:10] <chaals> DG: Pending discussion...
  411. # [19:11] <chaals> RESOLUTION: We need to understand what closed means, and based on that try to figure out event retargetting. (so we're on the way to knowing what we want…)
  412. # [19:11] <chaals> s/want/want for event retargetting)
  413. # [19:11] * Quits: mjs (~mjs@public.cloak) (mjs)
  414. # [19:12] <hayato> s/shadow element/shadow pseudo element/
  415. # [19:12] * Joins: sorvell (~sorvell@public.cloak)
  416. # [19:12] * Quits: rniwa (~textual@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  417. # [19:15] * Parts: Lenville (~Lenville@public.cloak)
  418. # [19:15] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
  419. # [19:15] * Joins: rniwa (~textual@public.cloak)
  420. # [19:15] * Joins: botie (botie@public.cloak)
  421. # [19:16] * Quits: weinig (~weinig@public.cloak) (weinig)
  422. # [19:16] <MikeSmith> botie, inform rniwa https://www.w3.org/wiki/index.php?title=Webapps/WebComponentsApril2015Meeting#Minutes
  423. # [19:16] <botie> will do
  424. # [19:17] * Quits: rniwa (~textual@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  425. # [19:17] * Joins: mjs (~mjs@public.cloak)
  426. # [19:18] * Joins: ebidel (~ebidel@public.cloak)
  427. # [19:18] * Joins: weinig (~weinig@public.cloak)
  428. # [19:19] * Quits: sorvell (~sorvell@public.cloak) (Ping timeout: 180 seconds)
  429. # [19:20] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  430. # [19:23] * Quits: jan (~JanMiksovsky@public.cloak) (jan)
  431. # [19:24] * Joins: chaals (~Adium@public.cloak)
  432. # [19:25] <chaals> Chair: DGlazkov, chaals
  433. # [19:25] * Joins: LJWatson (~chatzilla@public.cloak)
  434. # [19:27] <chaals> Preesnt+ HayatoIto, Rysouke, JanMiskovsky
  435. # [19:27] <chaals> i/DG: Lots of people here/Topic: Introductions
  436. # [19:27] <chaals> rrsagent, draft minutes
  437. # [19:27] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals
  438. # [19:28] * Joins: rniwa (~textual@public.cloak)
  439. # [19:28] <botie> rniwa, at 2015-04-24 17:18 UTC, MikeSmith said: https://www.w3.org/wiki/index.php?title=Webapps/WebComponentsApril2015Meeting#Minutes
  440. # [19:28] <chaals> agenda?
  441. # [19:28] * Zakim sees 5 items remaining on the agenda:
  442. # [19:28] * Zakim 4. Jan…'s proposal for named thingo [from chaals]
  443. # [19:28] * Zakim 5. closed and open [from chaals]
  444. # [19:28] * Zakim 6. details of imperative distribution API, don't make it impossible. [from chaals]
  445. # [19:28] * Zakim 7. clarify event retargetting... [from chaals]
  446. # [19:28] * Zakim 8. styling [from chaals]
  447. # [19:29] * Joins: jcraig (~jcraig@public.cloak)
  448. # [19:29] * Joins: jan (~JanMiksovsky@public.cloak)
  449. # [19:29] <chaals> Topic: what does closed *mean*?
  450. # [19:30] * Quits: tantek (~tantek@public.cloak) (tantek)
  451. # [19:31] * Joins: sorvell (~sorvell@public.cloak)
  452. # [19:31] <chaals> AvK: So we have open, closed and isolated.
  453. # [19:31] <chaals> …isolated we can defer. closed is one where the outside can't easily reach in, but for example prototyping can give you a way to poke in. I think that is acceptable...
  454. # [19:31] <slightlyoff> q+
  455. # [19:31] * Zakim sees slightlyoff on the speaker queue
  456. # [19:31] <chaals> TL: So the cfreator can grant access that they have?
  457. # [19:31] <mjs> q+
  458. # [19:31] * Zakim sees slightlyoff, mjs on the speaker queue
  459. # [19:32] <chaals> AvK: Other scripts can prototype objecst, and if other things use those modified prototypes that's OK
  460. # [19:32] <chaals> q+ HI
  461. # [19:32] * Zakim sees slightlyoff, mjs, HI on the speaker queue
  462. # [19:32] <justin> q+ Justin
  463. # [19:32] * Zakim sees slightlyoff, mjs, HI, Justin on the speaker queue
  464. # [19:33] <chaals> … we decided to defer CSS, you can't reach in this way. For events the idea we had was for the event to internally have private slots where it has the full path. Depending on where you observe it, a public getter would return a filter.
  465. # [19:33] <chaals> if you observe in the main tree the path would be up to the host, but if you observe it in the shadow tree on its way it has the full path and the target is the real target.
  466. # [19:33] <chaals> … once dispatch is finished path would return nothing (empty list)
  467. # [19:33] <chaals> … is there anything else in there? Just events, right?
  468. # [19:33] <Travis> q+ given the holes in the simple closed mode, are folks that want closed still happy with this? What are their expectations?
  469. # [19:33] * Zakim Travis, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  470. # [19:33] <chaals> [Styling]
  471. # [19:34] <chaals> AvK: That's awhole can of worms seperate.
  472. # [19:34] * Quits: SteveF (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  473. # [19:34] <chaals> @@: Simple inheritance?
  474. # [19:34] <Travis> q+
  475. # [19:34] * Zakim sees slightlyoff, mjs, HI, Justin, Travis on the speaker queue
  476. # [19:34] <chaals> AvK; Can we agree on this? Travis wanted something else.
  477. # [19:34] <chaals> q?
  478. # [19:34] * Zakim sees slightlyoff, mjs, HI, Justin, Travis on the speaker queue
  479. # [19:34] <chaals> ack sl
  480. # [19:34] * Zakim sees mjs, HI, Justin, Travis on the speaker queue
  481. # [19:34] <sorvell> q+ Steve
  482. # [19:34] * Zakim sees mjs, HI, Justin, Travis, Steve on the speaker queue
  483. # [19:35] <chaals> AR: Couple of questions. Hardest: are there extra constraints placed on layout - if intrinsic width inside closed root would make closed item larger is that still possible in a component?
  484. # [19:35] * Joins: wanderview (~wanderview@public.cloak)
  485. # [19:35] <chaals> … does it preserve natural constraint hierarchy of CSS
  486. # [19:35] <chaals> AvK: Not sure about the question…
  487. # [19:35] * Parts: wanderview (~wanderview@public.cloak)
  488. # [19:35] <chaals> AR: Easier ones - do we have a list of who wants this and why?
  489. # [19:35] <chaals> AvK: We had one...
  490. # [19:35] <chaals> AR: Would be easier to answer the question of how closed closed is (more or less vs isolated) if we know which invariants we want to preserve
  491. # [19:36] <chaals> Justing: Why closed but not isolated?
  492. # [19:36] <chaals> AR: Acknowledge the uses are real but don't understand them yet.
  493. # [19:36] <hober> From June 2011, mjs' 5 kinds of encapsulation: https://lists.w3.org/Archives/Public/public-webapps/2011AprJun/1364.html
  494. # [19:36] <chaals> q?
  495. # [19:36] * Zakim sees mjs, HI, Justin, Travis, Steve on the speaker queue
  496. # [19:36] <chaals> MJS: largley agree with AvK's operational definition.
  497. # [19:36] <chaals> ack m
  498. # [19:36] * Zakim sees HI, Justin, Travis, Steve on the speaker queue
  499. # [19:36] <hober> See "Why is encapsulation (type 2) important for components?" in that email
  500. # [19:36] * Joins: wanderview_ (~sid277@public.cloak)
  501. # [19:37] <chaals> … goal of closed mode is to present leakage of internal deatils of component to DOM API. Not prevent leakage from sharing a scriptiing environment with host environement
  502. # [19:37] * wanderview_ is now known as wanderview
  503. # [19:37] <slightlyoff> I'd like to hear from framework authors on this
  504. # [19:37] <chaals> … useful because 1. You can have a closed mode by rpeventing @@
  505. # [19:37] <chaals> … building block for eventual isolated mode
  506. # [19:37] <chaals> s/@@/leakage using seperate script environment
  507. # [19:38] <chaals> … 2. Environments don't generally let you poe holes - it is a use case for specialised tools but should not be generally recommended.
  508. # [19:38] <slightlyoff> I'm really concerned about this...isn't the redirection of .shadow the same thing as making the shadow root slightly more difficult to work with?
  509. # [19:38] <chaals> … you *should* be interacting with a closed component through defined interfaces not by poking into the shadow tree directly.
  510. # [19:38] <chaals> … Think I showed how yu can build a closed mode with handwavy details, that isolates things - this is a start.
  511. # [19:38] <chaals> ack next
  512. # [19:38] * Zakim sees HI at the head of the speaker queue
  513. # [19:38] * Zakim sees Justin, Travis, Steve on the speaker queue
  514. # [19:38] * Joins: jcraig_ (~jcraig@public.cloak)
  515. # [19:39] <mjs> q+ to add that another benefit of closed mode is better explaining the platform
  516. # [19:39] * Zakim sees Justin, Travis, Steve, mjs on the speaker queue
  517. # [19:39] <chaals> HI: speccing closed mode in shaodw so it behaves like virtual elements in blink. e.g. video uses shadow tree as structure. Expect closed should behave like this - don't expose structure to the outside. Shadow DOM isn't meant to provide security - that isn't its goal.
  518. # [19:39] <chaals> ack next
  519. # [19:39] * Zakim sees Justin at the head of the speaker queue
  520. # [19:39] * Zakim sees Travis, Steve, mjs on the speaker queue
  521. # [19:39] <slightlyoff> this seems like a much taller hurdle than what Maciej just outline; can one get the SD of a <video> via __proto__ swizzling?
  522. # [19:40] <slightlyoff> s/outline/outlined/
  523. # [19:40] <chaals> Justin: value of closed but not isolated - idea that the current mode we have is wide open…
  524. # [19:40] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  525. # [19:40] * jcraig_ is now known as jcraig
  526. # [19:40] <chaals> … feel like the mode we have satisfies the goals already. By default you don't traverse into the shadow root, you have to go out of your way to even get in there already.
  527. # [19:41] <chaals> … the idea of not attaching the shadow property by default doesn't make a difference, you can still work through it if you want but don't by default.
  528. # [19:41] <rniwa> +q
  529. # [19:41] * Zakim sees Travis, Steve, mjs, rniwa on the speaker queue
  530. # [19:41] <hayato> s/virtual elements/built-in elements/
  531. # [19:41] <chaals> … don';t understand the value of a sort-of closed, we are already not encouraging people to poke inside and mess with stuff.
  532. # [19:42] <chaals> AvK: We don't have them yet but for open case I would like that we add APIs that operate on the compose tree so you can query nodes across the whole tree. If you use shadow for organisaing your nodes and can reason globally, also for selection, then the distinction becomes meaningful…
  533. # [19:43] * Quits: jan (~JanMiksovsky@public.cloak) (jan)
  534. # [19:43] <chaals> Juatin: Big concern is for tools operating in browser context if you want to operate on the whole doc, closed by default becomes really scary - you can't say "I know what I am doing, let me in to do linting, accessibility, etc etc"
  535. # [19:43] * Quits: ebidel (~ebidel@public.cloak) ("Page closed")
  536. # [19:43] <ebryn> sounds like he’s making an argument for open by default?
  537. # [19:43] <chaals> … rationale to prevent people reaching in by accident has potential to shut off a lot of tools
  538. # [19:43] <slightlyoff> so this is the root of it to me: is the argument about the potential difficulty? If so, I think we could make .shadowRoot harder
  539. # [19:43] <chaals> SamW: isn't that already a problem with iframes?
  540. # [19:44] <chaals> Justin: Yes, but they are less frequently used.
  541. # [19:44] <slightlyoff> iframes are origin isolation primitives
  542. # [19:44] <slightlyoff> they are "isolated"
  543. # [19:44] <slightlyoff> they are not a reasonable proxy for this debate
  544. # [19:44] <chaals> … we're talking about a world where pages may have a lot of components in them. Don't want pages with lots of iframes...
  545. # [19:44] <chaals> … making compnents like iframes would be bad.
  546. # [19:44] <chaals> ack next
  547. # [19:44] * Zakim sees Travis at the head of the speaker queue
  548. # [19:44] * Zakim sees Steve, mjs, rniwa on the speaker queue
  549. # [19:45] <ebryn> this appears to be a discussion around continuing to enable global reasoning with open by default -vs- changing that by making shadow DOM closed by default
  550. # [19:45] <chaals> TL: Iframes are open by default modulo cross-domain security. If we ahve a simple closed model that will set the wrong expectations for dev community - no simple access to shadow DOM, so people will think they are protected, but it is too easy to work around that. So +1 to Justin.
  551. # [19:45] <chaals> … Thinking about isolated model, don't think a sumple closed model is a building block for it. Boundary isn't around shadow DOM but around custom element layer.
  552. # [19:46] <chaals> … so you can isolate custom element without needing shadow DOM.
  553. # [19:46] <slightlyoff> where's the proposal
  554. # [19:46] <slightlyoff> ?
  555. # [19:46] <chaals> … have a proposal for that I sent out early this morning
  556. # [19:46] <chaals> ack next
  557. # [19:46] * Zakim sees Steve at the head of the speaker queue
  558. # [19:46] * Zakim sees mjs, rniwa on the speaker queue
  559. # [19:46] <Travis> Isolated components: https://github.com/w3c/webcomponents/wiki/Cross-Origin-Custom-Elements:-Concept-and-Proposal
  560. # [19:47] * Joins: annevk (~annevk@public.cloak)
  561. # [19:47] <slightlyoff> thanks Travis
  562. # [19:47] <chaals> SO: Justin said most of it. THis is a preview of event discussion but not sure there is wide understanfing of what event path it is. There is a correspondence between the shadow root and access to the event path. normal retargetting gives you basic protection - can be removed.
  563. # [19:48] <chaals> … Disallowing people from looking inside is valuable, but. The web has things in global scope that evolved there. We see open as important so you don't shut off people dealing with that.
  564. # [19:48] <ebryn> q+
  565. # [19:48] * Zakim sees mjs, rniwa, ebryn on the speaker queue
  566. # [19:49] <chaals> … in same sense as wy we don't like scope-piercing selectors, don't see the value of being able to poke in. Open is the legacy get out of jail for things that don't work well. Hopefully we move to a world where people don't want to poke inside.
  567. # [19:49] <justin> q+ Justin
  568. # [19:49] * Zakim sees mjs, rniwa, ebryn, Justin on the speaker queue
  569. # [19:49] <chaals> AvK: Event path isn't a special API, it's a normal part of the event and should follow the same rules as target, not being a special poking pole.
  570. # [19:49] * wilsonpage is now known as wilsonpage-away
  571. # [19:49] <chaals> … first node in event path has to match target.
  572. # [19:50] <chaals> ack next
  573. # [19:50] * Zakim sees mjs at the head of the speaker queue
  574. # [19:50] <Zakim> mjs, you wanted to add that another benefit of closed mode is better explaining the platform
  575. # [19:50] * Zakim sees rniwa, ebryn, Justin on the speaker queue
  576. # [19:50] <chaals> MJS: Not sure my point is as good as I thought before… closed mode is a better tool for explaining the platform - no built-in element has an open shadow root, and that's reasonable.
  577. # [19:51] <chaals> … built-in elements with secret structure even built from DOM are in isloated - you can't poke in. ut the isolated mode is built on a closed mode of shadowDOM
  578. # [19:51] <chaals> … not doing something different.
  579. # [19:51] <chaals> … can entertain models of isolated mode seperate from closing DOM layer, but that is how we actually do this for builtins so it seems like a good strawman to do the same for custom elements
  580. # [19:51] <chaals> ack next
  581. # [19:51] * Zakim sees rniwa at the head of the speaker queue
  582. # [19:51] * Zakim sees ebryn, Justin on the speaker queue
  583. # [19:52] <chaals> Present+ Domenic
  584. # [19:52] * wilsonpage-away is now known as wilsonpage
  585. # [19:52] <chaals> RN: going toearlier point about lack of difference. We are removing shadow abuse, becaus people do that. Problem with exposing shadow root by default is people start abusing it, and learn that as a habit.
  586. # [19:53] <hober> q+
  587. # [19:53] * Zakim sees ebryn, Justin, hober on the speaker queue
  588. # [19:53] <chaals> … so where tools do need poking, that's where they overide the prototype so they can. People who know that much know how to implement things righter.
  589. # [19:53] <chaals> … fact closed doesn't expose things isn't bad, it's more encouragement not to poke inside as a default way to work. closed lets us have both ways.
  590. # [19:53] <chaals> ack e
  591. # [19:53] * Zakim sees Justin, hober on the speaker queue
  592. # [19:54] <chaals> EB: Been listening. from perspective of amber.js, I would recap this to say we are talking about changes in the programming model.
  593. # [19:55] <dfreedm> s/amber.js/ember.js/
  594. # [19:55] <chaals> … global reasoning vs isolated reasoning. I heard open by default is the current programming model of the web - work in a global environment
  595. # [19:55] <chaals> Justin: that's not the basis for my argument.
  596. # [19:55] <chaals> EB: Discussion is a desire to change the programming model from allowing global reasoning on everything, identifying everything inside to be manipulated - what I think of as open by default...
  597. # [19:56] <chaals> … to something that makes it harder to do that. This is an important decision to make and I think is at odds with the way developers today want to work.
  598. # [19:56] <Domenic_> q+
  599. # [19:56] * Zakim sees Justin, hober, Domenic_ on the speaker queue
  600. # [19:56] <chaals> … they will want to pierce shadows.
  601. # [19:56] <chaals> … isolation in my mind is how we get something better than sandboxed iframes. Can bring security use cases, to what could be a nice component model
  602. # [19:57] <chaals> Justin: to reply. My point isn't that we should live in the wild west of global everything - components have scopes.
  603. # [19:57] <chaals> … but our default of open actually satisfies most goals - most stuff doesn't go inside the shadows so by default we already get scoping.
  604. # [19:58] <chaals> … to think closed by default I want to understand the rationale better.
  605. # [19:58] <chaals> … how does it add real value, since it doesn't isolate.
  606. # [19:58] <misko> q+ from Angular’s point of view i think there is a difference between application level component and a Widget component. For us applications component should be open. Even for the Widget components I think the value of testing outweights the value of beign closed.
  607. # [19:58] * Zakim misko, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  608. # [19:58] <sorvell> +q
  609. # [19:58] * Zakim sees Justin, hober, Domenic_, sorvell on the speaker queue
  610. # [19:58] <chaals> EB: I think there will be people who want queryselector to poke into shadow roots.
  611. # [19:58] <chaals> … right or wrong.
  612. # [19:58] <slightlyoff> q?
  613. # [19:58] * Zakim sees Justin, hober, Domenic_, sorvell on the speaker queue
  614. # [19:59] <misko> +q From Angular’s point of view we would like open components. The value of testing is high, the value of safety is not that valuable.
  615. # [19:59] * Zakim misko, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  616. # [19:59] <misko> +q Angular’s point of view
  617. # [19:59] * Zakim misko, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  618. # [20:00] <chaals> Justin: To rn, I know by monkey patching you can get back to where we are today but there are a lot of tools that might want to do this - screenreaders finding the active element, building screenshots, reaching the actual anchor page that fired a click event, debuggery...
  619. # [20:00] <misko> +q
  620. # [20:00] * Zakim sees Justin, hober, Domenic_, sorvell, misko on the speaker queue
  621. # [20:00] <chaals> … how do all these monkey patch in a way they don't step all over each other?
  622. # [20:00] <chaals> … the esacpe hatch is tricky because people ahve to figure out how to cooperate.
  623. # [20:00] <chaals> ack ju
  624. # [20:00] * Zakim sees hober, Domenic_, sorvell, misko on the speaker queue
  625. # [20:00] <chaals> AvK: Not sure how tools is an argument if we are going to do isolated
  626. # [20:00] <chaals> ack ho
  627. # [20:00] * Zakim sees Domenic_, sorvell, misko on the speaker queue
  628. # [20:00] * Joins: SteveF (~chatzilla@public.cloak)
  629. # [20:01] <chaals> EOC: Open defends against accidental access - lower bar. Isolated is the high bar against everything.
  630. # [20:01] <chaals> … closed mode is meant to defend against "normal access"
  631. # [20:02] <chaals> … there are cases where people want to hack around the closed barrier. Now there is prototype etc, but it looks bad and the feature is that it feels bad to do that. It's about changing what is natural style.
  632. # [20:02] <chaals> … debugging example is a weird one. Web inspectors have more priveliged access than the rest of the platform and that's a good thing.
  633. # [20:02] * Joins: jan (~JanMiksovsky@public.cloak)
  634. # [20:02] <chaals> Justin: Working on polymer tools. Would love to make them cross browser. But when htey have to use priveliged APIs they are not standard and you have to close that option down.
  635. # [20:03] <ebryn> Sounds like we need to standardize privileged access APIs to build tooling
  636. # [20:03] <chaals> … want to enable more expressivity for people who are not in prveliged contxts
  637. # [20:03] <hober> q?
  638. # [20:03] * Zakim sees Domenic_, sorvell, misko on the speaker queue
  639. # [20:03] <chaals> ack next
  640. # [20:03] * Zakim sees Domenic_ at the head of the speaker queue
  641. # [20:03] * Zakim sees sorvell, misko on the speaker queue
  642. # [20:03] <slightlyoff> hober; fyi: Google Feedback does not live in a privileded context; it's just JS on a page
  643. # [20:03] <slightlyoff> q+
  644. # [20:03] * Zakim sees sorvell, misko, slightlyoff on the speaker queue
  645. # [20:03] <chaals> DD: Responding to point about how people will mess with shadow so why do we let them? People don't mess with _stuff even though it is possible, as a rule.
  646. # [20:04] <chaals> … it isn't a security model, but people do feel bad if they do that.
  647. # [20:04] <ebryn> make it ._shadowRoot
  648. # [20:04] <ebryn> YES
  649. # [20:04] <chaals> … maybe we should rename to _shadowRoot
  650. # [20:04] <chaals> … this isn't a security boundary, it's a marker that you're being hacky now.
  651. # [20:05] <chaals> … if you have a case for it, maybe you need it.
  652. # [20:05] <wilsonpage> Localization is also relevant here. Nodes inside the shadow-root can need localized content provided by the document.
  653. # [20:05] <dglazkov> q+
  654. # [20:05] * Zakim sees sorvell, misko, slightlyoff, dglazkov on the speaker queue
  655. # [20:05] <chaals> … think there is a precedent - so long as it isn't really easy to get across then we are in good shape.
  656. # [20:05] <chaals> ack next
  657. # [20:05] * Zakim sees sorvell at the head of the speaker queue
  658. # [20:05] * Zakim sees misko, slightlyoff, dglazkov on the speaker queue
  659. # [20:05] * rniwa would prefer a symbol over _shadowRoot if we're going that route
  660. # [20:05] <chaals> SO: +1 to the underscore. To relate polymer user experience - poking insdie hasn't been a problem.
  661. # [20:05] <smaug> q+
  662. # [20:05] * Zakim sees misko, slightlyoff, dglazkov, smaug on the speaker queue
  663. # [20:05] <chaals> … it's clear that's naughtyish.
  664. # [20:06] <wilsonpage> +1 to underscore
  665. # [20:06] <weinig> q+
  666. # [20:06] * Zakim sees misko, slightlyoff, dglazkov, smaug, weinig on the speaker queue
  667. # [20:06] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  668. # [20:06] <mjs> q+ to mention default vs semantics
  669. # [20:06] * Zakim sees misko, slightlyoff, dglazkov, smaug, weinig, mjs on the speaker queue
  670. # [20:06] <chaals> … this is good for naive users, you don't want them poking in but, but if you want global reasoning don't use .shadowRoot.
  671. # [20:06] <rniwa> +q
  672. # [20:06] * Zakim sees misko, slightlyoff, dglazkov, smaug, weinig, mjs, rniwa on the speaker queue
  673. # [20:06] <chaals> ack mis
  674. # [20:06] * Zakim sees slightlyoff, dglazkov, smaug, weinig, mjs, rniwa on the speaker queue
  675. # [20:06] <ebryn> the problem is you still want things like custom elements and distribution
  676. # [20:07] <ebryn> and to be able to globally reason
  677. # [20:07] <chaals> Misko: on angular I echo the view of Justin, should be open. 2 kinds of components - those that are only for a particular app, and reusable widgets.
  678. # [20:07] <annevk> Are we talking about what the default be or having the option at all?
  679. # [20:07] <ebryn> this is a bridge for existing devs to the new world
  680. # [20:07] <chaals> … From application POV these should be open - debug it, etc.
  681. # [20:08] * ebryn wonders what polymer steve’s handle is
  682. # [20:08] <chaals> … For reusable components, I would say the value of being able to debug far outwieghs the benefit of it being closed.
  683. # [20:08] * Joins: jcraig (~jcraig@public.cloak)
  684. # [20:08] <chaals> … if we want to do testing and we can't reach in, I think this won't be good. From a framework point of view closed is little benefit, lot of pain.
  685. # [20:08] <chaals> DG: framework people, what do you prefer - open or closed?
  686. # [20:09] * MikeSmith ebryn sorvell, I think
  687. # [20:09] <chaals> Misko: We would prefer open, to allow debugging, that's huge
  688. # [20:10] <chaals> EB: Instance property or something?
  689. # [20:10] <chaals> Misko: In angualr you don't get the DOM for developing, but debugging you want to traverse everything.
  690. # [20:10] <chaals> q?
  691. # [20:10] * Zakim sees slightlyoff, dglazkov, smaug, weinig, mjs, rniwa on the speaker queue
  692. # [20:10] <Travis> Turns out you can always `delete shadowRoot` to get closed model :)
  693. # [20:11] <mjs> closed mode was about more than one property when we had shadow-piercing combinators
  694. # [20:11] <chaals> EB: Not clear what happens. THere is a component the user is interfacing with. Ember has a component object. Not a DOM node, would love it to be a subclassed HTML element, it has an element property reflecting the shadowRoot of it.
  695. # [20:11] <chaals> … we do composition in light DOM. We would expose shadowRoot as something like element - a public API for the implementor.
  696. # [20:11] <annevk> q+
  697. # [20:11] * Zakim sees slightlyoff, dglazkov, smaug, weinig, mjs, rniwa, annevk on the speaker queue
  698. # [20:12] <chaals> … to app user of component, they will likely never directly reference componentn object, would subclass it to customise or use it from a declarative API in a template.
  699. # [20:12] <chaals> … getting into inheritance vs composition.
  700. # [20:13] <chaals> EB: Not toally obvious what implications of question open/closed but component author would have access. users wouldn't genreally have access to it except using inheritance.
  701. # [20:13] <chaals> … composing being the happy path…
  702. # [20:13] <chaals> … when debugging you will almost certainly expose the component.
  703. # [20:13] <chaals> @@@: Polymer would make it open by default every time.
  704. # [20:14] <chaals> … this is an encapsualtion primitive - good citizens wouldn't see or use the naughtiness. Maybe we are wedged on the colour of the roof.
  705. # [20:14] <hober> q?
  706. # [20:14] * Zakim sees slightlyoff, dglazkov, smaug, weinig, mjs, rniwa, annevk on the speaker queue
  707. # [20:14] <chaals> … you wouldn't see the things inside.
  708. # [20:14] <dglazkov> q-
  709. # [20:14] * Zakim sees slightlyoff, smaug, weinig, mjs, rniwa, annevk on the speaker queue
  710. # [20:14] <chaals> ack next
  711. # [20:14] * Zakim sees slightlyoff at the head of the speaker queue
  712. # [20:14] * Zakim sees smaug, weinig, mjs, rniwa, annevk on the speaker queue
  713. # [20:14] <chaals> AR: First point, reinforce what scott said.
  714. # [20:14] <chaals> s/@@@/scott
  715. # [20:15] <chaals> …think I can reflect the intent of .shadowRoot as being a speed bump. Made to stop people poking inside if they weren't seriously needing to do so.
  716. # [20:15] <chaals> … We noted frameworks had _stuff that people didn't mess with.
  717. # [20:16] * Joins: estellevw (~estellevw@public.cloak)
  718. # [20:16] <chaals> … advisory path had real weight in the world, and being fully closed seemed some disatnce away. Design intent is "don't use shadowRoot". closed is .shadowRoot. isolated means stay the %$#&^^ away.
  719. # [20:16] <chaals> … as framework authors, how end users think isn't that open means wide open
  720. # [20:16] <chaals> ack next
  721. # [20:16] * Zakim sees smaug at the head of the speaker queue
  722. # [20:16] <Travis> +1 to slightlyoff
  723. # [20:16] * Zakim sees weinig, mjs, rniwa, annevk on the speaker queue
  724. # [20:17] <chaals> OP: re XBL in firefox. There has been an issue that XBL is open and people poke inside. Addons break when they do that. So it would be useful to have closed mode there.
  725. # [20:17] <chaals> mumbler: closed or isolated?
  726. # [20:17] <chaals> OP: Closed
  727. # [20:17] <chaals> EB: are they underscored?
  728. # [20:17] <chaals> OP: No
  729. # [20:17] <Travis> "open" -> "obscured", "closed" -> "closed"?
  730. # [20:17] <chaals> EB: Then you lost the discuouragement effect...
  731. # [20:17] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  732. # [20:18] <chaals> ack w
  733. # [20:18] * Zakim sees mjs, rniwa, annevk on the speaker queue
  734. # [20:18] * Joins: zenorocha (~zenorocha@public.cloak)
  735. # [20:18] * Quits: joannawu (~JoannaWu@public.cloak) (Client closed connection)
  736. # [20:18] <ebryn> If you do not underscore the properties you don’t intend users to use, they will not know you didn’t intend them to use them
  737. # [20:18] <chaals> SW: Question - blink thought shadow piercing combinators were a bad idea. Seems from a naive perspective that would apply to shadowRoot property - so why not?
  738. # [20:18] <ebryn> Users don’t read your docs or understand your philosophy
  739. # [20:18] <ebryn> They read other people’s code and cargo cult it
  740. # [20:18] <chaals> DG: Comparison is interesting and it is a good question.
  741. # [20:19] <chaals> … difference between CSS and DOM - DOM operations are ultimately malleable and user will get their way in the end.
  742. # [20:19] * Joins: marcosc (~marcosc@public.cloak)
  743. # [20:19] <chaals> … ability of user to reach into shadow was not prevented. Shadow piercing combinator was to have a styling story, but it went wrong. There isn't a way to do this other than poing into the shadow blocks.
  744. # [20:20] <chaals> … abuse came because every framework is pretty advanced in understanding of component model Thinking of authors about components is there -CSS still ahs thinking running on the global model.
  745. # [20:21] <chaals> … bootstrap problem is because the framework insists on reasoning globally. shadowRoot wasn't such a problem because the "normal" thinking had already moved on to a componentise world.
  746. # [20:21] <chaals> … data doesn't show the abuse of shadowRoot that we see for shadow piercing, despite the latter being around longer.
  747. # [20:21] <chaals> ack next
  748. # [20:21] * Zakim sees mjs at the head of the speaker queue
  749. # [20:21] <Zakim> mjs, you wanted to mention default vs semantics
  750. # [20:21] * Zakim sees rniwa, annevk on the speaker queue
  751. # [20:21] <Travis> Point of shadow DOM itself is for style isolation (not DOM element isolation--that already exists), piercing combinator made it too easy to undo style isolation.
  752. # [20:21] <chaals> MJS: Think we started trying to decide what closed mode should be. Wandered into discussion of default.
  753. # [20:22] <chaals> … if we define it we need a default, but let's check in whether the semantics outlined are coherent enough to spec.
  754. # [20:22] * Joins: yo3jones (~yo3jones@public.cloak)
  755. # [20:22] <chaals> … another thing to think is how frameworks want an openness hook.
  756. # [20:23] <chaals> … there are a couple of levels. If we have both modes, and you can choose, then you can choose.
  757. # [20:23] <chaals> … what might matter more is if others make a different choice - would it be a problem if others choose closed when frameworks shoose open?
  758. # [20:23] <chaals> s/shoo/choo
  759. # [20:23] * ebryn says yes, it hurts compatibility layers potentially
  760. # [20:24] <chaals> … if it isn't, then maybe we don't worry so much, and we don't *need* to set a default.
  761. # [20:24] <chaals> … But are the semantics clear enough to spec?
  762. # [20:24] * Domenic_ sorry for being late, is there a link to the semantics annevk outlined?
  763. # [20:24] * Domenic_ i guess they were just repeated out loud
  764. # [20:24] <chaals> … I think Anne's outline is a reasonable strating point. Event retergetting is set up, no property pointing in, and no way for CSS to break in.
  765. # [20:24] * rniwa points out to Domenic_: http://www.w3.org/2015/04/24-webapps-minutes.html
  766. # [20:24] * ebryn waves to Domenic_
  767. # [20:24] <chaals> … closed mode would not support shadow piercing combinators because that would be a violation of the basics.
  768. # [20:25] <hober> q- annevk
  769. # [20:25] * Zakim sees rniwa on the speaker queue
  770. # [20:25] * Domenic_ yeah been trying to read scrollback in pieces, was wondering if they were in a doc somewhere
  771. # [20:25] <chaals> AvK: I wanted to say what Maciej said.
  772. # [20:25] <chaals> … I agree my proposal is not as insane as it sounds.
  773. # [20:25] <chaals> s/not as insane as it sounds/a useful thing. I don't care about the default thing.
  774. # [20:25] <chaals> DD: We need a closed mode to explain HTML.
  775. # [20:25] <chaals> AvK: HTML is isloated.
  776. # [20:26] <chaals> DD: Wher closed is a subset of that it helps.
  777. # [20:26] <chaals> q?
  778. # [20:26] * Zakim sees rniwa on the speaker queue
  779. # [20:26] * rniwa can I have mic?
  780. # [20:26] * rniwa is everyone just ignoring the queue now?
  781. # [20:26] <justin> I'll direct it your way
  782. # [20:26] <mjs> q+ for JS vs DOM
  783. # [20:26] * Zakim sees rniwa, mjs on the speaker queue
  784. # [20:27] <slightlyoff> +1 to Travis
  785. # [20:27] <chaals> TL: Don't see why isloating the DOM API is more satisfying that isloating the JS API. Web deveopers dont't distinguish these two as different parts of the platform. If you don't guarantee isollation, the barrier of event retargetting and blocking shadow root access isn't that relevant.
  786. # [20:27] <slightlyoff> DOM is just a library for JS; treating it like some special case is creating a bug
  787. # [20:27] <chaals> … prefer complete isolation like HTML elements than having this halfway point.
  788. # [20:27] * ebryn agrees with travis
  789. # [20:27] <Domenic_> +1... I assume closed would be a subset of the whole isolated thing but it would be better to have the whole isolated semantics spelled out
  790. # [20:27] <chaals> … if you want to make closed, delete your shadowRoot propoerty.
  791. # [20:27] <sorvell> q+
  792. # [20:27] * Zakim sees rniwa, mjs, sorvell on the speaker queue
  793. # [20:27] * Quits: jan (~JanMiksovsky@public.cloak) (jan)
  794. # [20:27] <ebryn> +1 to Travis
  795. # [20:28] <chaals> RN: If you want open mode you can just not use shadow DOM? I don't think that;'s viable for frameworks.
  796. # [20:28] <chaals> … there are frameworks that by default are open, and they don't want event retargetting, and want style isolation.
  797. # [20:28] <wilsonpage> +1 Travis
  798. # [20:28] <slightlyoff> q+
  799. # [20:28] * Zakim sees rniwa, mjs, sorvell, slightlyoff on the speaker queue
  800. # [20:28] <ebryn> +1 rniwa
  801. # [20:28] <chaals> … either sperate style isolation from shadow DOM, or make open mode more open
  802. # [20:28] <chaals> … so people can select through shadows.
  803. # [20:28] <justin> what frameks?
  804. # [20:29] <chaals> … might need to discuss whether open model is the right openness
  805. # [20:29] <slightlyoff> rniwa; can you talk about who wants this?
  806. # [20:29] <chaals> zakim, close the queue
  807. # [20:29] <Zakim> ok, chaals, the speaker queue is closed
  808. # [20:29] <ebryn> we should have a mechanism to utilize custom elements, <template>, and distribution points in a more open mode
  809. # [20:29] <chaals> ack rn
  810. # [20:29] * Zakim sees mjs, sorvell, slightlyoff on the speaker queue
  811. # [20:29] <justin> q+ Justin
  812. # [20:29] * Zakim whispers to justin that the speaker queue has been closed
  813. # [20:29] <chaals> AvK: Agree with Ryosuke.
  814. # [20:29] <chaals> zakim, open queue]
  815. # [20:29] <Zakim> I don't understand 'open queue]', chaals
  816. # [20:29] <chaals> zakim, open queue
  817. # [20:29] <Zakim> ok, chaals, the speaker queue is open
  818. # [20:29] * ebryn PRIMITIVES!
  819. # [20:29] * Joins: shepazu (schepers@public.cloak)
  820. # [20:29] <chaals> q+ justin
  821. # [20:29] * Zakim sees mjs, sorvell, slightlyoff, justin on the speaker queue
  822. # [20:29] <justin> I don't know of anyone asking for more open outside the "bootstrap problem"
  823. # [20:29] <chaals> zakim, close the queue in 3 minutes
  824. # [20:29] <Zakim> I don't understand 'close the queue in 3 minutes', chaals
  825. # [20:30] <Travis> Zakim wants this discussion to continue.
  826. # [20:30] * Quits: rniwa (~textual@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  827. # [20:30] <chaals> AvK: Doesn't amake sense for event path not to match the target. If you have the open model the event would go over a composed tree and everyone can see that, in closed you get real retargetting…
  828. # [20:30] * Joins: rniwa (~textual@public.cloak)
  829. # [20:31] <chaals> … we might want a mode where seletors operate on the compsed tree, so the boundary is only for compositoin, everything is global.
  830. # [20:31] <chaals> EB: We want that.
  831. # [20:31] <hober> q?
  832. # [20:31] * Zakim sees mjs, sorvell, slightlyoff, justin on the speaker queue
  833. # [20:31] <chaals> ack m
  834. # [20:31] <Zakim> mjs, you wanted to discuss JS vs DOM
  835. # [20:31] * Zakim sees sorvell, slightlyoff, justin on the speaker queue
  836. # [20:31] <ebryn> it’s how we can migrate our users transparently to these primitives / shadow DOM
  837. # [20:32] <chaals> [straw poll: any consensus on a closed mode? apparently not…]
  838. # [20:33] <chaals> zakim, close queue
  839. # [20:33] <Zakim> ok, chaals, the speaker queue is closed
  840. # [20:33] * Quits: yo3jones (~yo3jones@public.cloak) (Ping timeout: 180 seconds)
  841. # [20:33] * Quits: shepazu (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  842. # [20:33] <chaals> MJS: Travis said DOM and JS aren't separated…
  843. # [20:34] <chaals> … think that is true to some extent but there is a conceptual dividing line. Reaons to have closed AND isolated is because JS is weird. Where you can't monkey-patch everything all the time, closed == isolated
  844. # [20:34] <ebryn> I think the point that you can create closed mode at runtime by deleting the `_shadowRoot` property was a good point
  845. # [20:34] <chaals> … if we want isolated, at least being able to close the APIs is a first step. Then deal with the language problem that is javascript-specific
  846. # [20:35] <Domenic_> Agree, but why do this in stages? Why not come up with a coherent proposal all at once?
  847. # [20:35] <chaals> … you could imagine JS going away, and then isolated would not be relevant.
  848. # [20:35] * ebryn wonders if Apple is bringing Swift to the browser?
  849. # [20:35] <chaals> … so makes sense to start with closed then build isolated n that
  850. # [20:35] <chaals> ack next
  851. # [20:35] * Zakim sees sorvell at the head of the speaker queue
  852. # [20:35] * Zakim sees slightlyoff, justin on the speaker queue
  853. # [20:36] <ebryn> q+
  854. # [20:36] * Zakim whispers to ebryn that the speaker queue has been closed
  855. # [20:36] <chaals> SO: Original question - would framework people consider closed a big obstacle. No, don't think people would use it much, it's OK if it is a stepping stone to isolated. If implementros think it is important, as a happy user of shadowDOM, we want shadow DOM so we don't want to hold it up from shipping on this point.
  856. # [20:36] <chaals> ack sl
  857. # [20:36] * Zakim sees justin on the speaker queue
  858. # [20:37] <chaals> AR: When we tried to introduce DART we designed a new DOM for it. That was of course an improvement on the actual web and therefore failed.
  859. # [20:37] <chaals> … It is a poor choice to assume you must inherit everything we have today in the future.
  860. # [20:38] <chaals> RESOLUTION: We're not attempting to address the post-javascript web
  861. # [20:38] <chaals> AR: Not sure I understand a "more open open". Nor that there are people clamouring for it especially in v1
  862. # [20:39] <chaals> … people are using current shadowDom.
  863. # [20:39] <chaals> EB: Poeple are using open open mode, 1% who tried shadow DOM are not representative.
  864. # [20:39] <chaals> AR: Shadow came from an open open world, and we are trying to repair some of its worst excesses.
  865. # [20:39] <chaals> AvK: Open open lets people ease towards closed.
  866. # [20:40] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
  867. # [20:40] * Quits: jyasskin (~textual@public.cloak) ("My computer has gone to sleep. ZZZzzz…")
  868. # [20:40] * Quits: wilsonpage (~wilsonpage@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  869. # [20:40] * Quits: mjs (~mjs@public.cloak) (mjs)
  870. # [20:41] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
  871. # [20:41] * Quits: weinig (~weinig@public.cloak) (weinig)
  872. # [20:41] <Travis> Present+ Travis_Leithead
  873. # [20:41] <chaals> rrsagent, draft minutes
  874. # [20:41] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals
  875. # [20:42] * cwilso to answer Chaals' question, lunch is scheduled for 12:00.
  876. # [20:45] * Quits: SteveF (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  877. # [20:46] * Quits: sorvell (~sorvell@public.cloak) (Ping timeout: 180 seconds)
  878. # [20:53] * Joins: blazejewicz (~blazejewicz@public.cloak)
  879. # [20:56] * Quits: blazejewicz (~blazejewicz@public.cloak) ("Page closed")
  880. # [20:57] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  881. # [20:59] * Joins: jyasskin (~textual@public.cloak)
  882. # [21:01] * Quits: jyasskin (~textual@public.cloak) ("My computer has gone to sleep. ZZZzzz…")
  883. # [21:03] * Joins: mjs (~mjs@public.cloak)
  884. # [21:08] * Quits: Travis (~Travis@public.cloak) (Ping timeout: 180 seconds)
  885. # [21:14] * Joins: SteveF (~chatzilla@public.cloak)
  886. # [21:18] * Joins: jyasskin (~textual@public.cloak)
  887. # [21:19] * Joins: joannawu (~JoannaWu@public.cloak)
  888. # [21:21] * Quits: mjs (~mjs@public.cloak) (mjs)
  889. # [21:24] * Quits: jyasskin (~textual@public.cloak) ("My computer has gone to sleep. ZZZzzz…")
  890. # [21:26] * Quits: joannawu (~JoannaWu@public.cloak) (Ping timeout: 180 seconds)
  891. # [21:30] * Joins: wilsonpage (~wilsonpage@public.cloak)
  892. # [21:30] * Joins: philipwalton (~philipwalton@public.cloak)
  893. # [21:47] * Quits: SteveF (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  894. # [21:51] * Joins: LJWatson (~chatzilla@public.cloak)
  895. # [21:54] * Joins: mjs (~mjs@public.cloak)
  896. # [21:56] * Joins: jan (~JanMiksovsky@public.cloak)
  897. # [21:57] * Joins: tantek (~tantek@public.cloak)
  898. # [21:58] <taylor> DG: Ready to reach decision on open/closed and the default
  899. # [21:58] <taylor> DG: We will have both closed and open mode in v1 - can you live?
  900. # [21:58] <taylor> MJS: Yes
  901. # [21:59] <taylor> TL: Good description: similar to what you get with javascript closures today.
  902. # [22:00] <taylor> TL: I'm in. Yes
  903. # [22:00] <taylor> DG: Yes
  904. # [22:00] <taylor> RESOLUTION: Yes on closed and open in v1
  905. # [22:02] <taylor> DG: Default?
  906. # [22:02] * Joins: Travis (~Travis@public.cloak)
  907. # [22:03] <taylor> AR: On the minutes that I object to required, no default
  908. # [22:03] <taylor> RESOLUTION: You have to make a choice
  909. # [22:03] <taylor> RESOLUTION: Clarified: no default, required to decide open or closed
  910. # [22:04] <chaals> agenda?
  911. # [22:04] * Zakim sees 5 items remaining on the agenda:
  912. # [22:04] * Zakim 4. Jan…'s proposal for named thingo [from chaals]
  913. # [22:04] * Zakim 5. closed and open [from chaals]
  914. # [22:04] * Zakim 6. details of imperative distribution API, don't make it impossible. [from chaals]
  915. # [22:04] * Zakim 7. clarify event retargetting... [from chaals]
  916. # [22:04] * Zakim 8. styling [from chaals]
  917. # [22:04] <chaals> zakim, close item 5
  918. # [22:04] <Zakim> agendum 5, closed and open, closed
  919. # [22:04] <Zakim> I see 4 items remaining on the agenda; the next one is
  920. # [22:04] <Zakim> 4. Jan…'s proposal for named thingo [from chaals]
  921. # [22:05] <taylor> DG: Retargeting
  922. # [22:05] <chaals> i/DG: Retarg/Topic: Event retargetting/
  923. # [22:05] <chaals> rrsagent, draft minutes
  924. # [22:05] <RRSAgent> I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals
  925. # [22:05] <taylor> AvK: Proposal: rename path to composedPath. We should not tie it to open/closed but let you choose between retargeting or not in open mode
  926. # [22:06] <chaals> Present+ AliceBoxhall, WilliamChen
  927. # [22:06] * Joins: sorvell (~sorvell@public.cloak)
  928. # [22:06] <Travis> q+
  929. # [22:06] * Zakim whispers to Travis that the speaker queue has been closed
  930. # [22:06] * Joins: markg_ (~chatzilla@public.cloak)
  931. # [22:06] * Travis sighs
  932. # [22:07] <chaals> zakim, open queue
  933. # [22:07] <Zakim> ok, chaals, the speaker queue is open
  934. # [22:07] <chaals> q+ travis
  935. # [22:07] * Zakim sees justin, travis on the speaker queue
  936. # [22:07] <chaals> q- justin
  937. # [22:07] * Zakim sees travis on the speaker queue
  938. # [22:07] <taylor> SM: nervious about keeping the path name but having it return something different
  939. # [22:07] <chaals> Present+ ScottM
  940. # [22:07] * Joins: jcraig (~jcraig@public.cloak)
  941. # [22:07] <chaals> Present+ ErikBryn
  942. # [22:08] <sorvell> q+
  943. # [22:08] * Zakim sees travis, sorvell on the speaker queue
  944. # [22:08] * ebryn wonders why Present+ means
  945. # [22:08] <chaals> Present+ MarkG, SteveOrvell
  946. # [22:08] * ebryn s/why/what/
  947. # [22:09] * chaals notes it means we get your name into the minutes so people can figure out who was speaking
  948. # [22:09] <taylor> TL: Could we avoid adding a second path property before nailing the first one?
  949. # [22:09] * Joins: weinig (~weinig@public.cloak)
  950. # [22:09] <taylor> DG: Event delegation is broken for composition
  951. # [22:10] <chaals> Present+ Misko
  952. # [22:10] <taylor> DG: Event delegation = instead of registering event listeners on elements, frameworks listen to everything and have their own event system managing that
  953. # [22:10] * Quits: mjs (~mjs@public.cloak) (mjs)
  954. # [22:10] <taylor> DG: If path does not include the full composed tree, you can reason where the event came from
  955. # [22:10] <chaals> Present+ WilsonPage
  956. # [22:11] <aklein> q+
  957. # [22:11] * Zakim sees travis, sorvell, aklein on the speaker queue
  958. # [22:11] * Quits: markg (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  959. # [22:11] * markg_ is now known as markg
  960. # [22:11] <taylor> AvK: We probably need another term that means open but not closed
  961. # [22:11] <chaals> ack tr
  962. # [22:11] * Zakim sees sorvell, aklein on the speaker queue
  963. # [22:11] <chaals> ack so
  964. # [22:11] * Zakim sees aklein on the speaker queue
  965. # [22:12] <chaals> Present+ AdamKlein
  966. # [22:12] * Quits: LJWatson (~chatzilla@public.cloak) (Client closed connection)
  967. # [22:12] <taylor> SO: Composed path or shadow path is fine. In closed mode you just don't get .shadowRoot or .shadowPath. They can return the same as path
  968. # [22:13] <chaals> ack akl
  969. # [22:13] * Zakim sees no one on the speaker queue
  970. # [22:13] <taylor> TL: Why would we introduce something that doesn't take into account shadow DOM automatically?
  971. # [22:13] * Quits: weinig (~weinig@public.cloak) (weinig)
  972. # [22:14] <rniwa> +q
  973. # [22:14] * Zakim sees rniwa on the speaker queue
  974. # [22:14] <taylor> AvK: Wouldn't object if we don't introduce it. Want a different name. Path is target to root. If we want to introduce that, which makes sense, we should call that path.
  975. # [22:14] <taylor> AK: Assuming we get composed path, having path or not is not a question that has to do with web components
  976. # [22:14] <chaals> ack rn
  977. # [22:14] * Zakim sees no one on the speaker queue
  978. # [22:15] * Joins: mjs (~mjs@public.cloak)
  979. # [22:15] * Joins: LJWatson (~chatzilla@public.cloak)
  980. # [22:15] <taylor> RN: We don't want to expose the nodes in closed shadow dom?
  981. # [22:15] <taylor> Consensus: No
  982. # [22:15] <taylor> Consensus(clarified): We don't want to expose the nodes in closed roots
  983. # [22:15] * rniwa shadowPiercingPath?
  984. # [22:15] * Joins: SteveF (~chatzilla@public.cloak)
  985. # [22:16] * rniwa completePath?
  986. # [22:16] * rniwa deepPath?
  987. # [22:16] * hober but in the current meta all anyone will care about are the deeps</badjoke>
  988. # [22:16] <taylor> DG: We can designate AvK to choose the name of this path
  989. # [22:16] <taylor> AvK: I decide "deepPath"
  990. # [22:16] <taylor> DG: Maybe we should designate a new person
  991. # [22:17] <taylor> AvK: Event retargeting is an option in the open case, and defaults to retarget? A switch on the constructor
  992. # [22:17] <justin> q+
  993. # [22:17] * Zakim sees justin on the speaker queue
  994. # [22:17] <chaals> agenda?
  995. # [22:17] * Zakim sees 4 items remaining on the agenda:
  996. # [22:17] * Zakim 4. Jan…'s proposal for named thingo [from chaals]
  997. # [22:17] * Zakim 6. details of imperative distribution API, don't make it impossible. [from chaals]
  998. # [22:17] * Zakim 7. clarify event retargetting... [from chaals]
  999. # [22:17] * Zakim 8. styling [from chaals]
  1000. # [22:18] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  1001. # [22:18] * Joins: marcosc (~marcosc@public.cloak)
  1002. # [22:18] <taylor> JF: Don't know how it makes sense to not retarget on an open root
  1003. # [22:18] <dglazkov> RESOLUTION: Event.path is local to shadow tree/document, Event.deepPath is what Event.path spec'd now.
  1004. # [22:19] <chaals> [DomenicD shows three possibilities when you can retarget or not, and be open or closed - except we don't allow no retargetting on closed]
  1005. # [22:19] <taylor> AvK: Would be OK with not adding the switch
  1006. # [22:19] <dglazkov> RESOLUTION: Event.deepPath does not include closed shadow trees
  1007. # [22:20] <taylor> SO: Any event delegation case should be solved by deepPath
  1008. # [22:20] * Quits: LJWatson (~chatzilla@public.cloak) (Client closed connection)
  1009. # [22:20] <dglazkov> RESOLUTION: Event retargeting happens
  1010. # [22:21] <dglazkov> Zakim: close item 7
  1011. # [22:21] <dglazkov> Zakim, close item 7
  1012. # [22:21] <Zakim> agendum 7, clarify event retargetting..., closed
  1013. # [22:21] <Zakim> I see 3 items remaining on the agenda; the next one is
  1014. # [22:21] <Zakim> 4. Jan…'s proposal for named thingo [from chaals]
  1015. # [22:21] <chaals> agenda?
  1016. # [22:21] * Zakim sees 3 items remaining on the agenda:
  1017. # [22:21] * Zakim 4. Jan…'s proposal for named thingo [from chaals]
  1018. # [22:21] * Zakim 6. details of imperative distribution API, don't make it impossible. [from chaals]
  1019. # [22:21] * Zakim 8. styling [from chaals]
  1020. # [22:21] * Quits: philipwalton (~philipwalton@public.cloak) (Ping timeout: 180 seconds)
  1021. # [22:21] * Domenic_ don't we have to fix WebIDL to allow sequence<> attributes for any of this to work? -_-
  1022. # [22:22] * chaals [there is great sadness]
  1023. # [22:22] <chaals> Topic: Named slots
  1024. # [22:22] <taylor> DG: Let's go on to slots
  1025. # [22:23] * Quits: mjs (~mjs@public.cloak) (mjs)
  1026. # [22:23] <chaals> Present+ TaylorSavage
  1027. # [22:23] * Joins: weinig (~weinig@public.cloak)
  1028. # [22:23] <taylor> JM: Different from other issues - was just published tuesday. May be premature for people to feel comfortable settling if they haven't had a chance to digest it.
  1029. # [22:23] * Joins: mjs (~mjs@public.cloak)
  1030. # [22:24] <taylor> JM: Deals with way component author specifies content for distribution points
  1031. # [22:24] * ebryn ¡death to selector-based programming!
  1032. # [22:24] * rniwa +1 to that
  1033. # [22:25] <taylor> JM: Aesthetic argument: saw people using selectors in odd ways for this
  1034. # [22:25] <taylor> JM: Can't look at instance of a component and tell what it is doing. Like languages that have named arguments vs. just comma-differentiated arguments
  1035. # [22:26] <taylor> JM: Makes subclassing easier - overriding by name
  1036. # [22:26] * rniwa here's the proposal: https://github.com/w3c/webcomponents/wiki/Proposal-for-changes-to-manage-Shadow-DOM-content-distribution
  1037. # [22:27] * ebryn thinks generally composition should be encouraged over inheritance
  1038. # [22:27] <taylor> JM: Summary: rather than having select attribute on content element, would have an attribute that indicates the name for the insertion point..
  1039. # [22:27] * rniwa +1 to that also. composition is the default mode of operation in the Web.
  1040. # [22:27] <taylor> JM: Component instances in the light DOM apply an attribute that designates the named insertion point that they want the element distributed to
  1041. # [22:27] * rniwa especially fallbacks.
  1042. # [22:28] <taylor> JM: Elements in light dom without a name would end up in the default insertion point
  1043. # [22:28] <taylor> DG: Second part to the proposal - do you think we can discuss in separation?
  1044. # [22:28] <sorvell> q+
  1045. # [22:28] * Zakim sees justin, sorvell on the speaker queue
  1046. # [22:29] <taylor> JM: Second part was to indicate desire to see subclassing expressed in the platform
  1047. # [22:29] * ebryn thinks subclassing is definitely relevant here and should be coupled to the solution for distribution
  1048. # [22:29] <taylor> JM: Want to achieve separation of concerns, and subclassing is a core feature for that
  1049. # [22:29] <misko> q+ slots reverses the role of who is doing the designation. +1
  1050. # [22:29] * Zakim misko, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  1051. # [22:29] <misko> q+
  1052. # [22:29] * Zakim sees justin, sorvell, misko on the speaker queue
  1053. # [22:30] <taylor> JM: We don't currently specify a way for a subclass to contribute to the base class's tree
  1054. # [22:30] * Quits: SteveF (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1055. # [22:30] <rniwa> +q
  1056. # [22:30] * Zakim sees justin, sorvell, misko, rniwa on the speaker queue
  1057. # [22:30] <taylor> JM: Seems possible that we might be able to tackle these pieces separately
  1058. # [22:30] <taylor> AvK: Would like to tackle separately
  1059. # [22:31] <taylor> AvK: Subclassing you propose includes modifying the existing shadow tree in place
  1060. # [22:31] <hayato> +q
  1061. # [22:31] * Zakim sees justin, sorvell, misko, rniwa, hayato on the speaker queue
  1062. # [22:31] <taylor> DG: Let's discuss slots on their own merit
  1063. # [22:31] <chaals> ack ju
  1064. # [22:31] * Zakim sees sorvell, misko, rniwa, hayato on the speaker queue
  1065. # [22:32] <taylor> JF: Disagree with slot proposal.
  1066. # [22:32] <taylor> JF: Important to optimize for end-user of custom elements
  1067. # [22:32] <taylor> JF: Right now, developers of CE have choice in how they craft their "light children" API
  1068. # [22:32] <taylor> JF: Can look at content slot mechanism as subset of select="[slot-name=...]"
  1069. # [22:33] * ebryn choice is bad
  1070. # [22:33] <taylor> JF: Giving authors this power lets them have some choice.
  1071. # [22:33] * ebryn this is a bad choice to let web devs make
  1072. # [22:33] <taylor> JF: We're envisioning a future where we have this marketplace of elements that compete on their merits
  1073. # [22:33] <Travis> q+
  1074. # [22:33] * Zakim sees sorvell, misko, rniwa, hayato, Travis on the speaker queue
  1075. # [22:33] <ebryn> q+
  1076. # [22:33] * Zakim sees sorvell, misko, rniwa, hayato, Travis, ebryn on the speaker queue
  1077. # [22:34] <taylor> JF: Want to give element author the ability to craft a nice component API.
  1078. # [22:34] <chaals> ack so
  1079. # [22:34] * Zakim sees misko, rniwa, hayato, Travis, ebryn on the speaker queue
  1080. # [22:34] <jan> q+
  1081. # [22:34] * Zakim sees misko, rniwa, hayato, Travis, ebryn, jan on the speaker queue
  1082. # [22:34] <taylor> SO: Hesitant about slot
  1083. # [22:34] * ebryn less expressive is a feature
  1084. # [22:34] <taylor> SO: Clearly less expressive. Limited css selector vs. single attribute
  1085. # [22:35] <taylor> SO: Not sufficient to explain the platform
  1086. # [22:35] * ebryn don’t understand what he means about option
  1087. # [22:35] <taylor> SO: Predicated on idea that expressiveness is good. This could be democratically decided, rather than forcing it in the platform.
  1088. # [22:35] <taylor> SO: Not a complete proposal. Would have to really strongly agree that explicitness is so important that we'd need to flesh it out
  1089. # [22:36] <taylor> SO: Using select enables you to do reprojection with different selectors down the tree.
  1090. # [22:36] * ebryn the ember team has objected to `<content select=` since the beginning
  1091. # [22:36] <chaals> ack mis
  1092. # [22:36] * Zakim sees rniwa, hayato, Travis, ebryn, jan on the speaker queue
  1093. # [22:36] <hober> q+
  1094. # [22:36] * Zakim sees rniwa, hayato, Travis, ebryn, jan, hober on the speaker queue
  1095. # [22:37] <taylor> Misko: In general, like the explicitness of it
  1096. # [22:37] <taylor> Misko: Enumerating them gives ability for tools to reason about it
  1097. # [22:37] <chaals> ack rn
  1098. # [22:37] * Zakim sees hayato, Travis, ebryn, jan, hober on the speaker queue
  1099. # [22:37] <chaals> q+ anne
  1100. # [22:37] * Zakim sees hayato, Travis, ebryn, jan, hober, anne on the speaker queue
  1101. # [22:37] <sorvell> q+ (Scott)
  1102. # [22:37] * Zakim sees hayato, Travis, ebryn, jan, hober, anne, (Scott) on the speaker queue
  1103. # [22:38] <taylor> RN: We strongly believe that supporting a selector based distribution is wrong
  1104. # [22:38] <taylor> RN: In a selector based approach, we have to evaluate the selector each time we distribute a node. The timing of which that happens is not obviously spec'd. We end up having to evaluate each time in order to change it.
  1105. # [22:39] <justin> Q+
  1106. # [22:39] * Zakim sees hayato, Travis, ebryn, jan, hober, anne, (Scott), justin on the speaker queue
  1107. # [22:39] <justin> q+
  1108. # [22:39] * Zakim sees hayato, Travis, ebryn, jan, hober, anne, (Scott), justin on the speaker queue
  1109. # [22:39] * ebryn imperative API should be a requirement
  1110. # [22:39] <chaals> ack haya
  1111. # [22:39] * Zakim sees Travis, ebryn, jan, hober, anne, (Scott), justin on the speaker queue
  1112. # [22:39] * Joins: LJWatson (~chatzilla@public.cloak)
  1113. # [22:39] <taylor> RN: We strongly feel imperative API is important.
  1114. # [22:39] * ebryn and this proposal is the first time we have a path forward in my mind for that
  1115. # [22:40] <dglazkov> +q
  1116. # [22:40] * Zakim sees Travis, ebryn, jan, hober, anne, (Scott), justin, dglazkov on the speaker queue
  1117. # [22:40] * ebryn the fact that css selectors exist is not a good argument for why to do it
  1118. # [22:40] <taylor> HI: Every browsers has already implemented CSS selector. We can re-use it. If it evolves we can benefit from it.
  1119. # [22:40] <justin> the distribution timing isn't any different, is it?
  1120. # [22:40] <justin> I didn't see that as part of the proposal
  1121. # [22:40] <taylor> HI: It's very efficient. It's only distributing nodes. Don't have to traverse up or down node tree.
  1122. # [22:40] * dglazkov that is correct. I am confused about how this impacts timing
  1123. # [22:40] <taylor> HI: Disabled support of psuedo-classes, and received lots of complaints from the community
  1124. # [22:40] <chaals> ack tr
  1125. # [22:40] * Zakim sees ebryn, jan, hober, anne, (Scott), justin, dglazkov on the speaker queue
  1126. # [22:41] <taylor> HI: Afraid we will receive lots of complaints if we disable selector-based distribution
  1127. # [22:41] <taylor> TL: Support proposal with slots
  1128. # [22:41] <taylor> TL: Having to declare your intention to be selected by a shadow dom maybe doesn't seem that important right now, but if we want to enable content distribution from within an isolated environment, the cross-domain untrustable component trying to select stuff from your light dom would be bad
  1129. # [22:42] <taylor> TL: Have a much better contract with your component by explicitly naming a slot
  1130. # [22:42] <taylor> TL: Would have to not have the select feature in an isolated model
  1131. # [22:42] <taylor> JF: Don't default slots challenge that? if you have default slot, you don't have to explicitly opt-in
  1132. # [22:42] <chaals> ack ebr
  1133. # [22:42] * Zakim sees jan, hober, anne, (Scott), justin, dglazkov on the speaker queue
  1134. # [22:42] <taylor> TL: Not familiar with default slot
  1135. # [22:43] <taylor> EB: Believe slots is the right approach
  1136. # [22:43] <taylor> EB: Want to see death of selector-based programming. Only to be used in style.
  1137. # [22:44] <chaals> ack ja
  1138. # [22:44] * Zakim sees hober, anne, (Scott), justin, dglazkov on the speaker queue
  1139. # [22:44] <taylor> EB: Considered imperative API a blocker. Seems clearer how to get here with sots approach.
  1140. # [22:45] <taylor> JM: Not excited about the idea at a late date to reopen something. Excited to see Shadow DOM adopted by all browsers.
  1141. # [22:45] <justin> We really need to work out how this proposal leads to imperative API, I don't see what it changes
  1142. # [22:46] <taylor> JM: History has shown that more flexibility is not always better
  1143. # [22:47] <taylor> hober: Point was made that we should democratically let users decide how to do this. Two conventions: css class, or attribute. Both are poor man's slot name
  1144. # [22:47] * Joins: chrisb (~chrisb@public.cloak)
  1145. # [22:47] <hober> q-
  1146. # [22:47] * Zakim sees anne, (Scott), justin, dglazkov on the speaker queue
  1147. # [22:47] <taylor> JM: Would be elegant if you could include a slot name as a tag
  1148. # [22:49] <taylor> Domenic: Current HTML uses tag name
  1149. # [22:49] * ebryn there can be more than one instance of a custom element
  1150. # [22:49] * ebryn you are going to need to name the one you want to distribute
  1151. # [22:49] * Joins: joannawu (~JoannaWu@public.cloak)
  1152. # [22:49] <chaals> ack ann
  1153. # [22:49] * Zakim sees (Scott), justin, dglazkov on the speaker queue
  1154. # [22:50] <taylor> JM: Have an emerging sense that the use of CSS selectors is not a great fit for how people are trying to use it.
  1155. # [22:50] <taylor> AvK: Like the slots proposal in general. Like that it's opinionated and would allow us to expose an API on shadow root or host element to enumerate the slots
  1156. # [22:50] <taylor> AvK: Liked Domenic's idea of using the element name instead, because it explains existing elements
  1157. # [22:51] <mjs> q+ to talk about tag names
  1158. # [22:51] * Zakim sees (Scott), justin, dglazkov, mjs on the speaker queue
  1159. # [22:51] <chaals> ack (sc
  1160. # [22:51] * Zakim sees justin, dglazkov, mjs on the speaker queue
  1161. # [22:51] <taylor> EB: But you can have more than one of the same CE's
  1162. # [22:51] <taylor> SM: Not a fan of slot.
  1163. # [22:51] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  1164. # [22:51] * ebryn it’s explicit API
  1165. # [22:52] <taylor> SM: In response to explicitness: it's leaking implementation details of my component. Don't want you to know what you're using to insert.
  1166. # [22:52] <chaals> q+ jan
  1167. # [22:52] * Zakim sees justin, dglazkov, mjs, jan on the speaker queue
  1168. # [22:52] * ebryn it’s your components API
  1169. # [22:52] <taylor> SM: My element is simply a name, and I give you a contract in how to use it, but not how I achieve it
  1170. # [22:52] * ebryn you define what is distributed
  1171. # [22:53] <chaals> q+ to say you're not forced to expose details, but you may want to, no?
  1172. # [22:53] * Zakim sees justin, dglazkov, mjs, jan, chaals on the speaker queue
  1173. # [22:53] <taylor> SM: Hard to decide in isolation "this is a vocabulary everyone should use"
  1174. # [22:53] <taylor> SM: This is why democratization is important.
  1175. # [22:54] <taylor> SM: That anything but slot blocks imperative API is a red herring
  1176. # [22:54] <taylor> SM: That two patterns, classes or attributes, have emerged is not a bad thing
  1177. # [22:54] <chaals> q+ and to ask if there is a need for this in v1… what dies without doing something like this?
  1178. # [22:54] * Zakim sees justin, dglazkov, mjs, jan, chaals on the speaker queue
  1179. # [22:54] <taylor> SM: People have different needs.
  1180. # [22:55] <taylor> JM: Why do you use both?
  1181. # [22:55] <taylor> SM: I don't presuppose that I want to dictate the answer for eternity - that's the point
  1182. # [22:55] <taylor> SM: Would like to let users tell me if that is good or bad
  1183. # [22:55] <taylor> SM: Want to see which one is best, not decide for the universe
  1184. # [22:55] <chaals> ack ju
  1185. # [22:55] * Zakim sees dglazkov, mjs, jan, chaals on the speaker queue
  1186. # [22:56] <taylor> JF: Re: flexibility to craft your own api
  1187. # [22:56] <taylor> JF: Analogy to named arguments of functions - slot is forcing that you have to use the named argument. Very restrictive.
  1188. # [22:56] <taylor> JF: You can't look at current set of elements as exemplary of what all elements will look like.
  1189. # [22:56] * Quits: joannawu (~JoannaWu@public.cloak) (Ping timeout: 180 seconds)
  1190. # [22:57] <taylor> JF: Class, attribute, tag name - that all are used demonstrates that people are using the full expressiveness of selectors
  1191. # [22:57] <taylor> JF: Seeing people make use of the different options they have. Would counter argument that they're following into a category that we need to codify.
  1192. # [22:58] <taylor> JF: Can select on attribute values. "[section=...]"
  1193. # [22:58] <taylor> JF: Compound and complex selections - can make API's that evolve in the future
  1194. # [22:58] <taylor> JF: With slots, if you pick a name, but want to change that name later, you have to figure out multiple names
  1195. # [22:58] <taylor> JF: Should think about elements as API's that can evolve in the future, and need to give them flexibility
  1196. # [22:59] <chaals> q-
  1197. # [22:59] * Zakim sees dglazkov, mjs, jan on the speaker queue
  1198. # [22:59] <taylor> JF: Don't see how the timing changes at all, or how it effects how to do imperative API.
  1199. # [22:59] <chaals> q+ to ask if we need this in v1
  1200. # [22:59] * Zakim sees dglazkov, mjs, jan, chaals on the speaker queue
  1201. # [22:59] <taylor> JF: Still have to do style recalc
  1202. # [22:59] <taylor> JF: We all want to see imperative API. Timing seems to be toughest part, not how you select nodes.
  1203. # [22:59] <chaals> ack dgla
  1204. # [22:59] * Zakim sees mjs, jan, chaals on the speaker queue
  1205. # [23:00] <taylor> DG: Going to stay away from aesthetics debate
  1206. # [23:00] <taylor> DG: Don't believe we can in this century definitively declare that one is better than the other
  1207. # [23:00] <taylor> DG: Instead, on timing and implementation details
  1208. # [23:00] <taylor> DG: From spec perspective, this is a very minor change.
  1209. # [23:00] <wilsonpage> q+
  1210. # [23:00] * Zakim sees mjs, jan, chaals, wilsonpage on the speaker queue
  1211. # [23:01] <taylor> DG: You will still have the same issue - if you call offset-top you will need to know where it is distributed
  1212. # [23:01] <taylor> DG: Because distribution is really fast you might be able to make it synchronous, but this will slow down dom operations. still have timing issue.
  1213. # [23:01] <taylor> DG: This is purely an aesthetic debate
  1214. # [23:01] <rniwa> +q
  1215. # [23:01] * Zakim sees mjs, jan, chaals, wilsonpage, rniwa on the speaker queue
  1216. # [23:01] <chaals> ack mj
  1217. # [23:01] <Zakim> mjs, you wanted to talk about tag names
  1218. # [23:02] * Zakim sees jan, chaals, wilsonpage, rniwa on the speaker queue
  1219. # [23:02] <taylor> DG: As aesthetic debate, we need to say "can you live with" and proceed from there
  1220. # [23:02] <taylor> MJS: Re: tag names as distribution hooks
  1221. # [23:02] <chaals> q- later
  1222. # [23:02] * Zakim sees jan, wilsonpage, rniwa, chaals on the speaker queue
  1223. # [23:02] <taylor> MJS: If you look at HTML elements, in all cases the hook is a tag name that is designed to have a special meaning within the context of a fixed set of other containers
  1224. # [23:02] * ebryn and it squats on the global namespace
  1225. # [23:03] * Quits: tantek (~tantek@public.cloak) (tantek)
  1226. # [23:03] <taylor> MJS: The choice of having your hook be an element name, class name, or attribute name - they all end up pointing to the same thing
  1227. # [23:03] <taylor> MJS: Ends up being a superficial choice
  1228. # [23:04] * ebryn selectors are a footgun
  1229. # [23:04] <chaals> ack jan
  1230. # [23:04] * Zakim sees wilsonpage, rniwa, chaals on the speaker queue
  1231. # [23:04] <chaals> ack wil
  1232. # [23:04] * Zakim sees rniwa, chaals on the speaker queue
  1233. # [23:05] <taylor> WP: Arguments against are around lack of devs having expressiveness
  1234. # [23:05] <taylor> WP: Could Polymer team live with imperative API?
  1235. # [23:05] * ebryn hopes rniwa has an answer to the imperative API questions
  1236. # [23:06] <taylor> SO: If there's lack of expressiveness and imperative gives you the expresiveness, sure. But this seems to be a red herring.
  1237. # [23:06] * ebryn i heard dglazkov mention a synchronous option
  1238. # [23:06] <taylor> RN: Timing is still an issue. Need to decide when imperative API is used.
  1239. # [23:07] <taylor> RN: When you insert a node that specifies which slot it belongs to, at that moment we could have a mapping that tells you where it goes right away
  1240. # [23:07] <taylor> RN: In current model, any time anything changes, it's ambiguous if that node needs to be distributed
  1241. # [23:07] <taylor> MJS: Slots collapses choosing what gets distributed into a simple map
  1242. # [23:08] <taylor> MJS: If you add N things and each time need to recompute what gets distributed where, you get N^2
  1243. # [23:08] <taylor> DG: The way distribution spec is designed today, it's a tree walk. It's linear.
  1244. # [23:08] * Joins: marcosc (~marcosc@public.cloak)
  1245. # [23:08] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  1246. # [23:09] <taylor> MJW: Selector evaluation can't be reduced to a map lookup
  1247. # [23:09] <taylor> AR: These are simple selectors - you can't do descendent selectors.
  1248. # [23:09] * ebryn did the definition of “simple selectors” exist until just now?
  1249. # [23:09] * Joins: marcosc (~marcosc@public.cloak)
  1250. # [23:09] <taylor> AR: Slots and select are isomorphic to each other (in terms of big O)
  1251. # [23:10] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  1252. # [23:10] * Quits: mjs (~mjs@public.cloak) (mjs)
  1253. # [23:10] * Joins: marcosc (~marcosc@public.cloak)
  1254. # [23:10] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
  1255. # [23:10] * Joins: marcosc (~marcosc@public.cloak)
  1256. # [23:11] * Quits: weinig (~weinig@public.cloak) (weinig)
  1257. # [23:11] * Quits: jan (~JanMiksovsky@public.cloak) (jan)
  1258. # [23:14] * Joins: jan (~JanMiksovsky@public.cloak)
  1259. # [23:16] <taylor> [Break]
  1260. # [23:16] * Quits: sorvell (~sorvell@public.cloak) (Ping timeout: 180 seconds)
  1261. # [23:17] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1262. # [23:17] * Joins: LJWatson (~chatzilla@public.cloak)
  1263. # [23:17] * Joins: wchope (~wchope@public.cloak)
  1264. # [23:17] * Quits: wchope (~wchope@public.cloak) ("Page closed")
  1265. # [23:24] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1266. # [23:25] * wilsonpage is now known as wilsonpage-away
  1267. # [23:25] * Quits: jan (~JanMiksovsky@public.cloak) (jan)
  1268. # [23:27] * Joins: tantek (~tantek@public.cloak)
  1269. # [23:28] * Joins: mjs (~mjs@public.cloak)
  1270. # [23:34] * Quits: chrisb (~chrisb@public.cloak) ("Page closed")
  1271. # [23:37] * Joins: LJWatson (~chatzilla@public.cloak)
  1272. # [23:37] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  1273. # [23:42] * Joins: sorvell (~sorvell@public.cloak)
  1274. # [23:44] * Quits: mjs (~mjs@public.cloak) (mjs)
  1275. # [23:49] * Quits: Travis (~Travis@public.cloak) (Ping timeout: 180 seconds)
  1276. # [23:51] * Joins: shepazu (schepers@public.cloak)
  1277. # [23:54] * Quits: shepazu (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  1278. # [23:59] * wilsonpage-away is now known as wilsonpage
  1279. # [23:59] * Joins: mjs (~mjs@public.cloak)
  1280. # [23:59] * Joins: jan (~JanMiksovsky@public.cloak)
  1281. # Session Close: Sat Apr 25 00:00:00 2015

Previous day, Next day

Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn