Na wstępie chcę zaznaczyć, że artykuł dotyczy wyłącznie zastosowań Linuksa na desktopach, tzn. na komputerach osobistych/laptopach i stacjach roboczych. Wszystko, co poniżej, nie dotyczy Linuksa na serwerach, systemach wbudowanych i innych podobnych urządzeniach, ponieważ to, co teraz wyleję na to, może być korzystne w tych obszarach zastosowań.
Rok 2020, a Linux na desktopie wciąż osiąga te same 2%, co 20 lat temu. Miłośnicy Linuksa wciąż rozgrzewają fora w dyskusjach „jak pokonać Microsoft i podbić świat” oraz poszukują odpowiedzi na pytanie, dlaczego „ci głupi użytkownicy” nie chcą się zaprzyjaźnić z pingwinem. Odpowiedź na to pytanie jest już od dawna jasna — ponieważ Linux to nie system, a zbiór różnych wynalazków, skleconych taśmą klejącą.
Dlaczego człowiek siada przed komputerem? Wiele osób przychodzi na myśl odpowiedź: aby korzystać z różnych przydatnych aplikacji. Ale to nie jest prawidłowa odpowiedź. Człowiek w ogóle nie myśli o aplikacjach. Stara się osiągnąć swoje cele:
- pogadać z przyjaciółmi, podnosząc sobie nastrój i swoją wartość społeczną
- zarobić pieniądze, znajdując popyt na swoje umiejętności i talenty
- nauczyć się czegoś, poznać wiadomości ze swojego miasta, kraju, planety
I tak dalej. To właśnie na takie cele, przepraszam, celuje UI/UX-design aplikacji. Bierzemy jako punkt wyjścia A zbiór sprzętu aka desktop lub laptop, bierzemy końcowy cel W — „pogadać z przyjaciółmi”, i budujemy gładką trajektorię od A do W z minimalną liczbą punktów pośrednich. Przy czym te punkty muszą być jednorodnymi punktami, jednostkowymi działaniami, a nie zbiorem jakichś działań. To jest ucieleśnienie dobrego designu.
A co w Linuksie?
A w Linuksie szczytem projektowania nie jest osiąganie celów, a rozwiązywanie zadań. Zamiast celu W programiści starają się realizować niepełny cel Ь. Zamiast zastanawiać się, jak użytkownik będzie rozmawiać z przyjaciółmi, programiści Linuksa tworzą 100500-ty komunikator, w który pakują funkcje z listy „jak u wszystkich”. Czujecie różnicę?
Projektant zdrowego człowieka: ludzie, poznając się i komunikując, często dzielą się selfie, więc przymocujmy tutaj przycisk „wyślij selfie”, aby był pod ręką, a po naciśnięciu robił zdjęcie użytkownika kamerą internetową i pozwalał mu od razu wyśrodkować zdjęcie i zastosować do niego filtry.
Projektant palacza manuali: zrealizujemy wsparcie dla przesyłania plików, co jest uniwersalne i zadowoli wszystkich. A żeby wysłać selfie — niech człowiek poszuka oprogramowania do przechwytywania z kamery internetowej, potem przerobi zdjęcie w jakimś edytorze graficznym, a następnie wyśle je z pomocą siedemnastej opcji w menu „Narzędzia”. U NAS JEST UNIXVAY!
Najsmutniejsze jest to, że to samo podejście stosuje się nawet na poziomie systemu operacyjnego — czyli na poziomie operacji pomocniczych, co jest zupełnym nonsens. Udało im się zepsuć nawet wspaniałą ideę menedżerów pakietów, które teoretycznie miałyby umożliwić zarządzanie całym oprogramowaniem za pomocą kliknięć myszy. Ale nie, teraz mamy 4 rodzaje źródeł oprogramowania: oficjalne repozytoria, snap, flatpak oraz nieoficjalne repozytoria, które jeszcze trzeba znaleźć i dodać do ustawień menedżera pakietów. Połowa funkcji dostępna jest tylko z terminala. A zamiast posłusznego pomocnika, menedżer pakietów zamienił się w osobistego Hitlera, który na każdy krok w lewo czy prawo wydziera się długimi, gwałtownymi tyradami, że użytkownik jest głupi i wszystko robi źle.
— Dlaczego nie mogę zainstalować najnowszego $PROGRAM_NAME na swoim systemie??
— Bo idź się wkurzyć, oto dlaczego. Najważniejsze nie jest użytkownik i jego potrzeby, ale PIĘKNA KONCEPCJA!
Zamiast najkrótszych gładkich trajektorii od A do W z pośrednimi jednostajnymi działaniami mamy kręte sekwencje punktów, z których każdy reprezentuje nie jedno proste działanie, a cały zestaw działań, często — z udziałem terminala. Co więcej, te sekwencje różnią się od Linuksa do Linuksa, od środowiska do środowiska, przez co tak długo i uciążliwie pomagać nowicjuszom w ich problemach, a pisanie ogólnych instrukcji jest całkowicie bezsensowne.
Jeśli większość flirtu w środowisku emocji polegała na natrętnych próbach poznania płci rozmówcy, to większość pomocy wśród linuxowców składa się z męczących prób poznania dokładnej konfiguracji sprzętu i oprogramowania nieszczęśnika.
Najzabawniejsze jest to, że Duch Święty niedobitego Uniksweja od dawna pożera ekosystem od wewnątrz, wykorzystując ogromne zasoby ludzkie i maszynowe. Społeczność Linuxa utknęła w syzyfowych próbach zebrania, przetestowania i uruchomienia trzystu trylionów miliardów różnych kombinacji małych cegiełek, z których zbudowane są dziesiątki popularnych dystrybucji Linuksa, rozwijających się niezależnie od siebie i od zdrowego rozsądku. Jeśli w jednorodnym, spójnym systemie mamy z góry ograniczony zestaw trajektoriów, po których mogą rozwijać się wydarzenia w trakcie pracy komputera, to w przypadku Linuksa system w odpowiedzi na te same działania może dzisiaj wydać jedno, a jutro, po aktualizacji — zupełnie inne. A nawet nic nie wydać — po prostu pokazać czarny ekran zamiast ekranu logowania.
No a tak szczerze, po co zajmować się jakimikolwiek nudnymi celami socjopaty? Lepiej pobawcie się w ten wciągający konstruktor!
Jak to naprawić
Przede wszystkim, trzeba pozbyć się iluzji, że problem można rozwiązać tworzeniem kolejnego niezbyt nudnego klona Ubuntu z fajnymi ikonami i wstępnie zainstalowanym Wine. Problem nie zostanie także rozwiązany poprzez wdrażanie kolejnej ładnej koncepcji w stylu „a może przeniesiemy konfiguracje pod kontrolę gita, to będzie wow!”.
Linux wymaga humanizacji. Określić zestaw celów, które realizują ludzie. I zbudować krótkie, proste, oczywiste ścieżki do nich, zaczynając od momentu, gdy człowiek naciska przycisk zasilania na jednostce systemowej.
To znaczy — przerobić wszystko, zaczynając od bootloadera.
A podczas gdy my widzimy kolejne narodziny kolejnej dystrybucji z przestawionymi meblami i wklejonymi tapetami — można być pewnym, że Linux pozostanie zabawą dla ludzi, którzy w dzieciństwie nie bawili się wystarczająco w konstrukcje.
Źródło: habr.com
