Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-13 Thread Maciej Stachowiak

On Sep 12, 2012, at 10:36 PM, Ojan Vafai o...@chromium.org wrote:

 On Wed, Sep 12, 2012 at 6:40 PM, Maciej Stachowiak m...@apple.com wrote:
 - Is this approach substantially less time and effort than adding a 
 histogram-style metric? I expect you have added a histogram to Chrome at some 
 point, and so can comment  on the relative difficulty and time to produce an 
 answer.
   (BTW we have the capability to do this type of thing in Safari as well, and 
 it is what I ask Apple engineers to do when they want to remove a feature, 
 even a purely Mac-specific one.)
 
 FWIW, histograms can only tell you a percentile. We never report back URLs 
 due to privacy concerns. So, it's somewhat underpowered compared to 
 experimentally removing a feature and seeing what sites break. I'm not saying 
 that's not a useful signal, just clarifying what data is possible for 
 Chromium to gather in the wild.

That's about what the equivalent Safari mechanism does too. What it can tell 
you is stuff like feature x is used very little by sites users actually visit 
without risk of breakage. But if there is significant use, it won't tell you 
what sites it is on or whether it's critical.

Cheers,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-13 Thread Dirk Pranke
On Wed, Sep 12, 2012 at 11:00 PM, Maciej Stachowiak m...@apple.com wrote:

 On Sep 12, 2012, at 10:36 PM, Ojan Vafai o...@chromium.org wrote:

 On Wed, Sep 12, 2012 at 6:40 PM, Maciej Stachowiak m...@apple.com wrote:

 - Is this approach substantially less time and effort than adding a
 histogram-style metric? I expect you have added a histogram to Chrome at
 some point, and so can comment  on the relative difficulty and time to
 produce an answer.
   (BTW we have the capability to do this type of thing in Safari as well,
 and it is what I ask Apple engineers to do when they want to remove a
 feature, even a purely Mac-specific one.)


 FWIW, histograms can only tell you a percentile. We never report back URLs
 due to privacy concerns. So, it's somewhat underpowered compared to
 experimentally removing a feature and seeing what sites break. I'm not
 saying that's not a useful signal, just clarifying what data is possible for
 Chromium to gather in the wild.


 That's about what the equivalent Safari mechanism does too. What it can tell
 you is stuff like feature x is used very little by sites users actually
 visit without risk of breakage. But if there is significant use, it won't
 tell you what sites it is on or whether it's critical.


Technically we can build histograms that either give you a percentage
of sites or a percentage of page views without compromising privacy
overly. The combination of the two is a pretty good approximation of
importance.

It would be interesting to build a generic mechanism for monitoring
prefixed APIs ... I wonder how hard that would be.

-- Dirk
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-13 Thread Ojan Vafai
On Thu, Sep 13, 2012 at 12:06 PM, Dirk Pranke dpra...@chromium.org wrote:

 On Wed, Sep 12, 2012 at 11:00 PM, Maciej Stachowiak m...@apple.com wrote:
 
  On Sep 12, 2012, at 10:36 PM, Ojan Vafai o...@chromium.org wrote:
 
  On Wed, Sep 12, 2012 at 6:40 PM, Maciej Stachowiak m...@apple.com
 wrote:
 
  - Is this approach substantially less time and effort than adding a
  histogram-style metric? I expect you have added a histogram to Chrome at
  some point, and so can comment  on the relative difficulty and time to
  produce an answer.
(BTW we have the capability to do this type of thing in Safari as
 well,
  and it is what I ask Apple engineers to do when they want to remove a
  feature, even a purely Mac-specific one.)
 
 
  FWIW, histograms can only tell you a percentile. We never report back
 URLs
  due to privacy concerns. So, it's somewhat underpowered compared to
  experimentally removing a feature and seeing what sites break. I'm not
  saying that's not a useful signal, just clarifying what data is possible
 for
  Chromium to gather in the wild.
 
 
  That's about what the equivalent Safari mechanism does too. What it can
 tell
  you is stuff like feature x is used very little by sites users actually
  visit without risk of breakage. But if there is significant use, it
 won't
  tell you what sites it is on or whether it's critical.
 

 Technically we can build histograms that either give you a percentage
 of sites or a percentage of page views without compromising privacy
 overly. The combination of the two is a pretty good approximation of
 importance.

 It would be interesting to build a generic mechanism for monitoring
 prefixed APIs ... I wonder how hard that would be.


FWIW, Tab has adding roughly this for prefixed CSS properties. Not sure
what the status of that is, but the code has been committed AFAIK.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Adam Barth
I've posted a patch to delete webkitPostMessage in favor of the
identically behaving, unprefixed postMessage:

https://bugs.webkit.org/show_bug.cgi?id=96577

We've discussed this topic previously in
http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html.
 In that thread, I was asked to follow the instructions in
https://trac.webkit.org/wiki/DeprecatingFeatures, but those
instructions are too hard.  I'm not aware of any vendor prefixes that
have actually been removed using that process.

In order to act in good faith as a browser rendering engine, we need
to be able to delete prefixed versions of APIs.  As far as I can tell,
it's time to delete the webkitPostMessage API in favor of the
identically behaving postMessage API.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Maciej Stachowiak

On Sep 12, 2012, at 5:10 PM, Adam Barth aba...@webkit.org wrote:

 I've posted a patch to delete webkitPostMessage in favor of the
 identically behaving, unprefixed postMessage:
 
 https://bugs.webkit.org/show_bug.cgi?id=96577
 
 We've discussed this topic previously in
 http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html.
 In that thread, I was asked to follow the instructions in
 https://trac.webkit.org/wiki/DeprecatingFeatures, but those
 instructions are too hard.

Really? I thought it was pretty easy for Chrome to gather usage statistics in 
the wild (either by instrumenting the browser or any other means) using what 
people call the histogram mechanism. Is it now a lot harder?

Regards,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Adam Barth
On Wed, Sep 12, 2012 at 5:34 PM, Maciej Stachowiak m...@apple.com wrote:
 On Sep 12, 2012, at 5:10 PM, Adam Barth aba...@webkit.org wrote:
 I've posted a patch to delete webkitPostMessage in favor of the
 identically behaving, unprefixed postMessage:

 https://bugs.webkit.org/show_bug.cgi?id=96577

 We've discussed this topic previously in
 http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html.
 In that thread, I was asked to follow the instructions in
 https://trac.webkit.org/wiki/DeprecatingFeatures, but those
 instructions are too hard.

 Really? I thought it was pretty easy for Chrome to gather usage statistics 
 in the wild (either by instrumenting the browser or any other means) using 
 what people call the histogram mechanism. Is it now a lot harder?

My evidence for it being too hard is that no one has actually been
able to use that process to delete any prefixes.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Maciej Stachowiak

On Sep 12, 2012, at 5:51 PM, Adam Barth aba...@webkit.org wrote:

 On Wed, Sep 12, 2012 at 5:34 PM, Maciej Stachowiak m...@apple.com wrote:
 On Sep 12, 2012, at 5:10 PM, Adam Barth aba...@webkit.org wrote:
 I've posted a patch to delete webkitPostMessage in favor of the
 identically behaving, unprefixed postMessage:
 
 https://bugs.webkit.org/show_bug.cgi?id=96577
 
 We've discussed this topic previously in
 http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html.
 In that thread, I was asked to follow the instructions in
 https://trac.webkit.org/wiki/DeprecatingFeatures, but those
 instructions are too hard.
 
 Really? I thought it was pretty easy for Chrome to gather usage statistics 
 in the wild (either by instrumenting the browser or any other means) using 
 what people call the histogram mechanism. Is it now a lot harder?
 
 My evidence for it being too hard is that no one has actually been
 able to use that process to delete any prefixes.

I've never seen anyone post usage data for a prefixed feature, nor report 
trying to do so and failing. Taking the inside view, do you believe gathering 
the suggested data would be too hard? It would be a better argument for 
changing the process if someone tried and failed, or tried and reported it 
being too much effort.

Alternate hypotheses for no one even trying to gather the data: no one has been 
sufficiently motivated to remove a prefixed feature to do even a modest amount 
of research. It sounds like you are highly motivated since you believe it is a 
matter of good faith as a browser engine.

Are you willing to be the guinea pig for the process? A bunch of WebKit hackers 
(not including me incidentally) proposed it at the last WebKit Contributor's 
meeting, it would be a shame if we discarded it without anyone even trying it.

Regards,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Adam Barth
On Wed, Sep 12, 2012 at 6:03 PM, Maciej Stachowiak m...@apple.com wrote:
 On Sep 12, 2012, at 5:51 PM, Adam Barth aba...@webkit.org wrote:
 On Wed, Sep 12, 2012 at 5:34 PM, Maciej Stachowiak m...@apple.com wrote:
 On Sep 12, 2012, at 5:10 PM, Adam Barth aba...@webkit.org wrote:
 I've posted a patch to delete webkitPostMessage in favor of the
 identically behaving, unprefixed postMessage:

 https://bugs.webkit.org/show_bug.cgi?id=96577

 We've discussed this topic previously in
 http://lists.webkit.org/pipermail/webkit-dev/2012-April/020237.html.
 In that thread, I was asked to follow the instructions in
 https://trac.webkit.org/wiki/DeprecatingFeatures, but those
 instructions are too hard.

 Really? I thought it was pretty easy for Chrome to gather usage statistics 
 in the wild (either by instrumenting the browser or any other means) using 
 what people call the histogram mechanism. Is it now a lot harder?

 My evidence for it being too hard is that no one has actually been
 able to use that process to delete any prefixes.

 I've never seen anyone post usage data for a prefixed feature, nor report 
 trying to do so and failing. Taking the inside view, do you believe gathering 
 the suggested data would be too hard? It would be a better argument for 
 changing the process if someone tried and failed, or tried and reported it 
 being too much effort.

 Alternate hypotheses for no one even trying to gather the data: no one has 
 been sufficiently motivated to remove a prefixed feature to do even a modest 
 amount of research. It sounds like you are highly motivated since you believe 
 it is a matter of good faith as a browser engine.

 Are you willing to be the guinea pig for the process? A bunch of WebKit 
 hackers (not including me incidentally) proposed it at the last WebKit 
 Contributor's meeting, it would be a shame if we discarded it without anyone 
 even trying it.

I don't think we should adopt policies without some evidence that they
work.  I'm glad that we had a discussion about this topic at the
contributor's meeting, and I'm also glad that we tried out
https://trac.webkit.org/wiki/DeprecatingFeatures, but my view is
that the experiment has been a failure because we have not succeeded
in removing any vendor prefixes.

As an alternative, I suggest we experiment with different approaches
to removing vendor prefix, learn what works and what doesn't work, and
then revisit whether we need a policy once we have more experience.

For example, I just sent a message to webkit-dev describing my
experience removing the -khtml- and -apple- prefixes from all CSS
properties.  In that work, we used an ENABLE macro to make it easy to
toggle the prefixes on and off.  I'd be happy to add an ENABLE macro
in https://bugs.webkit.org/show_bug.cgi?id=96577 so that we can start
by deleting the prefix in one port, learn from the experience, and
then decide whether to delete the prefix in the rest of the ports.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Maciej Stachowiak

On Sep 12, 2012, at 6:17 PM, Adam Barth aba...@webkit.org wrote:

 
 I don't think we should adopt policies without some evidence that they
 work.  I'm glad that we had a discussion about this topic at the
 contributor's meeting, and I'm also glad that we tried out
 https://trac.webkit.org/wiki/DeprecatingFeatures, but my view is
 that the experiment has been a failure because we have not succeeded
 in removing any vendor prefixes.
 
 As an alternative, I suggest we experiment with different approaches
 to removing vendor prefix, learn what works and what doesn't work, and
 then revisit whether we need a policy once we have more experience.
 
 For example, I just sent a message to webkit-dev describing my
 experience removing the -khtml- and -apple- prefixes from all CSS
 properties.  In that work, we used an ENABLE macro to make it easy to
 toggle the prefixes on and off.  I'd be happy to add an ENABLE macro
 in https://bugs.webkit.org/show_bug.cgi?id=96577 so that we can start
 by deleting the prefix in one port, learn from the experience, and
 then decide whether to delete the prefix in the rest of the ports.

That seems like a reasonable approach to gathering usage data indirectly, so 
I'd say that type of information satisfies the policy as written. If you wanted 
to take that type of approach to other prefixed features, I doubt I would 
object in most cases. As I understand the policy, it's just asking for a 
reasonable effort to gather data relative to what we know about the feature. 
Perhaps you and other readers of the policy see it as demanding an unreasonable 
level of work, but I don't think it does.

To determine which approach our policy should recommend as preferred for future 
cases, here are some quick questions about this approach vs. histogram-style 
data:
- Has that approach succeeded in removing any prefixes across all ports yet? 
- It appears that our one experience with this approach took 6 months to 
produce an answer. Is that what we should expect as the normal case, or is it a 
one-time anomaly?
- Is this approach substantially less time and effort than adding a 
histogram-style metric? I expect you have added a histogram to Chrome at some 
point, and so can comment  on the relative difficulty and time to produce an 
answer.
  (BTW we have the capability to do this type of thing in Safari as well, and 
it is what I ask Apple engineers to do when they want to remove a feature, even 
a purely Mac-specific one.)

BTW, the following comment from the bug is useful data about usage that I would 
have found helpful in your unprefix request message:

 We don't have any hard numbers.  I wasn't able to find any uses when I looked 
 with various code search tools.  As far as I can tell, its existence was only 
 mentioned in one tutorial.

It may be that in cases such as this one, that level of qualitative data 
gathering is sufficient. I personally find it sufficient, and I'd expect others 
to also find it more compelling than your initial feature request message.

