Сегодня мы попробуем разобраться, почему 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
сообщества: работать вместе ради достижения общей благой цели, то
есть в интересах всего общества.
Спасибо за внимание!