Журнал LinuxFormat - перейти на главную

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

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

Содержание

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

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

Фейерверк – притягательное зрелище, но вы, верно, знаете, что самому его устроить непросто. За энную сумму денег вам дадут в магазине самые крутые ракеты для плохих парней,затем вы вносите их в дом тайком от детей. Когда на улице достаточно стемнеет, вы поджигаете их, отбегаете на безопасное расстояние и ждете... Ждете... Ждете... Обычно секунд через пять ракета издает звук «вжжжж» и плюется огнем или дымом, но может и вовсе не взлететь. Рискнете ли вы снова подпалить ее, с шансами оторвать себе руки, или с горя сложите костер из ваших старых руководств по 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 различных категорий, причем некоторые воистину ужасны.
Linux Problem-1.png

Gnome под огнем

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 есть предопределенный список общих шаблонов, и я постоянно использую эту функцию.

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

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

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

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

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

Команда KDE умеет упрощать интерфейс, как мы убедились в 2003 году. Нат Фридмен сказал про KDE, в интервью OSNews, что «диалог настроек у часов содержит аж пять вкладок!» [7] Уже через сутки в исходный код 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]. «Соборный» (или «кафедральный») стиль подразумевает выпуск больших порций кода через значительные промежутки времени, что подавляет полезную обратную cвязь от пользователей. Если люди ненавидят функцию А, то стиль «раньше и чаще» («базарный») позволит отловить это и не дать превратиться в проблему. Но если на функцию А опираются функции 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.

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

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

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

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

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

  1. http://chrislord.net/blog/does-alsa-suck.essay
  2. http://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
Персональные инструменты
купить
подписаться
Яндекс.Метрика