LXF141:ayatana

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

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

Содержание

Сказ о проектировании и Ayatana в Ubuntu

Джоно Бэкон, менеджер сообщества Ubuntu, исследует историю проектирования интерфейса этого дистрибутива.

20 ок­тяб­ря 2004 го­да вы­шла пер­вая вер­сия но­во­го ма­ло­из­ве­ст­но­го про­ек­та под на­званием Ubuntu. Она на­зы­ва­лась Warty Warthog [Буг­ри­стый Бо­ро­да­вочник]. Про Ubuntu поль­зо­ва­те­ли зна­ли од­но: но­вый ди­ст­ри­бу­тив осно­ван на Debian и спон­си­ру­ет­ся неким мил­лионером, о ко­то­ром никто не слы­шал. Ма­ло кто знал, что упо­мя­ну­тый мил­лионер, Марк Шатт­л­ворт [Mark Shuttleworth], ин­ве­сти­ру­ет столь су­ще­ст­вен­ную сум­му в один из наи­бо­лее в этом ну­ж­даю­щих­ся ас­пек­тов Open Source — поль­зо­ва­тель­ский ин­тер­фейс.

Я не бу­ду го­во­рить здесь о фор­ми­ро­вании Ubuntu, о влия­нии, ко­то­рое он ока­зал на Linux, или о росте про­ек­та и его со­об­ще­ст­ва: об этом ска­за­но мно­го. Вме­сто это­го я из­ло­жу био­гра­фию Ayatana – про­ек­та, ко­то­рый слу­жит дви­жу­щей си­лой Ubuntu – по­де­лив­шись ис­то­рия­ми о со­бы­ти­ях, про­ис­хо­див­ших за ку­ли­са­ми. Итак, при­хва­ти­те ча­шеч­ку ко­фе, усядь­тесь по­удобнее – и по­го­во­рим о том, как Ayatana мо­жет ре­во­лю­ционизи­ро­вать Linux и принес­ти его в мас­сы.

В на­ча­ле пу­ти

Ме­ню опо­ве­ще­ния Ubuntu све­тит­ся, пре­ду­пре­ж­дая о со­об­ще­ни­ях, тре­бую­щих ва­шей ре­ак­ции.

Когда я в 2006 го­ду на­чал ра­бо­тать в Canonical менед­же­ром со­об­ще­ст­ва Ubuntu, цель его бы­ла про­ста: по­став­лять но­вей­шее и зна­чи­тельней­шее ПО на осно­ве от­кры­то­го ко­да в удоб­ной и ин­тег­ри­ро­ван­ной фор­ме. Что­бы достичь этой це­ли, мы за­бо­ти­лись о ком­плек­та­ции Ubuntu боль­шим ко­ли­че­­ст­вом пред­ше­ст­вую­щих про­ек­тов: и ба­зо­вых ком­понен­тов, ти­па яд­ра Linux и X-сер­ве­ра дис­плея, и бо­лее близ­ких к поль­зо­ва­те­лю, та­ких как плат­фор­ма Gnome и ее се­мей­ст­во при­ло­жений. Ко­ман­да Ubuntu всегда дер­жа­ла нос по вет­ру, вы­ню­хи­вая все важ­ные на­чи­нания, ко­то­рые мож­но бы­ло бы донести до поль­зо­ва­те­лей, а иногда и вкла­ды­ва­ясь в про­ек­ты, го­товые по­крыть еще не удов­ле­тво­рен­ные нужды. Один из при­ме­ров – ин­ст­ру­мент Jockey, по­мо­гаю­щий уста­нав­ли­вать до­ба­воч­ные драй­ве­ры, необ­хо­ди­мые ва­ше­му обо­ру­до­ванию.

В 2008 го­ду Марк Шатт­л­ворт вы­звал ме­ня к се­бе об­су­дить нечто, на­зван­ное им «по­тря­саю­щим управ­ле­нием вни­ма­нием» [“awe­some atten­tion management”]. В это вре­мя с ним со­трудничал в но­вом про­ек­те Мэ­тью Пол То­мас [Matthew Paul Thomas], весь­ма ува­жае­мый раз­ра­бот­чик поль­зо­ва­тель­ско­го ин­тер­фей­са. Марк по­ка­зал мне wiki-страницу с неве­ро­ят­но под­роб­ным опи­санием то­го, что вы­гля­де­ло эф­фект­ны­ми всплы­ваю­щи­ми уве­дом­лени­я­ми, и со­об­щил, что это по­тря­сет Ubuntu и все со­об­ще­ст­во, а мне пред­сто­ит по­ра­бо­тать в русле этой идеи. Марк – че­ло­век лег­ко воз­бу­ди­мый, но та­ким я его еще не ви­дел, и по его эн­ту­зи­аз­му я сразу смек­нул, что ра­бо­ты у ме­ня при­ба­вит­ся.

Про­ект, на ко­то­рый он ссы­лал­ся, в ито­ге пре­вра­тил­ся в Notify OSD, те­перь уже всем зна­ко­мый ин­тер­фейс чер­ных всплы­ваю­щих уве­дом­лений Ubuntu. Хо­тя я и знал об этом плане, но не был осве­дом­лен ни о ка­ких пла­нах по вклю­чению в Ubuntu соб­ст­вен­но ко­да. Тогда над ним усерд­но тру­ди­лись Мир­ко Мюл­лер [Mirco Mueller] и неко­то­рые дру­гие раз­ра­бот­чи­ки Canonical.

По ме­ре раз­ви­тия про­ек­та, Марк на­чал на­би­рать две ко­ман­ды: од­ну для про­ек­ти­ро­вания, а дру­гую – для раз­ра­бот­ки. Клю­че­вым на­зна­чением бы­ла долж­ность ру­ко­во­ди­те­ля груп­пы раз­ра­бот­чи­ков; ее за­нял Дэ­вид Барт [David Barth] из Mandriva. Мир­ко и его ко­ман­да долж­ны бы­ли от­чи­ты­ва­ться пе­ред Дэ­ви­дом, а его за­да­чей бы­ло брать раз­ра­бот­ки ко­ман­ды Canonical и ру­ко­во­дить груп­пой ин­женеров, ко­то­рая пре­вра­ща­ла это в сво­бод­ное ПО, соз­да­вая па­ке­ты для ин­те­гра­ции в со­став Ubuntu.

В 2008 го­ду в Ма­ун­тин-Вью, штат Ка­ли­форния, про­шел оче­ред­ной сам­мит раз­ра­бот­чи­ков Ubuntu. Там Марк де­мон­ст­ри­ро­вал ре­зуль­та­ты ра­бо­ты над но­вой сис­те­мой уве­дом­лений. Он вскрыл со­об­ра­жения и сти­му­лы, стоя­щие за этой иде­ей, и под­черк­нул неве­ро­ят­но тща­тель­ную про­ду­ман­ность про­цес­са раз­ра­бот­ки. Ау­ди­то­рии презента­ция по­нра­ви­лась – она впе­чат­ляла да­же при том, что ника­ко­го ко­да за ней не стоя­ло. Его планиро­ва­лось вве­сти в пред­стоя­щий ре­ли­за Ubuntu, 9.04, он же Jaunty Jackalope.

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

Помимо всплы­ваю­щих уве­дом­лений, ре­лиз Jaunty вклю­чал и ме­ню Messaging [Опо­ве­щения]. Идея бы­ла ог­раничить­ся в об­лас­ти уве­дом­лений панели един­ст­вен­ным знач­ком, ко­то­рый со­дер­жал бы все со­об­щения для конкрет­но­го поль­зо­ва­те­ля – ска­жем, по­ка­зы­вал бы об­нов­ления в со­ци­аль­ных се­тях (со­об­щения Twitter или Identica), но­вые пись­ма, ча­ты в сис­те­мах мгно­вен­но­го об­ме­на со­об­щения­ми, и мно­гое дру­гое. Пер­вая ите­ра­ция это­го ме­ню бы­ла ра­бо­чей, но оста­ва­лось еще нема­ло труда по встраи­ванию под­держ­ки раз­лич­ных при­ло­жений, что­бы они мог­ли взаи­мо­дей­ст­во­вать с но­вой сис­те­мой уве­дом­лений, и по пре­до­став­лению до­полнитель­ной ин­фор­ма­ции, ка­саю­щей­ся поль­зо­ва­те­лей Ubuntu.

Функ­ция Places в Unity су­ме­ла соз­дать гар­мо­нич­ный об­лик поч­ти для всех ви­дов на­страи­вае­мо­го кон­тен­та.

Мно­гие из этих улуч­шений бы­ли реа­ли­зо­ва­ны в ре­ли­зе Ubuntu 9.10 Karmic Koala, вклю­чая ме­ню Me и до­бав­ление в пра­вую верх­нюю часть панели функ­ций вы­клю­чения и пе­ре­за­груз­ки ком­пь­ю­те­ров, а так­же по­лу­чения досту­па к ря­ду дру­гих функ­ций, от­но­ся­щих­ся к те­ку­ще­му се­ан­су. Karmic так­же был при­нят по­ло­жи­тель­но, но мно­гие про­дол­жа­ли за­да­вать все те же во­про­сы: по­че­му ко­ман­да Ubuntu уде­ля­ет так мно­го внимания пра­вой верхней панели эк­ра­на? Раз­ве нет дру­гих час­тей ин­тер­фей­са ра­бо­че­го сто­ла, ничуть не мень­ше ну­ж­даю­щих­ся в улуч­шениях и ис­прав­лениях?

Это были хо­ро­шие во­просы. Ра­бо­та по про­ек­ти­ро­ванию ин­тер­фей­са об­на­ру­жи­ла и ис­пра­ви­ла ряд важ­ных про­блем, но дру­гие, не менее за­мет­ные час­ти ин­тер­фей­са поль­зо­ва­те­ля Ubuntu оста­лись без внимания. Впро­чем, раз­ра­бот­чи­ки это учи­ты­ва­ли – но, не со­би­ра­ясь жерт­во­вать ка­че­­ст­вом ди­зай­на, от­ло­жи­ли данные во­про­сы до его го­тов­но­сти. К сча­стью, мно­гие из идей на бу­ду­щее бы­ли уже в де­ле; груп­па про­ек­ти­ро­вания опе­ре­жа­ла те­ку­щий цикл раз­ра­бот­ки, что­бы пре­доста­вить раз­ра­бот­чи­кам за­кон­чен­ные кон­цеп­ции.

В до­полнение к улуч­шениям в пра­вой верхней час­ти эк­ра­на, в те­чение цик­ла Karmic боль­шая ра­бо­та бы­ла про­де­ла­на и над про­цес­сом за­груз­ки. Марк Шатт­л­ворт недвусмысленно дал по­нять, что за­груз­ка Ubuntu долж­на стать бы­ст­рее, чем когда-ли­бо. Скотт Джеймс Рем­нант [Scott James Remnant] со­брал свои на­ра­бот­ки по про­ек­ту Upstart и на­чал оп­ти­ми­за­цию мно­гих эта­пов это­го про­цес­са. На ме­ро­прия­тии ком­пании, про­хо­див­шем­в Дуб­лине, он про­де­мон­ст­ри­ро­вал, что Ubuntu за­гру­жа­ет­ся на нетбу­ке Dell Mini 9 с обыч­ным же­ст­ким дис­ком бы­ст­рее, чем Windows 7 на та­ком же ком­пь­ю­те­ре со сверх­ско­ро­ст­ным твер­до­тель­ным же­ст­ким дис­ком.

Кро­ме то­го, был про­де­лан немалый объ­ем ра­бо­ты по соз­данию при­вле­ка­тель­но­го гра­фи­че­­ско­­го эк­ра­на за­груз­ки с по­мо­щью ин­ст­ру­мен­та под на­званием XSplash, раз­ра­бо­тан­но­го в Canonical. Идея бы­ла в на­ис­ко­рей­шем по­лу­чении X-эк­ра­на, и что­бы за­гру­зоч­ная за­став­ка при этом осу­ще­ст­в­ля­ла плав­ный пе­ре­ход к эк­ра­ну вво­да. Все это во­шло в ре­лиз Karmic, и сно­ва бы­ло хо­ро­шо при­ня­то поль­зо­ва­те­ля­ми.

Ин­ди­ка­то­ры при­ло­жений

По­сле вы­хо­да ре­ли­за Karmic груп­пы про­ек­ти­ро­вания и раз­ра­бот­ки ре­ши­ли вернуть­ся к доделке пра­вой верхней ча­сти панели. Марк пыл­ко объ­я­вил, что «на­конец-то мы до­ве­дем до ума об­ласть уве­дом­лений», ко­то­рая рань­ше бы­ла ис­точником про­блем для поль­зо­ва­те­лей Ubuntu.

Про­бле­мы бы­ли непро­сты­ми, по­это­му по­зволь­те мне объ­яснить, за­чем пред­при­ня­ли эту ра­бо­ту. Тра­ди­ци­он­но, знач­ки уве­дом­лений в верхней пра­вой час­ти панели Gnome пред­став­ля­ли со­бой что-то вро­де гет­то, с точ­ки зрения удоб­ст­ва поль­зо­вания. Они име­ли сле­дую­щие недостат­ки:

  • Бес­сис­тем­ность Су­ще­ст­во­вал ши­ро­кий диа­па­зон знач­ков, мно­гие из ко­то­рых вы­гля­де­ли на панели неэстетич­но, из-за сво­его пе­ст­ро­го мно­го­цве­тия.
  • Ог­раничения При­ло­жения мог­ли уста­но­вить толь­ко один зна­чок, и тот же са­мый зна­чок ото­бра­жал­ся в ме­ню и в об­лас­ти уве­дом­лений. Нель­зя бы­ло уста­но­вить при­вле­ка­тель­ный чер­но-бе­лый зна­чок в об­лас­ти уве­дом­лений, имея при этом в ме­ню пол­но­цвет­ный зна­чок.
  • От­сут­ст­вие де­зин­те­гра­ции Щел­кать на ка­ж­дом от­дель­ном знач­ке уве­дом­ления для про­смот­ра ме­ню бы­ло неудоб­но. Нель­зя бы­ло щелк­нуть и по­во­дить мы­шью, а за­тем вы­де­лить ме­ню для рас­кры­тия.
  • Раз­но­ма­ст­ные ин­тер­фей­сы Знач­ки уве­дом­лений час­то име­ли неве­ро­ят­но разномастный на­бор ин­тер­фей­сов. У одних ме­ню рас­кры­ва­лось по щелч­ку ле­вой кноп­кой мы­ши, у дру­гих – по щелч­ку пра­вой кноп­кой, а неко­то­рые име­ли раз­ные ме­ню для ле­вой и пра­вой кно­пок.
  • Доступ для лю­дей с ог­раничен­ны­ми воз­мож­но­стя­ми Имею­щие­ся уве­дом­ления име­ли про­бле­мы с досту­пом, и неред­ко не управ­ля­лись с кла­виа­ту­ры.

Груп­па про­ек­ти­ро­вания чув­ст­во­ва­ла, что эти про­бле­мы серь­ез­ны и тре­бу­ют ре­шения; так был за­пу­щен про­ект ин­ди­ка­то­ров при­ло­жений. Он осно­вы­вал­ся на той же тех­но­ло­гии, что и ме­ню Messaging и Me, и вклю­чал ряд важ­ных из­менений. Ста­ло мож­но, во-пер­вых, в об­лас­ти уве­дом­лений и в глав­ном ме­ню ис­поль­зо­вать раз­ные знач­ки при­ло­жений, а во-вто­рых, щел­кать мы­шью по знач­кам уве­дом­лений и про­кру­чи­вать их мы­шью. Ин­тер­фейс то­же серь­ез­но уп­ро­стил­ся – ото­бра­жа­лись толь­ко эле­мен­ты ме­ню, флаж­ки, пе­ре­клю­ча­те­ли и мет­ки, и толь­ко в ме­ню ле­вой кноп­ки мы­ши; ме­ню пра­вой кноп­ки боль­ше не под­дер­жи­ва­лись. По­скольку ин­тер­фей­сы уве­дом­лений осно­вы­ва­лись на ме­ню, доступ к ним стал го­раз­до лег­че.

В Дал­ла­се мы со­вер­ши­ли ры­вок в про­ек­ти­ро­вании, дав­ший нам га­ран­тию пре­достав­ления со­об­ще­ст­ву бы­ст­ро­го и удоб­но­го досту­па к но­вой тех­но­ло­гии, ко­то­рая долж­на бы­ла вой­ти в ре­лиз Ubuntu 10.04 Lucid Lynx. Под­го­то­вив до­ку­мен­та­цию, мы на­ча­ли убе­ж­дать раз­ра­бо­чи­ков пред­лежа­щих при­ло­жений при­ме­нять эту тех­но­ло­гию. Мно­гие на­ча­ли пор­ти­ро­вание.

Ко­ди Со­мер­виль [Cody Somerville], Тед Го­улд [Ted Gould] и Джей­сон Смит [Jason Smith] вы­зва­лись нам по­мочь в ин­те­гра­ции ин­ди­ка­то­ров с панелью Gnome, соз­дав реа­ли­за­ции с по­мо­щью при­вя­зок C, Python и C#. Хор­хе Ка­ст­ро [Jorge Castro] по­яс­нял лю­дям, что имен­но мы де­ла­ли, а Орель­ен Га­то [Aure´lien Ga^teau] про­дол­жал свою от­лич­ную ра­бо­ту над KDE. За­тем по­шли са­ми при­ло­жения: Brasero, Gnome Bluetooth, Gnome Power Manager, Gnome Settings Daemon, XChat-Gnome, iBus, Nautilus, PolicyKit, Empathy, Gwibber и т. д. Все они бы­ли пор­ти­ро­ва­ны с ин­ди­ка­то­ра­ми уве­дом­лений, и вме­сте с Ubuntu во­шли в но­вую ин­фра­струк­ту­ру.

Ши­ро­кое со­об­ще­ст­во, к на­шей ра­до­сти, то­же ак­тив­но за­ин­те­ре­со­ва­лось но­вой тех­но­ло­ги­ей. Сис­тем­ный монитор, уве­дом­ления о мон­ти­ро­вании уст­ройств и ра­бо­чие про­стран­ст­ва – все по­лу­чи­ли но­вень­кие ин­ди­ка­то­ры, как и ап­пле­ты для ото­бра­жения по­го­ды и сня­тия эк­ран­ных сним­ков, и нам при­сла­ли за­плат­ки для Lernid, LottaNZB, Banshee и De´ja` Dup. Бо­лее то­го, нас обес­пе­чи­ли под­держ­кой ин­фра­струк­ту­ры ин­ди­ка­то­ров, встро­ен­нойтакже в AWN и Lubuntu.

Сис­тем­ные ин­ди­ка­то­ры

Функ­ция вос­про­из­ве­де­ния под­дер­жи­ва­ет Rhythmbox, а ско­ро бу­дет ра­бо­тать и с Banshee.

В прин­ци­пе, лю­бое при­ло­жение мо­жет при­менить тех­но­ло­гию ин­ди­ка­то­ров и по­мес­тить свой зна­чок в об­ласть уве­дом­лений; но у неко­то­рых при­ло­жений знач­ки при­сут­ст­ву­ют там всегда. Они на­зы­ва­ют­ся сис­тем­ны­ми ин­ди­ка­то­ра­ми; в ча­ст­но­сти, это ин­ди­ка­тор зву­ка (он ре­гу­ли­ру­ет уро­вень гром­ко­сти) и ин­ди­ка­тор пи­тания (по­ка­зы­ва­ет уро­вень за­ря­да ба­та­реи). Груп­па про­ек­ти­ро­вания ре­ши­ла при­нять­ся за них, и два из сде­лан­ных до­полнений за­слу­жи­ва­ют осо­бо­го упо­ми­нания.

В Ubuntu 10.04 по­пал но­вый ре­лиз кли­ен­та мик­ро­блог­гин­га Gwibber. Груп­па про­ек­ти­ро­вания Ubuntu со­чла, что мно­гие поль­зо­ва­те­ли хо­тят в те­чение дня под­клю­чать­ся к Twitter, и раз­ра­бо­та­ла ин­тер­фейс для пуб­ли­ка­ции со­об­щений пря­мо из ме­ню Me. Мож­но ра­бо­тать уда­лен­но, а по­чув­ст­во­вав, что на­стал мо­мент по­де­лить­ся чем-то с осталь­ным ми­ром, по­лу­чить в Me все сред­ст­ва для это­го. Мож­но вве­сти текст со­об­щения, и это со­об­щение бу­дет рас­про­странено че­рез все на­стро­ен­ные кли­ен­ты (на­при­мер, Twitter, Facebook и Identica).

Еще од­ной до­полнение – од­ну из са­мых дол­го­ждан­ных но­вых функ­ций в ре­ли­зе Ubuntu 10.10 Maverick Meerkat – по­лу­чи­ло ме­ню Sound. Мно­гие лю­бят ра­бо­тать под му­зы­ку, для че­го им на­до толь­ко ме­нять до­рож­ки и вклю­чать пе­ре­мот­ку ли­бо по­да­чу. Ко­нор Кар­рен [Conor Curran] встро­ил под­держ­ку этих функ­ций в ме­ню Sound, что­бы поль­зо­ва­те­ли мог­ли ви­деть на­звание воспро­из­во­ди­мой песни и поль­зо­вать­ся ор­га­на­ми управ­ления. Это ока­за­лось фан­та­сти­че­­ски удоб­ным и из­ба­ви­ло поль­зо­ва­те­лей от мно­же­ст­ва лишних щелч­ков мы­ши для вы­полнения про­стей­ших дей­ст­вий. Здесь, как и ранее, все ин­ди­ка­то­ры и функ­ции в об­лас­ти уве­дом­лений внут­ри ис­поль­зо­ва­ли од­ну и ту же тех­но­ло­гию.

Unity и ме­ню Global

На сам­ми­те раз­ра­бот­чи­ков Ubuntu в Бель­гии в мае 2010 го­да Марк Шатт­л­ворт пред­ста­вил про­ект Unity – но­вую гра­фи­че­скую обо­лоч­ку, ори­ен­ти­ро­ван­ную на нетбу­ки. Го­ри­зон­таль­ное про­стран­ст­во эк­ра­на ог­раниче­но, и дан­ный про­ект ори­ен­ти­ру­ет­ся на уст­рой­ст­ва с сен­сор­ным эк­ра­ном, ко­ли­че­­ст­во ко­то­рых рас­тет. Unity име­ет ряд клю­че­вых ком­понен­тов:

  • Launcher Про­кру­чи­вае­мый спи­сок знач­ков, ко­то­рый по­яв­ля­ет­ся внизу на ле­вой сто­роне эк­ра­на. Когда знач­ки съе­да­ют все эк­ран­ное про­стран­ст­во, всту­па­ет ме­тод «свер­ты­вания в гар­мош­ку», а когда поль­зо­ва­тель за­дер­жи­ва­ет кур­сор мы­ши над свер­ну­ты­ми знач­ка­ми, они вновь раз­во­ра­чи­ва­ют­ся. Это лег­кий спо­соб од­но­вре­мен­но­го за­пуска мно­же­ст­ва при­ло­жений с удоб­ным досту­пом к ним.
  • Dash Овер­лей, от­кры­ваю­щий­ся ав­то­ма­ти­че­­ски при щелч­ке по боль­шой кноп­ке Ubuntu в уг­лу эк­ра­на. Он бу­дет при­ме­нять­ся и в бу­ду­щих ва­ри­ан­тах ди­зай­на, но се­го­дня пре­достав­ля­ет поль­зо­ва­те­лям бы­ст­рый доступ к неко­то­рым по­все­днев­ным функ­ци­ям, на­при­мер, та­ким, как при­ло­жения и но­вое ПО.
  • Places В спи­ске Launcher есть кноп­ки для про­смот­ра раз­лич­ных ти­пов кон­тен­та (при­ло­жения, фай­лы, или, ска­жем, му­сор) с оди­на­ко­вы­ми ком­понен­та­ми поль­зо­ва­тель­ско­го ин­тер­фей­са; этот ин­ст­ру­мент на­зы­ва­ет­ся Places [Мес­та]. Функ­ция пол­но­стью про­грам­ми­руе­ма, и раз­ра­бот­чи­ки мо­гут соз­да­вать но­вые ти­пы мест – кста­ти, де­мо по­ка­зы­ва­ет, как ис­поль­зо­вать унифи­ци­ро­ван­ное по­ле по­ис­ка для за­про­сов к YouTube и по­ка­зу ви­део сред­ст­ва­ми Unity.
  • Ин­ди­ка­то­ры и уве­дом­ления Все ин­ди­ка­то­ры из со­ста­ва Ubuntu ис­поль­зу­ют­ся и в Unity, и так­же доступ­ны в верхней пра­вой час­ти ин­тер­фей­са.

Что­бы по­чи­ри­кать в Twitter пря­мо с ра­бо­че­го сто­ла, дос­та­точ­но щелк­нуть мы­шью.

Глав­ная цель Unity – мак­си­маль­ное ис­поль­зо­вание эк­ра­нной пло­ща­ди, что осо­бен­но ак­ту­аль­но для нетбу­ков. С уче­том это­го, часть ра­бо­ты пе­ре­шла в про­ект ме­ню Global, ис­поль­зую­щий ту же ин­фра­струк­ту­ру, что и ин­ди­ка­то­ры при­ло­жений, что­бы от­де­лить ме­ню от при­ло­жения и по­мес­тить его в верх­нюю панель (по­доб­но Mac OS X). Кро­ме то­го, когда ок­но при­ло­жения мак­си­ми­зи­ру­ет­ся, стро­ка ок­на сво­ра­чи­ва­ет­ся в панель, и кноп­ки ок­на по­яв­ля­ют­ся на панели ря­дом с пунк­та­ми ме­ню. Это эко­но­мит по­ра­зи­тель­но мно­го места на эк­ране.

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

Ubuntu 11.04

Пять ме­ся­цев спустя, на сам­ми­те раз­ра­бот­чи­ков Ubuntu в Ор­лан­до, штат Фло­ри­да, Марк Шатт­л­ворт сде­лал од­но из са­мых важ­ных за­яв­лений в ис­то­рии Ubuntu: в пред­стоя­щем ре­ли­зе Ubuntu 11.04, с ко­до­вым именем Natty Narwhal, ин­тер­фейс Unity бу­дет стан­дар­том на всем обо­ру­до­вании, спо­соб­ном его под­дер­жи­вать. Для про­че­го обо­ру­до­вания бу­дет при­менен ре­зерв­ный 2D-ва­ри­ант – ныне ис­поль­зуе­мый двух­панель­ный ин­тер­фейс Gnome.

Это ста­ло гран­ди­оз­ной но­во­стью для Ubuntu и для про­ек­та Gnome под ним. Для Ubuntu это был су­ще­ст­вен­ный шаг впе­ред, к но­вой тех­но­ло­гии, несу­щей поль­зо­ва­те­лю рас­ши­рен­ные воз­мож­но­сти и го­то­вый ин­тер­фейс для ши­ро­ко­го диа­па­зо­на уст­ройств. Но неко­то­рые чле­ны про­ек­та Gnome воспри­ня­ли эту но­вость как удар. К то­му мо­мен­ту уже бы­ла про­де­ла­на боль­шая ра­бо­та про про­ек­ту Gnome Shell, и его невк­лю­чение в со­став Ubuntu расце­ни­ли как при­знак ухо­да ди­ст­ри­бу­ти­ва от Gnome. Не­ко­то­рые да­же вы­ска­за­ли об­винения в том, что этот пе­ре­ход фак­ти­че­­ски пред­став­ля­ет со­бой размежевание с Gnome.

На са­мом де­ле, все не так. Unity – это обо­лоч­ка для Gnome, но не Gnome Shell. Unity оста­ет­ся на плат­фор­ме Gnome, и сле­дую­щая ин­кар­на­ция вклю­чит все ком­понен­ты Gnome, нуж­ные раз­ра­бот­чи­кам, что­бы их ПО ра­бо­та­ло сра­зу по­сле уста­нов­ки. Ос­та­нут­ся и все по­лю­бив­шие­ся поль­зо­ва­те­лям при­ло­жения Gnome. Един­ст­вен­ным из­менением бу­дет то, что Unity бу­дет обо­лоч­кой по умол­чанию. Unity – это про­сто дру­гая обо­лоч­ка, соз­дан­ная по ана­ло­гии с тем, как соз­да­ются иные ин­тер­фей­сы (на­при­мер, MeeGo). Это про­сто дру­гое «смот­ро­вое ок­но», че­рез ко­то­рое мож­но ви­деть ве­ли­ко­леп­ную плат­фор­му Gnome.

По­сле это­го объ­яв­ления выс­ший при­ори­тет был от­дан удоб­ст­ву досту­па для лю­дей с фи­зи­че­­ски­­ми недостат­ка­ми. Сей­час под­держ­ка спе­ци­аль­ных воз­мож­но­стей в Unity до­воль­но сла­ба (чи­тай: ее фак­ти­че­­ски нет), а удоб­ст­во ис­поль­зо­вания – как-никак фи­ло­со­фия Ubuntu. Люк Ела­вич [Luke Yelavich] из груп­пы разви­тия ра­бо­че­го сто­ла был на­зна­чен в DX-груп­пу, ко­ди­рую­щую Unity, чтобы заняться дан­ной под­держ­кой. Ему по­мо­га­ет Гэ­ри Лас­кер [Gary Lasker], и их деятельность син­хронизи­ру­ет­ся с деятельно­стью ко­ман­ды Ubuntu Accessibility Team, ко­то­рая занима­ет­ся тес­ти­ро­ванием, сор­ти­ров­кой оши­бок и при­данием им при­ори­те­тов, а так­же разъ­яснитель­ной ра­бо­той. Вы­даю­щая­ся доступ­ность – это тре­бо­вание к Unity, без со­блю­дения ко­то­ро­го оно не по­па­дет в Ubuntu 11.04.

Ка­че­­ст­во – то­же выс­ший при­ори­тет. Нейл Пэй­тел и дру­гие чле­ны ко­ман­ды Unity лез­ли из ко­жи вон, под­го­тав­ли­вая ин­тер­фейс для вклю­чения в ре­лиз 10.10 для нетбу­ков, но несмот­ря на их уси­лия, поя­ви­лись про­бле­мы с ка­че­­ст­вом, а так­же от­че­ты об ошиб­ках. Когда объ­яв­ление бы­ло сде­ла­но впер­вые, ко­ман­да упо­ва­ла, что от­че­ты о боль­шин­ст­ве оши­бок уже по­лу­че­ны, и сей­час про­во­дит боль­шую часть ра­бо­че­го вре­мени, ре­шая про­бле­мы ка­че­­ст­ва.

На­конец, хо­тя кое-кто бес­по­ко­ил­ся о том, что про­ект Gnome Shell в Ubuntu 11.04 бу­дет ут­ра­чен и за­быт, в ар­хи­вах он под­дер­жи­ва­ет­ся. Хо­тя он не бу­дет сре­дой по умол­чанию для Ubuntu и не по­па­дет на диск, мы в Ubuntu ве­рим, что поль­зо­ва­те­ли по­лу­чат в на­шем ди­ст­ри­бу­ти­ве пе­ре­до­вой ин­тер­фейс Gnome Shell. При бы­ст­ром досту­пе к ПО че­рез Ubuntu Software Centre для по­лу­чения и за­пуска это­го ин­тер­фей­са доста­точ­но од­ной про­стой опе­ра­ции.

Ес­те­ст­вен­но, когда но­вость гря­ну­ла, оз­ву­чи­ва­лись са­мые раз­ные мнения, но боль­шин­ст­во бы­ло осто­рож­но-оп­ти­ми­стич­ным. По су­ти, лю­ди го­во­ри­ли: «Ес­ли вы спра­ви­тесь, то бу­дет здо­ро­во». Соз­да­ва­лось впе­чат­ление, что боль­шин­ст­во поль­зо­ва­те­лей ве­ри­ли в этот ди­зайн, но про­бле­мы с про­из­во­ди­тель­но­стью, имев­шие ме­сто в пер­вом ре­ли­зе Unity, за­став­ля­ли их нервничать. Бу­дем на­де­ять­ся, что боль­шая ра­бо­та, про­ве­ден­ная по ре­шению этих про­блем, воз­вра­тит поль­зо­ва­те­лям ве­ру.

Сти­вен Во­эн-Ни­колс [Steven Vaughan-Nichols], ува­жае­мый жур­на­лист, который при­сут­ст­во­вал на сам­ми­те раз­ра­бот­чи­ков Ubuntu в мо­мент объ­яв­ления о Unity, вы­вел из него сле­дую­щее за­клю­чение: «Смо­гут ли они сде­лать это? Ду­маю, шанс у них есть. Я знаю, что тра­ди­ци­он­ный ра­бо­чий стол Linux, при всей мо­ей люб­ви к нему, поч­ти достиг предела по­пу­ляр­но­сти. Про­грам­ми­сты Ubuntu долж­ны про­вес­ти ог­ром­ную ра­бо­ту, что­бы окончательно его достичь. Тогда мы по­смот­рим, най­дет ли ко­ман­да Ubuntu но­вый спо­соб до­бить­ся еще боль­шей по­пу­ляр­но­сти на­столь­ной Linux».

Сти­вен попал в самую точ­ку. Это серь­ез­ное и, несо­мнен­но, рис­ко­ван­ное из­менение, од­нако у Ubuntu дол­гая ис­то­рия под­стра­хо­вы­вания от рис­ков во имя удоб­ст­ва поль­зо­ва­те­лей. В кон­це кон­цов, когда уля­гут­ся все жур­на­ли­ст­ские спо­ры и дис­куссии в со­об­ще­ст­ве, ре­шение бу­дут принимать поль­зо­ва­те­ли; им-то и су­дить, при­вле­ка­тельнее ли но­вый ин­тер­фейс своих аль­тер­на­ти­в.

Ин­тер­фейс Unity го­тов к ра­бо­те на ши­ро­ком диа­па­зо­не уст­ройств.

За­клю­чение

Уро­вень кон­цен­тра­ции на ди­зайне, достиг­ну­тый в Ayatana и в ито­ге по­пав­ший в Ubuntu, дей­ст­ви­тель­но впе­чат­ля­ет. По хо­ду работ возника­ли слож­но­сти: вы­да­ча ко­да за­паз­ды­ва­ла, ре­шения принима­лись при неоп­ти­маль­ном взаи­мо­дей­ст­вии раз­ра­бот­чи­ков с со­об­ще­ст­вом, а часть вы­бра­нных эк­ран­ных обо­ев оказалась скучной. Од­на­ко все это – на­ко­п­лен­ный опыт: и для со­об­ще­ст­ва, и для ди­зайнеров Canonical. Ошиб­ки – то­же непло­хо, коль ско­ро на них учат­ся, а дан­ная си­туа­ция – тот са­мый слу­чай.

Ubuntu вы­гля­дит фан­та­сти­че­­ски, и пред­стоя­щий пе­ре­ход на Unity на­чи­на­ет но­вую эру в ди­зайне ин­тер­фей­са; бу­дет крайне ин­те­рес­но уви­деть, как из­менит­ся Ubuntu в бли­жай­шие два го­да. Благодаря ко­ман­де ди­зайнеров, рас­ту­щему со­об­ще­ст­ву и обшир­ной груп­пе раз­ра­бот­чи­ков и тес­ти­ров­щи­ков все воз­мож­но!

Под­клю­чай­тесь!

Ес­ли вы хо­ти­те сыг­рать роль в про­ек­те Ayatana, от про­ек­ти­ро­ва­ния и раз­ра­бот­ки до на­пи­са­ния до­ку­мен­та­ции, вот не­сколь­ко по­лез­ных ре­сур­сов:

  • http://unity.ubuntu.com Это – ос­нов­ной сайт про­ек­та Unity, со­дер­жа­щий мас­су све­де­ний о спо­со­бах, которыми вы можете принять уча­стие или оказать содействие.
  • http://launchpad.net/~ayatana Под­клю­чи­тесь к ко­ман­де Ayatana и под­пи­ши­тесь на поч­то­вую рас­сыл­ку.
  • irc.freenode.net (#ayatana) Ка­нал об­су­ж­де­ний Ayatana.
  • http://design.canonical.com Ссыл­ка для под­клю­че­ния к груп­пе про­ек­ти­ро­ва­ния Canonical, с под­роб­ной ин­фор­ма­ци­ей о про­ек­тах

Ubuntu и Wayland

Не­дав­но Марк Шатт­л­ворт, осно­ва­тель про­ек­та Ubuntu, анон­си­ро­вал план пе­ре­во­да ди­ст­ри­бу­ти­ва на гра­фи­че­­ский сер­вер Wayland, раз­ра­бо­тан­ный Кри­стиа­ном Хогс­бер­гом. В сво­ем бло­ге Марк на­пи­сал: «Сле­дую­щим важ­ным ша­гом для Unity дол­жен стать пе­ре­ход на Wayland, сис­те­му управ­ления дис­пле­ем на осно­ве OpenGL. Мы хо­те­ли бы воспри­нять Wayland как мож­но рань­ше, по­сколь­ку боль­шая часть ра­бо­ты, про­во­ди­мой над uTouch и дру­ги­ми сис­те­ма­ми вво­да, ка­са­ет­ся Wayland, и это об­ласть, где мы способны внести по­лез­ный вклад.

Мы уве­ре­ны в том, что со­храним спо­соб­ность за­пуска X-при­ло­жений в ре­жи­ме со­вмес­ти­мо­сти, по­это­му планируе­мый шаг не по­тре­бу­ет пе­ре­строй­ки все­го ми­ра сво­бод­но­го ПО для на­столь­ных ПК. Причем этот шаг не обязательно всем вы­пол­нять од­но­вре­мен­но: мы по-прежнему бу­дем ин­ве­сти­ро­вать в 2D-ин­тер­фей­сы для Ubuntu, хо­тя и ве­рим, что Unity – со все­ми его за­ви­си­мо­стями GL – это луч­ший ин­тер­фейс на­столь­ных ПК. Мы по­мо­жем Gnome и KDE с этим пе­ре­хо­дом: для них нет ника­ких при­чин не быть там уже на стар­те».

Wayland идет на сме­ну дрях­лею­щей тех­но­ло­гии X Win­dow. За по­следние го­ды изрядная часть ее функ­ций вли­лась в яд­ро Linux, а Wayland пред­ла­га­ет бо­лее изящ­ный спо­соб об­ра­бот­ки вво­да, со­бы­тий ри­со­вания и ком­по­зи­ции, ис­поль­зуе­мых гра­фи­че­­ски­­ми при­ло­жения­ми. Wayland да­ет разра­бот­чи­кам боль­ше воз­мож­но­стей, по­зво­ляю­щих внедрить но­вые раз­ра­бот­ки в яд­ро.

Все это не по­влия­ет на ин­тер­фейс поль­зо­ва­те­ля; Wayland ле­жит ниже Unity, но по­зво­лит Unity ви­зуа­ли­зи­ро­вать гра­фи­ку на эк­ране с луч­шим ка­че­­ст­вом.

Ин­ди­ка­то­ры и ме­ню Global

Тех­но­ло­гия ин­ди­ка­то­ров при­ло­жений и сис­те­мы осно­вы­ва­ет­ся на Status Notifier, соз­дан­ным ко­ман­дой KDE и заяв­лен­ным freedesktop.org как офи­ци­аль­ный стан­дарт. Ис­хо­дя из это­го, был соз­дан ин­ст­ру­мент dbusmenu, по­зво­ляю­щий при­ло­жениям по­сы­лать свои объ­ек­ты ме­ню и уве­дом­ления че­рез об­щую сис­тем­ную ши­ну (D-BUS) , что­бы они мог­ли ото­бра­зить­ся где-ли­бо по­ми­мо ок­на.

Вкрат­це это оз­на­ча­ет, что когда при­ло­жение KDE или Gnome соз­да­ет эле­мент ме­ню или уве­дом­ления, оно от­сы­ла­ет че­рез dbusmenu диа­грам­му то­го, что необходимо ото­бра­зить. За­тем дру­гое при­ло­жение мо­жет ото­бра­зить ме­ню при­ло­жения или его знач­ки уве­дом­лений там, где это уме­ст­но – на­при­мер, в панели.

Для ме­ню при­ло­жений, при­ло­жение не нуж­но ме­нять, ес­ли оно ис­поль­зу­ет ин­ст­ру­мен­та­рий GTK или Qt, по­то­му что струк­ту­ра при­ло­жения лег­ко пред­ска­зуе­ма: оно мо­жет со­дер­жать толь­ко оп­ре­де­лен­ный на­бор вид­же­тов, и ком­понент dbusmenu понима­ет, как с ним об­ра­щать­ся. Для знач­ков уве­дом­лений, раз­ра­бот­чи­ки впих­ну­ли в эти ме­ню все ти­пы раз­но­об­раз­ных вид­же­тов. Что­бы ис­поль­зо­вать но­вую сис­те­му, обыч­ное при­ло­жение GTK или Gnome тре­бу­ет пе­ре­дел­ки (при­ло­жения Qt и KDE ее уже под­дер­жи­ва­ют).

Од­но из пре­иму­ществ тех­но­ло­гии – по­лу­чение при­ло­жения­ми KDE, ра­бо­таю­щи­ми в сре­де GTK на­по­до­бие Gnome или Unity, воз­мож­но­сти ви­зуа­ли­за­ции сво­их ме­ню и уве­дом­лений – так, как ес­ли бы они бы­ли встро­ен­ны­ми вид­же­та­ми GTK. Ана­ло­гич­но, при­ло­жениям GTK/Gnome, ра­бо­таю­щим в сре­дах Qt/KDE, да­ет­ся воз­мож­ность ви­зуа­ли­за­ции их ме­ню и уве­дом­лений, как буд­то они – вид­же­ты Qt. Это боль­шой плюс при ин­те­гра­ции при­ло­жений в чу­жеро­дную сре­ду.

Техниче­­­ские де­та­ли Unity

Изначально предполагалось фор­ми­ро­ва­ть внут­рен­нюю ин­фра­струк­ту­ру Unity на осно­ве ин­ст­ру­мен­таль­ных на­бо­ров Clutter и Mutter. Пер­вый ви­зуа­ли­зи­ру­ет кон­тент на эк­ране, а вто­рой – это ре­ин­кар­на­ция в но­вом по­ко­лении окон­но­го менед­же­ра Metacity, ко­то­рый ра­бо­та­ет с Clutter. При­чи­на их вы­бо­ра очень про­ста: они рас­смат­ри­ва­лись как сле­дую­щий шаг в соз­дании 3D-сред для об­ра­бот­ки плав­ных анима­ций и пе­ре­хо­дов.

К со­жа­лению, по ме­ре своей ра­бо­ты над ко­дом ко­ман­да Unity убеди­лась в ог­раничен­ности Clutter и Mutter. С вы­хо­дом ре­ли­за Ubuntu 10.10 бы­ло объ­яв­ле­но, что для по­вы­шения про­из­во­ди­тель­но­сти Clutter/Mutter бу­дут пор­ти­ро­ва­ны на Compiz. Нейл Пэй­тел [Neil Patel], один из ве­ду­щих раз­ра­бот­чи­ков Unity, при­вел в свя­зи с этим та­кие до­во­ды:

«В по­следнем цик­ле мы тра­ти­ли вре­мя, бо­рясь с недо­че­та­ми Mutter, пускаясь на хит­ро­сти, что­бы пре­сечь по­сто­ян­ное пе­ре­кра­ши­вание, и пы­та­ясь по­кон­чить с фун­да­мен­таль­ны­ми про­бле­ма­ми про­из­во­ди­тель­но­сти в Clutter. Unity воз­дей­ст­­ву­ет на Mutter ина­че, чем Gnome Shell, и мы не мог­ли бы су­ще­ст­­вен­но из­менить Mutter и Clutter без ущер­ба для Gnome Shell, доста­вив при этом что-нибудь для Natty Narwhal. Тем не менее, я бы ни се­кун­ды не ко­ле­бал­ся, ре­ко­мен­дуя Clutter для при­ло­жений ра­бо­че­го сто­ла. Это от­лич­ный на­бор ин­ст­ру­мен­тов с класс­ным API. Про­сто мы счи­та­ем, что для построения окон­но­го менед­же­ра/ком­по­нов­щи­ка/обо­лоч­ки тре­бу­ет­ся нечто бо­лее низ­ко­уровневое, и ре­ши­ли вы­брать свой путь».

Ин­тер­фейс Unity, ко­то­рый поя­вит­ся в Ubuntu 11.04 Natty Narwhal, бу­дет использовать дви­жок Compiz, и он уже по­ка­зал зна­чи­тель­ный рост про­из­во­ди­тель­но­сти.

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию