 You might have heard of Chrome Variations, or Chrome Field Trials, or occasionally even our internal code name, Finch. Well, these are all names for the same thing, a mechanism for Chrome to do testing of new browser features and new features for Chrome OS, which is the Chrome operating system that runs on Chromebooks. Chrome Variations enable Chrome to activate a new feature, deactivate a feature, or to try out a change to a feature for a subset of users. And by feature, well, I just mean anything in the way Chrome works. And that could be a performance enhancement to the application code, a change to the way the browser looks or functions, or occasionally even a change to a JavaScript API. Now, not everything in Chrome is part of a Chrome Variations experiment, but Chrome Variations can be used whenever we need to be especially careful about making a change, or where a change might affect performance in ways we didn't expect. Chrome Variations can also be used to validate a hypothesis about a change or an update. For example, for a percentage of users in a Chrome Variations experiment, we tried tweaking quick networking protocol parameters to make Chrome faster for users in real network conditions. Now, we've also done omnibox experiments around how many results to show. Another area where you may encounter Chrome Variations is if you work with Chrome Origin Trials. And if you're not sure what I mean by Origin Trial, well, you know, check out the video about Chrome's Origin Trials in this same series. Now, by default, an Origin Trial feature is enabled on all pages that provide a valid trial token. In some cases, however, Chrome Variations is used to control activation of an Origin Trial feature. And this means that an Origin Trial feature may not be available to certain users even when they visit a page that provides a valid trial token. Now, information about the proportion of users eligible for activation of an Origin Trial feature is provided with the documentation and the updates for each Origin Trial. So how do Chrome Variations work? Well, every 30 minutes on desktop or mobile or each time you start Chrome, it makes a request to the Chrome backend service to get the Chrome Variations configuration file, and that's known as the Variations seed. When the Chrome on your device contacts the Chrome Variations backend server to get the Chrome Variations configuration file, it also provides information about the version of Chrome and the operating system it's running on. And that file returned by the Chrome Variations server is like a settings file to turn on the features, turn off features or specify variations in a feature. In other words, the configuration file from the Chrome Variations server can be used to activate, deactivate features in the browser for a subset of users. Your browser on your device keeps track of which experimental group it belongs to. Chrome engineers can configure the Chrome Variations server so that different users get a different configuration file. And that enables testing to compare performance or other metrics between users that have a feature turned on and users that have the feature turned off. Now, one of the most important uses for Chrome Variations is to gradually roll out changes or new features to a percentage of users. And that's crucial for a complex application like Chrome that has billions of users on thousands of devices, you know, multiple platforms and dozens of different languages and millions of different kinds of apps and websites. Now, of course, we get valuable feedback from usage and testing in Chrome Canary, Dev and Beta. And we can use Chrome Variations to activate or deactivate features within any of these channels. However, those Chrome channels, you know, are mostly used by developers and other specialists. Chrome Stable users use Chrome differently at much larger scale. So we always need to test and iron out any problems encountered by normal browser usage. Chrome engineers can't necessarily predict how real Chrome users will use Chrome. Chrome Variations is a crucial mechanism to help with this, making it possible to check usage and metrics for Chrome Stable with a feature either activated or deactivated. By measuring the impact of experiments in Chrome Stable, we can ship the best features possible and build a better browser, even when the trade-offs are complex. There are three main reasons that applications like Chrome need a mechanism like Chrome Variations. First up, to enable a new feature. Using Chrome Variations to provide control of activation of a new feature is particularly useful for anything that might be more risky in some way or that might affect performance. Chrome Variations can enable the new feature to be rolled out to a subset of users, and then Chrome engineers can check for differences in performance or look at other types of feedback from the experiment group. Chrome Variations can also be used, or though this happens more rarely, as a safety mechanism to deactivate a feature. For example, a new networking feature might become subject to a denial-of-service attack. Chrome Variations can be used to quickly turn off a feature like that, since the Chrome Variations configuration is downloaded every 30 minutes and settings are activated every time you restart Chrome. By contrast, simply updating Chrome and waiting for the new version to be propagated to billions of users would be much slower. Lastly, Chrome Variations can be used to try changes to a feature. For example, we can try tweaking the number of results shown in the Omnibox. Now, Chrome Variations can also be used to study the long-term effects of new features, and this is done by using the Chrome Variations mechanism to hold back features for a small proportion of users, you know, maybe 1% or less. A hold back group can be useful to check for changes and side effects that only become visible over time, and this can be particularly important for user interface changes, where users are likely to interact with a feature when it's new, but, you know, may behave differently in the long-term. For example, PhotoPicker functionality was launched in Chrome, but the feature was temporarily held back from a small percentage of users to see how outcomes compared. And, you know, we shipped the new Android PhotoPicker to a high proportion of our users and initially saw a significant increase in the number of images that groups shared on the web. However, in the six months that we had the hold back experiment, we saw the lift in usage decrease significantly, and, you know, this was because availability of the new PhotoPicker encouraged sites to add the accept attribute to file input elements, yeah, which led to a better experience for all users. Chrome Variations is particularly useful for testing one group of users against another. For example, a feature can be turned on for some users and not others. Chrome can then compare metrics for each group using what's called telemetry. If the setting to help improve Chrome's features and performance is enabled, then Chrome can automatically monitor and send metrics to the Chrome backend servers, and these metrics might include memory usage, page load times, or the usage of a browser feature. Each set of Chrome Variations tests for a feature is called a study or a field trial, and each one has a fixed duration. Once a study is over for a feature, any users who are included in the experimental group get the default Chrome setting for the experimental feature, you know, either enabled or disabled. Most Chrome Variations that can be controlled by Chrome Variations correspond to a flag that can be set from the Chrome Flags page. Flags can also be set if you run Chrome from the command line, and that's what enable features and disable features are for. For enterprise customers, Chrome also provides the Chrome Variations policy to manage Chrome Variations experiments. Now of course, we don't recommend disabling Chrome Variations since that can stop Chrome from quickly providing critical security fixes. So that's Chrome Variations. To find out more, take a look at our article on developer.chrome.com. And if you have any questions about Chrome Variations or, you know, anything's not clear from this video, just contact me via Twitter. So thanks for watching and be sure to check out the other videos in the Chrome Concepts series.