If i help You, send me BTC please 1CJGz4UGyL7hTjPeN8j7fu9LRmmWiWSRHi

Эксклюзивное интервью с техническим руководителем Unity Нейлом Пателом.

Постов 138 из 176

Думаю, в преддверие таких серьезных перемен, будет интересно почитать, что думает один из главных их инициаторов.

Перевод статьи с ОмгУбунту.

Народ, сегодня мы подготовили нечто необычное — большое эксклюзивное интервью с техническим руководителем Unity и членом группы Canonical DX, Нейлом Пателом (Neil Patel).
Нейл — 27-летний инженер-программист из Норвуда (Northwood), что возле Лондона. Он работает в Canonical уже несколько лет и впервые принял активное участие еще при разработке первого Netbook Remix Launcher.
Сейчас Нейл работает над Unity. Как технический руководитель Unity, он контролирует разработку новой оболочки Ubuntu, которая с приближением очередного стабильного релиза Natty становится все более напряженной.
Нейл — это тот человек, который отвечает на все ваши вопросы о Unity, и именно этим он был занят во время интервью.
Интервью довольно большое, но те, кто действительно интересуется будущим Ubuntu, обязательно найдут время, чтобы ознакомиться со статьей.

Собственно интервью.

Мы знаем, что особое внимание Unity в Natty будет уделено стабильности, но Unity был изначально разработан для маленьких экранов. Какие изменения, если они были, вы внесли для работы Unity на большом экране?

— Есть несколько основных вопросов, которые мы попытались решить (мы это и дизайнеры, и члены команды DX).

  1. Статическая, всегда видимая панель запуска.
  2. Вопросы оболочки Dash (запускалка приложений и файловый менеджер), такие как меню «Переход», директория «Рабочий стол» и др.
  3. Вопросы управления окнами (всегда развернутые окна, плавающие окна, украшения окон).

Как вы уже могли видеть, панель запуска интеллектуально меняет свой размер: увеличивается, если есть свободное место на рабочем столе, и уменьшается, если на столе открыто много окон, или одно окно максимально развернуто. Мы попытались сделать так, чтобы она была доступна, когда вам нужно, и исчезала, когда в ней нет надобности.
Dash поменял несколько вариантов дизайна, прежде чем мы решили, что ее внешний вид соответствует тому, как бы мы хотели ее презентовать. Мы отстаем от графика на пару недель, но надеемся начать окончательное тестирование работы Dash на этой неделе (в течение прошлых недель уже запущены и функционируют куча невидимых функций, выполняемых оболочкой).
Основным изменением в Dash стала наша попытка реализовать размещение окна Dash над всеми остальными окнами, что дает возможность быстро его активировать и использовать без существенных усилий (представьте себе оболочку Dash на мониторе с разрешением 1920×1080!). Мы попробовали сделать так, чтобы после нескольких изменений, независимо от размера вашего экрана, оболочка хорошо выглядела и быстро работала.
unity-2d-apps

Как было упомянуто выше, вы сможете оценить это в релизе, который выйдет на этой неделе.
И напоследок об управлении окнами. Мы знаем о проблеме объединенных на панели заголовков развернутых окон. Если вы сейчас поработаете в Unity с развернутыми окнами, вы заметите, что только 24 пикселя в высоту занято для меню состояния системы и остальных баров. Если скрыть меню, то  получается гораздо больше места, но опция «скрывать меню» еще в разработке, так что не судите строго до нового релиза 🙂 .
Доработку опции автоувеличения окон мы отложили, пока не решен вопрос с размерами экранов, а может и вообще эту опцию деактивируем на десктопе.
Еще одно, о чем бы хотелось упомянуть — это оптимизация работы с такими темами как Ambience / Radience / Любой другой, использующей однопиксельные границы окон. Сэм Спилсбери (Sam Spilsbury), известный по работе над Compiz, работал над экспериментальным декоратором, который бы позволял таким темам определять невидимые границы вокруг окна (в тени), делая использование декораторов с 2, 1 или 0-пиксельными границами гораздо более удобным. Мы добавили еще некоторые трюки с окнами, вы совсем скоро их увидите.

Почему Unity не работает на моем нетбуке?

Не нужно пока пытаться ставить Unity на нетбук! Серьезно, лучше подождать второй альфы, так как даже мне до сих пор не удалось установить Unity вместе с Natty при обновлении с Maverick. Тем не менее у нас есть несколько разработчиков, у которых Unity очень хорошо работает на их Dell Mini 9.

Будет ли Unity для нетбуков чем-то отличаться от Unity для обычных компьютеров?

Да, все фишки, которые мы добавляем для десктопов, автоматически отключаются на нетбуке. Стабильная работа всех фишек на нетбуке требует хорошего тестирования, и я склоняюсь к тому, чтобы добавить опцию «авто/десктоп/нетбук», для того чтобы люди сами решали, хотят ли они использовать версию Unity для десктопа на нетбуке или наоборот.

2backlightoff

Мы знаем, что лично у вас есть много различных гаджетов от всех производителей и iPad, и Kindle, и Android смартфон. Как вам Ubuntu на их фоне?

Да, у меня много гаджетов. Я думаю, в целом Ubuntu ничем не хуже перечисленных выше платформ. У нас отличные разработчики, которые постоянно оптимизируют скорость, стабильность и энергопотребление Ubuntu (конечно используя более успешные наработки основного течения).
Насчет ядра Ubuntu, я думаю мы делаем правильный шаг, внедряя Unity, мы поднимаем оболочку графического интерфейса на следующий уровень. Я немного переживаю, что не все приложения адаптированы под Unity, но я думаю, что используя такие классные инструменты как Gtk3 и добавленный Qt, разработчики смогут предоставить более качественные продукты. Дополнительным стимулом послужит межплатформенное (Gtk3 — Qt) соревнование.
Еще одно мое хобби — изучение инструментариев разработки программного обеспечения (SDK) на различных платформах, и я думаю, что это (SDK) — то, чего нам очень не хватает. Наличие слишком большого количества языков и наборов инструментов (я знаю, это противоречит тому, что я говорил раньше! что ж, я такой!) может привести нас к ситуации, когда все только на половину сделано и на половину документировано, и это только усложняет привлечение новых разработчиков. Я думаю, что работа по созданию developer.ubuntu.com это правильный шаг в предотвращении подобной ситуации.
У меня больше нет предпочтительного языка или набора инструментальных средств. Я хочу чтобы кто-то сделал выбор и мы, пусть неохотно, но начали производство платформы.

После объявления, что Unity будет в новом релизе по-умолчанию, в сообществе было много горячих обсуждений, связанных с ограничением выбора, звучали даже обвинения, что Ubuntu становится открытым клоном Mac OS X. Можете ли вы чем-то успокоить людей?

Я думаю. что прелесть Ubuntu заключается в том, что мы не ограничиваем выбор на самом деле. Хотите менять XFCE, Unity, KDE, LXDE, GNOME2, GNOME3? Пожалуйста, для это го нужно только apt-get install. Да, я думаю, что сделать из Unity «ванильный GNOME» не получится, из-за сложностей с некоторыми патчами и др., но основное, что мне нужно было от Ubuntu, и почему я на нее перешел — для работы. Командой разработчиков было проделано много работы и для поддержания альтернативных Unity вариантов, поэтому вам ничего не мешает их использовать (хотя, если честно, я не знаю в каком состоянии эти варианты).
Что касается Unity, я просто прошу вас понять нас правильно. Выход Natty совсем близко, а нам еще предстоит внести множество изменений и исправить кучу ошибок. Многие вносимые изменения не дают должного эффекта, так как связаны с изменениями, которые еще не внесены, но мы надеемся, что установив Ubuntu 11.04 вы не разочаруетесь.
Я подписался на OMG!Ubuntu, я знаю как вы любите хвастаться, и вот что я хочу сказать: «Неужели вы думаете, что вас может подвести команда, в которую входят: создатель AWN, создатель Docky, создатель Cairo Dock, основной поставщик кода в Zeitgeist, основной идеолог Compiz, разработчик игр для Ubisoft и многие другие поставщики кода в открытое программное обеспечение?» (Забудем о не совсем удачном релизе 10.10).

Как много внимания было уделено удобству пользователей в Unity? Сотрудничали ли вы с дизайнерской группой в пользовательском тестировании и исследованиях?

Очень много внимания. Мы сотрудничали с дизайнерской группой на протяжении всего цикла, предоставляя им технические консультации, пока они проектировали или критиковали новые особенности, и потом они работали с нами, пока мы реализовывали эти особенности, высказывая свое мнение.

В моем понимании процесс разработки выглядит так: у дизайнеров часто возникает с 2-3 (или больше) различных варианта дизайна для какого-нибудь особеного элемента, перед тем как пользователи получат возможность опробовать и раскритиковать его. Они так же оценивают этот особенный элемент после его реализации, указывая на недостатки в удобстве использования, или неточности в исполнении задуманного функционала. Вы можете видеть раз в примерно каждые несколько недель, как ветка развития Unity получает «дизайнерские вливания», доступные для настройки и уточнений. Они также предоставляют нам спецификации сценариев использования (use-case), которыми мы руководствуемся при реализации функций этих особенных элементов. Контроль качества в дальнейшем использует эти сценарии для оценки соответствия исполнения заданной спецификации. Мы не перестаем совершенствовать свои навыки в изучении того, какое занятие кому больше подходит, ведь как не хочется выполнять слишком много циклов по проверке и исправлению ошибок, переживая больше о специфике особенного элемента, так же и не хочется «заморозки» этого элемента из-за 1000 ошибок, которые нужно исправить.

Можете ли вы назвать основные принципы, которыми руководствовались при проектировании Unity?

Я даю интервью ночью, накачанный таблетками от простуды, поэтому не надейтесь на адекватный ответ). Тем не менее, глядя на Unity, на процесс проектирования мне на ум приходят такие слова как свет, пространство, баланс и контраст.
Свет и пространство, потому что мы не хотим чтобы вы запутались и потерялись (вы скоро увидите как упростился процесс перехода по каталогам), баланс, потому что, мне кажется, нам удалось найти золотую середину между запуском/переключением/оповещением в оболочке без раздражения вас ненужной информацией, и наконец контраст, потому что нам удалось упростить концентрацию внимания пользователя в нужный момент в нужное место (все это станет более очевидным в ближайшее время).

Чтобы быть достаточно конкурентоспособной Ubuntu не достаточно быть бесплатной, нужно быть еще и достаточно привлекательной, для пользователей. Какие новые особенности вы планируете включить в дальнейшие ревизии Unity, для того чтобы Ubuntu чем-то явно отличалась от остальных?

Поговорим об этом;-).
Если честно, я не думаю что это большой секрет, для любой Операционной Системы, чтобы проникнуть на рынок, нужно быть стабильной, быстрой, легкой в использовании, включать отличные приложения в числе которых классный веб-браузер и качественную поддержку. Работа над Unity как раз обеспечивает Ubuntu некоторыми из этих качеств и, я думаю, производители ПО, глядя на Unity, увидят нечто, что они смогут продать. Я так же думаю что, если мы займем некоторое место на веб-сайте или в магазине, где можно на нас посмотреть и почувствовать, то совершенство и простота использования обязательно привлекут внимание потребителей. Работа над Центром Приложений позволила нам отобрать лучшие приложения и теперь нам всего лишь нужно распространить желание делать приложения настолько же красивыми, насколько и функциональными.

Социальная сразу после установки — отметил Марк (Шаттлуорт) после релиза Ubuntu 10.04 Lucid в прошлом апреле. Будет ли улучшена «стартовая социальность» в Natty?

Да, Кен Вандин (Ken VanDine), разработчик Gwibber, работает по этому вопросу. Последнее время работа несколько замедлилась в связи с большими изменениями в платформах Gtk, GDBus и других, но я надеюсь, что темпы работы выйдут на прежний уровень, тем более что он теперь ответственный за MeMenu!
В свободное время я пытаюсь помогать ему в работе над Gwibber, который выглядит и функционирует как в моих макетах некоторое время назад, построенных на Gtk (а не на Gtk+Webkit). Если ничего не помешает, мы сделаем очень быстрый и стабильный Gwibber в Natty и он не уйдет в «заморозку».
Я не уверен, что рассматривается что-нибудь еще для увеличения «стартовой социальности» Natty, учитывая то, какие огромные изменения привнесет в платформу интеграция Unity. Я думаю вопрос вновь поднимется в начале проектирования релиза 11.10.

3me-menu

Что вы думаете об оболочке GNOME? Почерпнули ли вы какие-то знания из нее? Сотрудничаете ли вы с проектировщиками GNOME?

Я думаю GNOME — классная оболочка, и мне интересно, как она развивается. Учитывая последние события, я думаю соревнование с Unity в чем-то поможет разработчикам GNOME. Я вижу много общего в наших платформах, что не может не радовать. Говоря о каком-либо полезном опыте, который можно было бы перенять, я думаю, это касается основ технической архитектуры, которые очень похожи (панель/запуск/поиск в оконном менеджере), однако на этом сходства заканчиваются.
Оболочка выполняет много функций в процессах Javascript. На ранней стадии проекта (до релиза 10.10) мы поняли, что этот подход не совсем нас устраивает. Мы попробовали Mutter + Vala, и снова нас постигла неудача, но я доволен тем, что мы имеем сейчас — быстрое исполнение ядра, написанное на C/C++ внутри Compiz с D-Bus (система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе общаться друг с другом — wiki) расположенной между моделью сущности и моделью данных. Я думаю такая модель хорошо удовлетворяет наши потребности и я думаю вы согласитесь со мной, когда побродите по системе в Natty и увидите как много данных можно получить во время поиска, не трогая Compiz.

4gnome-shell
Я думаю что тезис «давайте попробуем найти такую структуру, которая устроит всех» — не работает. Я думаю, что это нормально, когда внешний вид и структура системы не должны быть чем-то, что пользователь должен изменять, потому что дизайн настолько же важен как и код. Поэтому очень хорошо, что пользователи увидят 2 различных точки зрения на то, каким должен быть рабочий стол, и смогут выбрать тот, который им больше понравится. Это причинит некоторые неудобства разработчикам, но думаю со временем все встанет на свои места.

Как вы планируете поддерживать Unity со временем, особенно когда GNOME притерпит существенные изменения, касающиеся конечных библиотек?

Я думаю, подобное уже частично происходило (поддержка appindicator). Мы обеспечим поддержку по необходимости (поддержка актуальности патчей и т.д.), но я думаю работая над совместными спецификациями между Unity, Gnome и KDE (для обеспечения одинаково корректной работы индикаторов приложений и в Unity и в KDE) мы очень упростим жизнь разработчикам приложений. Я также думаю, что мы должны уделять больше внимания манере написания наших библиотек, у разработчиков должно быть одно API для кодирования функций приложения, а мы (разработчики окружения рабочего стола) должны иметь возможность обеспечить одинаково корректное исполнение приложения в различных окружениях рабочего стола. Это довольно трудно реализовать, но думаю, конечная цель в виде корректно работающих приложений, вполне оправдывает необходимые усилия.

Unity — не первая попытка Canonical создать специфическую оболочку. До этого были Netbook Remix launcher и “Ubuntu MID Edition”, не повторит ли Unity их недолгую судьбу?

Да, это я написал оба Ubuntu Netbook Remix (UNR), а до этого еще интерфейс Clutter для Hildon.. так что я хорошо знаком с проваливающимися системами. Unity — это кульминация проделанной работы над UNR. Мы много чего попробовали в UNR, и многое из этого нашло свое место в Unity. Над Unity было проделано в целом гораздо больше работы. чем над UNR. поэтому я определенно знаю, что эта оболочка не повторит судьбу предшественников, подождите чуть-чуть и сами убедитесь.

5ubuntu_netbook_remix

Какие уроки ты вынес из предыдущих проектов?

Никогда не доверять 3D графике в Linux.

Почему ты начал работать для Canonical? Это просто работа для тебя, или это искреннее увлечение открытым программным обеспечением и привлечением основной массы людей в Ubuntu?

Просто Canonical дала мне возможность работать над открытым программным обеспечением, которое будет поставляться на реальные системы потребителей. Я присоединился к разработчикам с самого начала, и использовал свой опыт, чтобы добавить отсутствующую до этого функциональность (написание AWN научило меня многому) в создании специфического пользовательского интерфейса для Dell и др. В то же время, я получил возможность написать первый вариант UNR, основываясь на свой предыдущий опыт. Для меня было удивительно, увидеть как написанное мной открытое программное обеспечение поставляется на Dell.com! Это никогда не было для меня просто работой. Большинство разработчиков получают вознаграждение за то, что они бы с удовольствием сделали бесплатно. Я продолжаю свою работу, наблюдая за тем, как все больше компьютеров/нетбуков поставляется с предустановленной Ubuntu, как появляется все больше упоминаний о нас в прессе, и как нас начинают обсуждать в том же духе, что и известных конкурентов.

И наконец, Unity на планшетах — такое когда-нибудь свершится?

Не знаю, спросите Марка!

, ,

Sergio30/01/2011 at 11:31Reply

неплохо, ну чтож будем ждать 11,04, посмотрим что с себя представляет эта Unity 🙂 спасибо за перевод!

anon27/03/2011 at 15:48Reply

отличный перевод!

Menu