ubuntuusers.de

„Ayatana trägt Früchte“ – Über Ubuntu-Indikator-Menüs und NotifyOSD

ubuntu_old.png

Als „Ayatana“ bezeichnet Mark das NotifyOSD in Kombination mit den Indikatormenüs. Sie sollen dem Benutzer ein Bewusstsein davon verschaffen, was außerhalb der gerade benutzten Anwendung abläuft.

Einleitung

Bildschirmfoto-Idikator1.png
Statusindikator - hiermit kann man unter anderem
auch Facebook- und Twitter-Nachrichten absenden

Als Ayatana bezeichnet Mark Shuttleworth in seinem Blog 🇬🇧 ein auf einen längeren Zeitraum angelegtes Projekt. Er rechnet damit, dass das Projekt die volle Reife erst mit Ubuntu 12.04 LTS erreichen werde. Unter diesem Namen werden die Benachrichtigungsfelder (NotifyOSD) und Indikatormenüs zusammengefasst. Während die Benachrichtigungsanzeige alleine vielleicht wenig sinnvoll erscheint, da sie nicht interaktiv ist, entwickelt sie ihren Sinn erst in Kombination mit den Indikatormenüs. Diese Benachrichtigungsanzeige ist nur dazu gedacht, den Anwender dezent auf ein aktuelles Ereignis hinzuweisen. Wenn dieser sich gerade allerdings auf etwas anderes konzentrieren möchte, kann er sie einfach ignorieren – sogar Mausklicks „durch sie hindurch“ sind möglich. Wenn der Benutzer sich allerdings einer solchen Benachrichtigung annehmen möchte, kommen die sogenannten Indikatormenüs ins Spiel: Sie sind interaktiv, das heißt, dass der Benutzer direkt über sie zu dem Programm mit einem Ereignis gelangen kann. Auch wenn man sich gerade nicht an seinem Platz befindet, sollen die Indikatormenüs praktisch sein. Verpasst man hier eine Meldung des NotifyOSD, kann man die Indikatoren einfach aufrufen, um nach vergangenen Ereignissen zu schauen.

Ziele

Mark hofft, dass später auch GNOME und KDE diese Arbeit übernehmen würden. Er gibt aber auch noch weitere Ziele an:

  • Unterstützung von GNOME und KDE: Beide Desktopumgebungen sind wichtig für Ubuntu. Unter anderem könnte es aber zum Beispiel auch der Fall sein, dass ein Anwender eine GNOME-Anwendung unter Kubuntu verwenden möchte bzw. umgekehrt, weshalb APIs und Bibliotheken, die in beiden Umgebungen arbeiten, bereitgestellt werden sollen.

  • Zugänglichkeit: Indikatoren sind ein kritisches Element, denen besondere Beachtung geschenkt werden sollte. Sie zeigen an, ob man online ist, wie spät es ist, wie lange die Batterie noch halten wird usw – dies alles sind wichtige Grundfunktionen, bei denen sichergestellt werden muss, dass sie auch von Leuten mit visuellen und/oder anderen Behinderungen oder Einschränkungen soweit wie möglich zugänglich sind.

  • Vertrautheit und Innovation: Wie immer sind dies zwei Punkte, die immer gewisse Spannungen beherbergen. Innovationen könnten freier Software helfen, weiter nach vorne zu kommen. Allerdings birgt es auch wieder das Risiko, die Gewohnheiten und Erwartungen der Leute nicht stark genug zu beachten.

  • Einheitlichkeit und Benutzbarkeit: Man will ein Ergebnis, welches im großen Ganzen besser benutzbar ist, auch wenn dadurch Individualität verloren gehen könnte.

  • Rationalisierung: Es gibt zu viele Indikatoren, deren Zweck nicht immer klar ist. Auch gibt es zu viele Indikatoren von unterschiedlichen Anwendungen, die alle ungefähr das Gleiche tun, aber auf zu unterschiedlichem Wege. Der Wert der Indikatoren wird erhöht, wenn es weniger von ihnen gäbe und diese offensichtlicher zu verstehen sind.

Pläne

Verschiedene Ideen sollen hierbei aufgegriffen werden schreibt Mark weiter.

  • D-Bus soll als einheitliche Kommunikationsschnittstelle verwendet werden. Dadurch soll es unter anderem auch möglich sein, mit anderen Programmen die Benachrichtigungsanzeigen auswerten zu können. Natürlich wäre dadurch auch eine bessere Portabilität zwischen verschiedenen Desktopumgebungen gewährleistet.

  • Eine festgelegte Positionierung soll für ein – auch an anderen PCs – gewohntes Arbeitsgefühl sorgen. Man wird die Indikatoren rechts oben in den GNOME-Desktop integrieren. Es wird keine zufällige Reihenfolge geben, die sich auch bei unterschiedlichen Sitzungen und Bildschirmauflösungen nicht ändern wird. Außerdem wird es keine Anpassungsmöglichkeiten dessen geben.

  • Erzwungenes Verhalten soll auch für Einheitlichkeit sorgen. Alle Indikatoren werden als Icon oder Text dargestellt und beinhalten ein Menü. Das Klicken auf den Indikator wird das Menü öffnen. Die Tastatursteuerung wird immer funktionieren, dabei sollen die linke und rechte Pfeiltaste entweder ein Untermenü öffnen oder von Indikator zu Indikator springen. Die ganze Anordnung der Indikatoren auf dem Panel wird wie ein einziges Menü zu benutzen sein. Es wird keinen Rechtsklick geben, der sich von der linken Maustaste unterscheidet. Es wird also keine Möglichkeit für eigenwillige Anwendungen geben, eigenwilliges Verhalten mithilfe der Indikatoren umzusetzen.

Geleistete Arbeit

Der erste Teil der Arbeit war nur organisatorisch bedingt. Das Panel in Ubuntu ist sehr allgemein, es lässt den Anwender alle möglichen Arten von Gadgets an allen möglichen Stellen platzieren und all diese Dinge können sich unterschiedlich verhalten. Das Ergebnis hat zwar Innovationen hervorgerufen, aber auch das Panel sehr uneinheitlich gemacht und dadurch letztendlich auch weniger hilfreich.

Man hat das Ubuntu-typische Verhalten der Applikationen analysiert und entschieden, hier aufzuräumen. Der Update-Manager hat seine hartnäckigen Mitteilungsanzeigen verloren und dafür ein direktes Pop-Up-Fenster bekommen. Andere Dinge werden folgen.

Man hat entschieden, ein neues Gadget auf dem Panel einzuführen, welches ein Container für alle Anwendungen sein soll, die dem Ubuntu Ayatana-Schema folgen. So hat man also mit der Arbeit begonnen und eine Zusammenstellung von Indikatoren gemacht. Dies sind zur Zeit die „Sitzung“, „ich“ und die Soundindikatoren.

Auch wurde ein Framework für Anwendungen geschrieben, die ihre eigenen Indikatoren bauen wollen. Das ist der „AppIndicator“, der von Jorge Castro in Lucid Lynx eingebaut wurde, der die vielen Upstreams koordiniert hat und dafür sorgte, dass die Anwendungen sich gut in das Panel integrierten.

Man strebt außerdem danach, neue und innovative Konzepte vorzustellen. Das Ziel ist es, die Anzahl der Indikatoren zu reduzieren sowie die Einheitlichkeit und Nützlichkeit der übrigen Indikatoren zu verbessern. Man hat dazu die Idee der „Kategorie Indikatoren“ entwickelt. Dies sind Indikatoren, die doppelte oder ähnliche Indikatoren aufnehmen können. Anstatt unterschiedliche Indikatoren für jede Anwendung zu haben, gibt es nur einen Indikator für eine ganze Kategorie.

Bildschirmfoto-Indikator2.png
Nachrichtenindikator - Ein Dreieck steht vor
laufenden Anwendungen, aktuelle Nachrichten
werden vom Chatprogramm integriert. Im Hinter-
grund ist zusätzlich das NotifyOSD zu sehen.

Der Nachrichten-Indikator, der die Meldungen vieler verschiedenen Arten von Nachrichten sammelt, ist ein Beispiel hierfür. Anstatt drei verschiedene Icons für E-Mail, IM und Identi.ca bzw Twitter zu besitzen, gibt es bei Ubuntu nur einen Nachrichten-Indikator, der alle diese wichtigen Nachrichten zusammenfasst.

Die drei Standardanwendungen für diese Arten der Kommunikation teilen sich den selben Indikator. Sie sind Teil der gleichen Kategorie. Es gibt benutzerdefinierte APIs für Nachrichten, die folgendes erlauben:

  • Das Einfügen von Einträgen in das Nachrichten-Menü, die sogar angezeigt werden, wenn die entsprechende Anwendung nicht einmal läuft. Das hilft Anwendern, die ohne Umwege eine Aktivität ausführen wollen. Anstatt zu schauen, ob das Mail-Programm gestartet ist, dann dahin zu wechseln oder es zu starten und danach zum Verfassen-Fenster zu gehen, sollte man immer die Möglichkeit haben, neue Nachrichten mit nur zwei Klicks zu schreiben, egal ob das Mail-Programm schon läuft oder nicht.

  • Es gibt die Möglichkeit, spezifische Menüeinträge zum Nachrichten-Indikator hinzuzufügen, die dazu passen. Jede Anwendung bekommt eine eigene „Sektion“ in der Kategorie und kann weitere Menüeinträge zu ihrer Sektion hinzufügen.

  • Alle Anwendungen haben die Möglichkeit, eigene Einträge zu dem Nachrichten-Indikator hinzuzufügen. Der Anwender hat die Möglichkeit, Programme explizit aus dieser Anzeige auszugrenzen. Auch wenn sie deinstalliert werden, werden sie daraus entfernt.

  • Anwendungen zeigen an, ob sie laufen, was durch ein kleines „Abspielen“-Dreieck neben dem Anwendungsicon im Menü angezeigt wird.

Ein weiteres Beispiel für diese Aufräumaktion ist der mit 10.04 LTS eingeführte neue Sitzungsindikator, der beispielsweise das „Herunterfahren/Neu-Starten“-Menü anzeigt, welches unter anderem die gleiche Funktion aufweist wie auch das „Neustart-benötigt“-Icon. Die „Neustart“-Funktion wird dann durch ein „Neustart benötigt“ ersetzt. Hierbei merkt Mark allerdings noch an, dass er etwas wie „Neustart, Installation der Updates wird beendet“ bevorzugen würde…

Der Batterie-Indikator zeigt zum Beispiel den Status von allen möglichen Batterien an, ob es nun der Laptop, die USV, die Funkmaus oder -tastatur ist. Andere Anwendungen, die Batterieinformationen bereithalten, sollen die Möglichkeit haben, sich einfach darin einzufügen.

Genauso sieht es auch mit den Kalender- und Alarmanwendungen aus: Diese sollen sich in den Uhrindikator integrieren. Und eventuell sollen auch alle Anwendungen, welche Downloads durchführen, in einem einzelnen Indikator zusammengefasst werden – zurzeit wird hierüber noch diskutiert.

Zeitplan

Der Grundstein wurde schon gelegt – eine „Indikator-mit-einem-Menü-hinzufügen“-Funktion gibt es schon und wurde für Anwendungsindikatoren in Lucid hinzugefügt.

Ein komplizierter Punkt ist die Organisation der Kategorieindikatoren: Zum Beispiel werden empfangene Nachrichten in einem Indikatormenü zusammengefasst, aber zum selbst-Senden, muss man erst mal auf das „Ich“-Menü zugreifen. Hier gab es schon diverse Diskussionen und einige Entwickler denken, dass man diese Elemente zusammenfassen sollte.

Es wird geplant, die Indikatormenüs durchgehend und stabil ab der im April 2012 kommenden 12.04 LTS anbieten zu können.

„Windicators“

Nun möchte Mark aber noch einen Schritt weiter gehen. Nachdem vor einiger Zeit schon über den seit 10.04 LTS auf der rechten Seite der Titelleiste frei gewordenen Platz diskutiert wurde, scheint Mark nun einen endgültigen Entschluss gefasst zu haben, wie man ihn nutzen kann. Diese Idee soll sogar schon bis Maverick Meerkat in vielen Anwendungen umgesetzt werden. Die Idee wird „Window Indicators“ genannt, kurz auch „Windicators“ und soll Indikatoren rechts oben in die Titelleiste integrieren. So sollen zum Beispiel Offline/Online-Status bei Chatprogrammen, Fortschrittsbalken für Downloads, aber auch Lautstärkeregler, mit denen man die Lautstärke für jede Anwendung einzeln einstellen kann denkbar sein. Für GTK+ hat Canonical bereits eine entsprechende Funktion integriert 🇬🇧 , die sich „Client Side Decorations“ („Anwendungsseitige Fensterdekorationen“) nennt.

Allerdings gibt es auch Gegner hiervon. Der KDE-Entwickler Martin Gräßlin widmet dieser Idee in seinem Blog 🇬🇧 einen ausführlichen Artikel. Er spricht sich ausdrücklich dagegen aus, da diese Veränderung aus Entwicklersicht ein Alptraum sei. Ein Beispiel sei Google Chrome, welches nicht die von Fenstermanagern bereitgestellten Dekorationen benutzt, die dem einheitlichen Aussehen von Anwendungen beitragen. Es wird eine ganz eigene Oberfläche kreiert, welche sich nicht nur durch ein uneinheitliches Aussehen von anderen Anwendungen unterscheidet, sondern auch viele Bugs verursacht. Schaut man sich alle offenen KWin-Bugs zu der genannten Anwendung an, dann erkenne man schnell, warum dies der falsche Weg sei.

Allerdings muss Canonical auch von anderen Seiten noch Kritik einstecken: Darunter von einem Compiz Entwickler 🇬🇧 . Zwar begrüßt der Programmierer die generelle Idee, die hinter den Windicators steckt, allerdings hat auch er von der technischen Seite her starke Bedenken und kritisiert dabei auch Canonicals Haltung, eigene Ideen mit aller Kraft durchziehen zu wollen.

Mehr dazu: