OSDN-UA-2012 (Обзор Стаса Фомина)/Linux on Desktop

From Wiki4Intranet
Jump to: navigation, search

К докладам Камо грядеши, Linux Desktop (Александр Дымо, OSDN-UA-2012) и За что же мы боролись, за что же мы сражались, за что мы проливали нашу кровь? (Алексей Новодворский, OSDN-UA-2012) я решил набросать единый отзыв.

И, заранее предупреждаю, отзыв будет, ну хоть и не совсем в духе Pуслана Карманова, но, наверное жесткий и неприятный.

Оба эти доклада объединял настрой «Нас не хотят. Такие дела. Ну и ладно, мы сделали все, что могли». Это было и в докладе Александра Дымо («Для меня годом Linux Desktopа останется 1999-й, когда я стал этим заниматься») и что более грустно, в докладе главы Альтлинукса.

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

Поэтому сначала пара пояснений:

  • Да, я был в рекламной майке Windows, осталась с какой-то конференции, это было первое попавшееся сверху в ящике, что было не жалко для поезда, планировал сменить на конференции на чистую и запасную, но в запарке не успел.
  • Да, я пару десятилетий пишу Windows-софт (от WinAPI/DirectShow, до высокоуровневой Windows-specific автоматизации, писал даже на Visual Basic), дрейфуя в сторону веб-разработки, т.е. не совсем беспомощен в серверных линуксах.
  • Да, мне нравится юзабилити Windows 7, я понимаю, какие идеи известных юзабилистов там реализованы, почему многое там просто «сделано правильно, для человека». И знаю, что там фигово, недоделано и т.п. И как это обходить.
  • Да, я скорее придерживался идеи «Linux на сервере, Windows на клиенте, остальное — извращение», но я жил под Linux Desktopом еще в 1996-1998 годах, в Dual Boot[1] Под обе системы у меня был и стек разработки, и TeX-стек верстки (статьи-курсовые-задания). Linux увлекал меня хакерским стеком [2]. Помню тогда, еще в год дефолта смотрел и Linux KDE, и Solaris CDE, и все это казалось весьма вкусным, по сравнению с стандартными 95ми. И хотя нулевые я был строго «виндузятник», ибо нужен был максимальный перформанс, плюс я формировал корпоративные технологические стеки для разработчиков и документаторов, но, несколько месяцев назад, на куче своих лептопов я экспериментировал с Linux desktop-дистрибутивами, чтобы сделать себе оптимальный вебразработческий стек.
  • В общем, я совсем не «антилинукс»-персонаж, и кстати, вполне pro-opensource: стараюсь пользоваться только open-sourсe софтом и веду несколько полезных opensource-проектов.

Теперь я попробую письменно изложить свое сумбурное выступление.

Однако начну с гуманитарщины.

В докладе Алексея Новодворского, использовалась безусловно яркая метафора, можно сказать культурный код «Давид против Голиафа». «Мы были молоды, мы вышли биться с Голиафом, но прошло время и видно, что Голиаф как-то расплылся, куда-то делся, микрософт теперь тоже опенсорс, десктоп вымер в пользу планшетов с инфраструктурой, и в общем, непонятно что делать». Все это звучало так романтично, что у меня это вызвало кросс-ассоциацию с захаровски-шварцевским «Убить Дракона», аж музыкальная тема (см. ссылку) в голове заиграла.

На самом деле, вместо Давида, я вижу сотню Нарциссов, занимающихся художественной гимнастикой/балетом/pole-dancing/конференциями, без малейшего желания подойти и отобрать у Голиафа хоть что-нибудь.

Почему не вижу Давида? Потому, что классические мифы надо знать.

Бой Давида с Голиафом — это не «романтика слабых», «обреченно биться до последнего, умираемнонесдаемся, пусть нас запомнят таким», это четкий, рациональный и результативный расчет.

Размер и возраст Голиафа не имели никакой роли, тут была ситуация в духе «Вы пришли с ножами и битами? ОК. Ваша ошибка в том, что вы пришли с этим хламом на перестрелку».

