I want to say right away that the article will focus exclusively on the desktop application of Linux, i.e. on home computers/laptops and workstations. All of the following does not apply to Linux on servers, embedded systems and other similar devices, because. what I will now pour a ton of poison on, these areas of application, probably just for the benefit.
It was 2020, Linux on the desktop still had the same 2% as 20 years ago. Linuxoids continued to tear up the forums in discussions of "how to take over Microsoft and conquer the world" and look for an answer to the question why "these stupid hamsters" do not want to cuddle with a penguin. Although the answer to this question has long been clear - because Linux This is not a system, but a pile of various crafts, wrapped in duct tape.
Why does a person sit at a computer? Many will come to mind the answer: to use all sorts of useful applications. But this is the wrong answer. People don't care about apps at all. He is trying to achieve his goals:
- chat with friends, boosting your mood and your social value
- make money by finding demand for your skills and talents
- learn something, find out the news of your city, country, planet
And so on. Exactly for such purposes, excuse me, the UI / UX design of applications aims. We take the starting point А a bunch of pieces of iron aka desktop or laptop, take the ultimate goal В - “chat with friends”, and build a smooth trajectory from А к В with a minimum of intermediate points. Moreover, these points should be solid points, single actions, and not a complex of some actions. This is the epitome of good design.
What about in Linux?
And in Linux, the design ceiling is not about achieving goals, but problem solving. Instead of a goal В developers are trying to realize the under-goal ЬInstead of thinking about how the user will chat with friends, LinuxDevelopers are creating the 100500th messenger, cramming in features from a list of "everyone else's." Can you see the difference?
Healthy person designer: people often share selfies when they get to know each other and communicate, so let’s attach the “send selfie” button here, in a conspicuous place, so that it is at hand and, when clicked, takes a picture of the user with a webcam and gives him the opportunity to immediately center the photo and apply it to it filters.
Manual smoker designer: we will make file transfer support, it is universal and will satisfy everyone. And to send a selfie, let a person look for software to capture from a webcam, then retouch the photo in some graphic editor, then send it using the seventeenth option in the Tools menu. WE HAVE UNIXWAY!
The saddest thing is that the same approach is used even at the operating system level - that is, at the level of overhead operations, which is generally nonsense. They managed to spoil even the great idea of package managers, which in theory would allow you to manage all the software in general through mouse clicks. But no, now we have 4 types of software sources: official repositories, snap, flatpak and unofficial repositories that still need to be searched and added to the package settings. Half of the functions are available only from the terminal. And instead of an obedient assistant, the package manager has turned into a personal Hitler, who, at any step left or right, bursts into long furious tirades that the user is a fool and does everything wrong.
Why can't I put the latest $PROGRAM_NAME on my system??
“Because fuck you, that's why. The main thing is not the user and his needs, but a BEAUTIFUL CONCEPT!
Instead of the shortest smooth trajectories from А к В with intermediate single actions, we have winding sequences of dots, each of which represents not one simple action, but a whole set of actions, often involving a terminal. Moreover, these sequences vary from Linux to Linux, from environment to environment, which is why it is so long and dreary to help beginners with their problems, and writing general instructions is completely pointless.
If most flirting in the emo environment consisted of subtle attempts to find out the gender of the interlocutor, then most of the help in the Linux environment consists of tedious attempts to find out the exact configuration of the sufferer's hardware and software.
The funniest thing is that the holy spirit of the unfinished unixway has long been devouring the ecosystem from the inside, its enormous human and machine resources. LinuxThe community is truly bogged down in the Sisyphean effort to assemble, test, and fine-tune three hundred trillion billion different combinations of tiny building blocks that make up dozens of popular Linux systems, all of which evolve independently of each other and common sense. While in a single, coherent system we have a limited set of possible trajectories for events during computer operation, in the case of Linux, the system may respond to the same actions one day and then, after an update, a completely different one the next. Or it may respond to nothing at all—simply display a black screen instead of logging in.
But really, why would you bother with some boring goals of a socialist? Better play this exciting constructor!
How to fix it
First of all, you need to get rid of the illusion that the problem can be solved by creating another boring ubuntoclon with cool icons and pre-installed Wine. Also, the problem cannot be solved by introducing another beautiful concept like “let's move the configs under git control, it will be wow!”.
Linux required humanize. Designate a set of goals that people decide. And build short, simple, obvious paths to them, starting from the moment a person presses the Power button on the system unit.
This means - redo everything, starting from the bootloader.
And while we see the birth of yet another distribution with rearranged beds and re-glued wallpaper, we can be sure that Linux will remain fun for people who didn't get enough of playing with construction sets as children.
Source: habr.com
