Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.
Поехали!
Предисловие. Почему я выбираю свободное ПО и какое право я имею его критиковать?
Я уже довольно долго наблюдаю за развитием свободного ПО, сам являюсь его сторонником и активным пользователем. СПО я заинтересовался примерно полтора года назад. Уже не помню что конкретно, очередной ли людоедский закон, крупная утечка данных или попавшаяся на глаза статья заставила меня задуматься о своей приватности, но с тех пор я начал поиск альтернатив проприетарному ПО и сервисам крупных корпораций, которыми в тот момент пользовался.
Критерий был простой: разработчик должен уважать моё право на частную жизнь. Впрочем, после историй, подобных сливу Сноудена, я не готов был верить компаниям на слово, поэтому обратился к FOSS.
Код открыт — всё видно. Телеметрия и мутная активность не пройдет незамеченной. Кроме того, основной целью сбора данных всё-таки является заработок. СПО разрабатывается энтузиастами или НКО, принадлежит сообществу и заработать своим создателям не пытается. Ну и приятные бонусы: можно делать форки, участвовать в разработке, ничего не платить и прочее. В общем, с тех пор я действительно полюбил FOSS и перепробовал огромное количество решений, многими пользуюсь и сейчас, и потому считаю, что имею полное право хвалить и критиковать продукты, которыми пользовался сам, что и буду делать в сегодняшней статье.
Не подумайте, что это хейт. Я все ещё фанат СПО и считаю его нашим будущим, тем, что спасет мир от зверства государств и IT монополий. Я сам периодически помогаю разработчикам, как могу: открываю issues, рапортую о багах и сбоях, перевожу интерфейсы. Я пишу эту статью как раз потому, что желаю СПО развития и процветания и хочу ему в этом помочь.
Ну и дисклеймер: Все, что я пишу в этой статье — моё личное мнение, я буду рад конструктивной дискуссии в комментариях. Довольно болтать, перейдем к основной теме этой статьи.
Причем тут Total Commander?
Думаю, все знают примеры продуктов, которые устроены или выглядят настолько странно и отталкивающе, что, кажется, ими невозможно пользоватьсявообще. И каждый может вспомнить своего знакомого/коллегу/преподавателя, который чем-то подобным пользуется и, что самое главное, искренне убеждён: нет ничего удобнее.
Каждый вспомнил что-то свое: кто-то VIM, кто-то 7-Zip, а кто-то, как я, Total Commander.
Но парадокс при этом в том, что зачастую эти программы хоть и сложны, но действительно здорово справляются со своей задачей, однако требуют много сил, времени и нервов чтобы разобраться с ними. Делает ли это их плохими? Нет. Есть своя ниша и для таких продуктов, они часто пользуются спросом у профессионалов и опытных пользователей, но с них не начинают — к ним приходят со временем.
Никто не хотел бы писать свой первый "Hello world" в VIM'е. Никто не хотел бы, чтобы на его первом ПК стоял CLI Arch Linux. Это слишком сложно, непонятно, отталкивающе для новичка. Должна быть простая, приятная глазу, интуитивно понятная и дружелюбная альтернатива. Что-то, с чего можно начать, и только потом, если захочется, переходить к чему-то более сложному.
Так в чем же проблема СПО? А в том, что среди всего многообразия свободных программ красивых, дружелюбных и интуитивно понятных единицы. И это огромная проблема для всего FOSS движения.
Порог входа настолько высок, а UI/UX настолько уступает проприетарному ПО, что новых пользователей привлечь никак, кроме как запугиванием, невозможно.
Я и сам заинтересовался этой темой только потому, что переживал за приватность своих данных.
На самом деле, вы и сами можете взять телефон, поставить на него F-Droid и поустанавливать оттуда разные приложения (мы будем рассматривать только мобильные приложения, где удобный интерфейс особенно важен ввиду отсутствия мышки и характера использования устройства "на ходу"). Вы быстро поймёте, что дизайн у абсолютного большинства приложений, скажем так, сугубо утилитарный, лишён всяких украшательств и, зачастую, довольно неудобный, но я сделаю это за вас.
Давайте рассмотрим примеры, и вы сами в этом убедитесь
Сейчас я буду сравнивать интерфейсы популярных проприетарных программ и наиболее достойных свободных альтернатив. Альтернативы буду брать с сайта alternativeto.net. Всеми этими приложениями я пользуюсь уже довольно длительное время.
1. Google Play VS F-Droid
F-Droid — это магазин приложений, такой же как Google Play, однако там распространяются исключительно приложения с открытым исходным кодом. Приложения также проходят модерацию и "проверку на открытость". Так, например, клиент для YouTube может получить пометку "Популяризирует несвободные сервисы". Звучит здорово, давайте посмотрим, как это выглядит.
Начнём сравнение со стартовой страницы:
В Google Play, едва зайдя в приложение, мы видим игры. Вверху и внизу мы видим кнопки филтров и категорий, строку поиска. Довольно удобно. Все иконки оформлены в едином стиле (прямоугольник со скруглёнными углами). Под каждым приложением сразу виден его рейтинг. К дизайну у меня вопросов нет.
Посмотрим теперь на домашнюю страницу F-Droid:
Мы видим множество плиток разного размера и формы с иконками приложений, их названиями и кратким описанием. Внизу мы видим кнопки вкладок и плавающую иконку поиска (который, кстати, работает так плохо, что вы можете не найти там приложение, даже если наберете его название буква-в-букву, не говоря уже о том, чтобы, как в
Google Play, набрать "редактор фотографий" и увидеть в выдаче подходящие варианты).
Сразу возникает множество вопросов. Почему плитки разных размеров? Почему все иконки разной формы? Почему какие-то иконки растянуты и потеряли четкость? Что значит "Последние"? Они недавно обновились? Разработку сворачивают и это их последний релиз? Их последними добавили на площадку? Ничего не понятно. Кстати, никаких анимаций, в отличие от Google Play, тут нет, все выглядит очень дергано и топорно. Кроме того, прежде чем сделать этот скриншот, мне пришлось подождать, пока иконки прогрузятся практически 10 секунд… При скорости соединения в 90 мбит/с! Проекту 10 лет, с финансированием ему повезло больше, чем многим другим, ну почему всё так плохо?
Тут кто-то меня перебьёт и скажет: "Какие анимации? Работает и слава богу. Какой дизайн? Ну потерпи ты 10 секунд, пока загрузится. Тебе шашечки или ехать надо?"
В этом и есть проблема. Всем кажется, что дизайн и удовольствие от пользования продуктом — излишества, на которые нет времени. Я напомню: F-Droid существует уже 10 лет, а времени все нет. Нет не времени, а понимания. Эту проблему я и пытаюсь поднять. О каком развитии Open Source можно говорить, если ворота в его мир выглядят так?
Продолжим наше сравнение. Посмотрим на страницу приложения в обоих магазинах:
В Google Play все четко, понятно и красиво. Вижу скриншоты, видео-презентацию, рейтинг, количество загрузок. Ниже — описание, теги и категории, отзывы пользователей, похожие приложения. Вопросов никаких, все сделано на уровне.
Теперь F-Droid:
Четверть экрана занимает шапка. Хочу заметить, что я видел ее заполненной от силы 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:
Через долю секунды мы увидим Москву на карте, краткую справку о месте, фотографии, отзывы, и так далее. Приложение работает быстро и отзывчиво, не тормозит и не дергается, все изменения на экране сопровождаются приятными и плавными анимациями. Сам дизайн карты выглядит очень удобным: карта не перегружена деталями и информацией, а бледная цветовая схема позволяет сконцентрировать внимание в нужном месте.
Посмотрим на OsmAnd.
Цветовая схема более пестрая, чем в GMaps, но пользоваться этим можно. Шрифты легко читаются, карта как карта. Доп. информацией о месте приложение нас не балует, но бог с ним. В чем же проблема? А проблема в том, что приложение не умеет загружать карты в режиме реального времени… Совсем! Когда я набрал в поиске "Москва", мне было предложено загрузить карту региона (90 МБ) с не самых быстрых серверов OSM. На это ушло в больше минуты моего времени. А жизнь ведь коротка… Помимо этого, приложение работает ну очень так себе. Тормозит, дергается, подвисает, ни о какой плавности прокрутки карты речи не идет. Не подумайте, это работает, но плохо. Да, 5-7 лет назад, не имея возможности с чем-либо сравнить, я бы сказал, что это отличное приложение, но в 2020 году, зная, как могут и должны выглядеть качественные карты для Android, пользоваться OsmAnd совсем не хочется.
Не в пользу приложения играет и сам Open Street Map. К сожалению, проект, похоже, переживает не лучшие времена. Карты обновляются очень редко и выборочно, информация, даже в крупных городах, серьезно устарела: иногда на OSM не найти целых улиц и дорог, построенных за последние 5 лет. Большая часть заведений возле моего дома, отмеченных на карте, также уже давно не работают, а новых на картах нет. Довольно грустно, ведь это практически единственный проект открытых карт такого масштаба, и другого у нас просто нет.
3. Mi-Fit VS Gadget Bridge
Gadget Bridge — это аналог проприетарным приложениям для работы с фитнес браслетами и умными часами (в нашем примере Mi-fit от Xiaomi). Без облаков, синхронизаций и отправки данных куда-либо. Идея крутая, посмотрим на реализацию.
Начнём с домашнего экрана:
В Mi-fit нас встречает экран со всеми основными показателями: сон, шаги, последняя тренировка, вес (для тех, кто пользуется умными весами). Отсюда же можно начать запись тренировки. Дизайн приятный глазу, хоть и пёстрый. Мне не к чему придраться.
Посмотрим на Gadget Bridge:
Нас встречает меню со списком подключенных гаджетов. Зачем? Я не знаю. Видимо, я один не пользуюсь пятью фитнес-трекерами одновременно, иначе я не понимаю, зачем это нужно. Из этого экрана мы можем извлечь ровным счётом ничего, кроме заряда батареи браслета. Сравните это с Mi-fit.
Лично я пользуюсь браслетом в основном для того, чтобы мониторить свой сон и шаги. Посмотрим на то, как эти экраны выглядят в Mi-fit.
Тут я ничего плохого сказать не могу. Все просто, понятно и наглядно. Есть приятные графики, детализация измерений, даже сравнение с другим пользователями (которое, впрочем, либо очень общее и не обновляется, либо взято с потолка, потому что приложению выключен доступ в интернет уже несколько месяцев).
А сейчас будет больно, приготовьтесь. Gadget bridge:
Я не знаю, как это комментировать. Я не знаю, как это читать. Я не знаю, кому пришло в голову вставить это в релизную версию приложения. Какую информацию я могу извлечь из этих экранов, помимо того, что разработчик сно дал понять, что ему наплевать на меня? Ну, я вижу, что, оказывается, глубокого сна у меня выдалось целых 12 минут за всю ночь. Звучит не очень убедительно. А еще у меня было 8 часов и 13 минут чего-то. Не знаю чего, надпись находится за пределами экрана. Наверное, речь о беге трусцой или занятиях кросс-фитом. Экран "Активность" я оставлю без комментариев и просто молча удалю приложение.
Есть и исключения
Но, к сожалению, их доля в общей массе исчезающе мала. Однако, эти продукты по-настоящему хороши, и с точки зрения UI/UX сделаны отлично. И потому популярны.
Приведу несколько примеров таких продуктов, которыми сам пользуюсь и получаю от этого удовольствие:
Рабочая среда KDE Plasma
Федеративная соц. сеть Mastodon (веб-клиент)
Менеджер паролей Bitwarden
Браузер Firefox от Mozilla
Офисный пакет LibreOffice
Наверное, есть и еще примеры, но факт остаётся фактом: качественный и продуманный интерфейс в СПО скорее исключение, чем правило, и это печально.
Почему так происходит?
Я вижу три причины:
Нет понимания. Многие свободные программы пишутся энтузиастами-одиночками или маленькими группами программистов. Проблема в том, что программист — не дизайнер и в дизайн не хочет, не может, не умеет и не должен. Дизайном должен заниматься профессионал, но программисты зачастую не имеют понимания, что этого профессионала нужно к делу привлечь. В итоге делают сами, как умеют.
Нет ресурсов. СПО — не коммерческий проект и разработчики, чаще всего, работают на голом энтузиазме и редких донатах. В таких условиях, конечно, никто не будет нанимать дизайнера (оплатить бы хостинг за следующий месяц).
Нет мотивации. Тяжело работать, не получая никакой отдачи. Запал заканчивается, человек выгорает. Я видел десятки заброшенных проектов и проектов, которые годами ходят по рукам, их забрасывают одни, подбирают другие и так далее. Почему так случается? Я думаю, это наша вина, как пользователей. Разработчикам не донатят, в проекты не коммитят, большинство ленится даже написать хороший отзыв приложению в плей-маркете или на Alternativeto. В коммерческих проектах есть зарплаты, целые команды, менеджеры и HR'ы, занятые тем, чтобы команда была замотивирована, сплочена, и работала эффективно, потому что это приносит деньги. В сфере разработки СПО это большая редкость. Результат предсказуем: разработчики просто забивают на свои проекты, потому что не видят причин ими заниматься дальше.
Что можно с этим сделать?
Я не являюсь профессионалом, но поделюсь своими мыслями на этот счёт. Буду рад услышать ваши варианты в комментариях.
Опираясь на описанные выше проблемы, я могу предложить только одно решение — создать НКО, занимающееся дизайном и UI/UX свободного ПО. Эдакий "FOSS Design foundation". В организации должны работать несколько штатных дизайнеров на зарплате, а также волонтеры (например студенты соответствующих направлений). Организация будет финансироваться за счёт пожертвований и будет заниматься просвещением разработчиков, выпуском инструментов и материалов для них, консультациями и курированием проектов.
Если разработчики понимают, что код нужно писать по PEP8, но не понимают, что UX важен, значит им просто никто этого не объяснил. Этим и может заняться новое НКО. Также важно дать разработчикам качественные инструменты: если в распоряжении девелопера только пыльный шаблон из Android Studio, слабое понимание того, как делаются интерфейсы и желания заниматься этим на час, то результат будет соответствующий. Команда профессионалов должна заняться разработкой шаблонов, рекомендаций и готовых материалов (например палитр и шрифтов), которые будут распространяться под свободными лицензиями. Организация также могла бы консультировать, курировать, брать на себя отдельные проекты, которые покажутся ей достойными.
Возможно я чего-то и не понимаю, но, на мой взгляд, запрос на такую организацию назрел уже давно.
Вместо вывода
Вместо вывода предлагаю всем сочувствующим FOSS движению поделиться своим мнением, взглядом на проблему и предложениями по ее решению в комментариях. Все-таки это и есть подход Open source сообщества: работать вместе ради достижения общей благой цели, то есть в интересах всего общества.