Бой был просчитан и проведен по плану Далласа Давида:

  • Давид был вооружен оружием дальнего действия[3]
  • Давид отлично владел своим оружием — убивал львов и медведей [1], [2]
  • Давид отказался от бессмысленной брони в пользу мобильности [3]
  • Давид атаковал, чтобы контролировать дистанцию результативного выстрела [4], и выстрелил из удобного для себя положения в уязвимое место противника [5].
  • PROFIT!!!

Никаких чудес, расчет и упорство, смелость и риск.


Теперь попробуем холодными глазами профессионального охотника Давида вглянуть на проблему «Linux on Desktop»[4]. Вглянуть не с позиции нарцисса («как бы нам привлечь-развлечь разработчиков?», «как бы сделать удобную им модель разработки, чтобы базар строил собор, все не ругались и были счастливы»), а с основной продуктовой позиции, «откуда можно взять пользователей? много пользователей? растущий поток?». Ибо без этого, как не стараться, все получится «криво и не для людей». Пользоваться будут гики из гиков, они же, критикой и пожеланиями, определять решения по UX. Нужен поток (т.е. не менее чем, скажем 10% от возможных пользователей) более-менее «нормальных» пользователей.

Правда состоит в том, что «девственных» пользователей, практически незнакомых с компьютером/планшетом/смартфоном почти не осталось. Т.е. да, что-то можно (и нужно!) ловить в школах и даже институтах, импринтинг штука мощная, и стратегически мыслящие компании вкладываются в это изо всех сил — сына-первоклассника через пару недель в школе ждут маки (говорят их продавили по всей москве!). Но делать серьезную ставку на «девственниц» — сомнительная брачная стратегия, ну и в любом случае — это инвестиция на десятилетие вперед. Надо бы быстрей.

Посмотрим статистику «иницированных» пользователей: не надо призывать социологов Левада-центра, достаточно просто смотреть на статистику по операционным системам пользователей для какого нибудь крупного вебпортала, например [6]

И что там видно?

  • Linux Desktop не дотягивает до процента (≈0.6%-0.7%), ну наверно можно дать процент, если выкинуть мобильные устройства. Что это значит? Например то, массового пользователя еще нет, это в основном очень продвинутые пользователи, гики, фрики, и если слушать самых активных из них, можно забрести в глубокий лес с толстыми партизанами.
  • Mac тоже не шибко распространен, это в РФ, на мировом масштабе у него получше, но макюзеры — это убежденные пользователи, это секта, иногда это знак принадлежности к гильдии (дизайнеров/юзабилистов/медийщиков) или сесоциальной группе. Многие при этом могут пользоваться Windows-приложениями, через Parallel Desktop, но продолжать считать себя избранными. Охотиться на них — бессмысленно.

Остаются ровно две группы:

Недоинициализированные
пользовался только планшетом/смартфоном, но вот, понадобилось работать и руками, нужна клавиатура, устройство точного позиционирования (мышь-тачпад), многозадачность. Айпада и просто андроида недостаточно, нужно что-то, попадающее под определение «XXX Desktop Environment»

Гм. не знаю, как оценить, но знаю, что такие есть. Огромная ошибка считать, что все, мобильный тренд с планшетами и смартфонами захавает все, включая лептопы! Я убежден, это глубокая ошибка, тех, кто по текущему тренду сделал линейную аппроксимацию, и тупой вывод[5] . Надо понимать, что «компьютер» — это сейчас универсальное коммуникационное устройство + «информационное окно». Общение, заполнение документов/платежек, заказ в магазине и переписка в форуме, emailы и социальные сети, и даже разумный стриминг фильмов, с возможностью выбора и оценки — это все, все, все про коммуникацию. Удобную, асинхронную коммуникацию. Да, когда-то в нее не верили, да, ее популяризировал глухой изобретатель Интернета Винстон Серф, но сейчас, ее удобство, это факт. Также факт, что к символьной коммуникации и текстам, эффективно сводится почти все, … но это отдельная тема… «Информационное окно» — это про управляемое пользователем потребление контента, будь это хоть фильмы, ролики, электронные книги или просто 50 открытых вкладок броузера. Характеризуется частыми переключениями (обход дерева ссылок в глубину, ad-hoc запросы), перемотка видео и т.п.

Итак:

  • Полноценная клавиатура необходима для продуктивной работы. Полноценная — это именно не «сенсорная клавиатура», которая чувствует человека, но лишает его ощущений взаимодействия (тчорт, как-то опять про се…), а наоборот, дающее ощущения отдачи, задающая ритм, дающая возможность научится печатать вслепую, со скоростью мысли. Все остальные интерфейсы, хоть голосовые, хоть сенсорные, хоть жестовые — никак не смогут заменить ее даже в стандартной офисной коллаборации. (Разве что менеджмент выше среднего сможет успешно коммуницировать тыкая в график-дешборд, и командуя голосом «привет компьютер Подать сюда Ляпкина-Тяпкина! Почему … полимеры…?!»). Ох, я бы мог много говорить об различных аспектах оптимальности клавиатурного UX, от чисто энергетического (мелкая моторика с миниперемещениями пальцев без перемещения кисти, против «режима боксера, руки на весу, длинные тычки или закрывать полэкрана»)
  • Нужна настоящая многозадачность. Т.е. хоть какая-то вменяемая логика переключения, и может даже параллельного взаимодействия с несколькими приложениями (смартфоны точно не...). Ну и вообще, производительность, достаточная для уровня «веб+видео», с параллельным просмотром.
  • Размер этого окна не сможет стать меньше 10-12" (если не рассматривать идеи со шлемами), собственно эволюцией более-менее выверен размер бумажной книги, и упасть ниже этого размера без серьезных последствий не выйдет.

В результате, как не крути, получится что-то, похожее на лептоп. Да, это могут назвать неопланшетом 2.0. с отстегиваемой радиоклавиатурой, ультрабуком, неважно. Не говоря уже о том, что есть хоть чуть повысить требования к продуктивности, когда коммуникация будет требовать сложной верификации (компилирование кодов, моделирование САПР, сборка документов…) то немедленно получится «обычный» лептоп (даже если он по производительности будете бить какой-нибудь суперкомпьютер из ТОП-500 прошлых лет). Впрочем, пока стоп о лептопах, это была оценка снизу «представления о минимально разумном компьютере», и я продолжу о них чуть позже.

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

И им есть что предложить, и как раз здесь и сейчас! Несмотря на добротность «семерки» по всем параметрам, (особенно в сравнении с предыдущими версиями, от XP и особенно Vistы), есть, как коворится, нюансы, и одна история офигительней другой ©[6].

  • Стандартная схема с непрерывным автообновлением Windows (тонкого руления нет, а отключать нельзя из-за постоянных проблем с безопасностью), приводит к неожиданным проблемам в уже настроенной «программно-аппаратной» системе. Все было хорошо, и вдруг:
    • Пошли BSODы.
    • Стало все тормозить. «Проблемы с DPC» — практически невычисляемое и неизгоняемое проклятие (я сталкивался, несмотря на возню с xperf и кучей системных утилит, диагностику и замену подозрительных драйверов, с перебором всех версий — проблема была неубиваема, а возникла одновременно, с очередным апдейтом на нескольких ноутах)
      • Причем настоящей техподдержки нет, есть телефонная поддержка для дебилов по тупым проблемам, и форумы для самоутешения, где даже самые вменяемые (MVP) ничем не могут помочь, кроме как «у меня таже фигня»).
      • А решение с перезаливкой системы сталкивается с следующей проблемой — «проблемой привязки» — надо помнить ключи т т.п.
  • Весь этот геморрой с ключами-активацией-дистрибутивами-наклейками выглядит адово архаично. Хранить дома КОРОБКИ от софта? Помнить какие-то ключи? Сфига? Бумажные наклейки с голограммами, LOLWHAT? Все это еще и оскобительно для рационально мыслящего пользователя (типа «обязательно наклейте освященную бумажную иконку стратотерпца Николая Вирусоборца»).
  • Плюс надежность железа кажется становится все меньше, а риски железа больше (лептоп легче сломать, про*ть, меньше ресурс; HDDшки у меня стали дохнуть чаще SSDшек, кудакатитсямир — не пойму) — больше. В результате пользователь офигевает от того, что он не может перенести «свой настроенный Windows-мир» из сломанного лептопа в новый или запасной. Какие такие OEM-лицензии? WTF?
  • Управление установкой приложений в Windows — АдЪ и Израиль. Мало того, что нет доверенных путей инсталляции, репозиториев-аппсторов (пока), автоматической инсталляции, так даже масссово нельзя деинсталлировать приложения! Чем пользуются козлы-производители, набивая ноут с Windами адварью, снести которую так геморройно, что многие заливат чистую нелицензионную систему, лишь бы не сидель как дебил, с деинсталлятором, нажимая на кнопки в диалогах. Не говоря уж, о таком возможности, как вести список «мои приложения» и в один клик заливать их на новый компьютер (и соответственно, обновлять и синхронизировать на нескольких машинах). Сейчас это проблему начали решать другие люди, см. например [7], который мне экономит кучу сил, а в восьмерке будет свой аппстор, но пока — это еще уязвимость.
  • Ну и разумеется, entagled particles problems «Вирусы-Антивирусы». Непонятно даже, от кого больше ущерба в глобальном смысле. Ад странных, детских уязвимостей, огромные индустрии отстроенные на синергии багов в системе, бардаком с установкой приложений, «черноящиковостью» практически всего Windows-софта, в результате пользователь сидит с несколькими антивирусами, убивающими производительность его компа в ноль, долбающих ресурс винчестеров, батарей, постоянно пугающих пользователя, но в результате, все равно «Вы незаконно использовали Windows для просмотра порнографии! Перечислите 1000 рублей на ...» → ко мне регулярно приходят соседи с этими проблемами. После перечисления денег. А в остальное время они все время запуганны «Оно пишет надо обновляться! Оно пишет надо купить Pro версию, иначе система не защищена!». Оно орет ночью «вирусная база обновлена». Вечный блин, бой.



BA-BA009A_Tech__G_20121020013542.jpg

Теперь прищуримся, и посмотрим на технику. На каком «десктопе» может «взлететь» Linux-desktop? Краткий ответ — ни на каком. Под «desktopом» исторически имелся в виду отдельно стоящий системный блок, с кучей проводов, ну да, обычно он стоит на столе, под монитором или сбоку, ну или в формате minitower собирает пыль под столом. Так вот, атаковать этот класс — бессмысленно. Во-первых, он вымирает.

Жилье и жизненное пространство стоит все больше, использование компьютеров для коммуникации и «информационного окна» становится непрерывным, и внезапно выясняется, что ограничение «все это делать можно только сидя в определенном месте» офигенно неудобное. Часто удобно лежать. Полулежать. Сидеть на кухне, на диване, в парке ну и т.п. И с лептопом, даже гигантских размеров (типа 18.5") все это по-прежнему можно[7], а с дексктопом — увы.

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

  • Разработчики с тяжелым стеком (компиляция огромных объемов)
  • Видеомонтаж
  • 3D-моделирование и анимация.
  • Тяжелые САПР и т.п.
  • Игры

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

История из жизни — в свое время, когда я пытался делать видеомонтаж семинаров с помощью стандартных пакетов видеомонтажа, я посещал тематические форумы (свадебные монтажеры и т.п.), с целью прокачать понимание и решить нетривиальные проблемы («А почему XXX Studio не поддерживает Lagarith Codec?»). И был поражен. Ибо условные «свадебные видеооператоры», ничего не понимали в системном администрировании, у них на все возможные проблемы был один ответ — «Переставь начисто Windows и XXX Studio. Что, у тебя там еще ДРУГИЕ ПРОГРАММЫ? Ты ставил дополнительные КОДЕКИ? Ты сошел с ума!». Еще один косвенный флешбек — этот рецепт напомнило мне 80ые, когда я был аквариумистом (стеллаж аквариумов), рыбы часто болели, я боролся за них, а литература была редкостью. И тогда я на рынке купил книгу по промышленному рыбоводству. Там был большой knowledge-base, c разнообразными описаниями issues («плесень на плавниках, чешую топорщится, жабры вялые»). И одним единственным рецептом — «рыб выкинуть, пруд осушить, продезинфицировать, залить и зарыбить заново».

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

А дома, может быть даже наоброт → вебразработка на Ubuntu, а Windows-бокс, набитый графическими картами и адовой системой охлаждения, держится исключительно для игр. Кстати, как раз именно эта область очень даже перспективна → куча Win-игр отлично идет под «Wine+winetricks», в сторону Linux-а движется Steam, но в целом → тут мало что можно сделать малой кровью, тут все зависит от «замещающих приложений», и все, что можно сделать — ждать их, и поддерживать и пропагандировать, когда они появились.

Вот появился Darktable, и появились фотографы, с Linux-ноубуками. Достало управление «К», в регулярных рейдах «за фотошопом» → небольшие типографии и рекламные агенства перешли на Inkscape+GIMP. Но быстро и с нуля ничего сделать нельзя.

Что же остается? Лептопы! Это ноутбуки всех размеров, от пятикилограммовых, до нетбуков. И у них есть специфика, как раз полезная для проникновения «Linux Desktopа»:

  • Да, с одной стороны, лептопы обязаны держать «необязательное» для декстопа оборудование, типа WiFi, часто тачскрин, но:
    • В отличие от астрономически огромного количества возможных комбинаций самособранного оборудования в desktopах, с непредказуемостью проблем в духе «дорогие товарищи ученые, который год подземный стук», набор моделей ноутбуков (читай комбинаций железа) перечислим,
      • можно оттестировать,
      • составить базу знаний проблем, по каждому ноутбуку. Ну даже без громких слов про «базу знаний» — просто проблемы становятся легкогуглимыми по модели ноутбука и краткому описанию, что дает возможность мигом найти какой-то workaround. Вот свежий пример, я ставил линуксы на HP 2730P, и наткнулся на баг с мерцанием экрана. Тут же выяснил, что надо прорываться к свежим ядрам.
      • да, это не так шоколадно, как разрабатывать под свою собственную единую аппаратную платформу, и не так шикарно, когда все производители из кожи вон лезут, чтобы их драйвера работали под твою ОС, но даже отрицательный результат → «Не пытайтесь ставить на XXX 1234P» — очень ценная информация.
  • Реже встречается сильноспецифические устройства (которые все-таки идут платами к десктопам), и высоконагруженные видеокарты.
  • Гонка за энергопотребление и вес точно приведет к тому, что SSD будут в каждом ноуте! Не пройдет и года, когда это станет чисто выгодней[8]! А это даст не только огромный буст к производительности, решится автоматом куча UX-проблем.
  • C E18n, которое было у меня Window-менеджером и по Red Hat, и под WIN95.
  • Моя страничка из 90х, использовал эту штуку для сбора паролей в нескольких организациях, тогда все было проще, почта ходила по POP3, и такие немудренные фокусы казались эффектными.
  • Cкорее всего это была пастушья праща-трость, судя по «что ты идешь на меня с палкой?» [8]
  • Допустим, мы делаем какой-нибудь BolgenOS в России, и реально хотим, чтобы ей пользовались (а не МСВС «есть-отставить» для военных).
  • Да, движуха с «Ubuntu Raring Ringtail», например. А вот Микрософтовский движ как-раз не такой примитивный, они хотят накрыть все, от смартфона до десктопа, получится ли у них — пока неизвестно, вполне возможно что будет «не рыба ни мясо», клавиатурных пользователей будут раздражать планшетности, а планшетников — остатки десктопности.
  • Lа, я знаю стандартный шапкозакидательский дискурс «вендекапеца», и говорю только о том, что выстрадал лично или в личных наблюдениях за окружающими
  • У меня есть и такой, проверял. На нем я особенно люблю смотреть лежа комиксы
  • Не говоря уж о проклятиях со стороны Линуса