meilisearch / documentation

Meilisearch documentation
https://docs.meilisearch.com
MIT License
146 stars 242 forks source link

Suggest Docker as the first option in the installation #2440

Closed brunoocasali closed 1 year ago

brunoocasali commented 1 year ago

I need more data to understand how big the numbers are to support cURL or homebrew downloads against Docker. The numbers I have, show that most of our users use Docker, so why not give Docker even more visibility?

https://www.meilisearch.com/docs/learn/getting_started/installation#local-installation

guimachiavelli commented 1 year ago

I'm personally not super comfortable with the idea of presenting Docker as the first option. There are two main reasons for it:

  1. The first option is invariably seen as the recommended, and possibly simplest, way of installing an application. I think it's a bit dangerous to have our default install option dependent on third-party software (yes, curl is also third-party, but there are plenty of functionally identical alternatives such as wget);
  2. Installing a Docker image is very easy if you have Docker already installed and are familiar with it. If a user doesn't have Docker installed, they end up having to first install that one before they can start using Meilisearch.
brunoocasali commented 1 year ago

Yeah, giving you a counter-opinion requires accurate data corroborating my idea. I can tell today that the docker is the primary way our users interact with our software.

📡 @gmourier, what will be the proper way to get that information (the number of users who download from curl/build their binary)? On amplitude, system.server_provider is the way to go?

guimachiavelli commented 1 year ago

Happy to have more input from others, but I am not questioning the fact Docker is the most popular install option.

Now, to go a bit more in-depth on why I'm against giving more visibility to Docker:

As a parallel, we know the absolute majority of people use Meilisearch with an SDK, and that JS and PHP are amongst the most popular languages. However, we still default to curl for our code samples. This is not because we think curl is the way most people interface with Meilisearch, but because curl is a neutral option requiring no real expertise or familiarity with a specific programming language, and it also reinforces the idea Meilisearch is language-agnostic.

Installation in my opinion should follow a similar logic: users should not feel they have to understand Docker to get a rough idea of how to install Meilisearch. They should not think we are endorsing Docker usage, or that Meilisearch will work better when installed with Docker. Based on a quick review of a few comparable applications (typesense, nginx, mysql, and postgre) setting Docker as the first/recommended install option is also not very common practice.

maryamsulemani97 commented 1 year ago

curl is a neutral option requiring no real expertise or familiarity with a specific programming language

Agree with Gui.

Putting Docker first implies it's recommended. For first-time Docker users, setting up and learning how to use Docker will be an additional(annoying?) step before they can use Meilisearch.

dichotommy commented 1 year ago

Hey, my two cents: we don't really have enough information right now to say whether this is a useful proposal.

My first thought is that "users prefer Docker" is one explanation for data showing a high number of Docker users, but not the only one. There may be a popular article out there that recommends starting Meilisearch with Docker, or perhaps even a README for one of our own tools. We should at least try to confirm that our users prefer and default to Docker with a community survey before considering any action.

Based on a quick review of a few comparable applications (typesense, nginx, mysql, and postgre) setting Docker as the first/recommended install option is also not very common practice.

My anecdotal experience aligns with @guimachiavelli 's in that I rarely see Docker listed first on other docs sites. The most common option seems to be Homebrew.

A Hotjar heatmap (past 30 days) shows that around 30% of page clicks are on the Curl code sample. The Docker tab receives only 2% of all clicks, roughly equivalent to the Homebrew, APT, or Windows tabs. This does not support the conclusion that our users prefer to install with Docker.

guimachiavelli commented 1 year ago

The heatmap bit is quite interesting and unexpected. I propose a couple of off-the-cuff explanations:

  1. Installing things with Docker tends to be largely the same across different applications (e.g. installing the meilisearch image from dockerhub is the same as installing the postgre/mariadb/nginx image)
  2. Docker users skip the installation page and go straight to our Docker guide
gmourier commented 1 year ago

I'm struggling to understand what we are trying to fix

📡 @gmourier, what will be the proper way to get that information (the number of users who download from curl/build their binary)? On amplitude, system.server_provider is the way to go?

Sadly, it won't help; it will only work for docker usage. You have both way to look at it; You could look to system.server_provider where the docker image we provide fill that value with docker or look at the system.distribution in that case Alpine Linux.

AFAIK we don't have a way to know how many installs were made by curl, homebrew or APT. We could find a way to have those metrics if it's important to know it!

brunoocasali commented 1 year ago

Thanks for your input, people. I wanted to raise the discussion I get it!

We could find a way to have those metrics if it's important to know it!

I think those values are "nice-to-have" nothing that important that should raise any additional work :)

No need to bother about the subject anymore. I just think the docker way is better than all* In any case, it is not if we didn't provide the solution at all. It is just one more click.

Thanks a lot, folks! 😉