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
