Random crazy thought - what if we made a platform predictability linter? It would highlight any APIs that were known to behave differently between browsers, footguns, etc.
The final form of this is probably crazy hard, but are there small steps we could take? Is this a bad idea for other reasons?
Random crazy thought - what if we made a platform predictability linter? It would highlight any APIs that were known to behave differently between browsers, footguns, etc.
The final form of this is probably crazy hard, but are there small steps we could take? Is this a bad idea for other reasons?
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsub...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CAJcfO47cFQQZniz5aO8eXKJO-sU-1tg3t0BNxYVY5VADwB0hTQ%40mail.gmail.com.
Gathering data from Hotlist-Interop issues as a start?
☆PhistucK
On Sat, Aug 13, 2016 at 5:03 AM, Dru Knox <dk...@chromium.org> wrote:
Random crazy thought - what if we made a platform predictability linter? It would highlight any APIs that were known to behave differently between browsers, footguns, etc.
The final form of this is probably crazy hard, but are there small steps we could take? Is this a bad idea for other reasons?
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsubscr...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CAJcfO47cFQQZniz5aO8eXKJO-sU-1tg3t0BNxYVY5VADwB0hTQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsub...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CABc02_KcF_WpJ4t-_Vjrw1GLB-j80eC%3Dj%2BR%3DYBNG4dD-GpLxDw%40mail.gmail.com.
Or maybe use web platform tests to identify differences automatically?
On Sat, Aug 13, 2016 at 7:57 PM, PhistucK <phis...@gmail.com> wrote:
Gathering data from Hotlist-Interop issues as a start?☆PhistucKOn Sat, Aug 13, 2016 at 5:03 AM, Dru Knox <dk...@chromium.org> wrote:Random crazy thought - what if we made a platform predictability linter? It would highlight any APIs that were known to behave differently between browsers, footguns, etc.
The final form of this is probably crazy hard, but are there small steps we could take? Is this a bad idea for other reasons?
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsubscr...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CAJcfO47cFQQZniz5aO8eXKJO-sU-1tg3t0BNxYVY5VADwB0hTQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsubscr...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CABc02_KcF_WpJ4t-_Vjrw1GLB-j80eC%3Dj%2BR%3DYBNG4dD-GpLxDw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predictability+unsub...@chromium.org.
To post to this group, send email to platform-predictability@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CABc02_%2BH%2BzcuEM1hihkps2jTJvutJY9c1r0ocmcXJHkntn0U5g%40mail.gmail.com.
[Sorry for the delay, just back from vacation]I'd love to be able to do this. The full vision is pretty tough though - most of the Hotlist-Interop problems are ones that are highly dynamic - not something you can statically detect via a lint tool (especially on such a weakly typed language as JavaScript).We could try to add dynamic warnings - eg. as DevTools audits, but I suspect those would break down into two classes: 1) warnings that a particular pattern is bad and should be avoided entirely (i.e. maybe the same as "deprecated"), and 2) warnings that some behavior may differ in other browsers and you need to use some technique to handle both varieties - but then it's hard for us to detect when users have done this and so suppress the warning.Perhaps the highest value / most tractable place to start is just with API support? Eg. have the developer choose which browsers they're targeting then warn whenever they're using an API that's not supported on one of those browsers. There's still some challenges to this (eg. reliably suppressing warnings when feature detection is used), but I could imagine something that's not too complex yet still of substantial value.The other direction we could go is the full dynamic route - eg. integrating a service similar to browserstack.com (or maybe partnering directly with browserstack) into DevTools to make it completely trivial to see how your page behaves in another browser - what console errors would be generated there, etc. As a group we're probably not leveraging browserstack as much as we should be - I'm going to get in the habit of using it more, see if it's worth maybe even having some sort of org license.Other thoughts?
On Mon, Aug 15, 2016 at 2:42 AM, PhistucK <phis...@gmail.com> wrote:
Yes, that is a better start, easier to parse. :) The next step should be Hotlist-Interop, though. But it is difficult.
☆PhistucK
On Mon, Aug 15, 2016 at 3:04 AM, Dru Knox <dk...@chromium.org> wrote:
Or maybe use web platform tests to identify differences automatically?
On Sat, Aug 13, 2016 at 7:57 PM, PhistucK <phis...@gmail.com> wrote:
Gathering data from Hotlist-Interop issues as a start?
☆PhistucK
On Sat, Aug 13, 2016 at 5:03 AM, Dru Knox <dk...@chromium.org> wrote:
Random crazy thought - what if we made a platform predictability linter? It would highlight any APIs that were known to behave differently between browsers, footguns, etc.
The final form of this is probably crazy hard, but are there small steps we could take? Is this a bad idea for other reasons?
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predicta...@chromium.org.
To post to this group, send email to platform-pr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CAJcfO47cFQQZniz5aO8eXKJO-sU-1tg3t0BNxYVY5VADwB0hTQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predicta...@chromium.org.
To post to this group, send email to platform-pr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CABc02_KcF_WpJ4t-_Vjrw1GLB-j80eC%3Dj%2BR%3DYBNG4dD-GpLxDw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predicta...@chromium.org.
To post to this group, send email to platform-pr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CABc02_%2BH%2BzcuEM1hihkps2jTJvutJY9c1r0ocmcXJHkntn0U5g%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "platform-predictability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-predicta...@chromium.org.
To post to this group, send email to platform-pr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-predictability/CAFUtAY9GY36kQ3FjN-5uKJ5qS6kb0OeBbL8-es8yj%2B_6jNqj6w%40mail.gmail.com.
Dru, where you thinking of a standalone tool?
But maybe doing something within TypeScript would be a quick way to test the idea, it's already integrated into IDEs! And it might involve cooperation with Microsoft.
Perhaps the highest value / most tractable place to start is just with API support? Eg. have the developer choose which browsers they're targeting then warn whenever they're using an API that's not supported on one of those browsers.
There's still some challenges to this (eg. reliably suppressing warnings when feature detection is used), but I could imagine something that's not too complex yet still of substantial value.
Dru, where you thinking of a standalone tool?Yup!But maybe doing something within TypeScript would be a quick way to test the idea, it's already integrated into IDEs! And it might involve cooperation with Microsoft.How applicable would learnings from TypeScript be to normal web dev usage? In other words, what percentage of developers could we reasonably reach using TypeScript?
Perhaps the highest value / most tractable place to start is just with API support? Eg. have the developer choose which browsers they're targeting then warn whenever they're using an API that's not supported on one of those browsers.This sounds like an awesome MVP to see if the idea has any legs! Would it be hard to implement?
That's some out-of-the-box thinking, I like it! To play the devil's advocate, there is a way it could lead to worse interop in the wild though. If the time spent using this tool increases at the expense of time spend in other (real) engines, then fewer of the differences not covered by this tool will be discovered. And to emulate others perfectly is of course a non-goal.
Maybe one could do it as an interop audit tool, where we can spew much more messages than in the main console?