Proposals for improving the Onboarding Experience

I personally like the idea, after work has been done on the introductory slides. It probably should be a separate app/extension, though.

1 Like

Agreed. I should have made this aspect clearer in the proposal.

Building on the foundation laid out in this discussion, I would like to also propose the following:

1. This UI would guide an instance owner through configuring the instance based on their organization’s needs.

2. This would be done using a series of questions about their usecase and expected features.

3. Towards the end of the flow, the Admin is asked if they want to configure their instance based on their answers.

4. The extension would be implemented separately from the Distribution Wizard. It would be named, let’s say Customization Wizard. See explanation below.

These customizations would mean:

  • Installing certain Extensions based on the Admin’s needs (e.g.: if the Admin said they’d like to review pages before publishing them, the Change Request extension would be installed)

  • Installing templates based on the Admin’s needs (e.g.: if the Admin said they’d like to use XWiki for project management, a Roadmap Template could be installed)

This would require:

  • defining questions for the Admin flow

  • defining what extensions and templates coincide with which question

  • creating the necessary templates

The extension should be developed to allow data collection when it comes to the user’s answers. This functionality could be disabled by default on XWiki.org distributed packages, but it would allow other environments to gather insights about the most picked usecases and features.

Independent of Distribution Wizard

I propose the Customization Wizard should be a separate extension, independent of the Distribution Wizard.

Making it an independent extension would allow for quicker development, plus it would be easier to iterate on the extension.

Ideally, in the future, the Distribution Wizard and the Customization Wizard would be merged (if it makes sense). This WIP design page made by Thiago on the topic of Distribution Wizard UX improvements looks really nice. Especially the part mentioning user onboarding.

Offering a new onboarding experience quicker would allow new users to better evaluate if XWiki is a good fit for their needs. Interest in XWiki is up lately compared to the same period last year.

Naming

I find the “Onboarding” name a bit too general, going with “Slides” would be a bit misleading (makes me thing of presentation slides). I think Customization Wizard or Customization Widget would be a more fitting name.

WDYT?

1 Like

Thanks for working on this and proposing!

General

@gabrielc I’m not sure to understand what you’re proposing or trying to achieve globally. It feels like you’re proposing something that XWiki SAS could build, not something done by the xwiki.org community and in XS. Is that correct?

I’m asking since this thread is about the onboarding on xwiki.org/inside XS by default (AFAIU).

If that’s correct, I’d propose that you start a new thread about the development of a new contrib extension (for example), so that we separate the 2 topics.

See at the end though.

Analysis

As a user I’d really hate that flow and run away… :slight_smile: Having to answer questions I don’t want to answer and then being asked if I want to use my answers doesn’t seem right. You should start by asking if the user wants a config based on replying to some feature usage questions. And if not, skip the question altogether.

The devil is in the details. For ex you list:

It’s possible to ask such a question for every single extension. Is your plan to ask 200 questions to know if the 200 extensions should be installed? :slight_smile: If not, how do you choose what question to ask/which extension to install.

Also, the user know their need better than any question so it feels to me we should rather teach them to use the Extension Manager and then they can install whatever they need. And if the extensions’ descriptions are not good enough to understand them, we should improve them IMO.

  1. how does it interact with the DW? Does it appear before it or after?
  2. Why separate? That’s not a great UX for users to have 2 competing systems.
  3. The DW is made to be extensible and contain new steps if needed so I don’t see the need for a different system.

We don’t need to send that info… we kind of already have it and in a better way. For ex, imagine that a user installs some extension later on, you won’t know it. What we have now, as part of Active Installs, is the anonymous list of installed extensions on all instances that share anonymous data.

What we are lacking is not this but whether the features are used. This is a different thread though.

How does it get installed? You won’t have it when you install XS and go through the DW…

Does it mean you suggest that organizations (like XWiki SAS) which want to have your feature should provide a custom distributions that includes that extension?

IMO it’d cost a lot less to reuse the DW and add a step than recreating a new UI/system from scratch.

What you’re suggesting is very close to the concept of Flavor. It’s basically a “dynamic” flavor. The problem I see is that a Flavor is not just a set of features that you install. It has a theme/consistent UI and usage flow, and requires a lot of work. XWiki SAS tried this in the past with the Procedure Flavor and it took very long to develop and maintain.

So IMO what you propose is either too hard to develop (Flavor) or with too little added-value (just installing a set of extensions doesn’t make an environment targetd to a specific usage).

What we could do

However, I think it has value in a simplified form and we could easily have a step in the DW that lists a set of recommended extensions that the user could select and that will be installed. This recommended list would be taken from the list of supported extensions. We could even send a vote to modify the governance of XWiki.org (https://dev.xwiki.org/xwiki/bin/view/Community/Governance) so that the Top Sponsoring Company is allowed to provide a few extensions to be displayed in that extension list.

1 Like

Hello!! Thank you for your reply, Vincent. And apologies it took a while for me to get back with an answer :folded_hands:.

I think this is fair. It would make it quicker for people that are already familiar with XWiki, while still offering newcomers the opportunity of getting a personalized experience (if they want that).

I understand your concerns, I should have offered more details about what I had in mind.

Not every extension should be available on this screen, only a couple of the more popular ones, ideally extensions that don’t need configuration and are ready to go out-of-the-box. There wouldn’t be a confirmation screen for each extension, the way I imagined it, it would be a single screen with a couple of checkboxes explaining different potential functionalities.

For example, you’d have to choose from the following available checkboxes:

  • Previewing PDFs (which would install the PDF Viewer Macro)
  • Embedding videos (would install JWPlayer)
  • Publish blog articles (would install Blog Application)
  • …

The checkboxes would have “friendly” labels, because new users may know what they want to do (e.g.: embed video on page), but may not know how to do it in XWiki (e.g.: need to install the JWPlayer extension). The name of the extension could still be displayed in smaller font, to allow advanced users to pick the extensions they know they need.

I agree that it would be great to teach users how to use the Extension Manager. My fear is, however, that it would require too many steps, which wouldn’t make for a great onboarding experience.

Even if I’m an advanced user of XWiki, I believe it would be quicker to check some boxes during the onboarding and then have everything ready to go, rather than going into the Extension Manager and manually searching and installing each of the extensions I know I need to have installed.

I have changed my mind on this point since making that comment. I now believe that a revamp of the DW that would incorporate customization functionality would be the better approach.

Fair criticism. That part of the proposal can be considered dropped.

Addressed by agreeing with DW revamp.

I do not agree about it being a flavor on the basis that it would only install extensions. It wouldn’t change the theme / UI in any way. I view it simply as a configuration on top of XWiki Standard.

I believe that presenting the extensions in an easy-to-understand way in the beginning, and then installing them if the user wants that, adds quite a bit of value. As I previously mentioned, a user may know what outcome they’d like, but may not know how to get there, especially if they’re seeing XWiki for the first time. Also, having extensions installed during onboarding would allow for quicker actions.

Let’s continue with the video embedding example. In the first scenario, the user selected this feature during onboarding and already has JWPlayer installed. All they need to do now is create or edit a page, and then embed a video.

In the second scenario, the user gets the current XWiki Standard experience. They are inside XWiki, maybe they expect video embedding to be a feature already so they try to embed a video. They can’t. They open up their search engine of choice and search for “how to embed videos in XWiki pages”.

In my case, the first results were the Embed and the Video macros, which don’t really fulfil my need in this scenario. So I might install them, then get frustrated when I cannot embed a local video using them.

In fact, for this specific search query, only one of the results mentions JWPlayer, and it’s a sub-link on a 3rd party website. Not to mention that the link says that JWPlayer doesn’t work.

However, let’s just say that I somehow found out that I need to install the JWPlayer macro. I now need to go into Administer Wiki > Extensions (open dropdown) > Extensions (page) > Search extension > Type "JW Player" > Click "Install" > Click "Continue". Aaaand voilà! I can now embed local videos in XWiki pages.

The second scenario has a lot more friction, and new users may get discouraged and abandon using XWiki.

That’s why I believe that just the act of installing the extensions quickly in the beginning adds quite a bit of value. Especially for new users.

Thank you for proposing this! As I’ve said, I now believe that revamping the DW would be the better approach. But I would like to mention that the DW, in its current form, cannot be displayed in some distributions of XWiki (e.g.: Demo Installations, Cloud hosting offered by XWiki SAS).

As part of the revamp, would it be possible to make the DW able to appear in these other scenarios as well? I believe it would be helpful for users to be able to customize their instance, regardless of the environment they choose to use.

As for the governance change to include extensions from the top sponsoring company, I fully agree. Thank you again for proposing it!