Skip to content

Reite ich ein sterbendes Pferd?

Ein Thema was ich schon früher hier im Blog angesprochen habe: Ich habe es nie geschafft, irgendwo "dazuzugehören", Teil eines Teams zu sein. Es lief immer nach dem selben Schema: ich habe gemacht was ich eben so mache und es wurde meistens nicht anerkannt. Als ich den Blog hier angefangen habe habe ich mich glaube ich in der Wikipedia erkundigt was es so an Blogsystemen gibt und bin dann bei Serendipity (s9y) gelandet, wohl auch aufgrund der Aussagen auf der Webseite - "Not Mainstream since 2002". Außerdem war es einfach zu installieren und zu bedienen, ganz im Gegensatz zu vollen CMS-Systemen wie Joomla. Ich brauchte halt nur einen Blog. Mainstream wären Systeme wie Blogger (blogspot) oder WordPress und ich war sowieso immer mehr für die Underdogs zu haben.

Was ich auch schon mehrfach erwähnt habe ist der lasermäßige Blick um verbesserungswürdige Sachen zu finden. Jetzt hatte ich zuvor mein eigenes PHP-System programmiert und unsere Montagen zu verwalten und mit der Erfahrung habe ich relativ schnell angefangen, in s9y Details zu verbessern. Dazu musste ich auch erstmal git lernen was das wichtigste Versionierungssystem für OpenSource-Projekte ist. Jedenfalls wurden meine Pull-Requests dann tatsächlich auch angenommen und irgendwann hat man mich dann tatsächlich in den Status eines Developers erhoben. Man könnte jetzt wirklich meinen, ich sei am Ziel meiner Träume, aber naturgemäß geht mein Laserblick auch da durch und Zweifel kommen auf.

INTJ-typisch ist ja die Vorgehensweise, bei der die berühmte schwarze Kiste als ganzes unangetastet bleibt und man nur mit der Taschenlampe in die Ecke leuchtet an der man etwas verändern will. Zuerst war das ein Plugin für den automatischen Zeilenumbruch, dann war es das Multilingual-Plugin was dann schon deutlich mehr im Programmkern verankert ist. Und auch einzelne Bugs im Core. Und bei jedem Schritt bin ich wie Perseus dem Faden der Ariadne durch den Programmablauf gefolgt und habe immer mehr dazugelernt. Für so etwas ist mein absolut unverzichtbares Tool übrigens Effective File Search (noch so ein gestorbenes Projekt, die Herstellerseite ist offline) mit dem mehr sehr schnell einen String wie einen Funktionsaufruf oder eine Variable innerhalb von mehreren Verzeichnissen im Volltext suchen kann. INTPs würden wohl hier anders vorgehen, zumindest der Theorie nach würden diese zuerst verstehen wollen wie die Kiste funktioniert und von da aus loslegen.

Wie auch immer: Am Anfang des Jahres wurde ich von mehreren Richtungen angemailt ob man den Blog denn abonnieren könnte. Ein RSS-Feed ist zwar integriert, aber da muss der Benutzer zuerst einen Feedreader installieren und mit diesem die neuen Beiträge abrufen. Und durch meine Kontakte mit WordPress-Blogs wusste ich, dass WordPress ein Email-Abonnements-Feature hat: Bei einem neuen Beitrag bekommt man dann eine Email. Schon seit meiner Kindheit habe ich gelernt: Wenn Du etwas haben willst, warte nicht bis es jemand für dich macht, sondern mach es selbst. Vor allem bei meinem Vater konnte man sonst warten bis man schwarz wurde. Also habe ich angefangen das Feature zu programmieren. Wie es mir immer geht, hat es natürlich viel länger gedauert und war viel mehr Arbeit als gedacht. Eigentlich wollte ich für das Entwicklercamp im April schon eine Testversion fertig haben aber das hat nicht geklappt und das Camp wurde wegen Corona auch nur online abgehalten.

