What are your thoughts on half-baked features making it out to stable channels?
I worry that we'll manage to snapshot a feature with known bugs onto a
stable channel; should we be backporting fixes? (How about before we
release but when we have a release branch?) Or should we just
acknowledge that stuff in about:labs on stable will usually be broken?
(I have no opinion on this, sorry if my questions seemed leading.)
We are already shipping half-baked features to stable, but the interface is --enable-half-baked-feature.
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
--
It's super-easy: Labs is really just a UI for command-line flags atm,
so you add a command-line parameter as before and then add 4 lines of
code (lab name, lab description, supported OSs, command line param it
maps to) to chrome/browser/labs.cc .
Nico
- Rohit
On Tue, Oct 12, 2010 at 8:20 AM, Ben Goodger (Google) <b...@chromium.org> wrote:
> Since its introduction, I run into confusion about about:labs at least a few
> times a week. Let me make it absolutely clear by using bolded, enlarged
> text:
> There should be no judgment call you make about whether or not you add your
> experimental toggle to about:labs. The answer is always YES ADD IT to
> about:labs.
> about:labs is meant as a UI to command line flags.
> Using a command line flag to enable an experimental feature or mode is now
> deprecated in favor of about:labs.
> If your configuration option requires a parameter and you're the first
> person to edit about:labs, you're going to have to adjust the framework to
> support a configuration parameter. It'd be great if someone added a command
> line to toggle labs features also. But the labs list should be the canonical
> configuration.
> When I start work on a new feature, I add a switch to enable it early on,
> often before much of the feature is even implemented. You should apply this
> methodology to about:labs switches too. We have a scary warning there
> explaining the consequences.
> Once more, for the road: ADD YOUR FEATURES AND EXPERIMENTS TO ABOUT:LABS
> EARLY AND OFTEN.
> As a side note, we are going to rename about:labs to make it sound less
> friendly.
Is there a way to specify in the configuration that an experiment
should only be accessible on dev? That would address the concern that
has been brought up (several times, and ignored) that this makes it
much easier for stable users to get themselves into trouble.
- a
Is there a way to specify in the configuration that an experiment
In short, don't add switches that crash the browser on startup :-)
It's stored in the profile file. Search $PROFILE_DIR/Default/Profile
for "enabled_labs_experiments" and delete that line.
If that ever happens in practice, we could add a --disable-labs flag.
I know you were kidding, but even so it downplays the serious concern
here. "Don't add a wildly broken lab" sounds easy, but what "never
make any change that interacts badly with any combination of labs,
despite the fact that none of our automated testing will be testing
that large combinatorial space at all" is not so easy even in theory.
We should be planning in terms of *when* this happens, not if.
-Stuart
If that ever happens in practice, we could add a --disable-labs flag.
isn't there already a 1:1 mapping between labs and command line
switches?* Every lab relies on a command line switch. Meaning that the
directive "Using a command line flag to enable an experimental feature
or mode is now deprecated in favor of about:labs." doesn't quite make
sense to me.
*actually an injection rather than a a bijection
No. Originally this was intended for somewhat stable things, not for every flag.
--
This is actually a really annoying infobar, especially since we ignore --single-process for released builds. So it only annoys developers, who know what they're doing.
(It's frequently useful to be able to ask a user to run with
--single-process for diagnosing crashes.)
PK
I don't think about:labs should be used to prototype features. If
it's in there for more than two releases, you probably shouldn't have
put it in, yet. If about:labs becomes the way that we stuff the
release cycle, I will be sad.
-scott
I don't think about:labs should be used to prototype features.On Tue, Oct 12, 2010 at 5:11 PM, David Levin <le...@google.com> wrote:
> On Wed, Oct 13, 2010 at 11:04 AM, Peter Kasting <pkas...@chromium.org> wrote:
>> On Tue, Oct 12, 2010 at 4:08 PM, David Levin <le...@google.com> wrote:
>>> It is not unthinkable and in fact probable that a number of outlets will
>>> note the ui and tell people to change things in it. Then they will forget
>>> that they set the options and get broken (or perhaps insecure) behavior.
>>
>> The correct solution to this (as discussed at the UI meeting and possibly
>> other places) is that your feature should "get the heck out" of labs the
>> instant it's not in a state where a command-line switch is the right thing
>> for it. Someone suggested the rule of thumb "after something has been in
>> labs for two releases it needs to either be removed from the product or
>> turned on/moved to prefs/whatever". This dovetails well with previous
>> admonishments on this list about having too many switches, and the need to
>> not have them persist forever.
>
> Sometimes it takes a while to develop features.
> If a flag is put in shortly before a release, then you have basically 1
> release of time (which is pretty short now) before you hit the two release
> critera.
Using a command line flag to enable an experimental feature or mode is now deprecated in favor of about:labs.
I don't think we'd throw out stuff that's under active development and
on a clear way forward. What Peter meant was more that nothing should
stay in there for indefinite time. Stuff either improves and
ultimately ends up in stable as a non-lab, or is removed again.
Nico
> dave
>
>> If
>> it's in there for more than two releases, you probably shouldn't have
>> put it in, yet. If about:labs becomes the way that we stuff the
>> release cycle, I will be sad.
>
>
>>
>> -scott
>
It's super-easy: Labs is really just a UI for command-line flags atm,so you add a command-line parameter as before and then add 4 lines of
code (lab name, lab description, supported OSs, command line param it
maps to) to chrome/browser/labs.cc .
At the moment, there isn't. My thinking was that you want to add UMA
stuff to your feature itself anyway, so that you get usage data when
it's out of labs, too. But adding counters for "any lab enabled?" and
"for all X: lab name X enabled" sounds like a good idea. Patches
welcome :-)
Nico