Tygodnik KDE — aKademy 2007: Dzień drugi
15 lipca 2007, pbm
aKademy 2007 nadal trwa! Niedziela - drugi dzień konferencji przyniósł jeszcze więcej wykładów. Poniżej relacja.
Lubos Lunak o kompozycji w KWin
Lubos wyjaśnił, że jego wykład będzie składał się z dwóch części: pierwszej - “nudnej” oraz “innej”. Zaczął od tej nudnej - wyjaśnił jak działa kompozycja w menedżerach okien i do czego można ją wykorzystać.
Część “nudna”
Normalnie, serwer X zleca oknom odrysowywanie ich widocznej części. Części okien, które są zasłonięte przez inne okna lub znajdują się poza ekranem nie są odrysowywane. W trybie kompozycji wszystkie okna są odrysowywane na bitmapie znajdującej się poza ekranem, po czym jest ona przenoszona na ekran. Menedżer kompozycji może wykonywać na oknach (przed ich wyświetleniem) różne efekty graficzne, takie jak dodawanie cieni, przezroczystości, obracanie ich, efekt eksplozji czy kilkakrotne odrysowanie. Okna nie muszą być także odrysowywane za każdym razem podczas przenoszenia ponieważ ich obraz cały czas dostępny jest w buforze karty graficznej. Takie rozwiązanie ma także wady - każde okno musi znajdować się w buforze, co zajmuje pamięć karty graficznej. Dodatkowo proces rysowania okna może trać dłużej, nawet jeśli wyłączone są wszystkie efekty graficzne.
Część “inna”
Jak to wszystko wykorzystać? Techniki takie jak XGL i AIGLX są wykorzystywane do kompozycji. Według Lubosa są one podobne - mają tylko inne błędy. Lubos rozpoczął projekt kwin-composite jako oddzielną gałąź, ponieważ oczekiwał, że zmiany znacznie zdestabilizują KWin. Jak się okazało, osobna gałąź wcale nie była potrzebna. Zmiany związane z kompozycjami nie stwarzają problemów w normalnym działaniu KWin.
KDE 3.x także obsługuje kompozycję, opartą w tym przypadku na rozszerzeniu X.org - XRENDER. Teraz zaś dzięki XGL i AIGLX możliwe jest wykonywanie prawdziwych kompozycji, czego dowodem są projekty takie jak Compiz i Beryl. Skupiają się one w głównej mierze na efektach graficznych. Lubos stwierdził, że łatwiej jest dodać obsługę kompozycji do dojrzałego menedżera okien niż funkcje menedżera okien do menedżera kompozycji. Opowiedział też o szczegółach technicznych oraz o obecnym stanie KWin. API efektów jest już w miarę stabilne, dzięki czemu wtyczki można pisać bez znajomości OpenGL czy XRENDER. Zaprezentował efekt zoom-in stworzony jedynie za pomocą 50 linii kodu źródłowego. KWin jest już dość stabilny i jest dostępnych kilka wtyczek, ale pozostało jeszcze wiele pracy nad wyglądem i zachowaniem. Lubos chce skupić się na użyteczności zamiast na efektach i potrzebuje pomocy przy pisaniu wtyczek. Jeśli znajdzie się ktoś z umiejętnościami graficznymi chętny do pomocy, Lubos na pewno będzie wdzięczny.
Josef Spillner, GHNS2 i gry
Josef omówił zagadnienie wymiany danych oraz wspomniał o grach dla KDE 4.
Aktualnie KDE korzysta z biblioteki GetHotNewStuff, która pozwala na pobieranie i wysyłanie danych do/z aplikacji. Większość aplikacji wykorzystuje GHNS tylko do pobierania danych. We bibliotece brakowało kilku funkcji, dlatego rozpoczęto prace nad GHNS2 dla KDE 4. GHNS2 powstaje we współpracy z FreeDesktop.org. Niestety projekt GNOME nie jest zbyt aktywny w tym obszarze.
GHNS2 składa się z ponad 3500 linii kodu źródłowego po stronie serwera, oferując całą niezbędną infrastrukturę pobierania i wysyłania danych, metadanych (takich jak ocen) oraz system wersjonowania. Biblioteka nie jest jeszcze kompletna, gdyż programiści aplikacji oczekują na wielu nowych funkcji, ale ostatnia wersja z repozytorium Subversion posiada już wszystko co niezbędne. Programiści GHNS2 oczekują na komentarze i pomysły. Komentarze programistów KDE-Edu i KDE-games okazały się bardzo cenne i dzięki nim zostały wprowadzone funkcje takie jak obsługa kont, wsparcie dla OpenID oraz poprawiono bezpieczeństwo.
Oczywiście po stronie klienta zostało dodana obsługa wszystkich nowości znajdujących się po stronie serwera. Zostało stworzone także nowe, łatwiejsze w użyciu API oraz nowy system konfiguracji. Josef wyjaśnił, że potrzeby różnych aplikacji mogą się różnić, dlatego ważne są możliwości konfiguracyjne.
Jak na razie działa: wysyłanie i pobieranie plików, niektóre okna dialogowe i przyciski do wykorzystania w aplikacjach. Zaplecze (backend) jest już prawie w pełni gotowe; do zrobienia pozostało jeszcze wiele w dziedzinie interfejsu graficznego. Josef zapowiedział także integrację z Plasmą. Część prac związanych z tym zostało już wykonanych.
Następnie Josef opowiedział o elementach specyficznych w architekturze oraz o API GHNS2. Jak już wcześniej było wspominane, API tego frameworku zostało tak zaprojektowane, żeby było jak najprostsze w użyciu, dzięki czemu prawie wszystkie podstawowe zadania można zapisać w jednym wierszu kodu. Jednocześnie system pozwala na dosyć szczegółową kontrolę jeśli zajdzie taka potrzeba.
Kolejną nowością jest możliwość współdzielenia danych pomiędzy aplikacjami uzyskana dzięki oddzieleniu GHNS2 od konfiguracji aplikacji. Josef kontynuował prezentację pokazując zrzuty ekranów kilku predefiniowanych interfejsów m.in. chmurę tagów. Następnie wyjaśnił jak doszło do powstania trybu demona. Tryb ten pozwolił na integrację GHNS2 ze Strigi oraz usługami sieciowymi
Powołując się na słowa Josefa, można stwierdzić, iż społeczność skupiona wokół GHNS2 jest bardzo aktywna i w imponującym stopniu innowacyjna. Poprzez bliską współpracę z programistami aplikacji wykorzystującymi GHNS, wspaniałe pomysły szybko przeradzają się w linijki kodu. Josef wzywa nawet do jeszcze większej aktywności i przedstawienia jeszcze większej ilości pomysłów - apeluje do wszystkich tych, którzy potencjalnie chcieliby używać frameworku GHNS2 o jak najszybszy kontakt!
Josef wykorzystał ostatnie parę minut jego wykładu na opowiedzenie nam o systemie GGZ opracowywanym przez społeczność KDE Games. Ideą kryjącą się za tym systemem jest możliwość odbywania rozgrywek on-line: zwyczajne, nieskomplikowane, dobrze wyglądające, zajmujące gry z możliwością grania on-line z innymi ludźmi. By skonsolidować format protokołów internetowych oraz plików, autorzy postanowili znów współpracować z organizacją FreeDesktop.org aby uzyskać pewność, że odpowiednie aplikacje ze środowiska GNOME będą interoperować i współgrać z aplikacjami środowiska KDE. Popierając tworzenie wielu implementacji twórcy gier chcieliby aby API było wspólne, uzyskując dzięki temu bardzo duży postęp w relatywnie krótkim czasie. Założenia są wciąż luźne a najwięcej pracy jest związane z graficznym interfejsem użytkownika: tworzenie nowych widżetów będących metaforami nowych możliwości a także integracja ich z aplikacjami.
W kierunku semantycznego KDE
Tudor Groza, badacz z the Digital Enterprise Research Institute, wyjaśnił zarówno techniczne jak i społeczne aspekty prac nad semantycznym pulpitem wykonywanych w ramach projektu Nepomuk. Swój wykład rozpoczął od przedstawienia historii badań nad semantyką, które rozpoczęto już w 1945. Groza następnie wyjaśnił ograniczenia techniczne, które nie pozwoliły dotychczas na stworzenie społecznego pulpitu kończąc tę część wykładu stwierdzeniem, że większość technik potrzebnych do budowy społecznego pulpitu jest już dzisiaj dostępna (np.: strony Wiki, społeczności internetowe, WWW) i przyszedł czas aby dokonać ich integracji.
Tudor następnie przeszedł do omawiania szczegółów architektury semantycznego pulpitu, skupiając się na technologii RDF i wyjaśnił czym są ontologie. Ontologiami nazywamy konceptualizacje a także definiowanie idei, relacji i właściwości świata. RDF jest technologią służącą do eksponowania ontologii a na dodatek jest ona bardzo prosta. Bloki dokumentów RDF składają się z trójek zawierających temat, predykat i obiekt np.:
Temat: Jan
Predykat: Wiek
Obiekt: Czterdzieści
lub:
Temat: Jan
Predykat: Lubi
Obiekt: Marysię
Trudnością skłaniającą do dalszych badań jest zarządzanie wiedzą, a w szczególności siecią społeczno-semantyczną. Przejście od indywidualnego zarządzanie informacją poprzez rozproszone zarządzanie aż do prawdziwej społecznej sieci jest wielkim krokiem naprzód. Obecnie istnieją oddzielne techniki mogące pomóc w budowie społecznej sieci, jak sieci P2P, wortale społeczności internetowych, procesory języków naturalnych. Do osiągnięcia sukcesu niezbędna jest jednak współpraca między nimi. Obecnie można już zbudować semantyczny pulpit, ale z czasem nastąpi jego ewolucja w społeczno-semantyczne biurko.
Takie podejście pozwoli na usprawnienie współpracy; członkowie będą mogli dzięki temu nie tylko zarządzać wspólnymi perspektywami (widokami) w sieci ale także tworzyć podspołeczności. Pozwoli to w przyszłości na dzielenie się wiedzą i danymi, które jest nie tylko jednym z najważniejszych czynników wpływających na skalę eksplozji informacyjnej ale także rosnącą przestrzenią między światem wiedzy a ciemnością niezrozumienia.
Projekt Nepomuk, ufundowany przez UE kwotą 11,5 mln Euro, składa się z 16 różnych organizacji. Uczestnikami projektu są zarówno tak duzi komercyjni gracze jak IBM, jak też uniwersytety oraz pomniejsze firmy (np. Mandriva) oraz oczywiście sam projekt KDE. Wspólnym celem członów projektu Nepomuk jest zdefiniowanie, ustandaryzowanie i zaimplementowanie technik tworzenia i współdzielenia metadanych.
Nepomuk-KDE
W dalszej części wykładu Tudor przedstawił kilka propozycji i zrzutów ekranu obrazujących czym powinien być semantyczny pulpit i jak obecnie wygląda. Następnie zagłębił się w tematykę aplikacji KDE przygotowywanych w ramach projektu Nepomuk. Podstawy implementacji Nepomuk dla KDE są obecnie gotowe i pozwalają na przechowywanie metadanych wraz z ustandaryzowanymi ontologiami. Obecnie są prowadzone prace w kierunku integracji z poszczególnymi aplikacjami wchodzącymi w skład biurka KDE oraz przeniesienia technik wykorzystywanych w projekcie Nepomuk do podstawowych bibliotek środowiska KDE. Kolejnym krokiem będzie stworzenie narzędzi potrzebnych do analizy i przeszukiwania metadanych by ostatecznie zająć się realizacją funkcji łączenia danych z kilku różnych źródeł oraz współdzielenia metadanych.
Wnioski
Współpraca pomiędzy programistami projektów Nepomuk i KDE jest przyjemnością dla obu zespołów; według Tudora społeczność KDE jest bardzo otwarta. Pomimo tego prezentowanie nowych technik następuje stosunkowo wolno co nie sprzyja przekonywaniu użytkowników do korzystania z rozwiązań Nepomuk. Dla tych ostatnich ważniejsze od odległych wizji są techniki pozwalające rozwiązywać ich obecne problemy.
We wtorek rozpocznie się sesja BoF (Birds of a Feather), podczas której będzie omawiane wykorzystanie i implementacja Nepomuka w aplikacjach KDE co być może pozwoli na zainteresowanie kilku programistów i przyciągnięcie ich do projektu.
Inne dyskusje
Podczas aKademy 2007 zostanie podjętych wiele innych rozmów poruszających zarówno tematy związanych z poszczególnymi platformami. Będą prowadzone przez Holgera Schroedera (Windows), Benjamina Reeda (Mac OS X) oraz Stefana Telemana (Solaris). Będą miały też miejsce rozmowy dotyczące poszczególnych dystrybucji GNU/Linux takich jak: Gentoo, Kubuntu czy też Fedora. Nagrania i slajdy z tych prezentacji oraz rozmów można znaleźć na stronach aKademy 2007. Nie zapomnijcie ich obejrzeć!
Komentarze (RSS) | Trackback (URI)
Liczba komentarzy: 3
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>


> Projekt Nepomuk, ufundowany przez UE kwotą 11,5 Euro
Skąpa jest ta UE, nie powiem…
Unia dała tylko 11,5 Euro, czy to jakaś literówka?
Zerknałem w oryginał - 11.5 miliona Euro