Der Browsermarkt 2015
Browser, da gibt es Firefox und Chrome, und unter Windows noch den Internet Explorer, um damit einen dieser beiden herunterzuladen, während auf Macs Safari ein schlechterer Chrome ist. Das wars. Nur: Das stimmt nicht mehr.
Es ist ein bisschen Bewegung in den Browsermarkt gekommen, den aktuellen Stand will ich hier auflisten.
Firefox
Besieger des IEs, lange führender freier Browser - Firefox ist ein Gigant. Dank neuer Oberfläche, Performance-Verbesserungen und tollen neuen Features gelten die negativen Aspekte dieser Beschreibung aber nicht wirklich für die Software selbst. In den letzten Jahren geriet Firefox unter Druck, wohl vor allem, weil Chrome schlicht der bessere Browser war. Jetzt aber hat Firefox wieder aufgeholt, ist schneller und hübscher geworden, ohne seine überlegene Anpassbarkeit durch Plugins zu verlieren. Natürlich nicht, ohne ewig-gestrige durch das bloße sanfte Ändern der Oberfläche zu verlieren.
Chrome & Chromium
Dem Browser und dem ihm zugrunde liegenden OS-Projekt von Google geht es immer noch gut. Aus dem kleinen, minimalistischen und zu Beginn unnutzbaren Experiment ist der Marktführer geworden. In den letzten zwei Jahren mit den Nachteilen, die ein solcher Status bringt: Nur für Chrome geschriebene Webseiten, nur für Chrome verfügbare Erweiterungen. In letzter Zeit hat sich ersteres entschärft, was wohl eher nicht an Einsicht der Webentwickler liegt, sondern am langsamen Wegfall der -webkit-Präfixe für experimentelle Features, und der Stabilisierung von HTML5.
Über den Browser selbst gibt es nichts neues zu sagen. Die Oberfläche ist weitestgehend wie zuvor, der Performancevorteil existiert dafür nicht mehr, und ich bin inzwischen wieder bei Firefox, auch weil Chromium unter Linux zu instabil war.
Opera
Es gibt ihn inzwischen wieder für Linux! Aber Berichten zufolge ist Opera kein Opera mehr, und da es nur eine 64-Bit-Version gibt kann ich ihn nicht testen.
Aus der Ferne kann ich sehen, dass Opera keine eigene Engine mehr hat, stattdessen wird Blink genutzt, ebenso wie bei Chrome. Eine Ähnlichkeit, die man Screenshots zufolge wohl auch in der Oberfläche wiederfindet - aber bei der Verbreitung, da scheint Opera auch nach dem Umbau bedeutungslos zu sein.
Vivaldi
Vivaldi versucht, den alten Opera-Browser wiederzubeleben, setzt dabei ebenso wie Neu-Opera auf die Blink-Engine. Anders als Opera gibt es eine 32-Bit-Version, ich kann mir die aktuelle Preview also sogar anschauen.
Eigentümliche Farbgebung, die sich an die besuchte Seite anpasst, separierte Suchleiste, die Tableiste kann umgestellt werden - Vivaldi macht keinen schlechten ersten Eindruck. Es fehlt ein Adblocker, der Mail-Client ist bisher nur eine in die UI eingebaute Absichtserklärung. Die UI würde ich schon nicht mehr als minimalistisch bezeichnen wollen, dafür ist sie zu auffällig und es gibt sie als Leisten überall. Trotzdem, die spürbare Zuneigung für die ersten Versionen ist nachvollziehbar, Vivaldi wirkt, als würde er eine valide Option werden. Und anders als früher bei Opera sollte die Webseitendarstellung kein Thema sein, denn mit Blink ist dafür eine massenbenutzte Engine da.
SeaMonkey
Ich war überrascht, SeaMonkey nicht in den Quellen zu finden. Das Projekt ist alt, der Browser ist alt, selbst das Konzept einer Web-Suite statt eines Browsers ist alt. Denn genau das ist SeaMonkey: Mehr als nur ein Browser, ist es ein Browser plus Mail-Client samt Editor und Adressbuch plus IRC-Client, und natürlich ist der Mail-Client gleichzeitig ein Newsgroup-Client.
Entsprechend präsentiert sich die Oberfläche. Lesezeichenleiste, große Buttons (samt einem zum Drucken und einen Spezialbutton zum Suchen), die Leisten sind einklappbar, die Tableiste erstmal versteckt. Das alles wirkt wie bei meiner Anfangszeit unter Ubuntu, als Firefox noch weit von der momentanen Oberfläche weg war, nur… älter. Anders gesagt: Die Oberfläche mit ihrem GTK-Design und Größenunterschieden ist wirklich nicht hübsch. Gleichzeitig aber schon anpassbar, auch wenn Dinge wie ein kombinierter Stop-Reload-Button zu Fehlen scheinen, Tabs nicht per mittlerer Maustaste schließbar sind - SeaMonkey für mich anzupassen wäre ein Kampf. Wer aber genau das sucht - die Oberflächen von damals, den integrierten Mail-Client - der könnte mit SeaMonkey glücklich werden.
Pale Moon
Pale Moon ist eine seltsame Mischung, man betrachtet ihn wohl am besten als ungewöhnlichen Firefox-Remix. Denn es ist ein Firefox mit der altbackenen Oberfläche, ohne WebRTC und ein paar anderen Features, dafür mit aggressiveren Performance-Voreinstellungen wie einer Kompilierung mit -O3
- hier gibt es eine Liste. Dazu kommen Voreinstellungen wie eine eigene Startseite und duckduckgo als voreingestellte Suchmaschine.
Kann man sich als UI-Konservativer wohl anschauen, für mich ist es dadurch keine Option.
Midori
Der Browser von elementaryOS und Xfce ist interessant, weil er tatsächlich eine valide Option zu sein scheint, ohne ein Firefox-Klon oder von einer Firma zu sein. Es ist eine GTK-Oberfläche mit Webkit als Engine, und es gibt ein paar Erweiterungen, z.B. den unbedingt notwendigen Werbeblocker.
Er hat aber auch dämliche Voreinstellungen wie die, bei mittleren Mausklick den Inhalt des Clipboard in die URL-Bar zu pasten und dorthin zu navigieren, und der "Nächstes oder Weiter"-Button der aktuellen Version sieht einfach kaputt aus. Mit ein paar Anpassungen wäre dieser Browser wohl völlig ok und könnte dann der kleine schnelle Browser mit minimaler Oberfläche sein, der er sein will.
rekonq
Rekonq gehört zum KDE-Projekt und ist dort eine Alternative zu Konqueror, dem alten Browser, der vor Dolphin gleichzeitig der Dateimanager war. Das letzte Release ist über ein Jahr alt, sodass die Version in den Quellen aktuell ist. Kein gutes Zeichen bei den normalerweise schnellebigen Browsers.
Allen KDE-Klischees entsprechend schafft es rekonq, beim ersten Start abzustürzen, um beim zweiten mich mit dem Hinweis zu begrüßen, dass keine Suchmaschine aktiv sei und also keine Suchvorschläge angezeigt würden, und dabei auf ein Konfigurationsmenü zu verweisen wo das geändert werden könne, das aber vollkommen unverständlich ist.
Es bleibt dann ein Browser mit einer reduzierten Oberfläche. Anders als Midori ist die Suchleiste in die URL-Eingabe integriert, trotzdem werden keine Suchergebnisse automatisch vorgeschlagen. Ein Adblocker ist integriert, filtert aber Werbung nicht von selbst und hat keine für mich auffindbare Konfiguration. Es gibt eine Browserseite für neue Tabs, bei der neben Favoriten auch der Verlauf und Downloads angezeigt werden können. Mich stören Kleinigkeiten, wie der seltsam ausgerichtete Button für neue Tabs, und der Platzhalter-Text in der URL-Eingabe, der ja wohl wirklich nicht nötig ist. Und dass der Browser sich langsam anfühlt.
Web
Der Preis für den bescheuertsten Namen, mit Sonderpunkten in der Kategorie Arroganz und Apple-Nachmache, geht an Web, vormals Epiphany, dem Browser des Gnome-Projekts. Ohne ihn getestet zu haben erwartete ich eine Reduzierung auf das Unbenutzbare. Ich teste allerdings nicht die neueste Version, denn die lässt sich auf meinem System nicht installieren und es gibt keine Binaries, sondern die aus den Quellen: 3.10, die aktuelle ist 3.16 - ein gutes Zeichen, das Projekt ist aktiv.
3.10 ist dann tatsächlich sehr reduziert und macht ein paar Dinge anders. Der (funktionierende) Adblocker ist nicht konfigurierbar und wird im Gegensatz jeder Konvention aktiviert, indem die Option "Werbung anzeigen" deaktiviert wird. Die Icons der Oberfläche sind weit auseinander und schwarz-weiß, die UI ist wirklich etwas eigenes. Unsympathisch: Mein Blog ist nicht erreichbar, aber den Fehler schreibe ich einfach mal der veralteten Version zu.
Ich bin mir unschlüssig, ob der Browser tatsächlich zu reduziert ist - mir gefällt zum Beispiel, dass die Suchleiste in die URL-Eingabe integriert ist und tatsächlich Suchvorschläge anzeigt, so wie es sein soll. Mich stört aber die gelbe und beim Hovern eines Links sofort aufpoppende Statusleiste, die natürlich auch nicht konfigurierbar zu sein scheint.
Immerhin interessiert es mich jetzt, wie die aktuelle Version ist. Und das ist besser als erwartet.
Servo
Servo ist nicht wirklich ein Browser. Es ist das wahrscheinlich anspruchsvollste aller Projekte dieser Liste, inklusive Chrome und Firefox. Servo ist eine parallelisierbare Browser-Engine. Das Ziel ist es, statt wie bisher einen Hauptthread zum Rendern der Seite zu haben, alles parallel in mehreren Threads zu rendern, sodass die vielen Kerne moderner Hardware genutzt werden. Geschrieben ist die Engine in Rust, eine Programmiersprache, die selbst nichtmal stabil ist. Noch dazu ist das Projekt mehr als Code, denn manchmal müssen Spezifikationen angepasst werden, wenn sie so geschrieben sind, dass sie nicht parallelisiert werden können. Gut, dass Mozilla dafür die nötigen Kontakte haben sollte.
Es geht hier also nicht um die Oberfläche oder Kleinigkeiten wie Adblocker. Die Frage ist vielmehr, ob Servo je eine valide Engine werden wird, die alle üblichen Webseiten anzeigen kann. Denn derzeit ist dem nicht so, und schlimmer noch, derzeit dauert die Installation Stunden und scheitert gerne mal, was am momentan laufenden DDoS gegen Github liegen kann.
Wenn es dann mal läuft, sieht servo so aus:
Keine UI, die Mausinteraktion funktioniert noch nicht, Anzeigefehler sind da - generell fehlt da noch viel. Andererseits wird die Seite angezeigt, die Grundlagen sind da. Gleichzeitig macht das Projekt auf Github einen aktiven und sympathischen Eindruck. Könnte was werden.
Fazit
Es gibt wirklich einige andere Optionen für den bevorzugten Browser. Und nicht nur dass, auch die großen Browser entwickeln sich stetig weiter, so bin ich beispielweise sehr zufrieden mit der Entwicklung von Firefox, nur dass mich web-feindliche Entwicklungen wie der Wegfall des RSS-Buttons ärgern. Die neuen Projekte, wie Midori und Vivaldi, sind echte Optionen, die durchaus für die alltägliche Nutzung geeignet scheinen.
Die vielen Browser sind möglich, weil ihre Engine nicht eigenständig ist. Davon gibt es im Grunde nur noch drei: Gecko, WebKit und Blink, wobei Blink auch noch aus Webkit hervorgegangen ist. Auch deswegen ist Servo so spannend, nicht nur, weil es eine neue Engine mit einer guten Mission ist, sondern weil Servo das kleine Engine-Ökosystem aufmischen könnte. So könnte 2015 für Browser ein gutes Jahr werden.
Sinatra-Anwendungen kombinieren
Will man zwei mit Sinatra gebaute Webanwendungen gleichzeitig ausführen stellt sich zuerst die Frage: Geht das überhaupt? Die Antwort: Vielleicht.
Man kann natürlich immer zwei Ruby-Prozesse starten und auf verschiedenen Ports horchen. Hier geht es aber darum, zwei Anwendungen auf dem gleichen Port so zu kombinieren, dass zum Beispiel die eine auf / reagiert, die andere ab /blog/ übernimmt.
Das geht nicht, wenn beide Anwendungen dem klassischen Stil folgen, denn davon darf es nur eine pro Ruby-Prozess geben. Stackoverflow behauptet zwar etwas anderes, aber der Antwort zufolge haben Fragesteller wie Beantworter nicht verstanden, was der klassische Stil ist, denn mit App.new
kann man eine darin gebaute Anwendung nicht starten (oder ich habe da eine Lücke). Also muss entweder die zweite oder beide Anwendungen im modularen Stil gebaut sein. Glücklicherweise ist das Umwandeln vom klassischen Stil in den modularen einfach, und nochmal einfacher wenn Sinatra::Application statt Sinatra::Base benutzt wird.
Bei mir liegt die erste, die klassische Sinatra-Anwendung, im Hauptverzeichnis. Die modulare liegt in einem Unterverzeichnis dann. Den beiden Anwendungen kann ihr Startpunkt dann in der config.ru mittels Rack::URLMap
zugewiesen werden:
require 'rubygems' require 'bundler' Bundler.require require './static-server.rb' require './modularapp/modular-server.rb' run Rack::URLMap.new( '/' => Sinatra::Application, '/blog' => Moularapp::Modularapp.new # Modularapp also got a module to prevent collisions )
Es fehlen noch die gems. Denn die sollen per Bundler installiert werden, doch Bundler.require
würde ja normalerweise nur die erste Gemfile auslesen. Deshalb verweist man an deren Ende auf die zweite:
Dir.glob(File.join(File.dirname(__FILE__), 'modularapp, "Gemfile")) do |gemfile| eval(IO.read(gemfile), binding) end
Bundler installiert nun alles nötig, URLMap weist den Anwendungen den richtigen Startpunkt zu, und ein <cpde>rackup führt beide auf einmal aus. Es geht also.
PDFs komprimieren
Die PDFs eingescannter Dokumente, im Grunde ja nur in PDFs verpackte JPGs, sind mit mehreren MB zu groß, um sie einfach so per Mail zu verschicken. Bei mir waren das diesmal bei nur zwei Seiten 2,3 MB. Sie zu komprimieren ist gar nicht so ganz einfach: PDF-Betrachter bieten die Option gar nicht erst an, manche Tools in der Kommandozeile - imagemagicks convert beispielsweise - übertreiben es mit der Komprimierung und machen das Dokument unleserlich. Gut funktioniert hat bei mir dieser Tipp:
pdf2djvu -d [dpi-resolution] input.pdf -o temp.djvu djvups temp.djvu temp.ps ps2pdf temp.ps output.pdf
Das output.pdf ist 320 KB groß, die Bilder darin haben nicht merklich an Qualität verloren.
Das Serendipity-Treffen
Am Wochenende in Essen gewesen zu sein und mich mit den Mitstreitern von Serendipity zu treffen hat mir Spaß gemacht. Größtenteils haben wir einfach zusammen geredet, gegessen und getrunken, ein erstes Kennenlerntreffen außerhalb des Internets eben. Aber dann eben doch Zeit gefunden, strukturiert über Serendipity zu reden. Eine Zusammenfassung unserer Ergebnisse schrieb Garvin für den s9y-Blog, die Trackbacks dort und Matthias Bericht führen zu denen der anderen.
Zwei Anmerkungen:
- Wir kamen dazu zu definieren, was für ein Projekt wir sein wollen, was das Ziel ist. Das war davor diffus. Unser Ergebnis, s9y als klassisches Blogsystem zu definieren und so abzugrenzen, existierte auch vorher schon als Gedanke. Aber nun ist es Konsens des Kerns.
- Es sind auch klare technische Aspekte in der Zukunftsplanung dabei: Ergänzungen der Plugin-Api für Datenbank-Tabellen, echtes Caching, Komfortfunktionen mithilfe von cron, … . Meiner Einschätzung nach können wir alleine mit den Überlegungen aus dem Treffen einige wirklich gute neue Versionen füllen, wenn wir es schaffen, sie jetzt auch zu entwickeln.
- Die Menschen hinter den Internetrepräsentationen, ob Text oder Stimme, zu treffen war wirklich lustig. Die meisten kannte ich schon ein paar Jahre, aber ohne sie getroffen zu haben. Welche Aspekte der Person dann beim Treffen außerhalb des Internets sichtbar sind, aber auch welche dort verschwinden, ist echt nicht vorhersehbar.
Warum ist der erste Punkt so wichtig? Weil er dabei hilft, das Projekt als echtes Projekt zu bewahren. Serendipity ist das Produkt eines bestimmten Punktes der technischen Entwicklung von Blogengines. PHP, SQL mit Fokus auf MySQL, dynamisch erzeugte Seiten. Dem gleichen Punkt entsprang Wordpress, das sich jetzt zum vollständigen CMS entwickelt. Die Leute, die Serendipity entwickeln, sind dann entweder Leute, die verstreut ab und an Code in ein Repo pushen weil sie es eben tun - im Zweifel einsam, planlos und ohne Elan. Oder sie entwickeln mit einem gewissen für ein echtes Projekt notwendigen Eifer gemeinsam hin zu einem bestimmten Ziel; die Bewahrung und Weiterentwicklung der Idee eines klassisches Blogs ist ein solches - das man auch noch wunderbar abgrenzen kann zu modernen Systemen wie Ghost (dabei aber bei nicht sorgfältiger Formulierung nicht nett klingt, daher lass ich das hier erstmal).
Dafür sind solche Treffen toll. Ebenso um zu planen, wie wir uns besser präsentieren können, damit die Arbeit nicht unnötig vergebens ist.
pc-kombo nun vollständiger Hardwarempfehler
Nachdem letzten Monat Arbeitsspeicher dazukam, ist es bei diesem Update alles verbliebene gewesen: Festplatte, SSD, Gehäuse und Netzteil. Damit bin ich über einen jahrelangen Umweg an den Anfang zurückgekehrt: Der Hardwareempfehler empfiehlt nun einen vollständigen, funktionierenden PC.
Im Februar kam nicht viel neue Hardware hinzu. Ich habe mir vorgenommen, in Zukunft genauer zu protokollieren, was hinzugefügt wurde und welche Hardware wegfiel. Vielleicht kommt das in einen separaten Blog. Diesmal noch nicht, aber es waren besonders die Pentium G-Prozessoren, von denen einige Modell hinzugefügt wurden, samt günstigerem Mainboard.
Neue und neue alte Funktionen
Die beim letzten Update weggefallenen Funktionen wurden neu gebaut und wieder eingefügt. Mit den Icons an der Seite kann die Empfehlung modifiziert, also z.B. statt 4GB Ram 8GB ausgewählt werden. Das kleine x oben rechts deaktiviert eine Kategorie temporär, wodurch der Gesamtpreis ohne das jeweilige Hardwareteil neu berechnet wird.
An der Untergrenze wird pc-kombo eine 250 GB große Festplatte empfehlen. Das steigt dann je nach Budget erst auf 1, dann auf 4 TB. Bei höheren Budgets kommt dann eine SSD dazu, schrittweise von 128, 256 und 512 GB bis zur finalen 1 TB SSD. Das einfachste Gehäuse ist ein Sharkoon für 25€, dann kommt das Fractal Design Core 2500 und schließlich ein Fractal Design R4 für ~100€.
Am wackeligsten sind wohl die Empfehlungen des Netzteils. Für die momentanen Empfehlungen funktionieren sie - im Zweifel sind sie überdimensioniert - aber auf Dauer geht das so nicht. Dass teure Prozessoren nicht mehr unbedingt mehr Strom verbrauchen als billigere sorgt dafür, dass der genaue Stromverbrauch erfragt werden muss. Das ist eine der noch bestehenden Baustellen.
Es gibt interne Verbesserungen am Code, was spaßig war. Bei der Oberfläche ist Pace eingebaut, dessen Effekt beim Laden und Modifizieren der Empfehlungen auch wirklich hilft. Die Icons - das €-Zeichen, der Upgrade-Pfeil und das Minus-Zeichen zum Deaktivieren - sind aus Font Awesome.
izulu 0.5 veröffentlicht, neuer Flickrmodus, Kompatibilität, neue Webseite
izulu, mein Skript um den Bildschirmhintergrund dem Wetter anzupassen, hat dank den Vorschlägen von Ferri eine Runde kleiner Updates bekommen. Außerdem habe ich die Gelegenheit genutzt, ein Release zu packen und die Webseite umzubauen.
Version 0.5 als Release
Vor kurzem habe ich mich an das Release-Feature von Github gewöhnt. Nachdem izulu nun im momentanen Zustand einige Monate vor sich hin werkelt erschien es mir sinnvoll, diesen Zustand plus einer kleinen Erweiterung (--compat unity
, dazu später mehr) als Release zu taggen.
izulu 0.5 ist sicher stabiler als eine Beta, zumindest für die Kernfunktionen, und dem Release sind debs für Ubuntu beigefügt. Ich empfehle aber weiterhin, das PPA zu nutzen, um alle neue Funktionen zu erhalten - der Flickrmodus z.B fehlt bereits in 0.5.
Flickrmodus
Fast von Anfang an kann izulu statt eines spezifischen Bildes ein zufälliges Bild aus einem wählbaren Ordner aussuchen. Es war Zeit, den Code ein bisschen robuster zu machen, sodass nun auch nicht-Bilder in dem Ordner liegen dürfen. Vor allem aber gibt es jetzt ein Fallback: Ist kein Ordner angegeben, aus dem z.B. für bewölktes Wetter ein Bild ausgegeben werden soll, wird ein zufälliges Bild aus einer Flickr-Gruppe heruntergeladen. Bei bewölktem Wetter wäre das ein Bild aus der Gruppe clouds.
Das schöne daran ist, dass es ohne Konfiguration funktioniert, während die Zufallsfunktion vorher ohne Anpassung der ~/izulu/config schlicht nichts bewirkte.
Die anderen Gruppen sind:
Sonne
Regen
Schnee
Wind
Nebel
Ich freue mich über Vorschläge, falls jemand passendere Gruppen kennt.
Kompatibilität (mit unity)
Im Grunde eine kleiner Änderung, aber praktisch: Man kann nun anpassen, wo die Temperaturanzeige landet. Verschiedene Desktopumgebungen haben ihre Taskbar an unterschiedlichen Stellen. Die Temperaturanzeige wurde von izulu aber immer an die gleiche Stelle gezeichnet, nach unten links. Das kann kollidieren, unity z.B. verdeckt sie dort mit dem seitlichen Dock.
Deshalb gibt es neue Optionen:
--temperature-gravity
Hiermit kann imagemagicks gravity-Parameter gesetzt werden. Die Temperaturanzeige landet also z.B. nach oben rechts mit
--temperature-gravity NorthEast
.--temperature-margin
Der Abstand der Temperaturanzeige von den Rändern, z.B.
--temperature-margin "+10+40"
.--compat
Das soll eine Komfortfunktion werden, um izulu passend für bestimmte DEs zu konfigurieren. Bisher gibt es nur
--compat unity
, wodurch die Temperaturanzeige nach oben rechts gesetzt wird, weg vom Dock.
Webseite
Ich wollte die alte Webseite um ein paar Seiten erweitern und stellte dabei fest, dass sie mir nicht mehr gefiel, und zudem noch auf sourceforge gehostet war. Die neue Webseite liegt nun auf github. Sie hat das kleine Gimmick, das Hintergrundbild je nach Tageszeit anzupassen. Genutzt werden die originalen Bilder von izulu, das Wetter kann man selbst wählen.
Insgesamt soll weniger Fokus auf dem Bilder-Widget liegen, das in die drei Buttons auf der Startseite gewandert ist. Die Bilder sind stattdessen im Hintergrund, um trotzdem noch einen Eindruck des Effekts des Skripts zu geben. Wichtig war mir, dass der Hilfetext samt den Credits - beide leicht erweitert - nun online sind.