-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance onboarding experience for Performance Lab #1032
Comments
As I just mentioned in #1031 (comment), we also need to be wary of readonly filesystems. If someone, for example, installs Performance Lab on the Pantheon dev environment and then pushes it to production without going through the onboarding experience on dev, they will then fail to be able to successfully do the onboarding on the live environment because it is a readonly file system. |
@joemcgill @mukeshpanchal27 I have updated the description to consider the third use-case of features graduating from experimental to non-experimental (also see #1045). Let's discuss what would be a good starting point in implementing such an onboarding experience. A simple admin notice? An admin pointer plus dedicated UI on top of the PL settings screen? A custom screen purely for the onboarding (akin to a more common onboarding wizard experience where the user's entire focus is on the one step to go through)? Just some ideas to consider. |
Sharing a few ideas here:
![]() Curious about your thoughts @joemcgill @mukeshpanchal27 @swissspidy! |
A "Activate all recommended features" button of some sorts makes sense. Makes it easier to get started. I don‘t see us need a „Choose“ modal though. Highlighting new & recommended features on the settings page would already be very helpful. |
@swissspidy Makes sense. We could also go without any of the modal idea and instead just highlight the Potentially we could use a transient with expiration of a number of days where we could assume hopefully at least 1 admin has seen the new features by then. |
Related to this is Core-60992. In versions of WP prior to 6.5, plugins could redirect to an onboarding screen after activating a plugin. This broke in 6.5 with Ajax-activation of plugins. There may be an opportunity for us to hook into whatever solution is come up with to direct the user to the Performance screen to take the next step to activate features after activating Performance Lab. Otherwise, they would only find out about the Performance screen by (1) reloading the plugins screen and discover the Settings link, or (2) go to the dashboard and discover the admin pointer. |
There seems to be a lot in flux right now with how onboarding flows for plugins in WP should work (see: Core-61040 for continued discussion). I think it best that we defer the question about an onboarding experience after initial activation of the Performance Lab plugin, and instead focus on the messaging/experience we can give users to automatically activate all non-experimental plugins from the We already show the following admin pointer after activation. ![]() Once someone gets to that screen there should be a single CTA that encourages folks to install all recommended features. Here's a rough mockup (copy is just for example) ![]() |
@joemcgill This sounds great. How about putting the "Active All" button in the spot where the "Add New Post" button is on the edit posts screen? I think we can then avoid having to add copy, or else that copy could be added to an admin pointer that is specifically connected to that "Activate All" button. |
I like the positioning of the "Activate All" button. I still think that this page is too sparse and we are missing the opportunity to provide some context about why all these "cards" are on the screen, and what the value is for people to activate them. It's also not clear that the "Activate All" button would only activate non-experimental features unless we separate the experimental cards into a separate section or provide some other context. |
Yeah, it does feel a little sparse. As for the button, I suppose there could be two after the heading:
Once they are all active then the button would go away. I'm not in love with this though. Still, that button position is familiar for users in WP. Perhaps the Privacy screen has some design patterns we can reuse, with tabs (e.g. Stable and Experimental), followed by copy, followed by controls: That said, I've probably been to the Privacy screen only a handful of times, with this time to take the screenshot being the 5th 😄 |
@westonruter @joemcgill I think having the button in the familiar location is a good starting point, in principle. I am a bit concerned about the wording though.
I think "experimental" is easy to understand, so "non-experimental" is sort of easy to understand as well, but maybe there's a better option. Initially I was thinking to use something like "recommended". Alternatively, we could use a different UI where the button appears alongside a brief description, like what @joemcgill proposed above. Maybe something like this:
I would in any case also recommend to keep this whole UI conditional. I'd say that, if all non-experimental features are active, it shouldn't be shown, as it would provide little to no value then. The only value would be to bulk-activate the experimental features then, but since we wouldn't recommend that and the user initially chose not to do that, I think it's not worth keeping this UI. WDYT? |
Yeah, I wasn't sold on my wording either. I like the idea of having two buttons of different colors, one being the primary blue activating all non-experimental features and a secondary button that activates everything. These could even be inline with the heading if we don't go with additional copy (and perhaps the copy could show up as a tooltip or admin pointer?). Or the buttons could be presented in an info admin notice with copy, where I think the notice styling would bring eyes to it without being obtrusive. I hesitate about "recommended" because that could imply that experimental features are not recommended, but we do want users to activate them. What if we instead position experimental plugins as "beta" or "early access"? |
Punting from 3.1.0 to n.e.x.t (3.2.0). Normally this would be on June 17th, but given that WCEU is immediately prior to this, I think it makes sense to do a mid-cycle release, perhaps June 10th (or even the week prior). |
I'm not sure it implies that. "Recommending" to activate these plugins would effectively be "encouraging" to activate them. Not encouraging something doesn't mean it is discouraged. It's just not encouraged, or at least less strongly.
I don't think the term "experimental" needs to be changed at all, IMO it's clear as is. The primary problem is that we need an easy-to-understand term for all of the non-experimental plugins so that we can refer to it on the primary CTA button. Changing the term "experimental" doesn't necessarily help with that. |
This got punted to 6.6. For the minor release, the Ajax activation was reverted. See Core-61040. |
We got a recent bug report (#1292) from a user who expected to be able to deactivate the feature plugins from the performance settings screen after installing them. While this is expected behavior and not really a bug, the UX is not the most clear and is something we could probably improve as part of the onboarding process improvements. |
See also #1031 (comment) and the surrounding comments regarding whether feature deactivation should be available from the Performance screen. (I think it should). |
Moving this to On Hold as this should be worked on once Core-61040 settles. |
@westonruter Not sure we should block this on the Trac ticket. Plugins have already provided onboarding experiences regardless of core support, and it's unclear whether that Trac ticket will move forward in the foreseeable future. It's "Awaiting Review", and the last comment was 2 months ago, so I think we need to decouple our work from it. This issue is mostly about having a UI that facilitates onboarding upon installation or update (e.g. a new screen, or a variation of the current PL features screen). How to get there is what would vary depending on how core may implement a plugin onboarding API, but for now we could use what's already possible, e.g. a redirect or an admin pointer. So if we build the functionality into our own screen, I don't anticipate major changes being required to support whichever way core provides in order to get users to that screen. |
Yeah, I thought there was more activity on the ticket as it was somewhat of a hot topic during the last release. But it does seem to have quieted down. I was hoping we could build on top of what was being proposed for core as opposed to reinventing the wheel, as many plugins currently do. Or in other words, to take a blessed approach for however core wants plugins to do onboarding. In any case, as you say, it probably won't require much work to be compatible with whatever core ends up doing, whenever that does happen. Moving this out of On Hold. |
See https://wordpress.slack.com/archives/C02KGN5K076/p1724773677843549 for Slack discussion about potentially doing user research around this at WordCamp US this September. |
Sharing here a summary of the responses to the onboarding feedback form: https://docs.google.com/presentation/d/1kDHYXe7IpQSN5aX9rFYIeEzklyPX7XoD2XKw1_vhkRY/edit My summary of the takeaways here:
The last point is probably the most urgent one to focus on, as it seems there's something broken that several users ran into. Other than that, we need to revise some of the feature descriptions. Coming up with better copy may take some time though. Curious to hear anyone else's interpretation of these responses. |
It would be very nice if activating a feature would use Ajax instead of doing full page refreshes. |
Reading through the feedback, it looks like there were several positive takeaways:
I'd also caution putting too much weight on this survey, since it's a pretty small sample size, and it's unclear whether these responses are biased towards technical users who were likely to see the link shared on Twitter/X. |
Thanks for sharing your observations @joemcgill. They make sense to me, just one additional reply:
It's worth noting that this is a concern from a plugin directory compliance perspective, as any plugin installing other plugins should clearly indicate so. Since we now know replicating the UI was not sufficient to make that clear, we may need to put more explicit wording in place. |
As discussed in our weekly Performance chat, per @felixarntz:
I looked up some previous conversations related to use of Ajax for the activation of features and
|
I opened #1583 to implement the AJAX based feature/plugin activation. |
Closing this as completed per the conversation in our Slack meeting today. |
#1031 focuses on revising the UI of the Performance Lab settings screen to be more intuitive about the features it allows enabling.
Separately, we should think about how we can improve the onboarding experience in particular, specifically about enabling all non-experimental features (see #1045) with one click, or at least have some kind of onboarding where those features are recommended.
There are 3 distinct use-cases to consider here, all of which we need to find a solution for:
Let's think about what this experience could look like. We may not need a full multi step onboarding wizard for this, as it doesn't really involve multiple steps. But at the same time, we shouldn't settle for just an admin notice or pointer, but rather shoot for a more prominent and more intuitive user experience, with minimal clicks required to get to the recommended features being active.
The text was updated successfully, but these errors were encountered: