"Total Commander, остановись!" или главная проблема свободного ПО

Amney

Друзья
Сообщения
175
Реакции
76
Возраст
28
Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.

Поехали!

Предисловие. Почему я выбираю свободное ПО и какое право я имею его критиковать?

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


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


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


Не подумайте, что это хейт. Я все ещё фанат СПО и считаю его нашим будущим, тем, что спасет мир от зверства государств и IT монополий. Я сам периодически помогаю разработчикам, как могу: открываю issues, рапортую о багах и сбоях, перевожу интерфейсы. Я пишу эту статью как раз потому, что желаю СПО развития и процветания и хочу ему в этом помочь.


Ну и дисклеймер: Все, что я пишу в этой статье — моё личное мнение, я буду рад конструктивной дискуссии в комментариях. Довольно болтать, перейдем к основной теме этой статьи.


Причем тут Total Commander?

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


Каждый вспомнил что-то свое: кто-то VIM, кто-то 7-Zip, а кто-то, как я, Total Commander.


1599668924713.png

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


Никто не хотел бы писать свой первый "Hello world" в VIM'е. Никто не хотел бы, чтобы на его первом ПК стоял CLI Arch Linux. Это слишком сложно, непонятно, отталкивающе для новичка. Должна быть простая, приятная глазу, интуитивно понятная и дружелюбная альтернатива. Что-то, с чего можно начать, и только потом, если захочется, переходить к чему-то более сложному.


Так в чем же проблема СПО? А в том, что среди всего многообразия свободных программ красивых, дружелюбных и интуитивно понятных — единицы. И это огромная проблема для всего FOSS движения.


Порог входа настолько высок, а UI/UX настолько уступает проприетарному ПО, что новых пользователей привлечь никак, кроме как запугиванием, невозможно.


Я и сам заинтересовался этой темой только потому, что переживал за приватность своих данных.


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


Давайте рассмотрим примеры, и вы сами в этом убедитесь

Сейчас я буду сравнивать интерфейсы популярных проприетарных программ и наиболее достойных свободных альтернатив. Альтернативы буду брать с сайта alternativeto.net. Всеми этими приложениями я пользуюсь уже довольно длительное время.


1. Google Play VS F-Droid

F-Droid — это магазин приложений, такой же как Google Play, однако там распространяются исключительно приложения с открытым исходным кодом. Приложения также проходят модерацию и "проверку на открытость". Так, например, клиент для YouTube может получить пометку "Популяризирует несвободные сервисы". Звучит здорово, давайте посмотрим, как это выглядит.


Начнём сравнение со стартовой страницы:

1599668960498.png

В Google Play, едва зайдя в приложение, мы видим игры. Вверху и внизу мы видим кнопки фильтров и категорий, строку поиска. Довольно удобно. Все иконки оформлены в едином стиле (прямоугольник со скруглёнными углами). Под каждым приложением сразу виден его рейтинг. К дизайну у меня вопросов нет.


Посмотрим теперь на домашнюю страницу F-Droid:

1599668993018.png

Мы видим множество плиток разного размера и формы с иконками приложений, их названиями и кратким описанием. Внизу мы видим кнопки вкладок и плавающую иконку поиска (который, кстати, работает так плохо, что вы можете не найти там приложение, даже если наберете его название буква-в-букву, не говоря уже о том, чтобы, как в Google Play, набрать "редактор фотографий" и увидеть в выдаче подходящие варианты).


Сразу возникает множество вопросов. Почему плитки разных размеров? Почему все иконки разной формы? Почему какие-то иконки растянуты и потеряли четкость? Что значит "Последние"? Они недавно обновились? Разработку сворачивают и это их последний релиз? Их последними добавили на площадку? Ничего не понятно. Кстати, никаких анимаций, в отличие от Google Play, тут нет, все выглядит очень дергано и топорно. Кроме того, прежде чем сделать этот скриншот, мне пришлось подождать, пока иконки прогрузятся практически 10 секунд… При скорости соединения в 90 мбит/с! Проекту 10 лет, с финансированием ему повезло больше, чем многим другим, ну почему всё так плохо?


Тут кто-то меня перебьёт и скажет: "Какие анимации? Работает и слава богу. Какой дизайн? Ну потерпи ты 10 секунд, пока загрузится. Тебе шашечки или ехать надо?"


В этом и есть проблема. Всем кажется, что дизайн и удовольствие от пользования продуктом — излишества, на которые нет времени. Я напомню: F-Droid существует уже 10 лет, а времени все нет. Нет не времени, а понимания. Эту проблему я и пытаюсь поднять. О каком развитии Open Source можно говорить, если ворота в его мир выглядят так?


Продолжим наше сравнение. Посмотрим на страницу приложения в обоих магазинах:

1599669118313.png

В Google Play все четко, понятно и красиво. Вижу скриншоты, видео-презентацию, рейтинг, количество загрузок. Ниже — описание, теги и категории, отзывы пользователей, похожие приложения. Вопросов никаких, все сделано на уровне.


Теперь F-Droid:

1599669154104.png

Четверть экрана занимает шапка. Хочу заметить, что я видел ее заполненной от силы 3 раза, чаще всего там просто ничего нет. Четверть экрана на выброс. Ниже у нас… Не угадали! Changelog! Зачем он мне? Я еще никогда не устанавливал это приложение, я зашёл сюда прочитать про него и решить, нужно ли оно мне. Зачем мне знать, какие баги вы недавно исправили? Ниже мы видим скриншоты. Тут у меня много претензий. Не к этому приложению в частности, а к F-Droid в целом. Разработчики магазина добавили поля для описания и скриншотов, шапки, но не сделали их заполнение обязательным. Множество девелоперов оставляет их пустыми. Что еще страннее, я регулярно нахожу в F-Droid приложения, у которых есть скриншоты, но сделаны они были… На Android 4.4 KitKat! Помните такой? Интерфейс на фото давным-давно был изменен, уже годы приложение выглядит по другому. При этом обновления выходят стабильно, там пишут изменения, но никто и не думает обновлять скриншоты. У меня это не укладывается в голове. Кстати, скриншоты, по доброй традиции, грузятся 10 секунд. Оценки или счетчик скачиваний отсутствуют в принципе. Я просто не знаю, как я должен судить о приложении до его загрузки.


2. Google Maps VS OsmAnd~

Представим, что вы ищете открытую и свободную альтернативу Google Maps. На ум, естественно, приходит Open Street Map (OSM), однако OSM — это только сама карта. Для мобильного телефона нужно еще приложение-просмотрщик. Наиболее популярным является приложение OsmAnd, расширенную версию которого можно скачать в F-Droid. Давайте сравним его с популярнейшим Google Maps.


Попробуем выполнить поиск "Москва" в Google Maps:

1599669295010.png

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


Посмотрим на OsmAnd.

1599669321823.png

Цветовая схема более пестрая, чем в GMaps, но пользоваться этим можно. Шрифты легко читаются, карта как карта. Доп. информацией о месте приложение нас не балует, но бог с ним. В чем же проблема? А проблема в том, что приложение не умеет загружать карты в режиме реального времени… Совсем! Когда я набрал в поиске "Москва", мне было предложено загрузить карту региона (90 МБ) с не самых быстрых серверов OSM. На это ушло больше минуты моего времени. А жизнь ведь коротка… Помимо этого, приложение работает ну очень так себе. Тормозит, дергается, подвисает, ни о какой плавности прокрутки карты речи не идет. Не подумайте, это работает, но плохо. Да, 5-7 лет назад, не имея возможности с чем-либо сравнить, я бы сказал, что это отличное приложение, но в 2020 году, зная, как могут и должны выглядеть качественные карты для Android, пользоваться OsmAnd совсем не хочется.


Не в пользу приложения играет и сам Open Street Map. К сожалению, проект, похоже, переживает не лучшие времена. Карты обновляются очень редко и выборочно, информация, даже в крупных городах, серьезно устарела: иногда на OSM не найти целых улиц и дорог, построенных за последние 5 лет. Большая часть заведений возле моего дома, отмеченных на карте, также уже давно не работают, а новых на картах нет. Довольно грустно, ведь это практически единственный проект открытых карт такого масштаба, и другого у нас просто нет.


3. Mi-Fit VS Gadget Bridge

Gadget Bridge — это аналог проприетарным приложениям для работы с фитнес браслетами и умными часами (в нашем примере Mi-fit от Xiaomi). Без облаков, синхронизаций и отправки данных куда-либо. Идея крутая, посмотрим на реализацию.


Начнём с домашнего экрана:

1599669347977.png

В Mi-fit нас встречает экран со всеми основными показателями: сон, шаги, последняя тренировка, вес (для тех, кто пользуется умными весами). Отсюда же можно начать запись тренировки. Дизайн приятный глазу, хоть и пёстрый. Мне не к чему придраться.


Посмотрим на Gadget Bridge:

1599669371204.png

Нас встречает меню со списком подключенных гаджетов. Зачем? Я не знаю. Видимо, я один не пользуюсь пятью фитнес-трекерами одновременно, иначе я не понимаю, зачем это нужно. Из этого экрана мы можем извлечь ровным счётом ничего, кроме заряда батареи браслета. Сравните это с Mi-fit.


Лично я пользуюсь браслетом в основном для того, чтобы мониторить свой сон и шаги. Посмотрим на то, как эти экраны выглядят в Mi-fit.

1599669409034.png
1599669432831.png

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


А сейчас будет больно, приготовьтесь. Gadget bridge:

1599669455531.png
1599669472196.png

Я не знаю, как это комментировать. Я не знаю, как это читать. Я не знаю, кому пришло в голову вставить это в релизную версию приложения. Какую информацию я могу извлечь из этих экранов, помимо того, что разработчик ясно дал понять, что ему наплевать на меня? Ну, я вижу, что, оказывается, глубокого сна у меня выдалось целых 12 минут за всю ночь. Звучит не очень убедительно. А еще у меня было 8 часов и 13 минут чего-то. Не знаю чего, надпись находится за пределами экрана. Наверное, речь о беге трусцой или занятиях кросс-фитом. Экран "Активность" я оставлю без комментариев и просто молча удалю приложение.


Есть и исключения

Но, к сожалению, их доля в общей массе исчезающе мала. Однако, эти продукты по-настоящему хороши, и с точки зрения UI/UX сделаны отлично. И потому популярны.


Приведу несколько примеров таких продуктов, которыми сам пользуюсь и получаю от этого удовольствие:


  • Рабочая среда KDE Plasma
  • Федеративная соц. сеть Mastodon (веб-клиент)
  • Менеджер паролей Bitwarden
  • Браузер Firefox от Mozilla
  • Офисный пакет LibreOffice

Наверное, есть и еще примеры, но факт остаётся фактом: качественный и продуманный интерфейс в СПО скорее исключение, чем правило, и это печально.


Почему так происходит?

Я вижу три причины:


  1. Нет понимания. Многие свободные программы пишутся энтузиастами-одиночками или маленькими группами программистов. Проблема в том, что программист — не дизайнер и в дизайн не хочет, не может, не умеет и не должен. Дизайном должен заниматься профессионал, но программисты зачастую не имеют понимания, что этого профессионала нужно к делу привлечь. В итоге делают сами, как умеют.
  2. Нет ресурсов. СПО — не коммерческий проект и разработчики, чаще всего, работают на голом энтузиазме и редких донатах. В таких условиях, конечно, никто не будет нанимать дизайнера (оплатить бы хостинг за следующий месяц).
  3. Нет мотивации. Тяжело работать, не получая никакой отдачи. Запал заканчивается, человек выгорает. Я видел десятки заброшенных проектов и проектов, которые годами ходят по рукам, их забрасывают одни, подбирают другие и так далее. Почему так случается? Я думаю, это наша вина, как пользователей. Разработчикам не донатят, в проекты не коммитят, большинство ленится даже написать хороший отзыв приложению в плей-маркете или на Alternativeto. В коммерческих проектах есть зарплаты, целые команды, менеджеры и HR'ы, занятые тем, чтобы команда была замотивирована, сплочена, и работала эффективно, потому что это приносит деньги. В сфере разработки СПО это большая редкость. Результат предсказуем: разработчики просто забивают на свои проекты, потому что не видят причин ими заниматься дальше.

Что можно с этим сделать?

Я не являюсь профессионалом, но поделюсь своими мыслями на этот счёт. Буду рад услышать ваши варианты в комментариях.


Опираясь на описанные выше проблемы, я могу предложить только одно решение — создать НКО, занимающееся дизайном и UI/UX свободного ПО. Эдакий "FOSS Design foundation". В организации должны работать несколько штатных дизайнеров на зарплате, а также волонтеры (например студенты соответствующих направлений). Организация будет финансироваться за счёт пожертвований и будет заниматься просвещением разработчиков, выпуском инструментов и материалов для них, консультациями и курированием проектов.


Если разработчики понимают, что код нужно писать по PEP8, но не понимают, что UX важен, значит им просто никто этого не объяснил. Этим и может заняться новое НКО. Также важно дать разработчикам качественные инструменты: если в распоряжении девелопера только пыльный шаблон из Android Studio, слабое понимание того, как делаются интерфейсы и желания заниматься этим на час, то результат будет соответствующий. Команда профессионалов должна заняться разработкой шаблонов, рекомендаций и готовых материалов (например палитр и шрифтов), которые будут распространяться под свободными лицензиями. Организация также могла бы консультировать, курировать, брать на себя отдельные проекты, которые покажутся ей достойными.


Возможно я чего-то и не понимаю, но, на мой взгляд, запрос на такую организацию назрел уже давно.


Вместо вывода

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