Extensions a single purpose?

274 views
Skip to first unread message

Inter Net

unread,
Oct 5, 2021, 3:29:23 PM10/5/21
to Chromium Extensions
Hello I want to develop a browser extension and I saw that the guidelines say extension can only have a single purpose, I understand that this makes sense for extensions that live only in the popup.html but what about an extension that focuses on the new tab, all that space for a single purpose?

I mean when I look at popular extensions like Momentum which uses the new tab page even they have Fotos, Todo, Notes, Countdowns, Metrics, Soundscapes, Pomodoro Timer, and more...This for me also violates the Guidelines. I mean I would love that new tab extensions are excluded from this rule because the new tab gives us space for more complex extensions and in the end, the user installs the new tab extension because he wants these features on new tabs. Like I said I understand the rule for popup-only extensions but not for the new tab. Can anyone give more information on that?

Cuyler Stuwe

unread,
Oct 5, 2021, 4:29:18 PM10/5/21
to Inter Net, Chromium Extensions
"Overriding the new tab page" is a "single purpose".

"Single function" is not the same thing as "single purpose".

On Tue, Oct 5, 2021 at 12:29 PM Inter Net <zela...@gmail.com> wrote:
Hello I want to develop a browser extension and I saw that the guidelines say extension can only have a single purpose, I understand that this makes sense for extensions that live only in the popup.html but what about an extension that focuses on the new tab, all that space for a single purpose?

I mean when I look at popular extensions like Momentum which uses the new tab page even they have Fotos, Todo, Notes, Countdowns, Metrics, Soundscapes, Pomodoro Timer, and more...This for me also violates the Guidelines. I mean I would love that new tab extensions are excluded from this rule because the new tab gives us space for more complex extensions and in the end, the user installs the new tab extension because he wants these features on new tabs. Like I said I understand the rule for popup-only extensions but not for the new tab. Can anyone give more information on that?

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/ba54656a-9766-4278-b598-b971a5022100n%40chromium.org.

Cuyler Stuwe

unread,
Oct 5, 2021, 4:31:53 PM10/5/21
to Inter Net, Chromium Extensions
Just for future reference in life in general:

"Purpose" refers to an intended "outcome". It's not concerned directly with the steps you take (e.g., "implementation", "functions", "tasks", etc.) to bring about that intended outcome.

Cuyler Stuwe

unread,
Oct 5, 2021, 4:36:53 PM10/5/21
to Inter Net, Chromium Extensions
And in case it's not already clear, one simple example of something that would violate the "single purpose" principle might be if you had a golf game that also served as an ad blocker and a language translation app.

Inter Net

unread,
Oct 6, 2021, 1:22:10 AM10/6/21
to Chromium Extensions, salem...@gmail.com, Chromium Extensions, Inter Net
If  "Overriding the new tab page" is a "single purpose". that means I can make anything I want even the extreme example you gave with the golf game which is an ad blocker. I don't know this rule is very confusing to me.

Cuyler Stuwe

unread,
Oct 6, 2021, 7:27:13 AM10/6/21
to Inter Net, Chromium Extensions
Let me rephrase: “Overriding the tab page” in itself is not actually a purpose whatsoever, but an implementation detail.

What I should have said (if I wasn’t trying to be so terse) is that you can certainly have multiple functions on a new tab page serving one cohesive purpose.

hrg...@gmail.com

unread,
Oct 6, 2021, 9:44:33 AM10/6/21
to Chromium Extensions, salem...@gmail.com, Chromium Extensions, zela...@gmail.com
The CWS policies are vague on purpose. This allows the CWS staff to be an arbiter when an extension is in a "grey area".

Behind every law, there's an intention that motivates the law. The intention behind the "single purpose" law is to prevent developers from forcing users to install functionality they don't want or need.

For example, you could make a new tab page that includes a game on the left side and a stock trading app on the right side.
Why would users want two completely unrelated things on their new tab page?
It's better if you provide those two apps separately as different extensions. This allows users to choose what they want to install.

If you feel your extension might be in a grey area, the only way to resolve ambiguity is to upload it to the CWS so that a reviewer decides whether it's acceptable or not.
Remember, the policies are vague on purpose and they are the arbiter.

Vladimir Yankovich

unread,
Oct 6, 2021, 10:16:43 AM10/6/21
to Chromium Extensions, zela...@gmail.com
Zela, hello. I am also making a new tab, I will be glad to meet and exchange experiences :)

Cuyler Stuwe

unread,
Oct 6, 2021, 1:01:21 PM10/6/21
to Vladimir Yankovich, Chromium Extensions, zela...@gmail.com
TL;DR — They don’t want things like Bonzai Buddy and WeatherBug.

They want your extension to have a clear purpose, so that it’s easier to tell when it’s doing something that it shouldn’t (e.g., there’s no reason that a golf game needs to inject content script code looking for password fields).

Don’t overthink it.

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

Marcus b

unread,
Oct 6, 2021, 8:28:24 PM10/6/21
to Cuyler Stuwe, Chromium Extensions, Inter Net

Jackie Han

unread,
Oct 7, 2021, 9:49:03 AM10/7/21
to Inter Net, Chromium Extensions
See What does "single purpose" actually mean?

It says "new tab page" is a browser function. So "new tab page" can have lots of different functions, but they must be supplied in the new tab page.

On Wed, Oct 6, 2021 at 3:29 AM Inter Net <zela...@gmail.com> wrote:
Hello I want to develop a browser extension and I saw that the guidelines say extension can only have a single purpose, I understand that this makes sense for extensions that live only in the popup.html but what about an extension that focuses on the new tab, all that space for a single purpose?

I mean when I look at popular extensions like Momentum which uses the new tab page even they have Fotos, Todo, Notes, Countdowns, Metrics, Soundscapes, Pomodoro Timer, and more...This for me also violates the Guidelines. I mean I would love that new tab extensions are excluded from this rule because the new tab gives us space for more complex extensions and in the end, the user installs the new tab extension because he wants these features on new tabs. Like I said I understand the rule for popup-only extensions but not for the new tab. Can anyone give more information on that?

--

Vladimir Yankovich

unread,
Oct 7, 2021, 9:52:39 AM10/7/21
to Chromium Extensions, Jackie Han, Chromium Extensions, zela...@gmail.com

Jackie, you're right. But it seems that the example at the end of the document matters more. 

This is an important example, which shows that this policy, in fact, does not impose any strict restrictions, except for the common sense of the moderator :)

Extensions quality guidelines FAQ - Chrome Develop.png

Jackie Han

unread,
Oct 7, 2021, 4:32:24 PM10/7/21
to Vladimir Yankovich, Chromium Extensions, zela...@gmail.com
Vladimir,

"Single purpose" can refer to one of two aspects of an extension: 1) a narrow focus area or subject matter. or 2) a narrow browser function.

The last example about weather info in the popup page and in the new tab page is a single subject matter example, not a browser function example.

According to my understanding:
1. If an extension's single purpose is to override the "new tab page", it belongs to the "browser function" aspect, so it can and can only provide different functions in the new tab page.
2. If an extension's single purpose is to provide weather info, it belongs to the "subject matter" aspect, so it can provide weather info in the popup page and in the new tab page, but it can't provide other functions(not related to weather) in the new tab page.

Of course, it also depends on how the moderators interpret and enforce the policy.

Simeon Vincent

unread,
Oct 7, 2021, 4:35:00 PM10/7/21
to Chromium Extensions, yankovic...@gmail.com, Jackie Han, Chromium Extensions, zela...@gmail.com
Thanks for calling out that example. To my knowledge it is not representative of current enforcement practices. An update to the I'm working on for the "Troubleshooting Chrome Web Store violations" explicitly includes a new tab page and browser action functionality as an example of a violation of the Single Purpose requirement. I'm going to expand my PR to remove that example from the Single Purpose FAQ right now.

Simeon - @dotproto
Chrome Extensions DevRel

Vladimir Yankovich

unread,
Oct 7, 2021, 6:34:44 PM10/7/21
to Chromium Extensions, Simeon Vincent, Vladimir Yankovich, Jackie Han, Chromium Extensions, zela...@gmail.com
Simeon, this is news, I think I have very big problems :)

Simeon Vincent

unread,
Oct 11, 2021, 12:55:23 PM10/11/21
to Chromium Extensions, yankovic...@gmail.com, Simeon Vincent, Jackie Han, Chromium Extensions, zela...@gmail.com
Yankovic, I may have spoken too soon. After some additional thought it's not 100% clear to me whether or not the weather example from the FAQ is compliant. I'm trying to get clarification on this, but I'm also on vacation for a bit so I'm not sure when I'll be able to get back to this thread with a clarification.

Simeon - @dotproto
Chrome Extensions DevRel

Cuyler Stuwe

unread,
Oct 11, 2021, 12:57:19 PM10/11/21
to Simeon Vincent, Chromium Extensions, yankovic...@gmail.com, Jackie Han, zela...@gmail.com
I can chime in and say for certain that the CWS team has recently approved extensions with use-cases similar to the weather example in question. 🤷‍♂️

And that makes sense, because it does serve one clear purpose (via multiple mechanisms).

Vladimir Yankovich

unread,
Oct 11, 2021, 1:07:34 PM10/11/21
to Chromium Extensions, salem...@gmail.com, Chromium Extensions, Vladimir Yankovich, Jackie Han, zela...@gmail.com, Simeon Vincent
Then it looks like I was right. The rule can really be interpreted in different ways depending on the situation. May the decency of the developer and the common sense of the moderator come with us :) 

Cuyler Stuwe

unread,
Oct 11, 2021, 1:11:09 PM10/11/21
to Vladimir Yankovich, Chromium Extensions, Jackie Han, zela...@gmail.com, Simeon Vincent
Yeah, IMO as long as you're not doing some weird spammy/shady stuff, this is a pretty clear guideline that is pretty easy to hit for western developers.

In places like China, though, "superapps" that do 1000 different things are culturally "normal", and so they probably need more nudging in order to grow accustomed to the notion that apps should do specific things.

Cuyler Stuwe

unread,
Oct 11, 2021, 1:17:12 PM10/11/21
to Vladimir Yankovich, Chromium Extensions, Jackie Han, zela...@gmail.com, Simeon Vincent
And I think that what you have to consider is the PURPOSE of this "single-purpose" requirement: It's very hard to determine whether something is doing what it should be doing if it could conceivably do almost everything.
Reply all
Reply to author
Forward
0 new messages