Jetzt ist das Feature endlich in der ersten Version fertig (auf den Briefumschlag klicken!) und nebenbei habe ich auch einige andere Kleinigkeiten am Wegesrand gefixt, das Changelog meines Branches ist inzwischen ein ganzer Roman. Weil ich ziemlich viel im Programmkern geändert habe habe ich mich nicht getraut - und es gehört sich wohl auch nicht - alles in die Masterversion zu integrieren. Und wie komme ich jetzt darauf, dass es ein sterbendes Pferd sein könnte? Die Dateien für die zwanzig oder so Sprachen waren in einem verheerenden Zustand - neue Variablen wurden immer wieder angefügt und niemand konnte sagen, was denn jetzt inhaltlich zusammengehört. Weil ich auch zwei Dutzend zusätzliche Variablen hinzugefügt habe fand ich die Idee gut, hier mal aufzuräumen und habe die 1.500 Zeilen der englischen Mastervariante nach der Verwendung sortiert und dann ein Skript geschrieben was mir mit quasi einem Klick alle anderen Sprachen in die gleiche Reihenfolge bringt und für alle nicht übersetzten Variablen die englische Variante nimmt. Tja, und dabei ist mir aufgefallen, dass nur die englische und deutsche Variante vollständig sind, an den anderen Sprachen war teilweise seit Jahren niemand mehr dran. Und auf Nachfrage konnte mir auch niemand sagen ob und wer denn die Übersetzungen macht.

Ich hatte auch gehofft, dass sich - nachdem ich das Feature endlich veröffentlicht hatte - auch jemand darum kümmern würde und einen ersten unabhängigen Test machen würde. Bisher scheint das aber nicht der Fall zu sein. Und als ich s9y mal gegoogelt habe, bin ich auf den Blog des Template-Entwicklers gestoßen auf dem er schreibt, dass er sich im eigenen Programm fremd fühlen würde und gerne etwas neues mit neuen Techniken machen würde. Ich habe natürlich geantwortet. Ich halte diese Idee nämlich für illusorisch. Einfach mal eine Größenordnung: Mein Montagesystem hat etwa 320 Kilobytes an Code und ich habe hunderte von Stunden dafür gebraucht. s9y hat alleine im Hauptverzeichnis 1,5 Megabytes an Code und dazu kommen noch die Templates. Wenn man nicht gerade arbeitslos ist, dürfte es schwer möglich sein etwas in dieser Größenordnung alleine auf die Beine zu stellen. Außerdem verstehe ich die Kritik nicht: Gut, die eine oder andere Ecke des Programms ist etwas verknuschelt und ich hätte auch nicht jede Funktion und jede Variable mit "serendipity_" bezeichnet, das gibt wirklich hässliche GET-Strings. Aber dafür kann ich ja PHP und wenn ich sowieso schon in der Größenordnung am Ändern bin lassen die Hemmungen ziemlich nach beim Aufräumen auch mal das Dickicht zu lichten. Aber im Großen und Ganzen kann das System ja das was es soll - einen Blog darstellen. Ein Feature was mir einfällt und noch fehlt wäre die Möglichkeit den Einträgen ein festes Bild zuzuordnen, das ist aber auch einfach zu realisieren. Jedenfalls scheint es viele Blogs zu geben die für jeden Eintrag ein großes Bild haben, auch wenn das für mich wenig zielführend erscheint, ich bin halt ein Text-Mensch und die wenigsten Blogger haben ein gutes eigenes Bild für jeden Artikel den sie schreiben wollen.

Was aber das offensichtliche Zeichen dafür ist dass der Gaul schon ziemlich schwankt: Das Angebot an Designvorlagen ist erschreckend mau. Für große CMS wie Wordpress, Blogger oder Joomla gibt es tausende Templates, für s9y sind es ein paar Dutzend und die zwei neuesten sind von 2013, die meisten anderen sind von 2005-2008 und sehen auch so aus, das ist ja fast schon Internet-Steinzeit. Ist es dann bezeichnend, dass der Template-Entwickler eine Motivationskrise hat? Ich muss dazu sagen, dass ich das zwar gezwungenermaßen für mein eigenes System gemacht habe, aber mit CSS-Programmierung stehe ich auf Kriegsfuß. Dauert ewig bis man endlich das Ergebnis hat was man sich vorstellt und alles da bleibt wo es hingehört wenn man die Anzeigebreite verändert. Außerdem gibt es seit HTML5 so viele super tolle Effekte etc. und meine grafische Gestaltungsfähigkeit nutzt das niemals aus. Ich kenne keine Zahlen wie oft Serendipity denn täglich heruntergeladen wird, aber nach Aufwind sieht mir das nicht aus. Wie gesagt: Der Core stellt die Informationen ja einwandfrei zur Verfügung und die ganze Darstellung steht und fällt mit dem Template. Dabei verwendet das Programm mit Smarty ja eine wirklich praktische Template-Engine. Bei meinem eigenen System habe ich den Html-Output in die untere Hälfte der PHP-Dateien gepackt, das schränkt das Layout natürlich ein und ist auch nicht super toll lesbar, wenn man teilweise mit 'echo' ausgibt und teilweise PHP per Tag verlässt. Mit der Template-Engine übergibt man die ganzen Variablen und die Engine kann diese dann auf beliebige Html-Vorlagen anwenden und dabei noch Kontrollstrukturen verwenden.

Tja, jetzt habe ich irgendwie ein starkes DejaVu: Wenn ich so ein schönes Template wie ich es letztens für Blogger gesehen habe haben will, muss ich es selbst machen. Das wird wohl ewig oder noch ewiger dauern - und ich hasse CSS. Und wenn es nicht nur für mich, sondern für alle funktionieren soll müsste ich es auch für alle Plugins benutzbar machen und nicht für die paar die ich selbst benutze - das dauert noch länger. Und es wäre ein Zeichen dafür, dass ich mit Abstand derjenige bin der in den letzten Monaten am meisten zum Projekt beigetragen hat, dabei geht es mir ja darum eben nicht die (zumindest mengenmäßige) Führung zu übernehmen, sondern Teil eines Teams zu sein bei dem man zu anderen leistungsmäßig aufblicken kann und die man mit seinem Beitrag dazu motivieren kann nachzuziehen.

Einer der Hauptautoren hatte zumindest mal angefangen meinen Beitrag zu prüfen, seine berechtigte Kritik war dann auch dass ich eine Menge nicht zusammenhängener Änderungen in einen Commit gepackt habe und außerdem ein paar Formatierungssachen, wo die offizielle Richtlinie anders ist als ich es gemacht habe. Ich habe das dann auch geändert und den großen Haufen Änderungen in tagelanger Arbeit nochmal fein säuberlich auseinandergeklaubt und in einzelne Commits gepackt und die Änderungen der Änderungen zusammengeführt. Ich bin jetzt ein echter git-rebase Experte. Das Problem ist nur - es hat sich danach nichts mehr getan. Es gibt auch eine Slack-Diskussionsplattform für die Entwickler und 99% des Textes darin in den letzten Monaten sind von mir. Das stimmt schon etwas nachdenklich.

Und ein anderer Kritikpunkt, den ich aber nicht teilen kann ist eine schon fast pathologische Angst am Programmkern etwas zu verändern. Serendiptiy hat den Programmkern und zusätzliche Plugins, die sich in zwei Gruppen teilen: Im Paket mitgelieferte und "additional Plugins". Anders als zum Beispiel bei Joomla gibt es aber keine mir bekannten Fremd-Plugin-Anbieter, die ganze Codebasis ist also in dem Serendipity-Repository. Deshalb sehe ich kein Problem darin wenn es sinnvoll ist eine Kernfunktion umzuprogrammieren das auch zu machen und dann einfach alle Funktionsaufrufe in allen Plugins umzuschreiben. Dafür gibt es ja Effective File Search. Und wenn man die additional plugins dann zwangsweise gleich mit der Hauptversion updaten würde müsste man da auch nicht dauernd auf Abwärtskompatibilität achten, das verkompliziert den Code nur unnötig wenn man da die Versionsnummer abfragen muss. Wenn ein Funktionsaufruf wegen abweichenden Argumenten illegal ist dann ist das normalerweise so ein heftiger Fehler dass er leicht zu beheben ist. Ich finde das ja deshalb auch so super wie das bei meinem Montagekalender ist: Wenn jemand einen Fehler findet und mir das sagt ist er innerhalb von ein paar Minuten gefixt und online. Das ist etwas total anders als bei kommerzieller Software und vielen OpenSource-Projekten wo man Fehler meldet und wenn man Glück hat wird das nächstes Jahr in der nächsten Version gefixt, wenn überhaupt.

Noch schlimmer ist, dass sich die Geschichte da wohl wiederholt, denn es muss wohl früher einen anderen Entwickler namens Ophian gegegeben haben der ebenfalls das Projekt verlassen hat und seine eigene Fork unter dem Namen Styx publiziert hat. Warum auch immer. Angesichts der Tatsache, dass ich schon bei Serendipity 2.4.alpha6 bin und der Master immer noch auf 2.4.alpha2 steht und überhaupt nicht absehbar ist wann 2.4 überhaupt offiziell veröffentlicht wird, habe ich jetzt de facto auch eine eigene Fork, die aber nur einen einzigen User hat (mich) und mangels Publicity auch keine anderen bekommen wird. Weil das Projekt aber so groß ist wäre auch die Vermarktung meiner eigenen Fork alleine auch keine Option, da kommt man ja nicht hinterher, da spielt meine Jack-of-all-Trades Persönlichkeit nicht mit. Bei Styx fehlen ja zum Beispiel die ganzen Änderungen die ich gemacht habe und die das Original-Serendipity-Team seitdem gemacht hat und weil sich das schon länger auseinanderentwickelt hat dürfte es schwierig bis unmöglich sein das wieder zusammenzuführen. Es gibt jetzt also die Styx-Version die einen guten WYSIWYG-Editor haben soll, meine Version mit Verbesserungen im Multilingual-Bereich, dem Abonnements-Feature und der Autorseite und das Original (kann jetzt auch utf8mb4).

Kann man also sagen, dass der Gaul gerade stirbt? Ich würde sagen ja. Und dass versucht wurde das Problem zu lösen indem man das Pferd in der Mitte durchsägt machte es nicht besser, denn jetzt haben wir zwei sterbende Gäule, denn mit Verlaub hat Styx das gleiche Problem mit mangelnder Manpower bei den Templates und Übersetzungen und zu wenig Kapazität für größere Verbesserungen.

Es ist halt immer das gleiche: Irgendwann komme ich an den Punkt wo man mit anderen zusammen an einem Strang in die gleiche Richtung ziehen müsste damit etwas gutes daraus wird. Nimmt man alle drei Serendipity-Ableger zusammen und findet auch noch ein paar Leute die attraktive Templates und die fehlenden Übersetzungen machen dann wäre das mit Leichtigkeit das beste System am Markt. Nur bräuchte man da eine völlig andere Persönlichkeit um diese Leute (wieder) zusammenzubringen und für dieses Ziel zu motivieren. Und weil ich diese Persönlichkeit aber nicht habe, aber eben trotzdem die Weitsicht die Situation zu erkennen kann ich an dieser Stelle eigentlich nur noch einpacken und die Tierkörperbeseitigung rufen, denn ich kann es nicht ändern und von alleine wird es sich auch nicht ändern.

Um es mit Bernd dem Brot zu sagen: Mist.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Beat am :

Ganz allgemein sind private Blogs heutzutage ziemlich out. Facebook, Instagram, und wie sie alle heissen, haben diese Kommunikationsform abgelöst. Da ist die Audienz VIEL grösser als bei jedem privat betriebenen/gehosteten Blog. Influencer betreiben private Blogs um ihre Produkte zu vermarkten und mit genaueren Webstatistiken ihre Kunden zu befriedigen. Aber Blogs im ursprünglichen Sinn sind nahezu tot.

Die übrig gebliebenen Blogger benutzen m.M.n. wohl zu 80% Wordpress und zu 15% Joomla, Drupal, Wix, und Konsorten. Die restlichen 5% sind dann Exoten-Systeme, zu denen ich auch Serendipity zähle.

Ich habe keine wirkliche Ahnung, doch ich schätze, es werden wohl kaum mehrere tausend Serendipity-Installationen aktiv betrieben und gepflegt. Wenn man nach den "best 10 selfhosted blogsystems" googelt, taucht Serendipity kaum (mehr) irgendwo auf. So gesehen: Ja, Serendipity ist ein sterbendes Pferd.

Wie Du richtig geschrieben hast: "Aber im Großen und Ganzen kann das System ja das was es soll - einen Blog darstellen." Deshalb meine Frage: Was sind denn aus Deiner Sicht notwendige "grösseren Verbesserungen", die man anpacken sollte? Was schwebt Dir denn da so vor?

Zitat: "Ein Feature was mir einfällt und noch fehlt wäre die Möglichkeit den Einträgen ein festes Bild zuzuordnen," -> das kann doch das Timeline-Template. Wenn ein Eintrag kein eigenes Bild hat, wird das entsprechende Bild der Kategorie angezeigt.

Das ist in meinen Augen einer der ganz grossen Vorzüge von Serendipity: Eines der vorhandenen Templates abzuwandeln und den eigenen Bedürfnissen anzupassen ist gar nicht so schwierig. O.K. um CSS wirst Du nicht herumkommen. ;-)

Zitat: "Wenn ich so ein schönes Template wie ich es letztens für Blogger gesehen habe haben will, muss ich es selbst machen." Das würde mich interessieren. Hast Du einen Link, wo ich mir das mal ansehen kann?

Das könnte eine interessante Diskussion werden. ;-)

Stephan Brunker am :

Schau mal unter www.zeitlupenkamera.net , das ist jedenfalls der minimalistische Stil der mir zusagt und der auch anno 2020 ist …

Es ist ja nicht so als dass ich CSS nicht könnte, ich finde es halt nur furchtbar mühsam wenn das Layout auch noch responsiv sein soll und man einige Versuche braucht bis es richtig funktioniert. Html5 hilft da schon etwas, mit Flexbox und Grid ist das schon deutlich einfacher als vorher.

Beat am :

Das Design von zeitlupenkamera.net hübsch. Meiner Meinung nach kann das in S9Y mit wenig Aufwand nachgebaut werden. Das Bootstrap4-Template ist responsiv, mit Grid und Hamburger-Menü. Auch was die Seitenleisten- und Ereignis-Plugins angeht, finde ich auf zweitlupenkamera.net nichts, was S9Y nicht auch bieten würde.

Etwa 2 Jahre lang nutze ich das Skeleton-Template und bin dann nur deshalb davon weggekommen, weil es kein schönes/brauchbares Mobile-Menü bietet. Das war aber richtig minimalistisch. Hat mir dennoch sehr gut gefallen.

Mit Design kann man endlos Zeit verbraten und S9Y bietet einem wirklich sehr viele Möglichkeiten um eigene Ideen umzusetzen. Letztendlich zählt in einem Blog aber trotzdem vor allem der Content/Inhalt. Ich besuche Deinen Blog ja auch, trotz des 9 Jahre alten Templates. ;-)

Beat am :

Ich habe übrigens den Styx-Entwickler auf diesen Blog-Post aufmerksam gemacht. Vielleicht interessiert Dich, was er dazu schreibt. Siehe: https://www.blog.dokumenzi.ch/2648-Styx-Stand-3.0.1-18.06.2020.html#c7241

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Formular-Optionen

Sie können auch über neue Kommentare informiert werden ohne einen zu verfassen. Bitte geben Sie ihre email-Adresse unten ein.