Regards,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Adam Barth
On Wed, Sep 12, 2012 at 6:40 PM, Maciej Stachowiak m...@apple.com wrote:
 On Sep 12, 2012, at 6:17 PM, Adam Barth aba...@webkit.org wrote:
 I don't think we should adopt policies without some evidence that they
 work.  I'm glad that we had a discussion about this topic at the
 contributor's meeting, and I'm also glad that we tried out
 https://trac.webkit.org/wiki/DeprecatingFeatures, but my view is
 that the experiment has been a failure because we have not succeeded
 in removing any vendor prefixes.

 As an alternative, I suggest we experiment with different approaches
 to removing vendor prefix, learn what works and what doesn't work, and
 then revisit whether we need a policy once we have more experience.

 For example, I just sent a message to webkit-dev describing my
 experience removing the -khtml- and -apple- prefixes from all CSS
 properties.  In that work, we used an ENABLE macro to make it easy to
 toggle the prefixes on and off.  I'd be happy to add an ENABLE macro
 in https://bugs.webkit.org/show_bug.cgi?id=96577 so that we can start
 by deleting the prefix in one port, learn from the experience, and
 then decide whether to delete the prefix in the rest of the ports.

 That seems like a reasonable approach to gathering usage data indirectly, so 
 I'd say that type of information satisfies the policy as written. If you 
 wanted to take that type of approach to other prefixed features, I doubt I 
 would object in most cases. As I understand the policy, it's just asking for 
 a reasonable effort to gather data relative to what we know about the 
 feature. Perhaps you and other readers of the policy see it as demanding an 
 unreasonable level of work, but I don't think it does.

Maybe it's just the tone of the wiki page.  It speaks about arguing
extensively and proofs.  Maybe after this discussion I'll make an
editing pass trying to tone down the language and reflect some of this
discussion.

 To determine which approach our policy should recommend as preferred for 
 future cases, here are some quick questions about this approach vs. 
 histogram-style data:
 - Has that approach succeeded in removing any prefixes across all ports yet?
 - It appears that our one experience with this approach took 6 months to 
 produce an answer. Is that what we should expect as the normal case, or is it 
 a one-time anomaly?

The typical schedule is that a change spends 6 weeks in the Dev
channel and then 6 weeks in the Beta channel before reaching the
Stable channel.  If we break a popular web site, we'll likely find out
very quickly.  If we don't hear anything for 12-18 weeks, then it's
very unlikely that we caused a problem.

 - Is this approach substantially less time and effort than adding a 
 histogram-style metric? I expect you have added a histogram to Chrome at some 
 point, and so can comment  on the relative difficulty and time to produce an 
 answer.
   (BTW we have the capability to do this type of thing in Safari as well, and 
 it is what I ask Apple engineers to do when they want to remove a feature, 
 even a purely Mac-specific one.)

The approach is more risky (in the sense that there's a greater chance
that we'll make some users sad), but it's certainly faster.  To get
the same coverage with the metrics-based approach, we'd need to wait
the same 12-18 weeks, but then we'd still be shipping the prefixed
API.  We'd then need to remove the prefix and wait another 12-18 week
to see if it stuck.

The dream with the metrics-based approach is to proactively measure
usage of all prefixed APIs so that we'd be able to see the usage
immediately (i.e., without the 12-18 week release lag).
Unfortunately, that approach remains a dream because we haven't built
that system yet.

 BTW, the following comment from the bug is useful data about usage that I 
 would have found helpful in your unprefix request message:

 We don't have any hard numbers.  I wasn't able to find any uses when I 
 looked with various code search tools.  As far as I can tell, its existence 
 was only mentioned in one tutorial.

I thought I had mentioned that originally because I did that research
before sending the original message on this topic, but I've looked in
the archives and you're right that I don't appear to have mentioned it
until now.  I'm sorry if that omission has drawn out this discussion
longer than necessary.  :(

 It may be that in cases such as this one, that level of qualitative data 
 gathering is sufficient. I personally find it sufficient, and I'd expect 
 others to also find it more compelling than your initial feature request 
 message.

Thanks.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing the prefix from webkitPostMessage

2012-09-12 Thread Ojan Vafai
On Wed, Sep 12, 2012 at 6:40 PM, Maciej Stachowiak m...@apple.com wrote:

 - Is this approach substantially less time and effort than adding a
 histogram-style metric? I expect you have added a histogram to Chrome at
 some point, and so can comment  on the relative difficulty and time to
 produce an answer.
   (BTW we have the capability to do this type of thing in Safari as well,
 and it is what I ask Apple engineers to do when they want to remove a
 feature, even a purely Mac-specific one.)


FWIW, histograms can only tell you a percentile. We never report back URLs
due to privacy concerns. So, it's somewhat underpowered compared to
experimentally removing a feature and seeing what sites break. I'm not
saying that's not a useful signal, just clarifying what data is possible
for Chromium to gather in the wild.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev