LXF85:Проблемы настольного Linux

Материал из Linuxformat.

Перейти к: навигация, поиск

Не теряют ли рабочие среды направление развития? Полу Хадсону видится закат давнего движущего принципа Open Source «выпускать раньше, выпускать чаще»…

Содержание

Проблема с настольным Linux или Почему я боюсь Gnome 3.0

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

Фейерверк — притягательное зрелище, но вы, верно, знаете, что самому его устроить непросто. За энную сумму денег вам дадут в магазине самые крутые ракеты для плохих парней, затем вы вносите их в дом тайком от детей. Когда на улице достаточно стемнеет, вы поджигаете их, отбегаете на безопасное расстояние и ждете… Ждете… Ждете… Обычно секунд через пять ракета издает звук «вжжжж» и плюется огнем или дымом, но может и вовсе не взлететь. Рискнете ли вы снова подпалить ее, с шансами оторвать себе руки, или с горя сложите костер из ваших старых руководств по Unix?

Linux похож на фейерверк — всегда красочный и готовый восхитить весь мир, но почему-то этого не происходит. Установив рядом Red Hat Linux 7.3 и SimplyMepis 6.0 — дистрибутивы, между которыми лежат четыре года разработки тысячами людей — вы почти не увидите разницы, разве что в Mepis иконки покрасивее и есть кое-какие дополнительные возможности.

Конечно, внутри разница между ними огромна: в Mepis вместо ядра 2.4 теперь ядро 2.6, у нас есть HAL, D-BUS, Xen и Mono, и вообще куча всякого добра. Но большинство из этого новичку не очевидно, а каждодневные трудности использования Linux не особо уменьшились. Как недавно сказал один анонимный комментатор: «Главная проблема ALSA в том, что ее настройка — вне понимания простых смертных. Если ваше оборудование само не заработало с ALSA, добиться его работы вам не светит.»[1]

Два шага вперед…

RedHat 7.3 — примечательная веха в истории Linux, наводящая на множество интересных сравнений. RH 7.3 поставлялся с Mozilla 0.9.9, потому что дистрибутив вышел в мае 2002 — за месяц до выхода финальной версии Mozilla 1.0. Firefox тогда был сгустком нейронов в головах Блейка Росса [Blake Ross] и Бена Гуджера [Ben Goodger]. Но нам понятно, в чем они видели проблему: Гуджер — человек, стоящий за пользовательским интерфейсом Firefox, и он проделал огромную работу по упрощению сложных участков Mozilla. Возьмем, к примеру, диалог Preferences: в Mozilla 0.9.9 приходилось просматривать 7 различных категорий и около 30 подкатегорий настроек. В Firefox 1.5 все было разделено на 6 категорий и почти ни на одну подкатегорию.

Пока семейство Mozilla упрощалось, Konqueror, наоборот, опухал от настроек. Открыв меню Settings в Konqueror из RH 7.3, вы можете выбирать из Configure shortcuts, Configure Toolbars и Configure Konqueror. В последнем пункте вы получите 11 новых категорий выбора — не идеально, но и не ужасно. В Konqueror из Mepis 6.0 теперь есть 5 различных категорий настроек в меню Settings (наш привет Configure Extensions и важнейшему пункту — Configure Spell Checking, воткнутым в произвольные места меню). В самом окне Configure Konqueror у вас 18 различных категорий, причем некоторые воистину ужасны.

Gnome под огнем

Диалоги Свойств в Firefox, Safari и Konqueror (сверху вниз) – индикаторы, на сколько каждый проект продвинулся в удобстве и простоте использования.
Диалоги Свойств в Firefox, Safari и Konqueror (сверху вниз) – индикаторы, на сколько каждый проект продвинулся в удобстве и простоте использования.

Gnome знаменит простотой использования, но тоже не избежал попреков. Два года назад Linux-комментатор Николас Петрели [Nicholas Petreley] сказал, что «к появлению версии 2.6 пользователь был вправе ожидать, что ему не придется адаптироваться к новому сдвигу парадигмы пользовательского интерфейса, хотя бы по основополагающим моментам типа навигации по каталогам. Однако именно этому и придется переучиваться в последней версии Gnome.»[2] Он имел в виду новый пространственный режим навигации в Nautilus, в котором при открытии каждого каталога создавалось новое окно. Такой режим огорчил многих пользователей, но им пришлось ждать шесть месяцев, пока в релизе Gnome 2.8 ввели опцию его отмены. А до этого они запускали Gconf, искали /apps/naultilus/preferences и изменяли значение always_use_browser на ‘true’. Наглядно? Не надо песен.

Gconf используется как свалка всех опций приложений Gnome, которые разработчики не хотят показывать в программах. При переходе с Gnome 1.4 на 2 было задумано отличиться от Очередного рабочего стола простотой использования: убрали массу опций, почистили интерфейс, и рабочий стол сделался спартанским, но простым для изучения. Многие опции пользовательского интерфейса перекочевали в Gconf, и их надо настраивать вручную. Тем же методом скрывает свои настройки Firefox — переход по адресу URL about:config позволяет увидеть все опции, которые можно редактировать вручную.

Поймите меня правильно: Gconf — чудесная программа редактирования опций; лучше, пожалуй, и некуда. Но эквивалента в интерфейсе пользователя не имеют столь много опций, что это уже ограничение функциональности. Например, Ubuntu по умолчанию поставляется с чистым рабочим столом: ни иконки Компьютер, ни иконки Домашний каталог, и т. д. А лично мне они нравятся; и как я могу их снова включить? Насколько я могу судить, единственный официальный способ — загрузка Gconf и смена ключа /apps/Nautilus/desktop/home_icon_visible. Если вам не лень скачивать и собирать стороннюю программу, можете попробовать GTweakUI: ее цель в «предоставлении дополнительных опций настроек Gnome, которые пользователи требуют, начиная с выпуска Gnome 2.0».[3]

Раз пользователи требуют эти возможности, почему команда Gnome по большей части их игнорирует? В декабре прошлого года Линус Торвальдс опубликовал в открытой почтовой рассылке OSDL свои соображения по поводу Gnome, сказав: «Подход Gnome „Пользователи не способны разобраться в функциях“ — это заболевание. Если вы считаете пользователей идиотами, то одни идиоты к вам и придут… Пожалуйста, просто советуйте людям брать KDE.»[4] В следующих публикациях он продолжил: «Если пользователь не может что-то поменять в интерфейсе — дизайн непригоден.»[5]

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

Я бы рад им поверить, но как пользователю догадаться об этом? Установив свежий Ubuntu 6.06, я не нашел пустого каталога Templates в домашнем каталоге. Также ничего не дал поиск по ключевым словам ‘document’ или ‘template’ в онлайновой справке. В общем, меню Создать Документ — мертвый груз рабочего стола Gnome. А в KDE есть предопределенный список общих шаблонов, и я постоянно использую эту функцию.

Бремя выбора?

Как и about:config у Firefox, GConf из Gnome – способ разработчиков «заметать весь настроечный мусор  под ковер».
Как и about:config у Firefox, GConf из Gnome – способ разработчиков «заметать весь настроечный мусор под ковер».

Проблема в том, что решение Gnome заставляет пользователей настраивать рабочую среду по своему вкусу, и это противоречит «норме Gnome» (разработчики устанавливают все правильные предпочтения по умолчанию). В принципе, такая же проблема и у KDE: большей части пользователей не нужна особая тонкость настроек и бездна опций. Конечно, по мелочам они что-то и поменяли бы, но не более того.

Дженсен Харрис [Jensen Harris], ведущий программный менеджер группы изучения пользовательского опыта по Microsoft Office, держит блог, где регулярно обсуждается теория интерфейсов пользователя. В июне этого года он рассказал об исследовании про панели команд в Microsoft Office 2003 (это гибрид меню/панели инструментов, позволяющий добавлять и удалять стандартные кнопки, создавать свои собственные кнопки и перетаскивать их в любую часть экрана). Каковы результаты? «Программа запускалась с измененной панелью команд не более чем в 2 % сессий. Из этих 2 % сессий 85 % изменяли четыре или менее команд.»[6]

Эта информация основана не на слухах или сплетнях, а на данных от доброй сотни миллионов установок Office 2003, и довольно убедительно доказывает, что люди куда как комфортно чувствуют себя при настройках по умолчанию. О да, я знаю: те 0,3 % пользователей, что капитально меняют настройки (то есть совершают больше четырех переделок) — это целых 300000 человек, и о них тоже надо позаботиться; и я не говорю, что большинство функций мы должны выкинуть ради простоты. Но я считаю, что кнопки, флажки, полосы прокрутки и ниспадающие списки следует использовать экономно. Интерфейсы надо проектировать, а не давать им расти подобно плесени.

Проект, который, как минимум, пытается найти верный путь, это Gaim. Разработчики знали, что их диалог свойств перегружен, поэтому в версии 2.0 удалили большую часть опций и подождали откликов от пользователей. Если поступали жалобы на нехватку опции, ее просто вставляли обратно. Опции, отсутствия которых никто не заметил, были — и правильно! — забыты, потому что люди обнаружили, что им отлично живется и с настройками по умолчанию.

Команда KDE умеет упрощать интерфейс, как мы убедились в 2003 году. Нат Фридмен сказал про KDE, в интервью OSNews, что «диалог настроек у часов содержит аж пять вкладок!» [7] Уже через сутки в исходный код KDE поступило исправление, которое реорганизовало и значительно упростило интерфейс.

Кафедральный собор

Gnome: «Нет установленных шаблонов.» Я: «Почему?» Gnome: «Вот не прочел ты мой исходный код, да и не понял, что нужно создать каталог Templates, болван!»
Gnome: «Нет установленных шаблонов.» Я: «Почему?» Gnome: «Вот не прочел ты мой исходный код, да и не понял, что нужно создать каталог Templates, болван!»
Зато KDE позволяет создать новые документы из контекстного меню, используя готовые шаблоны.
Зато KDE позволяет создать новые документы из контекстного меню, используя готовые шаблоны.
Прав был Нат Фридман: в старом диалоге Свойства часов KDE действительно имели пять вкладок. Ну и ну!
Прав был Нат Фридман: в старом диалоге Свойства часов KDE действительно имели пять вкладок. Ну и ну!

В мире, где есть Firefox, OpenOffice.org, Gimp, Scribus и KDE/Gnome, основное отличие дистрибутивов друг от друга — это качество их инструментов настройки и установки: если вы возьмете YaST из SUSE, то с точки зрения пользователя он будет не слишком отличаться от инструментов Fedora. А теперь прикиньте: у Ubuntu инструментов настройки почти нет, есть лишь несколько готовых приложений Gnome и пара доморощенных приложений. Однако Ubuntu вот уже два года является дистрибутивом № 1 на DistroWatch.

Мать Тереза однажды сказала: «Важно не то, что вы делаете, а сколько любви вы вкладываете в это дело». По-моему, Ubuntu выделяет из общей массы именно желание позаботиться обо всех мелочах, а не запустить грандиозный проект во имя мировой революции. Поставщики Linux это понимали, поэтому эволюционировали постепенно, с шестимесячными промежутками между выпусками: новые версии дистрибутивов выходят два раза в год, а бета- и релиз-кандидаты появляются в промежутках между ними.

Формально, свободное ПО придерживается правила «выпускай раньше, выпускай чаще», означающего «быстро выдать код пользователям и подправить его на основе обратной связи; повторять, пока не будет готова финальная версия».

Сравним с Vista: выход Windows XP был в октябре 2001, а Vista вряд ли попадет на прилавок раньше февраля 2007 года, хотя изначально планировался 2003 год, причем будет включать лишь часть заявленных опций, например, Avalon, новый графический движок; Aero, новую графическую тему; Indigo, новую среду коммуникации. Конечно, она запоздает на четыре года и недодаст многие возможности, обещанные Microsoft, например, WinFS.

Такой долгий промежуток времени между выпусками характеризует «соборный» стиль разработки, описанный Эриком Рэймондом [Eric Raymond] в его старом эссе Собор и базар [8]. «Соборный» (или «кафедральный») стиль подразумевает выпуск больших порций кода через значительные промежутки времени, что подавляет полезную обратную связь от пользователей. Если люди ненавидят функцию А, то стиль «раньше и чаще» («базарный») позволит отловить это и не дать превратиться в проблему. Но если на функцию А опираются функции B, C, D, и E, то разработчики программного обеспечения должны откатить изменение — а в более реальном сценарии они сделают вид, что проблемы нет, и дождутся, пока всем надоест жаловаться. Сила базарной модели, как и настоящего базара, в открытости: каждый может принести свой товар на рынок. Плохой код немедленно отвергается, а хороший улучшается с момента выпуска.

Теперь позвольте объяснить, почему меня пугают Gnome 3.0 и KDE 4.0: оба проекта переходят на кафедральную модель. После выпуска KDE 2.0 в конце октября 2000 года, средний интервал между смежными релизами 2.х был пять месяцев. Переход от KDE 3.0 к 3.1 занял почти год, а средний интервал между релизами серий KDE 3.x составляет 8,9 месяца. Теперь о KDE 4.0. Уже просматривается 18-месячный цикл разработки KDE 4.0, но можно ожидать, что выпуск финальной версии займет много больше — в частности, потому, что релиз Technology Preview 1 выйдет в конце октября. Спрогнозируйте сами: KDE 3.0 в версии Alpha 1 вышел в сентябре 2001 года, но для выхода финальной версии понадобилось еще шесть месяцев. А когда писалась эта статья, почти три четверти KDE 4.0 имело пометку «Надо сделать»[9].

Учтите, обновление отнюдь не рядовое: новые возможности включают переход на Qt 4.2, введение новой графики и новые установки пользовательского интерфейса, портирование на OS X и Windows, добавление нового скриптового движка на основе ECMAScript, замена DCOP на D-BUS, рабочего стола и панелей — на Plasma, переход на новую систему мультимедиа (Phonon), введение слоя аппаратной абстракции (Solid), интегрирование среды коммуникации и добавление контекстного поиска данных (Tenor).

Хотя я всегда приветствую новые возможности, модель разработки KDE 4.0 заставляет вставать дыбом волосы у меня на загривке. Как все эти компоненты поладят друг с другом? Будет ли исправление всех обнаруженных ошибок и внедрение новых функций снова и снова отдалять дату релиза? Как и Vista, KDE 4.0 скорее всего не выйдет в ожидаемый срок конец 2006/начало 2007; и как Vista, он начинает терять обещанные возможности, так как Tenor вряд ли будет готов к релизу 4.0.

Gnome 3.0 также выглядит пугающе, но, возможно, только для меня, потому что я программист и предпочитаю видеть код, а не дискуссию. По мне, «дискуссия» означает «рассуждения о голубизне неба», а уж «рассуждения о голубизне неба» означают «созерцание собственного пупа». Может, это и цинично с моей стороны, так как благодаря тщательной стратегии планирования Gnome обладает цельностью, которая его и прославила, но трудно не поморщиться, читая что-нибудь вроде «а еще мы должны рассмотреть вопрос упрятывания файловой системы» в обсуждении Gnome 3.0 на wiki [10].

Одна из самых интересных козырных идей — переход на рабочий стол, перестраиваемый в зависимости от ваших задач, где вы сами выбираете режимы, отражающие, что вы можете видеть и делать. Идея состоит в создании собственных «проектов», в которых вы определяете, какие программы запустить для определенной задачи, какие контакты требуется видеть, к каким документам нужен быстрый доступ, и так далее. В теории такой подход позволяет уменьшить путаницу и число приложений, с которыми вам надо работать; но по жизни пользователи не заинтересованы в настройке своих рабочих сред. Я думаю, люди работали бы более продуктивно, позволив Gaim не показывать контактов, не относящихся к их текущей задаче, но Среднестатистический Джо просто плюнет и отключит Gaim.

Единение как путь вперед

Проект Gnome Lowfat демонстрирует, что покажет, к примеру, фотографу рабочий стол на базе концепции задач.
Проект Gnome Lowfat демонстрирует, что покажет, к примеру, фотографу рабочий стол на базе концепции задач.

Абстрактные идеи для меня анафема, но кодирование — амброзия, а на сей счет существуют два проекта, которые, как я полагаю, действительно выведут Linux на рабочий стол. Первый — широко обсуждаемый проект унификации рабочего стола, Portland, его цель — предоставить стандартный API для поддержки обычных задач, например, запуска приложения от имени root или открытия любимого пользователем браузера при нажатии на ссылку. Предыдущие попытки далеко не ушли, но Portland уже содержит рабочий код, поддерживается OSDL и принят на вооружение KDE и Gnome. Уже существуют темы, позволяющие выглядеть похоже приложениям GTK и Qt, а с корректировками Portland они в конце концов станут неразличимы для пользователя.

Вторая важная разработка для Linux — Galago, универсальная настольная среда присутствия. Другими словами, Galago позволяет узнать, кто находится в сети, независимо от того, в каком приложении вы находитесь. Опять-таки, эта возможность уже была не раз реализована, но Galago — первая серьезная попытка сделать такое на всем «пространстве» рабочего стола. Вы, например, читаете письмо от Боба, а ваш почтовый клиент спрашивает у Galago (а тот, в свою очередь, у вашего клиента быстрых сообщений), находится ли Боб в сети, и если да, то над сообщением Боба появится маленькая иконка «в сети», на которую можно нажать и послать ему сообщение.

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

Мы не должны забывать об успехе «базарной» модели. Только опираясь на ее сильные стороны, надстраивая существующие ресурсы и извлекая пользу из огромного числа пользователей, которые азартно тестируют ПО и сообщают об ошибках, можно помочь настольному Linux перестать искриться и сделать то, чего он заслуживает: вспыхнуть, наконец, настоящим фейерверком.

Интересные ссылки

  1. http://chrislord.net/blog/does-alsa-suck.essay
  2. www.computerworld.com/softwaretopics/software/story/0,10801,92934,00.html
  3. http://gtweakui.sourceforge.net
  4. http://lists.osdl.org/pipermail/desktop_architects/2005-December/000390.html
  5. http://lists.osdl.org/pipermail/desktop_architects/2005-December/000395.html (примечание: готовьтесь увидеть ругательства)
  6. http://blogs.msdn.com/jensenh/archive/2006/06/27/648269.aspx
  7. http://www.osnews.com/story.php?news_id=3705&page=2
  8. http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar
  9. http://developer.kde.org/development-versions/kde-4.0-features.html
  10. http://live.gnome.org/ThreePointZero
Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию