Currently the only supported platform is Desktop Chrome. See the section below to learn how to extend User Education to another platform.
The following User Education primitives are available in Chrome:
- In-product help (IPH): help dialogs offered by Chrome suggesting useful features. These are triggered automatically based on user behavior and give a short value statement and directions to use the feature
- New badge: pop-out label applied to new features' entry points to make them more obvious
- Tutorials: step-by-step guided walkthroughs of features. User-initiated and more thorough than single-step IPH promotions
- Open page and highlight: useful for pointing users at a particular settings or other internal page. Opens an internal page and shows a help bubble on a particular item.
If you want to display help bubbles on or in a WebUI surface (such as an internal page), you will need to instrument that page. Start here for instructions.
There is common setup for determining when a New Badge or IPH will show. See Configuring the Feature Engagement backend. You can also learn how to test this configuration.
There are a number of virtual methods that must be implemented before you can use these User Education libraries in a new application, mostly centered around localization, accelerators, and global input focus.
Fortunately for Chromium developers, the browser already has the necessary support built in for Views, WebUI, and Mac-native context menus. You may refer to the following locations for an example that could be extended to other platforms such as ChromeOS:
- UserEducationService - sets up the
various registries and
TutorialService
. - BrowserView - sets up
the
FeaturePromoController
. - browser_user_education_service - registers Chrome-specific IPH and Tutorials.
- Concrete implementations of abstract User Education base classes can be found in c/b/ui/user_education and c/b/ui/views/user_education.