Bob,
  I love your proposal, if Bruce like's it, I'll go ahead and implement it
(perhaps without the A/B testing part? We can leave that as a Wiki entry?)

-Ray

On Wed, Nov 25, 2009 at 7:23 AM, BobV <[email protected]> wrote:

> On Wed, Nov 25, 2009 at 9:58 AM, Bruce Johnson <[email protected]> wrote:
> > A) I want stack traces everywhere that it isn't costly.
>
> <!-- This is a derived property that doesn't need a property provider
> and indicates that getting a useful stack trace will be expensive -->
> <define-property name="stackIsExpensive" values="true,false" />
> <set-property name="stackIsExpensive" value="false" />
> <set-property name="stackIsExpensive" value="true">
>  <any>
>    <when-property-is name="user.agent" value="ie6" />
>    <when-property-is name="user.agent" value="ie8" />
>  </any>
> </set-property>
>
> <!-- Assuming native is the default value.  Since the native stack
> isn't useful, optimize for code size  -->
> <set-property name="stack" value="strip">
>  <when-property-is name="stackIsExpensive" value="true" />
> </set-property>
>
> > B) I want stack traces on every browser possible, and for browsers in
> which
> > it is costly, I want to only burden a random 2% of those users.
>
> <define-property name="inStackExperiment" values="true,false" />
> <property-provider name="inStackExperiment">
>  // Do something with cookies, recalculating value every week
> </property-provider>
>
> <set-property name="stack" value="emulated">
>  <when-property-is name="inStackExperiment" value="true" />
>  <when-property-is name="stackIsExpensive" value="true" />
> </set-property>
>
> <set-property name="stack" value="strip">
>  <when-property-is name="inStackExperiment" value="false" />
>  <when-property-is name="stackIsExpensive" value="true" />
> </set-property>
>
> > C) I want maximum fidelity stack traces everywhere, even paying for
> > emulation on browsers that have native stack traces, if that's better.
>
> <set-property name="stack" value="emulated" />
>
> > D) I want the smallest possible script size by default, but I'm willing
> to
> > burdon a random 2% of users to capture stack traces.
>
> <set-property name="stack" value="strip" />
> <!-- Assuming that native stack traces are good enough -->
> <set-property name="stack" vaue="native" >
>  <when-property-is name="inStackExperiment" value="true" />
>  <when-property-is name="stackIsExpensive" value="false" />
> </set-property>
> <set-property name="stack" vaue="emulated" >
>  <when-property-is name="inStackExperiment" value="true" />
>  <when-property-is name="stackIsExpensive" value="true" />
> </set-property>
>
>
> --
> Bob Vawter
> Google Web Toolkit Team
>

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to