Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-886

Better first-time developer experience



    • Type: MMF
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:



      Today SonarQube provides a first-time experience that is not intuitive and makes it hard to understand how to run your first project analysis. There are many pain points, and steps where users risk cancelling the funnel because it is not clear what they can do.

      For SonarQube.com:

      • Our “Get started” guide is useful but not totally seamless as it forces users to have two tabs open and switch from action to documentation.
      • There are many steps before a user can actually login with GitHub. Moreover the presence of login fields are disturbing (used only by Sonar employees, should be hidden to the public)
      • Many instructions given there are creating a lot of friction as they force the user to leave the page, and do many steps on their own with high probability of getting lost in the way (“go to my account, then security, then generate a token, then…”).
      • The generated command lines to launch analysis of a project are not personalized with the user’s project's data. The user has to manually replace his token, organization key etc… It cannot be done in the browser because the snippet is not in an editable field, and it is painful to do it in the terminal.
      • Once a first project is analyzed, there is no easy way to find this “Getting started guide” back if the user wants to analyze a second project.

      For SonarQube

      • It is not easy to find the documentation and useful links after you downloaded SonarQube from SonarQube.org homepage.
      • The workflow can be very different depending on the technology and language you’re using for your project. There is no easy way to find personalized instructions depending what you’re using for your project.

      Use cases

      As a developer discovering SonarQube for the first time, I want to get immediate value from the product, and thus get started as quickly as possible with the analysis of my first project.

      For SonarQube.com:

      • From SonarQube.org website, I want to access the platform quickly with the “Use online” button
      • the “Get started with GitHub” button is directly accessible from the next screen so I can immediately start using the service if I don’t want to dive into details of the SonarQube.com landing page.
      • After giving my GitHub credentials, I will see a welcome screen containing advices on how to get started in a few easy steps. I can easily skip this tutorial if I want.
      • I’m asked to choose an organization and generate a token. I can do it directly from here, instructions and actions happen in the same place to keep me focused.
      • Then I’m asked about the project I want to analyse. After telling which language, technology etc.. I’m using, the system provides a set of personalised instructions for me, as well as a snippet of command lines that I just have to copy/paste and run in my terminal.
      • As soon as the analysis is complete, the browser will refresh automatically to show me my project’s homepage in SonarQube.
      • A little tooltip appears near the help icon on the top bar. It tells me that I can replay this tutorial anytime, and find other tutorials in the help section. The help popup contains a “Tutorials” tab with links to useful help wizards.

      For SonarQube OnPrem:

      • From SonarQube.org website I click on “Download” button. I can then choose between LTS or last version in a popup.
      • After I download the program, this popup offers me links to helpful documentation links, and the highlighted (recommended) one points to the “Get started in two minutes guide”
      • After clicking on this highlighted button, a new tab opens with the Get Started in 2 minutes Guide form the SonarSource documentation website.
      • After following the 3 easy steps, my SonarQube server is up and running, I can login to localhost with admin/admin credentials.
      • Right after login, a few tutorial steps appear to help me analyse my first project. I can skip it easily if I want. If I skip, I’ll end up on the empty Project’s page and see a tooltip near the help icon telling me that I can replay the tutorial anytime.
      • The tutorial looks like the one from SonarQube.com, except that I don’t have to choose and organization for my project. I generate a token, then provide a few informations about the project. Some command lines are generated, I just have to run it in my terminal.
      • Once the analysis is complete, the page will refresh automatically. I’ll end up on the projects page with only one project displayed on top of the list.
      • A little tooltip appears near the help icon on the top bar. It tells me that I can replay this tutorial anytime, and find other tutorials in the help section. The help popup contains a “Tutorials” tab with links to useful help wizards.

      Skipped onboarding

      • If the user clicks on "Skip", he will land on the Projects page
      • A little tooltip appears near the help icon on the top bar. It tells me that I can find the tutorial here in case I change my mind.
      • The help popup contains a "Tutorial" tab with links to useful help wizards.

      This information must be saved on the server for a given user.

      Activating or deactivating this onboarding

      A global setting should allow to control whether this onboarding is activated or not. What we expect:

      • Name of the setting: "Skip onboarding tutorial"
      • Default value: false

      A migration should be written to set this global setting to "true". Indeed, we don't want existing instances to have this feature activated when they upgrade to SQ 6.5+.

      Out of Scope

      • Inline documentation to help users understand our core concepts and how to use SQ on a daily basis
      • Tutorials on how to perform other actions on SonarQube
      • Tutorials and disclaimer to announce new features


        1. Onboarding_skipped_01.png
          147 kB
        2. Onboarding_skipped_02.png
          130 kB
        3. Onboarding_skipped_03.png
          116 kB
        4. Prototype_OnPrem_V1.zip
          8.83 MB
        5. Prototype_SaaS_V1.zip
          8.24 MB

          Issue Links



              fabrice.bellingard Fabrice Bellingard
              laura.wacrenier Laura Wacrenier
              0 Vote for this issue
              2 Start watching this issue