Labs/Jetpack/JEP/30
JEP 30 - First-run Support
- Champion: Aza Raskin <aza at mozilla dot com>
- Editors: Paul O’Shannessy <paul at oshannessy dot com>
- Status: Implementing
- Type: API Track
- Created: 17 Nov 2009
- Reference Implementation: None
- Relevant Bugs:
- JEP Index
Introduction and Rationale
This JEP describes an API for creating first-run pages for Jetpacks.
After installing a Jetpack, without some sort of instructions on how to use the features just installed, the user can feel lost, bewildered, and confused. The first-time experience is exactly when users need the greatest reassurance and instruction, which is why so many Firefox add-ons create a first-run page to explain and guide the user through the new functionality. With Jetpacks, we have the opportunity to create a more unified feel.
Proposal
Clipboard access will live at jetpack.manifest
.
The first-run experience is coded inside of the manifest, which is (not un-coincidentally) where the settings are placed.
jetpacks.manifest = { firstRun: options }
options: {html: "
- Want to take care of the case where it's just some text. Just a single image. A full HTML page.
- Want to take care of settings. Both as a link which pops open the goodness (jetpack.settings.open) and as something which is embedded () and as something which is in-flowed <input class="jetpack-setting" id="twitter.id"/>.
Interaction with Settings
One of the standard use cases for the first-run page—besides pedagogical—will be to setup up the Jetpack's settings. There are three ways of doing this:
- Allow calling jetpack.settings.open() from the first-run page. (Although jetpack.settings.open is not yet implemented.)
- Embed the settings in the first-run page. We already have an HTML representation...
- Inline inclusion of settings.
Inline Inclusion
There are two ways for inline inclusion to work:
- Having a m
Multiple Jetpacks
One of the pain points in original-flavor extensions has been that bundling two or more extensions together leads to a jarring experience on installation—numerous first-run pages pop-up like zits on a teenagers face after an oil bath.
With the Jetpack method of doing first-run pages, we can more easily intercept these first-run pages in the case of a bundle and create a unified experience.