Skip to content

Enable recommended addons by default, new "featured" tag - #2908

Closed
WorldLanguages wants to merge 2 commits into
ScratchAddons:masterfrom
WorldLanguages:recommended-featured-tags
Closed

Enable recommended addons by default, new "featured" tag#2908
WorldLanguages wants to merge 2 commits into
ScratchAddons:masterfrom
WorldLanguages:recommended-featured-tags

Conversation

@WorldLanguages

@WorldLanguages WorldLanguages commented Jul 4, 2021

Copy link
Copy Markdown
Member

Resolves #2617

  • Create featured tag
  • Use yellow color for featured tag
  • Use new lightblue color for "for website" tag, that previously used the yellow
  • Create featured addon group
  • Create forums addon group, and have it unexpanded by default. This makes the "others" addon group cleaner. We have around 10 forum addons, and most of our users will never use them.
  • Rename New! addon group to New. Tag is still called New!. Allow translators to use plurals in languages that support it (example: Spanish recomendados will be the addon group name, and recomendado will continue to be the tag).

Note that addons that say "enabled by default" will only be enabled by default for new users.

- 2d-color-picker: others → featured (changes UI, cannot be recommended)
- account-settings-capitalize: easter egg → others (small addon)
- better-featured-project: recommended → featured (widely used, cannot be recommended)
- block-pallete-icons: others → featured (widely used)
- block-switching: enable by default (scratch 2.0 feature, was already recommended)
- cat-blocks: others → featured (widely used)
- clones: others → featured (widely used)
- color-picker: enable by default (useful, additive, was already recommended)
- confirm-actions: enable by default (only setting enabled by default is confirming sharing projects, others require optin)
- copy-message-link: enable by default (useful, additive, was already recommended)
- custom-block-shape: recommended → featured (used to achieve 2.0 looks, cannot be recommended)
- dark-www: recommended → featured (widely used, cannot be recommended)
- data-category-tweaks-v2: recommended → featured (scratch 2.0 feature, cannot be recommended)
- debugger: beta → featured (useful)
- drag-drop: enable by default (useful, additive, was already recommended)
- editor-colored-context-menus: others → featured (scratch 2.0 feature)
- editor-dark-mode: recommended → featured (widely used, cannot be recommended)
- editor-messages: recommended → featured (widely used, cannot be recommended because it might be annoying/distracting to the user)
- editor-searchable-dropdowns: enable by default (useful, additive, was already recommended)
- editor-stage-left: recommended → featured (scratch 2.0 feature, cannot be recommended)
- editor-stepping: others → featured (useful)
- editor-theme3: recommended → featured (used to achieve 2.0 looks, cannot be recommended)
- exact-count: recommended → featured (useful, cannot be recommended)
- expanding-search-bar: others → featured (useful, scratch wiki feature)
- feature-unshared: others → featured (useful, hacky)
- fix-pasted-scripts: enable by default (fixes vanilla Scratch bug, was already recommended)
- folders: enable by default (useful, additive, was already recommended)
- gamepad: recommended → featured (gamepad is niche, cannot be recommended)
- hide-flyout: recommended → featured (useful, widely used, cannot be recommended)
- infinite-scroll: others → featured (widely used)
- live-featured-project: others → featured (scratch 2.0 feature)
- longer-wiwo: others → featured (useful, hacky)
- mediarecorder: enable by default (we might to wait until we clean up the editor menu bar before turning this by default)
- more-links: others → featured (useful, cannot be recommended because of security issues)
- mouse-pos: recommended → featured (cannot be recommended, can be distracting)
- mute-project: enable by default (scratch 2.0 feature, was already recommended)
- onion-skinning: enable by default (useful, additive, was already recommended)
- pause: enable by default (useful, additive, widely used, was already recommended)
- progress-bar: enable by default (useful, additive, was already recommended)
- project-info: others → featured (scratch 2.0 feature)
- project-notes-tabs: others → featured (scratch 2.0 feature)
- redirect-mobile-forums: easter egg → forums
- remix-tree-button: others → featured (scratch 2.0 feature, might cause overflow)
- remove-sprite-confirm: recommended → featured (cannot be enabled by default, might be annoying)
- scratch-notifier: recommended → featured (cannot be enabled by default, annoying + permission issues)
- scratchr2: enable by default (not entirely 100% sure about this one, but I feel it makes sense to enable UI consistency by default)
- search-profile: enable by default (useful, additive, was already recommended)
- variable-manager: recommended → featured (technically additive, but adding a whole editor tab by default doesn't sound right)

New users will get this on the settings page after installing:
image
We could probably show the featured group as a grid, to incentivize users to enable them and show a screenshot of the addon in action.
If the user disables a recommended addon, the recommended addon group comes back.

@WorldLanguages
WorldLanguages requested a review from apple502j as a code owner July 4, 2021 20:40

@Shluffy Shluffy left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I noticed more addons are now featured, more then the current recommended one, as well as enabling more addons by default

Comment thread addons/account-settings-capitalize/addon.json
@cobaltt7

cobaltt7 commented Jul 4, 2021

Copy link
Copy Markdown
Contributor

should we remove enabledByDefault and automatically enable by default addons with the reccomeneded tag?

@apple502j

Copy link
Copy Markdown
Member

Please remove scratchr2 from The List.

@mxmou

mxmou commented Jul 5, 2021

Copy link
Copy Markdown
Member

should we remove enabledByDefault and automatically enable by default addons with the reccomeneded tag?

I think the opposite is better: automatically show the "Recommended" tag if an addon is enabled by default, unless it has the "Forum" tag (if we ever decide to enable a small forum addon, such as youtube-fullscreen, by default).

@mxmou

mxmou commented Jul 5, 2021

Copy link
Copy Markdown
Member

Create forums addon group, and have it unexpanded by default. This makes the "others" addon group cleaner. We have around 10 forum addons, and most of our users will never use them.

Addon groups are used to filter addons by status, the category menu on the left is for parts of Scratch they affect. I don't think they should be used interchangeably.

Please remove scratchr2 from The List.

I agree - no theme should be enabled by default.

@apple502j

Copy link
Copy Markdown
Member

Also, I don't think we want to enable folders or onion-skinning by default just because the internals are too hacky. (we can just let people open settings!)

Not sure about progress-bar, as well. A bug in that code causes save failure and we don't want to risk that.

@mxmou

mxmou commented Jul 5, 2021

Copy link
Copy Markdown
Member

just because the internals are too hacky

Not only that - if an addon adds new UI and is enabled by default, it should clearly tell that the UI is added by Scratch Addons. I don't think that's even possible with the progress bar addon.

@WorldLanguages

Copy link
Copy Markdown
Member Author

if an addon adds new UI and is enabled by default, it should clearly tell that the UI is added by Scratch Addons

Keep in mind this was only the case when we migrated away from Scratch Messaging Extension, and enabled features to old users, which might have even forgotten about the existence of Scratch Messaging Extension. Enabled by default will only affect new Scratch Addons users, which should notice the new buttons were added right after they installed the extension.

@WorldLanguages

Copy link
Copy Markdown
Member Author

Addon groups are used to filter addons by status, the category menu on the left is for parts of Scratch they affect. I don't think they should be used interchangeably.

I agree, but we have many forums addons that most of our users will never touch. I believe it's a good compromise.

@WorldLanguages

Copy link
Copy Markdown
Member Author

I agree - no theme should be enabled by default.

Not even for new users? Also, we aren't talking dark mode, which is personal preference. We're talking about a theme that makes the website UI consistent.

Also, I don't think we want to enable folders or onion-skinning by default just because the internals are too hacky.

Good point. But I think it's easier to double check the code in those addons is safe and won't break the editor if stuff changes with new versions (stop addon > break editor). Writing very safe code will not only benefit users that got these addons enabled by default, but also users that enabled them manually previous to this.

@mxmou

mxmou commented Jul 5, 2021

Copy link
Copy Markdown
Member

Keep in mind this was only the case when we migrated away from Scratch Messaging Extension, and enabled features to old users, which might have even forgotten about the existence of Scratch Messaging Extension. Enabled by default will only affect new Scratch Addons users, which should notice the new buttons were added right after they installed the extension.

They won't notice, especially if they don't use the feature affected by the addon often. People often think our addons are Scratch features, even if they had to enable them manually.

I agree, but we have many forums addons that most of our users will never touch. I believe it's a good compromise.

The percentage of SA users that use the forums is likely higher than that of all Scratch users. We don't need to try to hide forum addons this much.

I agree - no theme should be enabled by default.

Not even for new users? Also, we aren't talking dark mode, which is personal preference. We're talking about a theme that makes the website UI consistent.

It's a very big change from Scratch's default appearance. I don't think anything that makes significant changes (as opposed to additions) should be enabled by default.

@WorldLanguages

Copy link
Copy Markdown
Member Author

@mxmou Can you list all the changes you'd make to this PR?

@WorldLanguages

WorldLanguages commented Jul 5, 2021

Copy link
Copy Markdown
Member Author

For reference, these are the currently enabled by default addons:
(currently = master branch)

image

@mxmou

mxmou commented Jul 5, 2021

Copy link
Copy Markdown
Member

@mxmou Can you list all the changes you'd make to this PR?

For reasons explained in comments above, I would do the following:

  • Forums should not be a separate group, or at least above Others (they're much more useful than most addons under Others; forumers would be disappointed to find the best addons at the very bottom) and named something like "For forum users" (would make more sense for a group name)
  • Make scratchr2 not enabled by default (too big change)
  • Add labels or tooltips to all UIs added by enabled by default addons (block switching, color picker, copy message link, searchable dropdowns, folders, mediarecorder, onion-skinning, pause), indicating that they're added by SA. If someone who rarely uses the editor, like me, installed SA, then decided to make a project again a month later, they likely wouldn't realize that the new features aren't a Scratch update.
  • Don't enable progress-bar by default unless there is a good way to tell that it's added by SA.

Other suggestions:

  • account-settings-capitalize could remain an Easter egg. It's too useless.
  • Could the clone counter be enabled by default? It's very helpful for debugging.
  • Could separation of local and global variables (data category tweaks feature) be enabled by default?
  • I don't think feature-unshared should be featured. It's kind of an exploit. Same for longer-wiwo.
  • If hide-flyout is featured, the default mode should be changed to one that actually lets you use the added space.
  • Could "YouTube full screen" be enabled by default, even if not recommended? It's a bug fix.
  • The "show scroll for forum signatures" option of "Show full areas" should not be enabled by default, and possibly removed. See https://scratch.mit.edu/discuss/post/5121095
  • "Auto-show editor extensions" is a 2.0 feature. Could it be featured?
  • "Change new sprite default position" should be featured (quite popular Scratch suggestion).
  • Could last-edit-tooltip be enabled by default?

@WorldLanguages

Copy link
Copy Markdown
Member Author

Add labels or tooltips to all UIs added by enabled by default addons (block switching, color picker, copy message link, searchable dropdowns, folders, mediarecorder, onion-skinning, pause), indicating that they're added by SA.

Easier said than done... Only reasonable thing we can do is add HTML title attr that displays on hover, but that's probably not sufficient...

If someone who rarely uses the editor, like me, installed SA, then decided to make a project again a month later

Does that really happen...? I think this is an overreaction 😕

@apple502j

apple502j commented Jul 5, 2021

Copy link
Copy Markdown
Member

account-settings-capitalize could remain an Easter egg. It's too useless.

Yes please. That "addon that does nothing" can be an easter egg.

Could the clone counter be enabled by default? It's very helpful for debugging.

Debugging addons are kinda laggy. Again, we should redirect users towards settings; not enable by default

Could separation of local and global variables (data category tweaks feature) be enabled by default?

Maybe?

I don't think feature-unshared should be featured. It's kind of an exploit. Same for longer-wiwo.

It depends on what is considered an exploit. Is following myself an exploit? Is remixing my own project an exploit? If it's the sort of thing that needs to be hidden, it shouldn't have been addonified in the first place.

If hide-flyout is featured, the default mode should be changed to one that actually lets you use the added space.

Maybe. That'll require updating the descriptions.

Could "YouTube full screen" be enabled by default, even if not recommended? It's a bug fix.
+1

The "show scroll for forum signatures" option of "Show full areas" should not be enabled by default, and possibly removed

Ugh. Maybe we need to remove signature showing from full-signature :P

"Auto-show editor extensions" is a 2.0 feature. Could it be featured?

Nope, unless the bug that makes some extensions unable to be removed is fixed somewhere

"Change new sprite default position" should be featured (quite popular Scratch suggestion).

Maybe, but there is no good way to tell it's SA.

Could last-edit-tooltip be enabled by default?

Good idea.

(@Hans5958 edits this. Please stop doing this.)

@mxmou

mxmou commented Jul 6, 2021

Copy link
Copy Markdown
Member

@WorldLanguages

If someone who rarely uses the editor, like me, installed SA, then decided to make a project again a month later

Does that really happen...? I think this is an overreaction 😕

Maybe not a month later, but not everyone uses all Scratch features frequently.

@apple502j

I don't think feature-unshared should be featured. It's kind of an exploit. Same for longer-wiwo.

It depends on what is considered an exploit. Is following myself an exploit? Is remixing my own project an exploit? If it's the sort of thing that needs to be hidden, it shouldn't have been addonified in the first place.

I don't think having it as a feature is a problem because it isn't harmful, but it might not work in the future. Adding a notice about that to those addons (and image uploader) might be a good idea too.

"Auto-show editor extensions" is a 2.0 feature. Could it be featured?

Nope, unless the bug that makes some extensions unable to be removed is fixed somewhere

Which bug? Shouldn't it be mentioned in the addon description?

"Change new sprite default position" should be featured (quite popular Scratch suggestion).

Maybe, but there is no good way to tell it's SA.

Featured doesn't mean enabled by default (but if we wanted to do that, it could show an explanation when you create a new sprite with the addon enabled for the first time to avoid confusion). It's just too useful to be under "Other".

@apple502j

Copy link
Copy Markdown
Member

Adding a notice about that to those addons (and image uploader) might be a good idea too.

We are not sure if any of those things get patched or not. If we know they do, we'll just release an update.

Which bug? Shouldn't it be mentioned in the addon description?

scratchfoundation/scratch-vm#2331 - maybe we should mention that. Or the addon can fix the bug, similar to clone counter fixing negative clone count bug.

It's just too useful to be under "Other".

Hmm, then maybe?

@mxmou

mxmou commented Jul 6, 2021

Copy link
Copy Markdown
Member

We are not sure if any of those things get patched or not. If we know they do, we'll just release an update.

If these things get patches, long WIWOs might be truncated, images hosted in the forums using the image uploader might break ...

LLK/scratch-vm#2331 - maybe we should mention that. Or the addon can fix the bug, similar to clone counter fixing negative clone count bug.

This won't happen if the user never interacts with the added extensions, and if they do, they would do the same if they added the extension manually.

@Hans5958

Hans5958 commented Jul 6, 2021

Copy link
Copy Markdown
Member

Can we have the minor tag already

@mxmou

mxmou commented Jul 6, 2021

Copy link
Copy Markdown
Member

Can we have the minor tag already

This PR will group addons by usefulness, not how big or small they are, which I think makes much more sense.

@Hans5958

Hans5958 commented Jul 7, 2021

Copy link
Copy Markdown
Member

Can we have the minor tag already

This PR will group addons by usefulness, not how big or small they are, which I think makes much more sense.

I'm talking about minor as in functionality/usefulness.

@mxmou

mxmou commented Jul 7, 2021

Copy link
Copy Markdown
Member

Can we have the minor tag already

This PR will group addons by usefulness, not how big or small they are, which I think makes much more sense.

I'm talking about minor as in functionality/usefulness.

Other = minor.

@Hans5958

Hans5958 commented Jul 7, 2021

Copy link
Copy Markdown
Member

Other = minor.

Then the name of the tag is fails to convey the real meaning of the tag, at least in my opinion. I thought other = those which can't be put in a specific category.

@WorldLanguages

Copy link
Copy Markdown
Member Author

lol I thought this PR would be more straight forward, polymatter was right, sometimes no democracy has good benefits :P
We now need to reach a consensus or have no changes at all for v1.17.0 hehe

@mxmou

mxmou commented Jul 7, 2021

Copy link
Copy Markdown
Member

I thought other = those which can't be put in a specific category.

The groups are "new", "enabled", "recommended", "featured", and "other" (in this order). I think it's obvious that "other" means "not featured", which isn't very different from "minor".

@lisa-wolfgang

Copy link
Copy Markdown
Member

Not sure about progress-bar, as well. A bug in that code causes save failure and we don't want to risk that.

If it were that much of a concern, there would be a warning in the addon settings.

@Hans5958

Hans5958 commented Jul 8, 2021

Copy link
Copy Markdown
Member

I thought other = those which can't be put in a specific category.

The groups are "new", "enabled", "recommended", "featured", and "other" (in this order). I think it's obvious that "other" means "not featured", which isn't very different from "minor".

I was thinking that the "other" tag is for addons that are not suggested, but might be useful for select people, while "minor" is for small things that so minuscule, it's best to set it aside (such as that capitalization fix and Curator Links)

@WorldLanguages

Copy link
Copy Markdown
Member Author

I admit I did consider a "minor" tag, but I discarded the idea because I noticed it would be hard to translate the whole meaning of the word "minor" into Spanish :P
Maybe all we need is a better addon group name?

@lisa-wolfgang

lisa-wolfgang commented Jul 9, 2021

Copy link
Copy Markdown
Member

I still think it would be best to have only the Recommended/enabled by default, Featured, and enabled addons on the main page, add a notice at the bottom, and put the rest of the addons in the sidebar categories. As we approach 100 addons, which we're probably not going to stop at, there are just too many addons for an "All" category to be useful.

@WorldLanguages WorldLanguages added this to the v1.18.0 milestone Jul 14, 2021
@WorldLanguages

Copy link
Copy Markdown
Member Author

I'll turn this PR into a discussion for now, if you want to see it that way.

These are the currently enabled by default addons, and they are enabled for everyone, including most Scratch Messaging users (except "developer tools", which was very recently enabled by default):

  • 60fps: it is purely additive, and (almost) no one accidentally clicks alt+greenflag.
  • editor-devtools: excluding it, since it was enabled by default very recently, and only for new users.
  • animated-thumb: it might have been a mistake to enable this one for everyone, but upcoming changes will make the "set thumbnail" button more hidden, possibly behind a "Scratch Addons" menu section at the top of the editor. It also needs better UI/UX. (Enhance thumbnail setter #2334, Make editor header/menu less crowded #2110)
  • resizable-comment-input: nothing to say, so handy, purely additive, least controversial on here I'd say.
  • full-signature: scroll in "what i've been doing" and "what's happening" makes a lot of sense. Adding scrollbars in the forums by default was probably a mistake.
  • studio-tools: very useful, only problem is that it can be confusing on what buttons are vanilla and which are added by this addon (many people probably think the "leave button" addon was added by the recent vanilla studio update, but no, it's this addon)
  • Popup addons don't matter.

In order to enable more addons by default (and make it obvious that these historically enabled by default addons are not part of vanilla Scratch), we need to find a standard way of making it clear that part of the UI comes from Scratch Addons.
This is basically what @mxmou said above, but I added a bit more context. Currently enabled by default addons don't respect that, and some like studio-tools do it very badly. So we'd need to first fix those, then go ahead with enabling more addons by default.

Some ideas:

  • 60fps: no idea (ironic but true), any sort of indicator would probably be annoying.
  • editor-devtools: no changes needed imo, help modal already clearly says it's from Scratch Addons
  • animated-thumb: will get sorted out by creating a shared space that creates a dedicated Scratch Addons menu section
  • resizable-comment-input: doesn't need indication
  • full-signature and studio-tools: I forgot who it was, but someone suggested adding a little ? icon at the top right edge of buttons added by Scratch Addons, that when hovered, said something like This button was added by Scratch Addons. This would work for the "leave studio" button added by studio-tools (and possibly the inputs to promote and remove curators), as well as the "load more" buttons added by full-signature. We could add a global setting to the extension to hide these question mark icons, in case a user doesn't want to see them.

@Hans5958

Hans5958 commented Jul 18, 2021

Copy link
Copy Markdown
Member

About indicating changes of Scratch Addons (without menu), can we just add the logo beside the text?

@lisa-wolfgang

Copy link
Copy Markdown
Member

It would be better-looking and less intrusive in the long run to add a "first-time" overlay.

When an addon is affecting a page, the user hasn't seen that addon in effect yet, and the addon settings are still set to the default, a notice would pop up near the modified feature, highlight it, and say something like "Scratch Addons improved this page" which would then be followed by the title and/or description of the addon. It could also direct the user to the settings page to make additional changes.

@WorldLanguages

Copy link
Copy Markdown
Member Author

I've considered that, but it might be a little annoying and it would appear again if the user clears their storage. Modal like that would probably need "never tell me again" for those cases.

@WorldLanguages
WorldLanguages marked this pull request as draft July 27, 2021 21:52
@WorldLanguages WorldLanguages modified the milestones: v1.18.0, v1.19.0 Jul 28, 2021
@WorldLanguages

Copy link
Copy Markdown
Member Author

I'll work on some way to remind the user a particular part of the UI is added by Scratch Addons, which should let us enable more addons by default in the future without having to worry about users thinking it's a vanilla Scratch feature.

@WorldLanguages

Copy link
Copy Markdown
Member Author

#3290

@CST1229

CST1229 commented Feb 26, 2022

Copy link
Copy Markdown
Member

What happened to the "change enabled by default addons" part of this PR?

@mxmou

mxmou commented Feb 26, 2022

Copy link
Copy Markdown
Member

What happened to the "change enabled by default addons" part of this PR?

A good way to indicate that they aren't Scratch features is needed first.

@WorldLanguages

Copy link
Copy Markdown
Member Author

We would also like to have a good onboarding when the user first installs the extension. A good onboarding would remove the need for enabling many addons by default, the user could simply click on the screenshot on what the addon does to enable it after install. I'd even say enabling some addons by default was a mistake.

@CST1229

CST1229 commented Feb 26, 2022

Copy link
Copy Markdown
Member

We would also like to have a good onboarding when the user first installs the extension. A good onboarding would remove the need for enabling many addons by default, the user could simply click on the screenshot on what the addon does to enable it after install. I'd even say enabling some addons by default was a mistake.

Yes.
(btw colaber already implemented onboarding in their fork)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Minor addons section/tag

9 participants