На Хабре иногда слышны жалобы на деградацию веб-дизайна и интерфейсов для более «примитивных» юзеров, дерьмофикацию хостингов кода, ожирение софта и прочие признаки ухудшения мира. Кажется, что каждый полезный сайт в интернете со временем превращается в шлак с бесконечным скроллингом, дофаминовой иглой и монетизацией.

Но у этой деградации есть естественная причина, очень простая. Дело в том, что большинству людей по большому счёту наплевать.

Куда пропали маленькие программы?

Кто-то может спросить, куда пропали маленькие программы? Ведь раньше были нормой полнофункциональные приложения по 100−200 КБ, что с ними случилось? В раздувании софта во многом виноваты фреймворки: Electron, React Native и проч.

Electron
Electron

А почему фреймворки стали популярными? Причина в появлении смартфонов. Тогда разработчикам понадобилось писать несколько версий нативных приложений под разные ОС, а Electron стал решением проблемы.

Как написано в истории Electron, реальным прорывом Electron стало совмещение Node.js и Chromium: «Это решение позволило JavaScript взаимодействовать напрямую с нативными возможностями ОС, в то же время отрисовывая браузерный UI, тем самым обеспечив крайне желанную для многих веб-разработчиков комбинацию».

Такая структура облегчила релиз десктопной версии веб-приложения, обеспечив также автоматическое обновление и упростив процесс разработки UI. Но она также породила и известные проблемы:

  1. Раздувание программы, массивное потребление памяти и CPU. Каждое приложение Electron содержит собственный экземпляр Chromium:

  1. Снижение производительности.

  2. Ухудшение стабильности.

Вот так мы и пришли к тому состоянию, в котором находимся сейчас.

К счастью, для большинства обычных пользователей все эти проблемы не стали критичными. Они привыкли к нестабильной работе приложений, а тормоза железа восприняли как данность. Большинство обывателей просто не понимает, что это ненормальная ситуация, поэтому не жалуются.

Долговременное ПО

В наше время ПО зачастую предоставляется как услуга, которая деплоится «непрерывно» (CD), завёрнутое в бесчисленное количество автоматизированных тестов (CI, непрерывная интеграция). Такой подход позволяет надеяться, что новая версия будет хоть как-то работать.

Однако существует огромный мир, где непрерывные изменения считаются злом. Наоборот, там люди ценят надёжность и детерминированность работы программы. Софт, который управляет (ядерными) электростанциями, кардиостимуляторами, самолётами, мостами, тяжёлой техникой. В общем, где важна безопасность. Такой долговременный софт разрабатывается на десятилетия вперёд. Все изменения тщательно прописаны и заранее анонсированы.

Для долговременного софта очень важно свести к минимуму количество зависимостей, потому что каждая из них может «протухнуть» со временем: выйдет новая версия, сменится мейнтейнер (с введением платной подписки) или поддержка вообще прекратится. На высоком уровне абстракции можно говорить о четырёх уровнях зависимостей: начиная с языка программирования и заканчивая рабочими библиотеками и другими легко заменяемыми инструментами (хелперы):

Зависимости
Зависимости

Нужно тщательно обдумать, какие зависимости сохранят свою актуальность через 10-20 лет (в соответствии с эффектом Линди), а потом избавиться от лишних зависимостей и сервисов, которые использует программа. Например, облачные сервисы. Всё это может исчезнуть в любой момент.

Для максимальной долговечности ПО рекомендуют выбирать самые скучные технологии, писать максимально скучный и простой код, как эта машина:

Чтобы прожить долго, программное обеспечение также следует хорошо документировать, и опубликовать исходный код. Это также определённая гарантия качества ПО — многим компаниям требуются месяцы или годы, чтобы подготовить код к публикации. Это значит, что они его очищают от лишнего, рефакторят и упрощают, чтобы получился чистый код, который не стыдно выкладывать. Таким образом, сам факт публикации в открытом доступе улучшает качество кода.

Долговременный софт (long term software) — это противоположность консьюмерскому ПО для массового рынка. Некоторым нравится создавать именно такие, надёжные, предсказуемые и стабильные программы. Но если мы делаем потребительский софт, то правила другие. Массовому пользователю не так важно качество программ.

Качество — не главное?

Как ни печально, но массового потребителя не волнует качество программ. Это относится не только к ПО, но и к другим сферам жизни. Например, взять фотографию. Только очень редкие пользователи потратят время на чтение учебников по фотографии и композиции, а потом будут выстраивать кадры по всем правилам гармонии, с сеткой, вручную корректируя баланс белого и выдержку, чтобы в итоге получился идеальный, красивейший кадр.

Фотографии Пола Кларка, paulclarke.com
Фотографии Пола Кларка, paulclarke.com

Нет, большинство из нас просто наводит камеру на объект — и нажимает кнопку, особенно не волнуясь за качество. Снимок может быть без фокуса, с неуравновешенной композицией, загромождённым фоном, неправильной центровкой, неидеальным освещением (недостаток света или пересвет с жёсткими тенями) и другими изъянами. Неважно. Снял, запостил — и побежал дальше.

Обычные люди не будут анализировать и обсуждать недостатки каждой фотографии — они их даже не заметят. Это удел профессиональных фотографов. Точно так же профессиональный дизайнер сразу заметит изъяны на чужих веб-сайтах: отсутствие клавиатурной навигации, плохой кернинг, отсутствие воздуха вокруг иллюстраций и десятки других недостатков. Но 99% пользователей это просто не волнует, потому что никак не влияет на них.

Некоторые дизайнеры гонятся за совершенством, которое никогда не будет замечено непрофессионалами. Они могут гордиться своим ремеслом, но большинство людей физически не могут заметить разницу между хорошим и плохим дизайном.

Дизайнер Джек Грёцингер (jackg.org) адаптировал своё приложение новым моделям айфонов, в том числе доработал дизайн кнопок (справа — новая версия)
Дизайнер Джек Грёцингер (jackg.org) адаптировал своё приложение новым моделям айфонов, в том числе доработал дизайн кнопок (справа — новая версия)

Есть отличное эссе Уилла Тавлина под названием «Небрежный просмотр. Почему Netflix выглядит именно так» («Casual Viewing. Why Netflix looks like that»). В нём автор справедливо критикует модель Netflix по производству огромного количества низкокачественного контента для неприхотливой аудитории, которая смотрит фильмы в фоновом режиме. Например, одно из требований Netflix гласит, что главный герой на экране должен всегда вслух озвучивать, что он собирается делать.

Творческие люди в ужасе от эстетики, плохих сценариев и полного отсутствия творческого таланта. Все фильмы и сериалы кажутся посредственными, а принципы Netflix идут вразрез с традиционными техниками театрального искусства и кинематографа («Show, don't tell»). Но простым людям это абсолютно не интересно. Они потребляют контент как ни в чём не бывало.

Специалисты по интерфейсам, дизайну и эргономике видят изъяны везде вокруг — в интерфейсе даже обычной кофемашины. У разных моделей — совершенно разные логики управления. Кнопки, сенсоры, дисплеи — всё расположено по-разному, без единого стандарта.

То же самое везде. Профессионалы видят недостатки, а обычные люди — нет. Они не разбираются в предмете, не знают контекста и не погружаются в профессиональную область по созданию этих объектов. Поэтому довольно спокойно относятся к низкому качеству всего вокруг: от продуктов питания до дизайна бытовых приборов.

Это действует и в программном обеспечении. Профессиональные разработчики сразу видят недостатки: разжиревший софт, раздутые мобильные приложения, тормозная 2D-графика на мощнейших CPU современных смартфонов, которые по производительности могут сравниться с суперкомпьютерами прошлого. Но обычные люди ничего этого не видят.

В принципе, профессиональная экспертиза разработчиков или дизайнеров отражается в перфекционизме, чрезвычайном внимании к деталям. Например, дизайнеры изучают пиксельную сетку на дисплеях разных мобильных устройств, чтобы рассчитать оптимальный субпиксельный рендеринг:

iPhone, iPad и iWatch под микроскопом
iPhone, iPad и iWatch под микроскопом

Аудиофилы обсуждают бешеную компрессию звука в современной музыке, что приводит к «войнам громкости» и сжатию динамического диапазона. Они жалуются на качество сжатия MP3 и не могут слушать музыку в наушниках посредственного качества или в помещении без звукопоглощающих стен. Но для обычных людей это ничего не значит. Мы просто слушаем.

Точно так же обычные люди просто запускают программы — чтобы просто сделать то, что им нужно, они нажимают на кнопки приложений без всяких размышлений, что эти кнопки не совсем удобно расположены.

Возможно, профессионалам не стоит принимать близко к сердцу дерьмофикацию всего вокруг? Может быть, это нормальная тенденция для современного мира, где правит большинство?

Большинство людей на самом деле не хочет тратить когнитивную энергию на понимание подтекста. Например, политический подтекст фильмов про супергероев. Люди часто смотрят кино «в фоновом режиме», просто для получения удовольствия от выстрелов и т. д.

Если публика принимает посредственный масс-продукт, то зачем стараться? С точки зрения бизнеса невыгодно тратить лишние ресурсы на то, чтобы доводить его до идеала. Достаточно выдавать «минимально жизнеспособный продукт», который удовлетворит 99% потребителей.

Речь не о том, что большинство людей не требовательны или плохо образованы. Нет, просто все мы — дилетанты в абсолютном большинстве областей. Во всём, где не являемся специалистами.

Вот почему большинству людей плевать на качество софта.

Если точнее, людям на самом деле не плевать, но им обычно не хватает компетенций, внимания и времени, чтобы отличить качественный продукт от некачественного. Так что результат закономерный. Большинство ест безвкусные овощи и фрукты из супермаркетов, смотрит глупые фильмы, запускает приложения размером с гигабайт — и живёт своей счастливой жизнью, не беспокоясь ни о чём. И это бесконечный процесс. Люди привыкают ко всему, так что качество товаров/софта/масс-культуры постепенно деградирует естественным образом. Фильмы становятся хуже, еда менее качественной, а софт более глючным — возможно, всё это происходит по естественным причинам.

Периодические жалобы профессионалов по этому поводу чем-то напоминают старика Эйба Симпсона:

© 2025 ООО «МТ ФИНАНС»

Комментарии (20)


  1. apevzner
    14.07.2025 09:13

    Как ни печально, но массового потребителя не волнует качество программ. Это относится не только к ПО, но и к другим сферам жизни. Например, взять фотографию.

    В отличии от фотографии, качество программ, нередко, это не про то, насколько изящно они выглядят и элегантно работают, а про то, доедут ли они вообще до финиша, или сломаются по дороге и всё наработанное с собой заберут.


    1. K0styan
      14.07.2025 09:13

      Да и с фотографией то же самое. Зачастую само событие, попавшее в кадр (будь то первые шаги ребёнка, какой-нибудь там метеорит или просто харАктерная сцена на улице) гораздо ценнее вот этих вот правильных композиций и цветопередач.


  1. Mishootk
    14.07.2025 09:13

    Значительное количество пользователей очень слабо разбираются в технике (сложной, компьютерной). Если у них что-то получается с одним изделием, они на нем остаются очень надолго. Потом обрастают привычками, контактами, данными, рецептами, аксессуарами - и все, переход (или просто поиск альтернативы) становится очень дорог. Поэтому важно пользователя приземлить на продукт, дальше он надолго ваш. Важно качество верхушки айсберга (или захватывающей новичка части). Гарпун вошел - дальше качество уже не столь важно.

    Ну и техника и ПО - оно скрыто, это не одежда которую можно примерить и понять. Пока не начнешь пользоваться, не осознаешь. А чтобы дойти до уровня осознания уже подсаживаешься.


    1. Shaman_RSHU
      14.07.2025 09:13

      Таким образом Apple и поступила в своё время. И я не утверждаю, что это плохо.


  1. panzerfaust
    14.07.2025 09:13

    С точки зрения бизнеса невыгодно тратить лишние ресурсы на то, чтобы доводить его до идеала

    Опять апелляции к мифическому "бизнесу", которому на все якобы пофиг. Сколько я сталкивался с "бизнесом" IRL, поведение было строго противоположное. То, что для тебя минорный баг с третьей страницы бэклога, для них может быть причиной рекламаций, от которой срочно надо избавляться. Они-то баблом рискуют.

    Если публика принимает посредственный масс-продукт, то зачем стараться?

    Потому что вы профессионал и вам за это платят. Если не будете стараться, то зачем вам платить?


    1. K0styan
      14.07.2025 09:13

      То, что для тебя минорный баг с третьей страницы бэклога, для них может быть причиной рекламаций

      На самом деле тут вопрос именно в том, что именно считается идеалом. Для бизнеса действительно лучший сценарий - когда клиенту обеспечен беспрепятственный путь к обмену товара/услуги на деньги. И это определяется не экспертной оценкой, а фактическими данными о продажах или хотя бы строго поставленными экспериментами. Легаси, оверхеды, ни-разу-не-ред-дот дизайн* - вот пофигу.

      *ладно, есть исключения, но это обычно сильно отдельная история

      И если разработчик - да в целом любой сотрудник - попробует посмотреть на картину вне своих рамок, с высоты птичьего полёта, хотя бы спросив у продакта, как перформит та или иная фича, представление об идеале вполне может измениться.


      1. max9
        14.07.2025 09:13

        хотя бы спросив у продакта, как перформит та или иная фича,


        кажется приоритет у фичи должен отвечать на этот вопрос


    1. SpiderEkb
      14.07.2025 09:13

      Профессионал не тот, кто умеет писать хороший код, а тот, кто не умеет писать плохой.


  1. dv0ich
    14.07.2025 09:13

    Кмк, фоновый контент вполне могут генерить нейронки. Вроде бы ИИ-радиостанции уже есть.


  1. Uporoty
    14.07.2025 09:13

    Забавно, что как противопоставление приводится embedded-разработка. И в контексте разговора про "качество" софта это звучит очень смешно. За исключением некоторых особенных областей (типа авиации, где есть свои жесткие стандарты качества и методологии разработки), embedded-код зачастую написан настолько ужасно (и протестирован соответствующе), что нередко работает только благодаря неимоверному везению, поэтому не обольщайтесь. Я за десять лет в эмбеддеде в очень разных областях (автоматизация техпроцессов, нефтедобыча, всякий там IoT и даже automotive) насмотрелся такого, что можно фильмы ужасов для программистов снимать.


  1. CatAssa
    14.07.2025 09:13

    7.8к статей - как вообще такое возможно?


    1. domix32
      14.07.2025 09:13

      Он миллион кликбейтных новостей аггрегировал, а теперь его взяли копроблоггером.


    1. ssj100
      14.07.2025 09:13

      За более чем 15 лет, это имя уже нарицательно здесь, правда в последнее время пишет намного меньше.


  1. domix32
    14.07.2025 09:13

    не волнует качество программ.

    статья ссылается на безразличение к снобскому уровню качества картинки фото и видео. Какое отношение фотофилы имеют к производству ПО - вопрос открытый. Те кто жил во времена пузатых телеков конечно обрадуются, что существует 4к 60 fps картинка, но оно абсолютно не стоит той цены, котороую за неё требуют. Притом тот же нетфликс можно и так и так смотреть - сюжет есть драйвер качества фильма, а не картинка (за редким исключением). К качеству ПО это не имеет никакого отношения.

    Возможно, профессионалам не стоит принимать близко к сердцу дерьмофикацию всего вокруг?

    Наконец-то что-то ближе к статье. Опять же путается причина и следствие - дерьмофикация используется для большего выкачивания денег, а не как "ухудшение" контента из-за безразличя пользователей: пессимизация гуглом поиска (чтобы люди видели больше рекламы), торможение ютуба при установленных AdBlock (чтобы люди смотрели больше рекламы и платили за пермиумы), пессимизация производительности, чтобы позднее продать оптимизацию как киллер фичу как пользователям так и начальству - всего лишь некоторые примеры. Это не безразличие пользователей, а намеренное снижение качества во многом связанное с монополизацие рынков - пользователь может и хотел бы лучше, да только нету. Легально нету, если быть точнее.

    политический подтекст фильмов про супергероев.

    социальный контекст, а не политический. И, мягко говоря, анимационное медиа не сильно хорошо справилось с изображением именно этих проблем, а в недавних фильмах так и вовсе рисовалось как форсированная повестка ради галочки, нежели как социальная проблема, требующая освещения.

    Вот почему большинству людей плевать на качество софта.

    Если точнее, людям на самом деле не плевать

    "всем плевать, но не плевать". Гений. Браво.

    Большинство ест безвкусные овощи и фрукты из супермаркетов

    большинство ест что дешевле, а не что качественее. Ну и пока что пластиковые овощи до России не добрались, так что не очень понятно почему это тут и чьё это вообще.

    ну и хотя бы ради приличия читал содержимое ссылок, а то фигня какая-то на выходе.


  1. nin-jin
    14.07.2025 09:13

     Дело в том, что большинству людей по большому счёту наплевать.

    Да-да, плевать, а потом разрабы удивляются почему народ переползает с тормозного и неуклюжего ВК в шустрый и лаконичный Телеграм.


    1. DarthVictor
      14.07.2025 09:13

      шустрый и лаконичный Телеграм.

      У которого то соединенние по несколько секунд не отвечает, то переводы по несколько дней не работают.


  1. DarthVictor
    14.07.2025 09:13

    Специалисты по интерфейсам, дизайну и эргономике видят изъяны везде вокруг — в интерфейсе даже обычной кофемашины.

    При том, что большинство нормальных кофемашин собирается на одном из двух заводов одного и того Eughster/Frismag, и за редким исключением используют их же конструкции заварочных блоков.


  1. vkomp
    14.07.2025 09:13

    Впечатление от статьи, что автор ждет комментариев. И вот наследю.
    Конкретно наблюдаю наброс на "перфекционизм" - профессионалы задрачивают на долю процента. То же самое в профессиональном спорте - доля секунды решает всё, а обывателям ход на минуты. И такой перфекционизм выставляется нездоровым по психологии. Ему противопоставляется норма - обывательское "а мне больше и не надо".
    Но вспомним другое значение слова "перфекционизм", на этот раз из философии - https://ru.wikipedia.org/wiki/Перфекционизм_(философия)
    И как-то красок в руке становится больше одной!


  1. Lewigh
    14.07.2025 09:13

    Как ни печально, но массового потребителя не волнует качество программ. Это относится не только к ПО, но и к другим сферам жизни.

    Глупость полная. Не нужно путать "людям плевать" и "люди не осознают" или "у людей нет выбора".

    Первое - квалификация. Оценка качества зависит от умение это качество видеть - факт. Значит ли это что большинству людей плевать на качество софта? Как ни странно - нет. Даже у людей, которые ничего не понимают в этом, дико бомбит когда что-то лагает или не работает. При этом чем выше техническое понимание тем больше бомбит. И тут следующая проблема.

    Второе - а кого это волнует? Ну не нравиться тебе проложение - не пользуйся. Уйди к конкурентам - будет им урок. Да? Но что если у конкурентов такое же говно? Что толку от того что тебе что-то не нравится если не из чего выбирать?

    Третье - то что в простонародье называется "говноедство". Для того чтобы иметь вкус и осознавать качество, нужно быть воспитанным на хороших образцах. Если человек в жизни
    не видел как оно должно работать нормально то ему это будет неведомо. И это проблема не столько софта но и: музыки, фильмов, одежды, еды техники. Компании вместо того чтобы делть что-то качественно, давно поняли что проще убедить людей в том что тот кусок куска которые они сделали - это норма.

    В нормальном мире - программист пишет программу для пользователя и делает все чтобы пользователю было удобно ей пользоваться. В реальном мире - программист пишет программу для себя любимого, чтобы ему было интересно писать, изучать новые фреймворки и внедрять то с чем ему хочется поиграть и при этом не сильно напрягаться. Давным давно придумана куча отговорок в духе - производительность не важна, проще купить планку оперативки, нам нужны микросервисы потому что когда-нибудь мы станем гуглом и т.д. И эта логика сходиться с логикой компаний. Не нужно это оправдывать тем что пользователям якобы плевать. В нашем мире плевать в первую очередь именно на пользователей.


  1. SpiderEkb
    14.07.2025 09:13

    Все определяется потребностями бизнеса. Где бизнесу надо хоть криво-сыро, но скорее выкинуть на рынок с минимальными затратами - там будет кривое-сырое, но раньше всех. И сеньоров там будет мало - вс будут делать более дешевые джуны и мидлы.

    А где для бизнеса важно чтобы оно работало максимально эффективно и цена ошибки в коде выражается крупными финансовыми и репутационными потерями - там все будет совсем иначе.

    Реалии жизни в условиях "одноразового потребления" в том, что первого намного больше чем второго. И массовая прибыль делается на первом. А второе уходит в разного рода нишевые сегменты. В результате работать в областях из второго пункта воспринимается как "фу-у, нерелевантный опыт..."