There are easy ways to improve the user experience when you have an existing website and you're installing Material on a new PC #7757
Replies: 2 comments 4 replies
-
Thank you for your feedback. I locked the PR, because all has been said. You made your points and I, as a maintainer, made mine. We made a decision to not include your PR, please respect that. You are one of tens of thousands of users, and we need to balance things. More than often we need to say no to keep the project sharp. Additionally, as I explained in #7752 (comment), we detect the problematic situations during runtime and guide the user to a troubleshooting guide.
I've locked the issue because it's not the first encounter we had where I had to invest a lot of time of repeatedly making my point and you did not accept or respect our decision. It was going in that direction again. I wrote a long explanation, but I currently just can't invest more time into fighting with you over 1-2 sentences, as I need to invest my time into the bigger picture.
Definitely! We're actively working on much easier setup. Most of the unideal AX/DX comes from the limitations of MkDocs itself. We always try to find ways to work around this, and have something in the making that will be a game-changer in terms of AX/DX. Now let's please put this discussion to a rest. |
Beta Was this translation helpful? Give feedback.
-
Looking at the changes in #7752 I can sort of understand why it wasn't added, as this adds noise. A beginner Python / MkDocs user might try to read everything, and follow everything, even additional notes and have issues installing Cairo, and this might deter them from using the product altogether. Getting started guide should be as basic as possible to not overwhelm with features. The getting started page recommends the usage of
I see this as a sort of cop-out, along the lines of "if you're using Python do it right, if you don't know what right means, then use docker, as you know how to use it, right? right?". The issue is that in Windows-land most people never run any commands in their life, so troubleshooting things like PATH probably never happened to them, and I don't see people using Docker all that much. Most people would not be as tenacious as Max in getting things to work. Then again there are other blogging solutions which are more hands-on without any setup process, hard to say where to draw the line, as perhaps Material for MkDocs just isn't for everyone, there is configuration The only true solution for a Windows user, to make it as seamless as possible, would be some sort of an executable. The issue with that is, most antivirus software flags executable Python-bundles. I don't know what sort of signing process would be required to resolve this. There could be also issues with the decision what to bundle, as this solution wouldn't work with dynamic plugins additions. So a good mitigation for now would be to explicitly say "here is the guide we recommend to install Python and add it to PATH", because currently the only Python guide which is linked is under the "virtual environment" and this doesn't really suggest anything for a person not familiar with Python. A footnote would be good IMHO. Like a link to a video tutorial (this is the one I typically recommended over the years as it has both Mac and Windows and most importantly uses the correct standalone installer approach with PATH, however it's 7 years old, and this YouTuber also has a full VS Code Python setup guide for both Windows and Mac, however I never seen them in full, as I learned from other random resources). As for the issue with Image Processing, instead of adding it to the getting started section. I would focus on improving the troubleshooting guide. We can't control the issues that a user could have during installation, but we can intercept the whole plugin initialization process, therefore I added the nice error messages with the link to instructions on what to do.
The link points to the troubleshooting section, because it appears after the Cairo error, the previous step However, I can understand that "After following the installation guide above" inside the Cairo section, could be more explicit, that it's related to the MSYS2 environment, because a user would likely come to the troubleshooting guide from a non MSYS2 installation. 🤔
The initial intention of the script was for the user to copy-paste them on their own and see the logic for how the PATH is being looked up, so I tried to make it as short as possible. Later it got changed into an automatic runnable online script, so perhaps it would help if it had more "prompts" for the user to see what is happening, because now it prints all of the data at once. 🤔 I initially wrote this for global system-wide usage with PowerShell, as initially the GTK3-Runtime installation was recommended as the way to install Cairo, and the global PATH was concerned. I see now that during the change to MSYS2 it seems like this part wasn't reevaluated, because the UCRT64 environment has its own PATH. I doubt that the script would find the Cairo MSYS2 installation from PowerShell. 🤔 So overall, I agree there needs to be some sort of fix-up to make the setup process for Windows users great again 🤘 |
Beta Was this translation helpful? Give feedback.
-
Here are the steps I went through and the subsequent trouble I had: #7752 (comment)
There may be some tunnel vision or lack of understanding of what's important to users if a developer considers this type of thing so "unimportant" that they go as far as to prevent a user from even discussing it. You can have the best software in the world, and if it's a pain in the ass to use or install then a lot of people are simply not going to bother with it, much less recommend it to others.
Squid may be right about the first "intro to python" part. I know I tried another way of installing python before and ran into problems, but I'm not sure if it was the method in the docs.
I had the Image Processing page https://squidfunk.github.io/mkdocs-material/plugins/requirements/image-processing/ in mind and was thinking the "Installation" page could be improved by mimicking those tabs for "macos", "windows", "linux". And I think python installation from the Windows Store is common enough that a short tip about adding the specific folder to Path would be an easy way to improve the documentation.
It seems like bad practice to say this and then close commenting as to not allow someone to further explain when it's clearly necessary.
A ctrl+f for "requirements" on the "installation" page gives 0 results. So if there's a "requirements" page, it's hidden away, just like the "image processing" page. I think there should be a link to it on the "installation" page. Eg: "You can review all the requirements here."
These are essential pages for this use case that are not obviously available when we're searching how to install Material [on a new PC].
I'm giving up a good amount of my time to try to improve the user experience for other people, in large part because what I experienced was unnecessarily difficult and time-consuming and can easily be remedied. This type of user feedback is essential to making improvements and creating a good UX. Locking the issue so that I couldn't even respond seems very excessive. It's quite off-putting for someone to be so dismissive of the issues people are experiencing, and so unreasonably opposed to taking input and making small changes that would greatly improve the user experience. Not to mention, that type of behavior/mentality is completely detrimental if your goal is to make an appealing product.
Yes, one of those error messages landed me at the Troubleshooting section https://squidfunk.github.io/mkdocs-material/plugins/requirements/image-processing/#troubleshooting. But that section makes no sense on its own. It only makes sense if you had started at the top of that page.
Thus, when I got there I was thoroughly confused about what "C:\msys64\ucrt64\bin" was, and the entire following instructions.
I ran the cairo-lookup-windows.py script and it didn't find the files anywhere (obviously, since they weren't installed yet).
There are definitely some easy ways this user flow can be improved.
I'm often not great with wording but I tried to write this as amiably as possible. I'm definitely grateful that this project exists. Thanks to everyone who works on it.
Beta Was this translation helpful? Give feedback.
All reactions