Mit der heute veröffentlichten Aktualisierung hat das Erfolgsduo der beiden ownCloud-Apps „Shorty & Shorty Tracking“ eine Überarbeitung der Optik erfahren. Prinzip und Layout blieben erhalten, dennoch erscheint die Anwendung „knackiger“, auch wenn der Grund sich erst auf den zweiten Blick erschließt: neue Icons! Anstelle der sonst üblichen Rastergrafiken kommen nun Vektorgrafiken zum Einsatz. Dieses zunächst eher technische Detail hat eine frappierende Auswirkung in der Optik: beim Zoomen der Darstellung im Browser (CTRL + / CTRL -) werden Icons und andere grafische Elemente nicht mehr verpixelt, sondern skalieren verlustfrei. Das Resultat ist eine frischere, klarere Optik, eben „knackiger“.
Nun sind Vektorgrafiken (SVG) keine wirklich neue Entwicklung. Dennoch etablieren sie sich nur zögerlich im allgemeinen Gebrauch. Der Grund ist die oft fehlende oder fehlerhafte Unterstützung in gewohnten Umgebungen. Viele Projekte aus dem Bereich der Freien Software unterstützen und nutzen die Technik seit langem. Ihnen ist wohl auch der nun langsam steigende Bekanntheitsgrad zu verdanken. Einem Trend, dem sich nun auch das ungeliebte Microsoft beugt und seine Unterstützung aufpoliert. Aber worum geht es eigentlich bei Vektorgrafiken, und warum das Zögern bei der Unterstützung? Dazu ein paar Informationen:
Klassische Rastergrafiken kommen in verschiedenen Formaten zur Anwendung, jedoch prinzipell mit dem gleichen Grundprinzip: der Beschreibung eines „Bildes“, also einer Fläche die eine grafisches Muster definiert, in Form einer Matrix oder auch Tabelle, also Zeilen und Spalten, mit denen einzelnen „Punkten“ innerhalb der Fläche ein optischer Wert („Farbe“) zugeordnet wird. Die verbreiteten Dateiformate, etwas GIF und PNG unterscheiden sich eigentlich nur in der Art wie diese Information komprimiert ist. Kompression von Inhalten ist ja ein wichtiger Faktor bei Internetanwendungen, niemand wartet gerne auf endlose Downloads und sich nur schrittweise aufbauende Seiten. Die Wichtigkeit geht so weit, dass dafür sogar Qualitätseinbußen der Grafiken hingenommen werden durch die Wahl noch effizienterer, dann aber eben verlustbehafteter Kompressionsalgorithmen. So etwa beim verbreiteten Jpeg-Format, das vorrangig für Fotos und andere großformatige Grafiken zur Anwendung kommt.
Das Problem bei dieser Form der Beschreibung von Grafiken: sie definieren eine Größe der Darstellung durch die Festlegung auf die Anzahl von Zeilen und Spalten, also die Anzahl der dargestellten Punkte. Das ist pragmatisch und liefert gute Ergebnisse, wenn die Größe der Punkte bei der Darstellung mit den Fähigkeiten des Ausgabemediums übereinstimmt, üblicher also Bildschirm oder Drucker. Eine feinere Beschreibung würde keinen Vorteil zeigen, da die Details nicht dargestellt werden könnten. Aber was, wenn solch eine Grafik nun in einer anderen Größe dargestellt werden soll? Etwa bildschirmfüllend als Dia-Show oder eben auch beim Zoomen von Ansichten im Web? Dann müssen die Darstellungen umgerechnet werden, typisch müssen mehrere physische Anzeigepunkte gemeinsam einen vorgegebenen Bildpunkt darstellen. Das führt zu unscharfen Darstellungen und weiteren unschönen Artefakten, insbesondere dann, wenn das Verhältnis der Größen von Definition und Darstellung ungeschickt ist. Viele Tricks werden angewendet um die optisch unangenehme Wirkung zu reduzieren, aber es handelt sich um ein prinzipielles Problem der verwendeten Technik.
Ganz anders bei Vektorgrafiken. Nicht umsonst deutet die Namensgebung „Scalable Vector Graphics“ schon darauf hin: diese Grafiken sind skalierbar! Wie kann das sein? Welche Technik erlaubt, einmal definierte Grafiken beliebig zu skalieren, ohne dass sie dabei an Qualität verlieren? Wobei das nicht mal der einzige Unterschied zu herkömmlichen Rastergrafiken ist, dazu aber später mehr. Eine matrixbasierte Kodierung der Bildinformation wie beschrieben scheidet für die Lösung natürlich aus, die Vorgabe von Zeilen und Spalten bedingt ja die native Größe einer Rastergrafik. Tatsächlich definiert eine Vektorgrafik primär Formen und deren Kombination. Gut vorstellbar bei einfachen Darstellungen, etwa bei typischen Icons mit ihren objektartigen Darstellungen: ein Ordner, ein Zahnrad, also gemotetrische Formen, Figuren oder Körper, die sich recht gut beschreiben lassen. Tatsächlich gleicht der Inhalt einer solchen Datei, wenn man sie einmal mit einem einfachen Texteditor öffnet (nein, nicht mit MS-Word…), eher einer Beschreibung des Inhalts als etwas „binärem“, als das Grafiken sonst oft dargestellt werden (was immer etwas „binäres“ auch sein soll…). Nach einer Präambel folgen Formbeschreibungen und Vektoren zur Festlegung von Koordinatensystemen. Das ganze in einer recht technisch wirkenden, aber durchaus für Menschen lesbaren XML-Sprache. Und auch komplexere Dinge als nur Formen finden sich darin: Farbverläufe, kodiert als Start- und Endwert zusammen mit einer Verlaufsformel. Eine Beschreibung der Anordnung, also des Arrangements der Formen aus einem Sichtwinkel.
Soweit verständlich, wie der Inhalt einer Grafik derart beschrieben wird. Allerdings ahnt man schnell, was das Problem bei der Unterstützung solcher Beschreibungen ist: die Darstellung erfordert etwas mehr Grips als es für das Auslesen einer Tabelle nötig ist. Das ist auch der Hauptgrund für den zögerlichen Einzug dieses Grafikformats in breite Anwendungsfelder: dort, wo der Vorteil offensichtlich ist gelang er schnell, etwa bei der Definition von Schriften (Fonts), bei denen einen gut Skalierbarkeit offensichtlich erforderlich ist. An anderen Stellen steht leider das allgegenwärtige Pragmatismus-Argument gegen einen Einzug. Um es im rheinischen Dialekt zu sagen: Wat sull de janze Driss, ist doch beslang ooch jeloofe! Richtig: Bislang ging’s doch auch ohne diesen (…Piep…). Tatsächich gehört zu einer sauberen und kompletten Unterstützung des Standards noch viel mehr: SVGs können Scripte enthalten, also aktive Komponenten, die Grafik also ein Verhalten zeigen bei Interaktion. Sie kann Alternativen definieren für verschiedene Ausgabemedien. Vielfältige Möglichkeiten, tatsächlich sieht man etwa auf großen OpenSource-Konferenzen mehr und mehr Vorträge, die nicht von einem Präsentationsprogramm begleitet werden, das noch das althergebrachte „Folienprinzip“ hoch hält. Sondern man sieht große Vektorgrafiken, in denen die Redner flüssig und frei navigieren, sich mit den Zuhörern auf Details konzentrieren oder gemeinsam zu einem großen Überblick zurücktreten. Eine wesentlich intuitivere Präsentation von Wissen.
Höhere Komplexität, mehr Möglichkeiten, ein freies Format, dass herkömmlichen Formaten in Teilen überlegen ist: der aufmerksame Leser ahnt, warum die Unterstützung dieser leistungsfähigen Formate nicht für Spezialanwendungen, aber für die breite Masse der Nutzer nur so zögerlich voran kommt. Die Firma Microsoft, immer noch Quasi-Monopolist bei Desktop-Systemen, sah bislang wenig Anreize für eine Umsetzung: kein geschütztes Format, mit dem man unliebsame Mitbewerber auf dem Rechtsweg schaden kann, eine sinnvolle Fortentwicklung bestehender Techniken, was noch nie im Interesse Microsofts war (Fortschritt ist pures Gift für jeden Monopolisten). Und eine breite, folgsame Anwenderschar, die leider oft so eingelullt und festgefahren in vorgekauten Sichtweisen ist, dass nicht nur kein Interesse an neuen Lösungen besteht, sondern diese oft als grundsätzlich als unnötig, querulant und rechtlich wenigstens fragwürdig angesehen werden. Falls sie nicht vom über aller Kritik schwebenden Marktführer persönlich zur Beglückung seines Volkes ersonnen und kredenzt wurde. Oh, sorry, da bin ich gerade in den nordkoreanischen Slang abgedriftet… wobei der Unterschied beider Regime ja wirklich nicht groß ist, weder in den Praktiken, noch in der Selbstdarstellung…
Aber mitunter muss sich dann selbst ein solcher Riese dem Druck der Zwerge beugen, um nicht umgeworfen zu werden. Die Vorteile, die die alternativen Implementierungen zeigen werden auf vielen Feldern zu einem ernsten Problem für Microsoft. Lange schon sind alternative Desktopumgebungen leistungsfähiger als die vielen gewohnte Umgebung unter MS-Windows. Das früher oft zitierte Paradigma, wonach proprietäre Software Neuerungen einführe und OpenSource-Software nur nachäffen könne ist deutlich widerlegt, inzwischen kupfert Microsoft ab und übernimmt erfolgreiche Entwicklungen nachträglich. So auch die Fähigkeiten verbreiteter Webbrowser wie Chrome, Rekonq oder Firefox, die ja eine der wenigen Stellen nutzen, an denen bisher die Bastion der MS-Windows-Systeme erfolgreich aufgebrochen werden konnte. Sowohl Darstellung als auch Implementierung von Webseiten und Anwendungen im Internet gelingen mit diesen Alternativen einfach deutlich schneller und eleganter als mit dem ewig zu sich selber inkompatiblen MS-IE-Browser (Microsofts „Important Exception“). Und so wie im Laufe der vergangenen Jahre immer mehr offizielle Standards im Bereich der Web-Technologien unter dem Druck der Anwender zögerlich in diese Software implementiert wurden, teilweise sogar gar nicht mehr so imkompatibel, wie sonst von Microsoft gewohnt und zum Schutz des Monopols eigentlich erfolgreich und erforderlich. Zu viele Entwickler haben sich abgewandt, selbst solche, die noch immer auf „das bewährte und zukunftsweisende MS-Windows“ als den faktischen Standard auf dem Desktop setzen (nachdem ich das getippt habe muss ich mir erst mal die Finger waschen…). Immer seltener sieht man ja auf Webseiten den in den 1990er Jahren noch so schicken Hinweis: „Optimiert für den Internet Explorer in Auflösung 768×680“. Ich hatte das schon damals immer eher verstanden als ein „Sorry, wir sind auf dem Stand der 80er Jahre stehen geblieben“. Es soll ja auch heute noch Firmen geben, in denen wichtige Vorgesetzte diese Prinzipien hoch halten, „weil dann halt das Anschließen eines Beamers funktioniert“ oder Standardsoftware „problemlos genutzt werden kann“. Glücklicherweise gibt es aber ja auch flexiblere Entscheidungsträger, die technische Neuerungen nicht grundsätzlich als frechen Angriff auf ihr gewohntes und lange gepflegtes Agieren ansehen.
Warum diese Verquickung zweier schon für sich selber betrachtet großen und komplexen Themenfelder? Vektorgrafiken und der immense Schaden, den Microsoft der IT-Wirtschaft mit seiner Blockadehaltung seit langem zufügt?
Weil ich betroffen bin. Und mich wehren möchte. Ich habe viel zu viel Zeit während der letzten Tage damit verbracht, um Inkompatibilitäten, unlogisches Verhalten und schlichte Fehler in der Familie der Microsoft-Browser herum zu programmieren. Es wäre schön, wenn meine Software unter allen Systemen (und Webbrowsern) annähernd gleich funktionieren würden. Universell genutzt werden könnte. Das klappt ja im Bereich der Webprogrammierung inzwischen halbwegs, dank der Definition von Standards, deren halbwegs saubere Unterstützung, Abstraktionstechniken und dem Verzicht auf proprietäre Erweiterungen und Dialekte. Nur Microsoft liegt immer noch quer. Selbst nach all‘ den Versprechungen und, ja, Fortschritten der vergangenen Jahre. Immer noch sind Sonderbehandlungen nötig, die den Code komplex und schlecht wartbar machen. Immer noch müssen Ausnahmen implementiert werden, die zu Verschlechterungen der Performance führen. Immer noch müssen elegante Kodierungen künstlich aufgeblasen werden, falls eine Webseite oder -applikation auch mit dem Microsoft-Browser nutzbar sein soll.
Das kostet Zeit, Geld und vor allem die Nerven der Programmierer. Viel Zeit. Viel Geld. Viele der Nerven, die eh‘ schon strapaziert sind aufgrund der nun mal komplexen Technik.
Die Shorty-Apps sind inzwischen nutzbar unter Microsoft-Browsern. Jedenfalls ab Version IE-9, frühere Browser-Versionen sind derart inkompatibel, dass man eher eine eigene Variante der Apps speziell für diese Browser programmieren müsste. Bei zwei Details musste ich bereits vorhandene, sinnvolle Lösungen durch eigentlich schlechtere ersetzen, sonst wäre eine Unterstützung des IE nicht möglich gewesen.Es gibt noch ein paar optische Unsauberheiten, bei einigen habe ich mich bewusst entschieden sie nicht zu korrigieren. Der Aufwand hätte in keinem Verhältnis zum Nutzen gestanden.
Wie viele Nutzer setzen eigentlich noch den MS-IE ein? Laut weltweiter Statistiken immer noch etwa ein Drittel der Seitenabrufe. Ich kann das kaum glauben. Vielleicht sind da Bots am Werke, die die Zahlen verzerren, eher aber nicht. Die Erhebungen werten die falschen Nutzergruppen aus um wirklich aussagekräftig zu sein. Wohlgemerkt: ich zweifle nicht die Zahlen in den Statistiken an. Wohl aber, ab diese wirklich eine Aussage haben. Wieviele dieser Nutzer des IE-Browsers sind sich eigentlich bewusst, was für ein Produkt sie einsetzen? Würden sie nicht fast alle ohne es auch nur zu merken einen anderen Browser nutzen, wenn es auf ihrem System so eingestellt wäre? Sicherlich. Wird es dazu kommen? Kaum. Denn Voreinstellungen sind ein einfaches und funktionierendes Mittel zur Steuerung. Nicht umsonst hat Microsoft ja bei der Markteinführung von Windows-7 versucht, die ihnen von der EU-Wettbewerbskommission zurecht vorgeschriebene Browserauswahl bei der Inbetriebnahme einer MS-Windows-Installation in aller Stille unter den Tisch fallen zu lassen. Ah, später nannte man das dann „ein Versehen“, sicher…
Der ownCloud App-Store bietet nun die Apps Shorty & Shorty Tracking in den Versionen 0.3.17 und 0.1.11 zur Installation an. Versionszählung wie im Unix-Umfeld üblich, also schon ausgereift, stabil und zuverlässig.
Wie immer: am einfachsten ist die Installation direkt aus der App-Auswahl der Verwaltung der eigenen ownCloud heraus: einfach eine App auswählen und aktivieren. Download, Installation und Setup werden vollautomatisch im Hintergrund erledigt.
Viel Freude damit!