DevTools

DevTools: Omnibox Commands

Authors:

Status of this feature

Experiment has evolved and is now in Canary. See Command Palette for more information.

Introduction

Earlier this year, the Chrome team released the Commander as a text interface that provides a shortcut for common commands for browser users. The DevTools team used this as the framework for their Omnibar hackathon project. There’s some uncertainty around the usage and discoverability of the tool, so we’re starting with a flagged experiment.

Omnibox UI

You’ll notice that many of the commands in this feature can be found in the Command Menu in DevTools, so why have these features in the address bar (from this point forward referred to as the omnibox)? We know that users would like a faster way to complete their tasks in DevTools, and the Omnibox Commands feature enables users to do so without having to first open the Developer Tools. Additionally, we’ve included features that are specific to the browser window: Edge internal urls and last viewed pages.

Goals

  1. To simplify DevTools users’ workflow and
  2. To test the following hypotheses:
    • Users will find this valuable in that it will save them time by minimizing the steps users need in their DevTools workflow; we’ll know it’s true if 20% of users are 2-week active users (returning users).
    • Users will use navigation commands more than action commands; we’ll know it’s true if the number of navigation commands is at least 20% more than the number of action commands.
    • Users will have trouble finding this feature without a tooltip/pop-up; we’ll know it’s true with overall usage (if people turn it on).

This initial experiment will run as a flagged rollout especially since the UI may also affect users outside of DevTools. We will test all three hypotheses and focus on iterating for validating the feature’s value as well as which commands are most valuable.

Features

URL

To easily access internal URLs, you can type in a question mark ?. This will pull up a list of all the Edge internal URLs. To access the existing URLs, click here.

Command

Typing > will pull up the available commands for DevTools. These commands were exported from those available in DevTools now. The only command added to the list that hasn’t already been added to the Commander experiment is Device Mode: Enable Device Mode, and we will omit this command if we don’t have time in the first iteration to add it. Most of these commands are opening panels or changing the appearance or theme of the DevTools. To access the existing commands, click here.

If you type something in that isn’t a command, the Omnibox will display an option to search the text typed in the user’s preferred search engine.

Recently closed

To get a list of the webpages you recently closed, type #.

Next steps

Things to consider

FAQ:

Q: Does it have extensibility so other could add in additional commands? A: Not in scope for this experiment, but a great idea for the future. Q: Will this require a totally separate implementation vs. upstream? or hook into theirs? A: We will be integrating directly into the Omnibox, not hooking into the upstream Commander. Q: Is there an “all” option? Will customers know to use ? and >? A: We will be working with the omnibox team to clarify the best characters or strings to trigger the DevTools commands. Q: If this is integrated into the address bar, will they know to type ? to get help on the commands that are available? A: We recognize there will be discoverability challenges, and we will be exploring that as we go. Q: Are we planning to add a toggle or setting in browser settings that enable this feature after the rollout? A: That could be a future option, but it is not in scope. Q: Are these commands going to be available for puppeteer and/or playwright? A: That is out of scope for this project. Q: Some actions do trigger opening DevTools. Is it in or out of scope to be able to complete actions without opening DevTools? A: These commands will open DevTools and conduct the requested action. The benefit is that this will be done without the user having to open the DevTools first to speed up their workflow.

Available URLs

Available commands