Manifest V3 Extensions Developers Survey

6 views
Skip to first unread message

pol...@fit.vutbr.cz

unread,
Nov 23, 2023, 9:32:29 AM11/23/23
to ct...@menhera.com
Dear author of Container Tab Groups,

We are authors of privacy and security extensions JShelter and NoScript Security Suite. We want to
perform academic research on the suitability and perception of the Manifest V3. We would like to ask
you to voluntarily answer following questions. If you are interested, please reply back to
pol...@fit.vutbr.cz, gio...@maone.net, and mic...@fsf.org.

We highly appreciate your time and understand that you might view replying to the questionnaire as a
hassle. However, we hope that the published data will raise awareness about the views of the
webextension developers and will help authors of privacy and security projects in the long run.

Your data will be analyzed and aggregated for research purposes including writing a paper. We plan
to make our data available to the public. We will remove personal and project data from the public
data set. Please let us know if you do not want your reply public or if you want to provide
alternative answers for the public data set.

Please write your answers in full. Use as many words as you see fit. If you manage multiple browser
extensions, please write a separate email for each project you want to add to this research, thanks!

(1) What is the name of your project?

(2) Do you provide answers for yourself or for the project as a whole?

(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.

(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.

(5) Are the APIs offered by the Manifest V3 stable and mature enough? Please explain your view.

(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.

(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.

(8) Do you think that Manifest V3 improves the compatibility of webextensions across browser
vendors? Please explain.

(9) Are you content with the information given by browsers vendors? Is it clear what, how, when, and
why needs to change? Please explain.

(10) Please, provide estimates of working months that you or your project already invested into the
migration.

(11) Please, provide estimates of working months that you or your project will need to invest into
the migration.

(12a) Does your project use content scripts? Please explain how and why?

(12b) If your project deploys content scripts, does the extension need to execute them before page
scripts start running? Please explain.

(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.

(13) Is your extension in any way affected by https://bugzilla.mozilla.org/show_bug.cgi?id=1267027?
Please explain how and your approach to minimize the impact on the users.

(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.

(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.

(16) Do you think that Manifest V3 will make your extensions better for your users? Please explain your
view.

(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.

(18) Is there any API that you think is missing for web extensions? Please explain the needed
functionality and purpose of the API.

(19) Do you have anything important that you think we missed in the questionnaire? Please, let us know.

(20) Do you want to be contacted back if we have further questions?

(21) Do you want to be notified about the paper?

We would appreciate if you can send your replies back in one month. Nevertheless, if the schedule is
tight for you, please, let us know and we will extend the period.

If you later decide the withdraw your data, we will make our best to remove your data from the
analysis (before the publication of the paper) or from the public data set. However, bear in mind
that once the data is public, we will have no control on the behaviour of other parties downloading
the data. Hence, we will not be able to remove your answers from their copy of the data set.

Thank you.

Libor, Giorgio, & Michael

森祐佳

unread,
Dec 19, 2023, 2:27:56 AM12/19/23
to pol...@fit.vutbr.cz, ct...@menhera.com, gio...@maone.net, mic...@fsf.org
Dear Libor, Giorgio, & Michael

We are happy to answer your questions.

On 2023/11/23 23:31, pol...@fit.vutbr.cz wrote:
> Dear author of Container Tab Groups,
...
> (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.

> (13) Is your extension in any way affected by https://bugzilla.mozilla.org/show_bug.cgi?id=1267027?
> Please explain how and your approach to minimize the impact on the users.

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>
Reply all
Reply to author
Forward
0 new messages