Dear Libor, Giorgio, & Michael
We are happy to answer your questions.
...
> (1) What is the name of your project?
Container Tab Groups.
This is a Menhera.org project.
> (2) Do you provide answers for yourself or for the project as a whole?
For the project as a whole. To address privacy concerns with an
easy-to-use solutions.
> (3) How many users does your project have? Rough numbers are sufficient. What kind of users benefit
> from your extension most? Please explain how they benefit.
About 750 users according to AMO.
Part of our users want a Chrome-like tab grouping feature. Others need
isolation of cookies.
> (4) Is your project affected by the migration to Manifest V3? Please, explain how. For example,
> explain features that you plan to add to your extension due to Manifest V3 and explain features
> that will not be possible to keep or that will need to be rewritten. If you have a plan, please,
> provide us its milestones and current status.
Unavailability of contentScripts or alternative dynamic script injection
APIs. This limits the lists of preferred languages the user can set for
web pages, to a predefined set created by the developers.
Our experiments show that non-persistence of background scripts results
in heavy uses of storage API for temporary data, and that harms privacy
as well as performance substantially. (We should not save data from
private tabs, but this is virtually impossible with Manifest V3.)
We would appreciate if a performant in-memory storage API emerges.
> (5) Are the APIs offered by the Manifest V3 stable and mature enough? Please explain your view.
I think that the APIs are stable, and enough for many simple add-ons,
but for complex or feature-rich add-ons, more features are needed,
especially for supporting non-persistent background pages.
> (6) Is the documentation on the Manifest V2 and V3 of sufficient quality? Do you miss any tool
> for debugging or experimenting with the APIs? Please, explain.
I am satisfied with most of the documentation (because we can test
things not explicitly stated), but for beginners more information
clearly documented in the docs would be nice.
> (7) What browsers does your extension support? Did you maintain separate versions for specific
> browsers before the migration to Manifest V3 and during the migration? Do you plan to have separate
> versions after the migration or if the migration already finished, do you have different versions for
> specific browsers? Please explain.
Since our add-on needs a feature (contextualIdentity) specific to
Firefox, we do not have versions for other browsers. We support all
modern Firefox-based browsers in one version.
> (8) Do you think that Manifest V3 improves the compatibility of webextensions across browser
> vendors? Please explain.
I think that porting simple extensions across browsers should be much
easier with Manifest V3. More complex extensions, in my opinion, needs
carefully crafted codes even in Manifest V3.
> (9) Are you content with the information given by browsers vendors? Is it clear what, how, when, and
> why needs to change? Please explain.
I appreciate the unique stance on WebExtensions by Mozilla to support
the whole add-on community, and to promote privacy. I think there is a
problem with what Google does with Chrome, though.
> (10) Please, provide estimates of working months that you or your project already invested into the
> migration.
About 2 months.
> (11) Please, provide estimates of working months that you or your project will need to invest into
> the migration.
About 3 months, if there are needed APIs available.
> (12a) Does your project use content scripts? Please explain how and why?
Yes, our add-on uses content scripts. They run before the pages load, to
override the preferred languages and emulate navigator.userAgentData
property.
> (12b) If your project deploys content scripts, does the extension need to execute them before page
> scripts start running? Please explain.
If the scripts execute with delays, web pages cannot get initialized
with the intended languages and user agent features.
> (12c) If your project deploys content scripts that need to run before page scripts start running,
> are you confident that they actually run in time? Please explain you view regarding the APIs
> available in Manifest V2 and V3 separately.
In Manifest V2, we can use contentScripts API to satisfy our needs. In
Manifest V3, we cannot inject initially-run scripts by cookieStoreId, so
things get unpredictable and unreliable.
This particular extension is not affected, but I hope there is a clear
standard about this.
> (14) Does your extension use WebRequest API? Please explain why and how. Is that functionality
> affected by the migration to Manifest V3? Please explain how you tackle the problem.
This extension heavily relies on webRequest API, so we cannot support
Chrome.
> (15) Have you used Manifest V2 background scripts to store state? If so, is the migration to workers
> smooth? Have you encountered any pitfalls? Please explain. Does Manifest V3 force you to
> asynchronous calls that might affect the functionality of the extension? Please explain.
The current version of our add-on store state in V2 background scripts
in-memory. We do not want to save private state to persistent storage,
and we need a fast ephemeral in-memory storage.
Most APIs support asynchronous event handling and that is fine. But
accessing storage on Firefox is seemingly slow in our experiments and
that is a problem.
> (16) Do you think that Manifest V3 will make your extensions better for your users? Please explain your
> view.
Fine opt-in host permissions are, in my opinion, good for the users as
long as their onboarding experience is smooth.
> (17) Are you aware of the existence of W3C's Web Extensions Community Group (WECG)? Do you have any
> experience with the group? Please, let us know.
I am aware of the existence, but we have not got in touch with them.
> (18) Is there any API that you think is missing for web extensions? Please explain the needed
> functionality and purpose of the API.
We need a fast ephemeral in-memory storage.
> (19) Do you have anything important that you think we missed in the questionnaire? Please, let us know.
Nothing. Thank you very much for the detailed questionnaire!
> (20) Do you want to be contacted back if we have further questions?
Yes, we hope you contact back to us if there is any questions, or anything.
> (21) Do you want to be notified about the paper?
Yes, I am a bit interested in it.
Best,
--
Human-life Information Platforms Insitute (Menhera.org)
Representative Director
Yuka MORI
<
metas...@menhera.org>