Change the button label for Recipes from install to apply

Created on 3 July 2024, 6 months ago

Problem/Motivation

The button labels for cards for the Recipes source type is using the verb Install, the correct terminology would be Apply.

Steps to reproduce

Proposed resolution

Change the button label Install to Apply on the Recipes source type.

๐Ÿ“Œ Task
Status

Active

Version

2.0

Component

User experience

Created by

๐Ÿ‡ฉ๐Ÿ‡ชGermany rkoller Nรผrnberg, Germany

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @rkoller
  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany rkoller Nรผrnberg, Germany

    forgot to add a screenshot to the IS in my initial post

  • Assigned to chandansha
  • Issue was unassigned.
  • Pipeline finished with Failed
    6 months ago
    Total: 493s
    #215424
  • Status changed to Needs review 6 months ago
  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia chandansha

    Changed the button label Install to Apply on the Recipes source type.

    Please review changes.
    Thanks!!

  • Status changed to Needs work 6 months ago
  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany rkoller Nรผrnberg, Germany

    Thank you for the initial MR @chandansha! Problem is when I checkout the feature branch the button label is still Install (and i've cleared the cache several times). Another thing to note is that the only changed file in your commit is the compiled bundle.js. Shouldnt the change for the string be also reflected in one or more of the svelte sources? And talking of change while taking a look I realized the necessary change wouldnt be just about the button label but the verb will also has to change for the "add and apply" button, at the moment it is only possible to apply local recipes but as soon as recipes on d.o are available add and apply becomes relevant as well. And in addition to that the recipesactivator.php has to be adjusted as well probably, out the moment it only outlines the local install. I'll update the issue summary accordingly.

  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany rkoller Nรผrnberg, Germany
  • ๐Ÿ‡ฉ๐Ÿ‡ชGermany rkoller Nรผrnberg, Germany
  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    I opened ๐Ÿ“Œ Only show number of installs if non-zero Active to deal with the "installs" language for now :)

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    Chandansha - can confirm that in this MR, only the bundle.js has any changes. I would expect to see some changes in the Svelte source as well.

    I'm also unsure how it was handled in the source, but I think generally speaking if we want to change this copy, we shouldn't just be doing it with an "if" in the Svelte; I think this is a non-trivial change to allow the source plugin to provide its own language for its action button.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    Yes, we'd also need something on the project object in the frontend, sourced by the backend, to show the language rather than hardcoding 'Install' here:
    https://git.drupalcode.org/project/project_browser/-/blob/2.0.x/sveltejs...

    ActivatorInterface.php would need to require a new method, something like getActionText(), which would return at least two states of text (one for if the project is already available, and one for if it is not yet available), for example "Add & Install" vs just "Install" - for recipes, they may both just be "Apply" (we're considering just "Install" regardless for PB anyway for modules - because we're not sure if communicating this to the user is even helpful).

    While we're at it, we may need to also do a "View Commands" text version as well... if we're building it to be flexible.

    Will run this API change by @phenaproxima, but it's clear this is not a novice issue any more.. ๐Ÿ˜†

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    I'm not entirely convinced this is a good idea.

    Changing the action text between sources exposes the underlying difference between project types, and adds cognitive load. What's so wrong with "Install"? Sure, it's true that recipes are not technically installed like modules or themes are, but users don't care about that. It's a developer-facing distinction.

    The question, then, is how would a change like this be valuable to users?

  • ๐Ÿ‡ฎ๐Ÿ‡ชIreland lostcarpark

    I can see the logic that recipes are "applied" to a site, rather than installed. However, I think for a novice site builder, it's not very clear what "Apply" means when it's on a button. When I see an "Apply" button on a website, it implies "make a request", as in "Apply for a loan", "Apply to join a group", "Apply for job".

    I think this can be solved. Perhaps something like "Apply to site" would be clearer?

    I to like the idea of making the button reflect the type of item being browsed, so in principle, I think it's a good change.

    But I think we need to think carefully about our choice of button labels.

    One of a new users' first interactions with Drupal will be a mini browser of recipes, and in that instance will "Install" be clear, since from their point of view, they're already in the middle of the install?

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    I to like the idea of making the button reflect the type of item being browsed, so in principle, I think it's a good change.

    But that still doesn't answer my question, which is what is it about this change which would be valuable to end users? Would it be clearer? Simpler? Nicer? I honestly don't know.

    I think we need to answer that before proceeding here.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States cainaru Norwood, NY, USA

    The only con I can see to the usage of โ€œInstallโ€ is that, to some end users, that might imply that there must be some โ€œUninstallโ€ mechanism to recipes (similar to installing/uninstalling an app on your phone or computer).

  • ๐Ÿ‡ฎ๐Ÿ‡ณIndia chandansha

    "Hi @chrisfromredfin and @rkoller,

    I made some changes, but when I read @rkoller's message, I checked my merge request (MR) and realized that it didn't include any of the changes. I did some research to figure out why my changes weren't being pushed and discovered that the .gitattributes file was hiding my changes. I pushed my changes today to inform that I didn't push a blank MR.

    I also read @chrisfromredfin's comment #12, which I found not suitable for beginners, so I skipped that issue and moved on to another one.

    Thanks to you both!"

  • ๐Ÿ‡ฆ๐Ÿ‡บAustralia pameeela

    It's a developer-facing distinction.

    This is sort of true, but there is a major actual distinction: recipes can't (currently) be *uninstalled* whereas modules can. I'm not sure that simply having the button say "Apply" conveys this, but I do think having it say "Install" implies that you can uninstall?

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States phenaproxima Massachusetts

    I'm not sure that simply having the button say "Apply" conveys this, but I do think having it say "Install" implies that you can uninstall?

    I feel like we could go down a semantic rabbit hole here. The doing of any action implies, in the absence of any further information, that you can undo that action. No matter what wording we use on the button, I think people will still ask "how can I undo that"?

    The answer is that recipes have a certain degree of reversibility because of the config checkpoint system we invented, but that is, for now, really just limited to recovering from config validation errors. There's no UI for reverting to a pre-recipe state. Yet.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    As we think ahead to other types of browsers, I think we may need to support each source changing what its Activator "does" anyway. I wonder about themes. I am thinking that if people don't see a theme change more or less right away then we may want to change to "Set Default" for themes. Components could be "Installed" if we build a component browser, but not really in the same way modules are. Maybe "Add" makes more sense for components.

    I can see both sides.

    Triaging as beta blocker, since we definitely need a decision on this one way or the other.

  • ๐Ÿ‡จ๐Ÿ‡ฆCanada mandclu

    Since maintainers of the Recipes system are adamant that recipes are always applied and not installed, I am not in favour of the Project Browser using terminology that will ultimately cause confusion. If we expect people to use this interface as part of their first experience of Drupal, it should not be sending people down the wrong path in understanding how to think about how it all works. So, a -1 for me on "Install" as a label.

    I also agree that as we think about other things (like components) that could be made available through the project browser, "Install" makes less sense. I think "Add to Site" as a button label is generic enough.

  • ๐Ÿ‡ฎ๐Ÿ‡ชIreland lostcarpark

    I'm still in favour of being consistent with Drupal terminology. If the Drupal term is "Apply" we should use it. If we think that's going to be confusing in Project Browser, we should petition to have the term changed in the rest of the Drupal project.

    Also, I think an important distinction with recipes is that they can be re-applied multiple times (I think the current Project Browser implementation blocks this), and they can't be "uninstalled". I think if we use the same install/uninstall terminology we use for modules, it masks this distinction.

  • ๐Ÿ‡บ๐Ÿ‡ธUnited States chrisfromredfin Portland, Maine

    I am going to close this with (Outdated).

    Now, all the buttons just say "Select" or "Deselect" which is The Right Thingโ„ข - BUT, when we work out the bulk action bar at the bottom, we may want to differentiate or come up with language there. I will reference this issue on that one.

Production build 0.71.5 2024