Folge 37 - Software-Verschleiß

Wieso ist eine Software keine einmalige Anschaffung? Wie lange hält meine Software und welche Einflüsse gibt es? Wie kann ich so ein Update eigentlich entwickeln?

In dieser Folge versuchen Sebastian und Christoph, beide seit vielen Jahren Softwareentwickler, einige Antworten auf diese Fragen zu geben.

Untermalt mit anschaulichen, auch witzigen Beispielen, tauchen Begriffe auf wie:

  • Feature-Wünsche
  • Security Updates (und Incidents)
  • DSGVO
  • Nutzererwartungen

Hier sind einige weiterführende Links zu der Folge:


Falls ihr Fragen oder Anregungen habt, immer her damit:

Das Sandpapier ist ein regelmäßiger unregelmäßiger Podcast der Sandstorm Media GmbH. Wir erzählen aus unserem Alltag, was wir versuchen, anders zu machen und welchen Herausforderungen und Experimenten wir uns auf unserem Weg stellen.

Transkript

Christoph
Hallo und auch heute herzlich willkommen zu dem Sandpapier, unserem regelmäßig unregelmäßigen Podcast. In dem Podcast sprechen wir über Themen und Herausforderungen oder Experimente aus unserem Alltag bei Sandstorm, ein Softwareunternehmen. Und heute soll es auch um Software gehen, und zwar um das große Thema Softwareverschleiß. Warum muss man Softwaresysteme warten? Warum installiere ich ein Programm, mache gar nichts und es funktioniert trotzdem irgendwann nicht? Wie das dazu kommen kann und warum das leider völlig normal ist, darüber wollen wir heute sprechen. Wir sind in dem Fall Sebastian Kurfürst und meine Wenigkeit Christoph Dähne.

Sebastian
Wir sind Softwareentwickler bei Sandstorm, sind häufig auch so in dieser Architekturrolle unterwegs und das ist ganz spannend, weil wir damit häufig auch Projekte sehen, nachdem sie fertig geworden sind und nach langer Zeit wieder bei uns ankommen, oder manchmal auch sozusagen wir, die noch nie gesehen haben und sie kommen nach langer Zeit bei uns an. Das heißt, wir haben einen recht breiten Einblick in viele Projekte und das macht es auch so spannend.

Christoph
Und die Leute, die zu uns kommen, also unsere Kunden, die zu uns kommen, die machen das ja nicht zum Spaß. Es gibt ja diesen Spruch so, ja, never change a running system. Da ist auch viel Wahres dran, wenn was funktioniert. Man macht man's nicht kaputt nach Möglichkeit. Aber es gibt trotzdem viele Gründe, immer wieder einen Blick drauf zu werfen und sich zu fragen, das, was ich da habe, funktioniert das eigentlich noch? Oder funktioniert das nächste Woche immer noch? Da wollen wir drüber sprechen, warum kommen die Leute zu uns und sagen, jetzt muss irgendwas anders sein. Wir haben da ein paar Beispiele rausgesucht und wollen damit... Sebastian, ich würde sagen, wir beginnen einfach mal mit dem Ersten. Und das ist auch, sag ich mal, das ist wahrscheinlich jedem sofort klar vielleicht oder nicht. Das sind einfach neue Feature-Wünsche. Die Leute sind einfach mit dem alten System, so wie es jetzt funktioniert, nicht unbedingt unzufrieden. Aber sie merken, na ja, hier fehlt noch was, da brauche ich noch was. Das sollte ja eigentlich von Anfang an schon rein. Das haben wir nur auf unbestimmte Zeit verschoben, solche Sachen. Sebastian, wie sehen denn solche, oder wie können dann solche Erweiterungen von Systemen aussehen, wenn das System jetzt sehr, sehr lange auf einem Stand geblieben ist?

Sebastian
Genau, genau. Also, was man ja immer machen möchte, wenn jetzt jemand sagt, hey, ich möchte eine Anpassung haben in dem Projekt, dann muss man ja irgendwie gucken, wie kriegt man diese Anpassung sozusagen möglichst elegant und möglichst gut an, also in das System rein, ohne dass man sozusagen, ich sag jetzt mal, mit dem Hintern was umstößt, also was anderes einreißt, was eigentlich schon ging. Und das ist bei einem Projekt, was sozusagen älter ist, wo es weniger Wissen darüber gibt, wie das funktioniert, ist es sehr viel schwieriger, als man sich das vielleicht vorstellt. Vor allem, wenn dieses, wenn das sozusagen das Feature auf eine Art und Weise eingebaut wird oder wo es, also wo man am Anfang nicht dran gedacht hat, dass da so ein Feature kommen könnte. Dann hat man so das Gefühl, man hat hier so ein Lego-Stein, aber irgendwie sind die Löcher alle nur rund. Wie passt denn das irgendwie ineinander? Es ist, na, da muss man, da muss man anfangen, die Löcher auszufeilen und da kann natürlich auch was anderes kaputtgehen. Und das ist immer so ein bisschen schwierig. Weshalb wir da häufig teilweise tiefer reingucken müssen. In dem Fall war das zum Beispiel ein Projekt, das sehr lange auf dem alten Stand war, das, ich weiß nicht, war drei, vier, fünf, sechs Jahre auf dem alten Code stand und sollte dann angepasst werden. Die Redakteure hatten immer mehr Wünsche und wir konnten das sozusagen ohne eine Aktualisierung nicht ermöglichen, weil wir den alten Stand nicht mal kannten. In dem Fall haben wir den nicht mal geschrieben sozusagen. Und man merkte halt auch, dass sozusagen Dinge, die heute üblich sind, die waren halt vor fünf Jahren noch nicht üblich teilweise in der Art und Weise, wie man bestimmte Sachen geschrieben hat. Das heißt, aus heutiger Sicht war der Code auch, ja, der war halt älter sozusagen, das hat man angesehen. Und man möchte ja auch eine Codebase haben, die man langfristig auch sinnvoll weiter entwickeln kann. Und aus dem Grunde mussten wir zum Beispiel in dem Fall dann wirklich einen recht großen Sprung machen, mussten halt diese alte Version aktualisieren auf die neue Version. Und das hat dann so ein bisschen was von Softwarearchäologie, so ein bisschen dieses Jahr, was hat denn der damalige oder die damalige Autorin damals, der oder die das geschrieben hat, denn gemeint. Mir geht das im Übrigen auch bei meinem eigenen Code zu, ja, wenn ich da mit fünf Jahren Abstand drauf gucke, dann frage ich mich auch, was hätte der denn damals gemeint, obwohl ich sehr selber war. Also das ist gar nicht unbedingt nur mit einer anderen Person verbunden. Und ja, das ist irgendwie ganz spannend, dass sozusagen manchmal eine kleine Änderung, eine nach außen kleine Änderung, eine große Änderung unter der Haube auslösen kann. Und das ist halt gemein, muss man sagen. Ich weiß nicht, was fällt dir dazu ein?

Christoph
Du hast es schön zusammengefasst, das ist genau dieser Punkt. Man möchte gerne nur eine ganz kleine Erweiterung haben und dann wird einem gesagt, so ja, jetzt muss aber alles umgebaut werden. Das ist natürlich im ersten Moment erst mal so, so Nachrichten hört man natürlich nicht gern, aber da ist halt leider manchmal viel dran und gerade wenn du jetzt sagst, das System ist fünf Jahre alt, jetzt muss man sich entscheiden, arbeitet man wieder wie vor fünf Jahren, dann werden die Sachen so schnell, so performant und auch so aufwendig, wie es halt vor fünf Jahren üblich war und alle, die später kommen auch oder man sagt, nee, jetzt investieren wir mal in das Update, jetzt bringen wir das System auf den neuesten Stand, wir bringen dir auch das ganze System, was da noch dranhängt für die Entwicklungen, die ja auch unsere Arbeit erleichtert, die bringen wir auf den neuesten Stand und das lohnt sich beim ersten Feature meistens schon und das zweite, das wäre vielleicht gar nicht möglich gewesen, in der alten Sprachversion, in der alten Framework oder in der alten Betriebssystemversion, was auch immer. Also das hängt natürlich ganz doll von dem individuellen Fall ab.

Sebastian
Das ist ein guter Punkt, weil in dem Fall war es zum Beispiel so, wir waren nicht mal in der Lage, dieses alte Projekt sozusagen zuverlässig zu installieren, also wir nennen das zu deployen, also in dem produktiven System eine Aktualisierung durchzuführen, weil das halt, ja, da muss man viel Wissen haben, was wir nicht hatten, was auch recht schwer war, rauszufinden. Und vor fünf Jahren gab es halt auch keine Docker-Container beispielsweise. Also da hat man halt noch auf einem physischen System irgendwo per FTP manchmal irgendwelche Dateien hinkopiert oder per SCP. Und wie soll ich sagen, das macht es halt sehr schwierig, solche Änderungen oder überhaupt auch noch kleine Änderungen zu machen, weil man sich halt nie sicher sein kann, wird das denn wirklich funktionieren. Und jetzt zum Beispiel nach dem Update haben wir halt dann ein relativ standardisiertes Setup, ja, da fällt quasi aus einem Git-Repositoryfeld am Ende ein Docker-Container, der automatisiert gebaut wird und da ist auch der Weg, wie kommt das dann zum Kunden, sehr, sehr viel standardisierter und da kann sehr viel weniger schiefgehen und auf der Basis traut man sich natürlich auch viel leichter, eine Änderung zu machen und die geht auch viel schneller. Und ich glaube, das ist am Ende der entscheidende Punkt, wenn man halt jetzt in diesem Feature-Fall dann das zweite oder dritte oder vierte Feature hat oder auch eine Anpassung, die man sich wünscht sozusagen, da kann man sich das wieder trauen und das geht halt nicht, wenn man so ein ganz altes System hat, was sehr lange nicht angefasst wurde und wo das halt nicht sozusagen peu à peu teilweise modernisiert wurde.

Christoph
Manchmal merke ich das auch bei eigenen Projekten, die älter sind oder länger zurückliegen. Das klingt zwar jetzt erst mal richtig komisch, aber wenn ich reingucke, wie die gebaut sind, komme ich auch manchmal einfach zu dem Schluss, okay, das würde ich Stand heute ganz anders machen. Aber das liegt nicht daran, dass ich sage, okay, damals habe ich alles falsch gemacht, sondern es gibt jetzt einfach Möglichkeiten, die es damals nicht gab. Es gibt jetzt einfach Programmiersprachen, die es damals nicht gab, oder Frameworks, die hat es damals einfach nicht gegeben. Das ging halt nicht. Und das war auch nicht abzusehen, dass die bald kommen. Da lohnt sich ein Update dann auch.

Sebastian
Ich glaube, so ein gutes Beispiel ist so Ember vs. React. Also, die Neos-Nutzeroberfläche war in Ember geschrieben, Ember.js, und das war auch damals wirklich gut, würde ich sagen. Und wir haben dann irgendwann den Schritt gegangen und gesagt, gut, wir schreiben sie in React neu, weil wir uns davon ganz viele Stabilitätsverbesserungen erhofft haben und auch Performanceverbesserungen erhofft haben in der Neos-Nutzeroberfläche, die dann auch eingetreten sind. Und manchmal gibt es halt solche sozusagen transformativen Technologien, die verändern, wie man auf ein Problem draufguckt. Und genau, in dem Fall hatten wir das Problem, dass sozusagen, dieses Neos-Projekt, das war sozusagen in der alten Welt gestartet, sozusagen. Und darauf wurde aufgebaut, und jetzt muss man sich halt genau angucken, okay, welche Teile wurden da angefasst, in welche Art und Weise, und wie kann man das dann ins Neue transferieren? Und wenn alles gut läuft, so war es bei dem Projekt glücklicherweise auch, da konnten wir ganz viel ausbauen an Programmcode sozusagen, weil das jetzt halt Teil des Standards wurde und nicht mehr benötigt war, also nicht mehr mit Speziallösungen benötigt war. Und das ist eigentlich immer ein ganz gutes Zeichen, wenn das halt geht, weil sonst, es könnte ja auch passieren, dass man sich feststellt, naja, irgendwie, man muss immer mehr drum umbauen, dies wird immer schlimmer sozusagen. Was ich noch ganz spannend finde, ist, ich schätze das selber auch enorm, wenn zum Beispiel ein Projekt eine gute ReadMe hat, also ich merke das auch selber, also so eine Datei, wo man drin steht, wie heißt das Projekt, wie kann ich es starten, wie kann ich daran entwickeln, was muss ich beachten, wenn ich das installiere auf einem produktiven System, welche Kniffe muss ich vielleicht noch kennen, und ich merke das selber bei meinen eigenen sozusagen so Hobbyprojekten, die ich so nebenbei mache, wenn ich da irgendwie Lust habe, und die lasse ich immer viele Wochen zwischendurch liegen, und dann, wenn ich wieder anfange, denke ich mir jedes Mal wieder, ah, Mist, wie war dieser Befehl, also wenn ich es nie aufgeschrieben habe, und da bin ich so dankbar, selbst für so ein kurzes Schnipsel an Code, so ja, mach mal diese drei Zeilen, probier das mal aus, auch zur Erinnerung an sich selbst.

Christoph
Ja, also bitte, bitte schreibt Rhythmies. Ich versuche auch immer gute Rhythmies zu schreiben, wobei das Rhythmies updaten meistens das doch Schwierigere ist.

Sebastian
Definitiv. Genau, wir haben jetzt relativ viel über so eine Feature-Wünsche geredet als Aspekt. Was gibt es denn noch so? Du hast ja bestimmt auch in deiner Laufbahn schon andere Kontexte gesehen, wo man dann gesagt hat, hey, na ja, jetzt ist eine Wartung zwangsläufig notwendig, auch wenn kein Kunde oder kein Endnutzer sagt, ja, dieses Feature möchte ich jetzt unbedingt haben.

Christoph
Ja, ja, ja, dafür gibt es auch mehrere Gründe. Als ich vorhin gesagt hab, never change a running system, nicht anfassen, dann geht's auch nicht kaputt. Da werden bestimmt einige schon sich aufgerichtet haben, voller Schreck, und gesagt haben, nee, das geht aber nicht. Gerade wenn irgendwelche Systeme im Internet sind, dann gibt's natürlich Updates, die müssen unbedingt installiert werden, weil sie einfach sicherheitsrelevant sind. Jetzt noch mal für die technisch nicht ganz so versierten Hörer, was heißt denn dieses Sicherheitsupdate? Warum ist denn mein System jetzt plötzlich nicht mehr sicher? Das war doch vor drei Jahren auch sicher. Na ja, oft ist es leider so, dass das System vor drei Jahren genauso unsicher war, aber damals hat's einfach noch keiner gewusst. Deshalb war das nicht so gefährlich. Aber jetzt hat man dann drei Jahre später die Sicherheitslücke gefunden. Und die ist bekannt, und in Anführungszeichen jeder. Es gehört schon etwas Arbeit und auch technisches Verständnis dazu. Aber jeder kann die jetzt ausnutzen. Und deshalb ist es natürlich viel, viel dringlicher, dort ein Update zu installieren. Ja, das stimmt. Und das hat uns selber auch natürlich erwischt, zum Glück. Nur, sag ich mal, im ganz, ganz Kleinen. Und wir hatten vor... Es müsste jetzt ungefähr eine Woche her sein, Sebastian.

Sebastian
Ja, ja, ungefähr eine Woche, ja.

Christoph
Da hatten wir bei uns tatsächlich einen richtigen Security-Inzident, wo wir gemerkt haben, so ups, unsere Website, die macht da was, was sie eigentlich nicht tun sollte und das haben wir auch nicht eingebaut. Sebastian Lothes ist damals gefixt und auch diagnostiziert, willst du dazu kurz was sagen?

Sebastian
Ja, gerne, genau. Das war so ein typisches Ding. Also, irgendwie, Tobias hat mich irgendwie am Nachmittag angerufen. Ja, hier irgendwie kommt so ein Pop-up auf der Webseite. Hä? Und das macht überhaupt keinen Sinn. Das ist nie von uns. Und das hab ich auch angeguckt, gedacht, ja, das kann nie sein. Was ist das denn? Also, da war ein Pop-up, wo irgendeine Werbung angezeigt wurde, die wir nie eingebunden haben, die definitiv nicht von uns kam. Und dann kamen wir ein bisschen auf die Federsuche. Und das ist gar nicht so einfach, erst mal rauszufinden, ja, welches der JavaScripte macht das dann letztendlich wirklich. Und haben das dann aber dann doch relativ schnell eingegrenzt. Und da haben wir letztendlich vor anderthalb Jahren oder so, da gab's so einen Online-Climate-Strike. Also, wo quasi Webseiten, ich glaube, so schwarz geschaltet wurden oder die Startseite auf schwarz geschaltet wurde an diesem Tag halt. Und man konnte da mitmachen, indem man quasi so ein kleines, so ein JavaScript-Einzeiler auf seiner Webseite einbindet. Und das haben wir gemacht, das war letztes Jahr irgendwann, ich glaube im Herbst oder so. Und ja, und hat halt keiner dran gedacht, von uns dieses Snippet wieder zu entfernen. Und was jetzt passiert ist, ist, dass diese Webseite selbst, ja, sozusagen das JavaScript hat auf einmal jetzt halt was anderes gemacht, nämlich ein Pop-up geöffnet. Und jetzt muss man dazu sagen, das ist natürlich nicht, weil jetzt diese Autoren, die da dieses Projekt gemacht haben, jetzt irgendwie böse geworden sind sozusagen, sondern das ist eher so, dass die wahrscheinlich, so sieht es zumindest aus, die hatten eine WordPress-Seite. WordPress ist eins der größten und bekanntesten Content-Management-Systeme. Also, es hat eine unglaubliche Verbreitung. Und dadurch, dass es so eine hohe Sichtbarkeit hat, ist es natürlich auch ein sehr lohnendes Ziel, dort Sicherheitslücken drin zu finden. Das heißt, man muss ziemlich hinterher sein, ja, seine Instanz aktuell zu halten. Und ich glaube, was bei denen halt passiert ist, die hatten diesen Tag erfolgreich über die Bühne gebracht. Ja, und dann bleibt halt so eine Webseite auch ganz gerne mal liegen. Und man denkt halt nicht mehr dran, irgendwelche Aktualisierungen zu machen oder die Webseite abzuschalten. Und ja, letztendlich ist ihnen, glaube ich, das auch so ein bisschen zum Verhängnis geworden, dass dann einfach halt sie damit eine Sicherheitslücke bekommen haben. Oder das ist genau das Eingetreten, was du gesagt hast, die Sicherheitslücke gab es schon immer, aber die ist dann bekannt geworden. Und ja, dann hat irgendjemand da das JavaScript ausgetauscht, was auf die anderen Webseiten eingebunden wurde. Und auf den anderen Webseiten.

Christoph
Und auf den anderen Webseiten nur der Fairheit halber. Ja, das ist dann bei denen liegen geblieben, das ist bei uns natürlich auch liegen geblieben. Das passiert schnell, das soll jetzt nicht so klingen wie, ja, das ist schuld, sind ja immer die anderen. Wir wollen hier überhaupt nicht fingerpointen, wie das bei uns jetzt auch schnell passiert ist.

Sebastian
Genau, im Gegenteil, ich sehe das schon, das haben wir natürlich verbockt sozusagen. Und was ich da aber interessant dran finde, dass man auch da in der Regel sozusagen, da kann man nicht einfach nur sagen, beim nächsten Mal müssen wir halt dran denken, sondern ich glaube, in dem Fall zum Beispiel kann man halt wirklich auch was proaktiv für tun, um solche Arten von Fehlern zu minimieren. In dem Fall so eine sogenannte Content Security Policy einzustellen. Aber egal, das ist jetzt nochmal das technische Detail. Aber das finde ich halt ganz spannend, dass man manchmal für bestimmte Arten von Fehlern ausschließen kann durch ein bestimmtes Vorgehen, also durch einen speziellen Blick auf die Welt. Ja, genau, aber das war so ein typisches Ding, was so völlig extern getriggert war. Ich hatte jetzt natürlich nicht vorher an unserer Webseite irgendwie groß was zu ändern, bis das passiert ist und man sich gedacht hat, ups, da hatten wir tatsächlich einen vollkommen blinden Fleck. Und ja, diese Art von Security Updates sind halt echt ultra wichtig, weil natürlich eine Webseite oder eine Webanwendung auch aus sehr, sehr vielen Komponenten besteht. Und auf jeder dieser Komponenten kann es halt Sicherheitslücken geben, ja.

Christoph
Genau, und denkt dran, ihr schützt natürlich nicht nur eure eigenen Systeme mit den Updates, sondern ihr schützt auch eure Kunden. Wenn jetzt Leute auf die Website kommen, die sind ja gern gesehen und die sollen natürlich auch nicht irgendeinem Risiko ausgesetzt sein. Jetzt ist die Website funktioniert, wie sie soll, aber sie indiziert irgendwelchen Code, der dann auf irgendwelchen ganz anderen Systemen bei den E-Mails oder wo auch immer von den Kunden tätig wird, das ist natürlich auch fatal. Also selbst wenn man denkt, ach bei uns ist ja nichts Wichtiges drauf, eure User sind drauf und eure Kunden sind drauf und die sind wichtig, auch allein dafür lohnen sich Sicherheitsabgaben.

Sebastian
Also, ich glaube, was man noch dazu sagen muss, ist, dass typischerweise diese Sicherheitsupdates also kein so riesiges Problem sind, weil es die in der Regel für einen sehr langen Zeitraum gibt. Also sprich, das ist jetzt nicht unbedingt, also das Einspielen von Sicherheitsupdates ist jetzt nicht vergleichbar mit, wir müssen jetzt hier größere Systemaktualisierungen machen wegen eines neuen Features, weil typischerweise halt für die bekannte Software, die man so nimmt, da hat man Wartungszeiten von drei, vier, fünf Jahren teilweise. Das heißt, für diese Zeit gibt es Sicherheitsupdates, aber auch diese Zeit ist halt irgendwann um und dafür muss man planen. Ich glaube, das ist so ein bisschen das Entscheidende, dass es halt dann irgendwann eine Klippe gibt, wo dann halt zum Beispiel die PHP-Version, die man nutzt, nicht mehr supported wird oder die Datenbank-Version, die man nutzt, nicht mehr supported wird, mit neuen Sicherheitsupdates oder das Betriebssystem nicht mehr supported wird und wenn man dann nichts tut, dann kann es relativ schnell gefährlich werden sozusagen. Das heißt, man kann lange die automatisierten Updates mitnehmen sozusagen, aber man muss halt vor allem für den Zeitpunkt planen, wenn es die halt nicht mehr gibt.

Christoph
Dem kann ich nur zustimmen. Und es kommt nicht überraschend. Wie gesagt, es gibt ja Jahre Vorlauf. Jetzt haben wir viel über Security Updates und Feature-Wünsche gesprochen. Und es gibt noch mehr Gründe. Es gibt noch mehr Gründe, dass man mal ein System updaten kann. Soll ich gleich mit dem Nächsten weitermachen? Na klar, na klar. Genau, es gibt natürlich und ihr alle habt es jetzt in den letzten Jahren erlebt, rechtlichere Anbedingungen, die sich ändern können. Genau DSGVO als Schlagwort, ne? Genau, wir meinen natürlich oder haben natürlich als erstes Hinterkopf die DSGVO, die gerade im Internet doch an vielen Stellen gewisse Aufwände erzeugt hat. Jetzt für alle Nicht-Techniker vor allem dieser Cookie-Konsent ist dort ein auffälliges Ergebnis von, dass man quasi anklicken muss, ja ja, Cookies, ja ja, mache ich. Und jetzt in der späteren Variante, ja, ich möchte alle, ich möchte manche, ich möchte manche und ein paar mehr, aber doch noch nicht alle. Das ist aber doch nur so ein kleines Fensterchen. Muss man da wirklich so ein großes Update machen?

Sebastian
Genau, naja, das Entscheidende ist ja, das ist ja das Schwierige an zum Beispiel der Datenschutzgrundverordnung, der DSGVO, dass sozusagen Sie ja Rechte der Verbraucher, also es geht ja um Rechte der Verbraucher und man muss ja vor allem dafür sorgen, dass dann nicht nur man dieses Pop-Up anzeigt, sondern muss ja daraufhin auch handeln. Also als Beispiel, wenn ich halt sage, ich möchte, dass ich die Webseite ohne Cookies verwende, beispielsweise, dann darf ich halt keinen YouTube-Player auf der Seite einbinden, weil ich ja sonst YouTube, also was sonst quasi passiert ist, wenn dieser Player geladen wird, ist, dass sozusagen die Informationen vom Endnutzer, das ist eine IP-Adresse, und bestimmte Informationen an YouTube gesendet werden. Und YouTube gehört zu Google, das bedeutet also, in dem Fall kann Google sehr, sehr viel über seine Nutzer oder über die Nutzer des Internets allgemein herausfinden, wenn man das macht. Und genau, deshalb zum Beispiel muss man halt einbauen, wenn halt beispielsweise so ein YouTube-Video eingebettet ist und der Nutzer hat halt gesagt, ich will keine Cookies haben, dann muss man halt entweder dieses Video wegmachen sozusagen oder noch besser, so machen wir es typischerweise, dass man halt das Video nur mit einem statischen Bild anzeigt und wenn ich anklicke, kriege ich, dann geht ein neuer Brausefenster auf und ich komme zu YouTube selbst beispielsweise. Und das ist natürlich Arbeit, die man, die man erstmal nicht sieht und aber die man halt machen muss. Und das wird nochmal viel, viel komplizierter, wenn es halt in sozusagen Backend-Prozesse reingeht. Also wenn es halt nicht nur einfach nur die Webseite muss man was an- oder was ausschalten halt macht, sondern der Nutzer hat ja auch ein Recht darauf, seine Daten wieder zu löschen. Und damit ich aber Daten eines Nutzers löschen kann, muss ich überhaupt erstmal wissen, wo liegen diese Daten denn beispielsweise in allen möglichen Systemen. Also das heißt, da waren schon viele Konzerne und auch viele Firmen durchaus mit beschäftigt, das umzusetzen.

Christoph
haben wir auch bei uns immer wieder Lösungen finden müssen, gerade wenn es darum ging, Web-Applikationen, die es schon gab, darauf anzupassen. Weil genau dieser Effekt, ich glaube, dieses YouTube-Video ist ein richtig gutes Beispiel. Ich meine, ohne dass es jetzt schlimm wäre, aber das ist halt so ein Punkt. Die Seite wird geladen, das Video ist drauf und dann ist es eigentlich für die Abfrage schon zu spät. Sondern man muss in dieser Reihenfolge, man kann nicht einfach nur dieses Abfragefenster oben rauflegen, sondern man muss quasi in der Reihenfolge das irgendwie dazwischenschalten. Dann lädt man nur die Hälfte von seiner Website und die andere Hälfte noch nicht. Aber das war ja am Anfang gar nicht vorgesehen. Das ist ja ein Stück, was ausgeliefert wird. Und das kann doch sehr, sehr aufwendig werden, dass das dann richtig funktioniert. Das ist eine Anforderung, die es vorher einfach definitiv nicht gab.

Sebastian
Und was, glaube ich, interessant ist, ich glaube halt auch, weil das könnte so klingen, wie dass wir die DSGVO gar nicht so toll finden, aber ich finde die eigentlich sehr, sehr gut, muss ich sagen, weil ich bin ja auch Verbraucher, und ich finde es eigentlich total gut, dass ich jetzt darüber eine Wahlmöglichkeit habe. Wie soll ich sagen, ich sehe das eher als einen sportlichen Anreiz, dass wir gefordert sind, da eine vernünftige Lösung zu bauen, die sowohl die rechtlichen Anforderungen als auch die Programmieranforderungen unter einen Hut bekommt. Da haben wir in dem Fall mit diesem Cookie-Konsent auch einige Versuche gemacht, und ich glaube, die letzte, mit der bin ich persönlich ziemlich zufrieden. Was die nämlich macht, ist sozusagen so einen gewissen Automatismus. Man kann sehr einfach erst mal sagen, okay, alle Sachen, die ich von externen Dingen lade, die entferne ich sozusagen. Und dann kann ich ganz proaktiv festlegen, sagen, gut, jetzt die Sachen, die haben nichts mit Cookies zu tun, die schalte ich an. Und dann kann ich sozusagen mich so schrittweise durcharbeiten, ohne dass ich jetzt unendlich viel Arbeit habe damit sozusagen. Und ja, genau, und es ist, glaube ich, total sinnvoll, dass halt auch gerade Firmen mit einer großen Marktmacht halt dazu gezwungen werden, da diese Änderungen zu implementieren. Weil ohne diesen Druck es wahrscheinlich nicht passiert wäre. Das muss man halt auch sagen.

Christoph
Wahrscheinlich nicht vorher, ist es ja auch nicht so passiert. Die Umbauarbeiten sind ja an den Stellen auch nötig, wo es vorher anders war. Das stimmt schon. Sebastian, dieses System, was du gerade erwähnt hast, haben wir da eigentlich Teile von oder Konzepte von irgendwo veröffentlicht?

Sebastian
Naja, das Package ist open source, das ist auf Github. Ich muss jetzt gucken, wie es heißt, ZenStorm Punkt irgendwas, aber... Genau, aber das Package, das ist Neos Package, das ist open source. Das hat auch eine ganz vernünftige Doku. Guck mal, ob ich's finde. Cookie, ich such mal nach Cookie. Genau, doch, das heißt ZenStorm Punkt Cookie Punch. Genau, dieses generelle Verhalten quasi mit diesem Blocking. Also das ist jetzt zwar ein Neos-Paket, aber man könnte dasselbe Prinzip auch recht einfach quasi auf beliebige Web-Anwendungen anwenden. Also das ist nicht Neos-spezifisch so extrem, sondern das sind halt eher ein paar Stellen, wo man dann ins Neos reingreift. Aber dieses Grundprinzip könnte man eigentlich auch in anderen Projekten durchaus nutzen.

Christoph
Ich hab's mir aufgeschrieben für die Show Notes, damit ihr den Link auch noch mal bereitzunehmen könnt.

Sebastian
noch mal bereitstehen können. Guter Hinweis. Und was irgendwie spannend ist, ich meine, wir haben jetzt über so Dinge, die von außen kommen, geredet. Wir haben jetzt quasi so Security-Updates oder auch rechtliche Anforderungen geredet. Und ich sag mal, es gibt, glaube ich, noch eine Riesensache, die man, ja, über die wir noch reden sollten. Und das ist so dieses, wenn ich so überlege, wie haben wir Webseiten vor zehn Jahren gebaut? Und wie sahen die aus? Das war grundsätzlich anders als heute. Weißt du, worauf ich hinaus will?

Christoph
Ja, ja, ich vermute es. Ich vermute es. Dann machen wir weiter. Dann mache ich mal weiter. Genau, weil selbst dann alles funktioniert. Das war es vor zehn, du sagst zehn Jahre, ich habe auch gerade überlegt. Vor zehn oder zwanzig Jahren. Die ersten Webseiten, die ich gebaute, die sahen damals modern aus. Die sahen gut aus, die haben auch gut funktioniert. Aber es kann halt eine Seite nicht 20 Jahre lang modern aussehen.

Sebastian
Ich weiß nicht, wann kam das iPhone raus.

Christoph
Modernes ist halt dann immer neu. Da sind ja auch so einige Sachen passiert, zum Beispiel... Jetzt... Google renkt ja seine Suchergebnisse auch danach. Der Zugriff auf diese Webseiten, der passiert einfach völlig anders als vor 15 Jahren. Damals waren die meisten Monitore vier zu drei, so vom Seitenverhältnis. Und... die waren ziemlich groß und schwer und standen auf dem Schreibtisch zu Hause. Jetzt hab ich so ein kleines Telefon. Ich weiß gar nicht, was hat das für ein Seitenverhältnis. Das ist jedenfalls nicht vier zu drei. Genau. Und ich trage es mit mir rum und ich gehe damit online. Und ich weiß nicht, ob ich...

Sebastian
Das ist jedenfalls nicht 4 zu 3.

Christoph
mehr oder weniger Seiten über meinen Computer oder über mein Smartphone-Aufruf.

Sebastian
Ich sag mal, das ist ja auch das, was man eigentlich gesehen hat, seit der Einführung des iPhones 2007 und dann später von Android. Also die haben ja sozusagen eine komplett neue Produktkategorie aufgemacht und das ist ihnen ja ein paar Jahre später nochmal gelungen mit den Tablets. Also wo es ja mittlerweile auch von allen möglichen Herstellern sehr gute Modelle gibt. Damit ist sozusagen hat sich die Art und Weise, wie wir mit Content und mit Inhalten und mit Zeiten interagieren, halt radikal verändert. Und das sind halt Dinge, wie der Bildschirm ist kleiner, das sind Dinge, wie ich habe ein Touch-Display, das sind Dinge, wie ich habe eine schlechte Internetverbindung, wenn ich unterwegs bin und oder ich kann eine schlechte Internetverbindung haben, wenn ich unterwegs bin. Und das sind alles Faktoren, die man halt vor 10, 15 Jahren oder vor allem vor 15 Jahren definitiv nicht berücksichtigt hat, sondern da haben wir halt Software entwickelt für Rechner und Webseiten entwickelt für Rechner. Und da waren so, also die sahen auch komplett anders aus, da war das Menü immer links beispielsweise. Und es gab runde Ecken, da war es das ganz heiße neue fancy Ding, wenn man das hatte, war man cool.

Christoph
Ja, ja. Oder sogar Lauftexte. Lauftexte. Oh Gott, oh Gott. Ja, schrecklich. Das war moderne Sicht. Das war moderne... Frames. Frames. Stimmt. Das war noch Zeiten. Genau. Und das ist natürlich jetzt diese große andere Kategorie. Ja, mein System funktioniert noch, es tut, was es immer getan hat, aber das reicht den Leuten plötzlich nicht mehr. Ich hab jetzt meine Kunden, die haben plötzlich andere Bedürfnisse. Die haben sich geändert. Die wollen vielleicht mit ihrem Smartphone online gehen. Die wollen vielleicht mit Paypal bezahlen und nicht mehr mit Lastschrift. Die wollen vielleicht ihre Pakete an eine Packstation geliefert haben und nicht mehr nach Hause und, und, und die Liste ist...

Sebastian
Recklich. Oh mein Gott.

Christoph
Riesig lang, die wird sicherlich auch nicht kürzer in der Zukunft, sondern die Welt dreht sich weiter und das ist nicht direkt ein Feature-Wunsch, aber es ist doch eine Anforderung, die sich ändert oder eine Erwartungshaltung, die sich ändert.

Sebastian
Ich glaube genau, das ist das Entscheidende, das ist vor allem etwas, was man nicht groß kontrollieren kann, sondern das passiert halt einfach irgendwie. Und wahrscheinlich, also ich würde jetzt mal sagen, selbst die Leute, die sich sozusagen das iPhone ausgedacht haben, haben vermutlich nicht damit gerechnet, dass es so einen großen Einfluss hat, könnte ich mir vorstellen. Also die haben sicherlich daran geglaubt, dass das ein sehr innovatives und auch visionäre Idee ist. Aber es gab ja auch schon Versuche davor, so Palm, Handhelds und solche Sachen, und da hat aber immer das Entscheidendequänchen gefehlt. Also ein bisschen Glück gehört halt auch dazu, auch bei diesen Innovationen. Insofern, wir wissen letztendlich alle nicht, ob wir in fünf Jahren oder zehn Jahren unser Webbrowser in der Brille eingebaut haben, oder ob diese Idee halt nicht sich durchsetzt beispielsweise und ganz viele andere, die es da auch noch gibt, mit denen experimentiert wird. Insofern glaube ich, wie ist da deine Erfahrung, wegschmeißen, neu bauen oder irgendwie schrittweise machen? Kann man das irgendwie sagen, was da besser ist?

Christoph
Ja, das ist eine schwierige Frage. Das hängt ein bisschen, also meine Erfahrung ist, das hängt ein bisschen mit dem Alter von dem System zusammen. Es hat beides seine Vor- und Nachteile. Ich fange mal mit schrittweise Updates an. Die sind natürlich aus Sicht des Kunden oder vielleicht auch aus Sicht des Betriebs wirken die erst mal sehr, sehr charmant. Ich habe jetzt ein System und da baue ich eine Verbesserung ein und dann kann ich die schon mal benutzen und da gibt es auch Rückmeldungen dazu vielleicht. Hoffentlich auch sehr positive Rückmeldungen und dann kommt die nächste Verbesserung und dann gibt es wieder Rückmeldungen, dann lasse ich die einfließen und so kann sich das weiterentwickeln und ich habe regelmäßig kleine Verbesserungen an meinem System. Das heißt aber auch, dass es jetzt aus der technischen Sicht sehr, sehr schwer sein kann, sage ich mal, das Projekt auf moderne Beine zu stellen. Denn natürlich aus Kundensicht ist halt der neue Knopf da von mir aus oder nicht, aber in welcher Programmiessprache der geschrieben ist, das ist ja dem Kunden erstmal egal und das ist ja auch in Ordnung und das sollte er auch sich gar nicht darum kümmern müssen. Aber für die technische Umsetzung macht das natürlich einen großen Unterschied und an der Stelle wird es dann schon wieder schwierig zu sagen, okay, ich behalte viel Altes, aber ich will mit dem Alten eigentlich gar nichts mehr zu tun haben, sondern ich möchte auf neue Technik setzen und das Stück für Stück übertragen. Also der Vorteil ist natürlich, ich entwickle an dem System, was wirklich läuft und der Nachteil ist, okay, damit kommen aber bestimmte Hürden oder bestimmte Spielregeln und ich kann mich, sage ich mal, von ungeliebten Teilen, die jetzt eine bessere Alternative vielleicht haben oder eine Alternative, die besser zu den Anforderungen passt, die kann ich nicht so schnell loswerden.

Sebastian
Ich glaube, was halt spannend ist, ist, man braucht eine recht hohe Disziplin, um das durchzuziehen, wenn man jetzt zum Beispiel eine Technologie durch eine andere ersetzt, weil die viele Vorteile hat, dass man das halt schrittweise macht und dass man am Ende aber auch bei einem Zustand landet, wo wirklich sozusagen die alte Technologie weg ist und nur noch die neue eingesetzt wird. Das ist halt viel wahrscheinlicher bei dem Weg, dass man bei so einem Hybrid-Twitter landet, wo sozusagen ein Teil noch alt ist, ein Teil neu ist. Und das ist vielleicht bei zwei Technologien noch okay, aber wenn dann die nächste und die übernächste und die fünfte kommen und ich habe am Ende irgendwie, ich kann sozusagen in meinem Programm sozusagen, habe ich sozusagen wie so Erdschichten sozusagen in den verschiedenen Programmier-Ideen und Sprachen und Konstrukten, das kann dann schon ganz schön schwierig sein. Das ist dann auch, das kann teilweise sehr, sehr schwer da nur noch zu warten sein, beispielsweise. Das kann funktionieren, wie gesagt, gerade wenn das Team sich weiß, irgendwo weiß, worauf es sich einlässt und dann auch bewusst aufpasst, sozusagen am Ende auch diese Zöpfe abzuschneiden, dann kann das alles funktionieren. Aber da muss man halt auch wirklich darauf achten, dass man diesen letzten Schritt auch geht. Das ist, glaube ich, bei dieser Variante, also wenn man das kann, ist es auf jeden Fall sehr charmant und es ist auch eine sehr valide Option, denke ich. Genau, aber es geht auch nicht immer, muss man sagen.

Christoph
Das geht nicht immer. Und genau, du hast jetzt auch ein großes Risiko da drinnen genannt. Ich baue jetzt, ich sag mal jetzt, das in Farben. Mein Projekt war die ganze Zeit blau. Jetzt baue ich ein bisschen rot an, jetzt baue ich ein bisschen grün an, jetzt baue ich ein bisschen gelb an. Jetzt ist es so ein bunter Haufen, dass es immer schwieriger wird, sich damit da drin zurechtzufinden. Und dann ist der Button halt nicht in vier Stunden erledigt, sondern dauert es eine Woche oder zwei Wochen, bis der eingebaut ist.

Sebastian
Genau weil du vielleicht jede Farbe in deiner Analogie irgendwie anpassen musst und auf eine bestimmte Art und Weise damit es dann wirklich zum gewünschten Erfolg führt.

Christoph
Genau, und rot und gelb arbeiten vielleicht nicht so gut zusammen. Das heißt, da hat man plötzlich ganz viel Aufwand, der eigentlich gar nicht existieren würde, wenn das eine einheitliche Farbe wäre.

Sebastian

Christoph
Genau. Und dann gibt es natürlich noch die andere Möglichkeit. Das ist, du hattest das vorhin den Big Bang Approach genannt. Ich fange einfach komplett von vorne an. Das klingt komisch, kann sich aber lohnen. Ich habe ein großes Produkt oder ein großes Software System und das ist meine Referenz. Von dem, was möglich sein soll. Dann gibt es ein paar Endungswünsche und ich fange jetzt von vorne an. Ich kann mir alles neu auswählen. Die Programmiersprache, die Frameworks, alles. Aber wann kommen dann die ersten Updates rein? Na ja, natürlich erst, wenn alles andere fertig ist und wenn alles andere abgearbeitet ist und es kann eine Weile dauern. Und jetzt habe ich plötzlich zwei Projekte, um die ich mich kümmern muss. Ich habe einmal das alte Projekt, was natürlich läuft und wo es vielleicht auch Fehler gibt und was vielleicht auch angepasst werden muss. Dann habe ich das neue Projekt, was noch niemand sieht, was aber natürlich jetzt schon Kosten und Aufwände verursacht. Und das neue System rennt zu dem alten hinterher. Ich baue in dem neuen drei Sachen ein, die es in dem alten schon gibt. Und jetzt habe ich, baue ich in dem alten was ein oder muss ich das in dem Folgesystem auch noch einbauen? Dann kommt es sozusagen noch als extra Schippe oben drauf. Dann möchte ich jetzt den neuen Knopf einbauen. Und weil ich aber zwei Projekte habe, muss ich das zweimal machen. Und das ist natürlich eine ganz andere Situation mit den eigenen Herausforderungen.

Sebastian
Und was, glaub ich, da sehr gefährlich ist, ist diese Vorstellung oder dieser Satz, ja, das soll genau so funktionieren wie das Alte. Es soll dasselbe können wie das Alte. Aber niemand weiß mehr genau, was das Alte eigentlich kann. Also sozusagen, wenn man nicht genau drüber reden kann, was man sich davon erhofft. Also im Sinne von, wir möchten uns auf diese X-Kern-Funktionalitäten, also die möchten wir richtig gut machen in der neuen Version, und der Rest ist egal beispielsweise. Das ist eine viel bessere Aussage als, aber am Ende genau das Gleiche können wie vorher sozusagen, nur besser. Das ist sehr, sehr schwammig. Und was ich spannend finde an diesem Ansatz, ist die Idee, also diese Idee, dass man sich die Frage stellt, wie würde ich vorgehen, wenn ich von Null starte? Weil was da ja mit drinsteckt, ist ja die Frage, was betrachte ich aus heutiger Sicht als falsche Entscheidungen? Wo würde ich mich anders entscheiden, wenn ich mein bestehendes System angucke, im Vergleich zu, wenn ich jetzt von Null wieder neu starte, mit allem, was ich jetzt heute sozusagen weiß? Und ich finde, diese Frage, in der steckt ganz viel Kraft. Und häufig gibt es dann auch einen Weg, dass man sozusagen durch eine gewisse Kreativität diese beiden Sichten verknüpfen kann. Das finde ich eigentlich sehr spannend, dass man sich diese Frage stellt, wie würde ich heute vorgehen? Und man macht das dann aber gar nicht unbedingt, sondern man nimmt diese Essenz, die da rausfällt, und dann findet man irgendeinen cleveren Weg, das sozusagen ins alte System zu schieben, oder nicht alles neu machen zu müssen, sondern so eine Art Übersetzungsschicht zwischen alt und neu zu haben. Also es gibt verschiedenste Wege. Und die können, finde ich, die können so ein bisschen die beiden Seiten kombinieren, dass man auf der einen Seite diese Vorteile des neuen Systems hat, also dieses Big Bang-Ansatzes, und auf der anderen Seite aber auch quasi ein bestehendes System hat, was sich weiterentwickelt. Und ich glaube, das ist... Hängt von Fall zu Fall ab, ob das geht und wie das geht, ist auf jeden Fall was, was ich immer super spannend finde, wenn man so was hinbekommt.

Christoph
Ja, genau. Und du hast, also der Punkt mit dem, dass es das alte System schon gibt und als dann gesagt wird, ja, das soll einfach alles können, was das alte System schon kann, das kann ich aus meiner Erfahrung auch nur sagen, das ist eine große Falle und das kann für an bestimmten Stellen für viel Verwirrung sorgen. Dann baut man irgendwas ein und hinterher erfährt man, ach so, das benutzen wir schon seit Jahr nicht mehr, das brauchen wir eigentlich nicht mehr oder wenn man auf den Knopf drückt, ist danach die Überschrift immer weg. Ja, das war ein Bug. Jetzt hat man den extra nochmal nachimplementiert, das ist natürlich Quatsch. Genau. Aber wenn man sagt, okay, man fängt nochmal von vorne an, das ist natürlich eine gute Chance, die Altlasten loszuwerden, es besteht natürlich das Risiko, dass es nicht so weit kommt. Also das kann natürlich auch sein. Genau, dass der ganze Rewrite, das Neubauen von dem Produkt, das wird quasi zu zwei Dritteln fertig.

Sebastian
Das kann natürlich auch sein.

Christoph
Und dann gibt es irgendeinen Anlass zu sagen, gut, wir lassen es jetzt bleiben. Das ist natürlich dann sehr schade drum. Und das ist, denke ich, an der Stelle, also aus meiner Sicht, das größte Risiko.

Sebastian
Auf jeden Fall. Ich überlege gerade, ob wir, wir haben jetzt viel über so Software-Systeme Worten geredet, warum man das muss, wie man, oder was man so an, also wie diese Wartung quasi so ganz grob aussieht, entweder peu à peu oder mit größeren Intervallen und was das für Konsequenzen hat. Ich überlege gerade, ob mir noch was dazu einfällt. Aber ich glaube, wir haben schon mal ganz guten, hast du gerade noch Themen oder wo du sagst, hier, denn das.

Christoph
haben wir vergessen. Den Aspekt, es ist, ich habe auch einen sehr, also ich habe ein Beispiel mit einem sehr populären Vertreter, sage ich mal. Und zwar manchmal, das ist auch vielleicht gar nicht so selten, du meintest ja auch mit dem, als das iPhone neu war, da haben sich wahrscheinlich selbst die Entwickler damals nicht ausmalen können, wie groß das später wird oder was alles damit angestellt wird. Und ich glaube, das ist auch schwierig. Man baut ein Werkzeug und dann wird das total kreativ, aber auch total genial eingesetzt und man hat vorher einfach überhaupt nicht dran gedacht. Und das kann auch ein Anlass sein, ein System zu updaten. Das ist, es ist einfach riesengroß geworden und das hat keiner vorher gesehen oder es ist unglaublich alt geworden, das hat keiner vorher gesehen. Man baut ja auch manchmal Software und sagt so, naja gut, das ist jetzt, das brauchen wir für die nächsten zwei bis drei Jahre. Und dann läuft das Ding zwölf und fünfzehn Jahre. Und es hat natürlich Einfluss und um jetzt die Kurve zu kriegen, ein ganz berühmtes Beispiel ist natürlich der Jahr 2000-Bug. Da waren Computersysteme betroffen, die liefen so, so viel länger als jeder hätte ahnen können. Dadurch ist dieses Problem überhaupt erst aufgetreten. Da kann man jetzt streiten, ob das ein Bug ist oder nicht. Wenn ich jetzt irgendwas baue, muss das immer gleich ein Bunker sein, damit der die nächsten 500 Jahre hält. Obwohl ich noch mein Fahrrad unterstellen möchte, das ist vielleicht nicht nötig und das ist natürlich bei der Software genauso, dass man bestimmte Abwägungen treffen muss. Aber es kann sein, dass ein System dann vor Problemen steht, mit denen niemand gerechnet hätte, dass die jemals auftreten. Kennst du noch ein lustiges Beispiel?

Sebastian
Nö, aber das ist ein gutes Beispiel, weil ich meine, Jahr 2000 ist 20 Jahre her, also 21. Aber wir haben... Es steht wieder so ein Problem an, und zwar 2038, 2038. Das werden wir noch... Das ist nämlich die Zeit, wo sozusagen die Unix-Zeitstempel überlaufen. Also, das heißt, wo sozusagen, wenn da nichts geändert wird, dann ändert sich quasi die Zeit vom 19.01.2038 auf 1901. Das heißt, das könnte auch wieder so ein Punkt sein, wo Vorbereitung notwendig ist. Und ich sag mal, wir sind jetzt lustigerweise so fast genau auf der Hälfte der Zeit zwischen Jahr 2000 und Jahr 2038. Es wird interessant zu sehen, ob man an diesem Jahr dann auch noch mal wieder solche großen Änderungen machen muss oder ob halt, es kann ja auch sein, dass sozusagen diese... Dass sozusagen dieses Problem schon schrittweise aus den unterliegenden Libraries und so weiter schon entsprechend rausgeeitert ist. Vielleicht ist das Problem noch bis dann weg. Ja, also, wir werden sehen. Wir sind jetzt gerade auf der Halbzeit dahin.

Christoph
Mhm, wir werden sehen, wir werden sehen. Mir ist auch noch ein lustiges Beispiel eingefallen. Und zwar war das auf YouTube mal ein Problem. Da wurde ein Video so oft angeschaut, dass diese Zahl sich nicht mehr speichern ließ. Das war, ich glaub, das war damals Gangnam Style. Das erste Video, was zu dem Fehler geführt hat. Das wurde halt so etwas über zwei Milliarden mal angeschaut. Damit hat scheinbar keiner gerechnet. Hätte ich auch nicht mitgerechnet. Wahrscheinlich hat der Künstler auch nicht damit gerechnet. Da mussten noch mal ein paar Extra Bites spendiert werden, damit man die Zahl der Views richtig speichern und darstellen kann. Untertitel im Auftrag des ZDF für funk, 2017

Sebastian
Und vorstellbar eigentlich. Absolut. Ja, ja.

Christoph
Na ja, hinterher ist man immer klüger. Aber ich glaube, damals hätte ein Entwickler gesagt so, ja, aber wir haben da noch ein kleines Problem in unserer neuen Plattform, wenn mal jemand ein Video hat, was mehr als 2,3 oder was das ist, Milliardenmal angeschaut wird. Und ich glaube, das ist die Stelle, an der der Entwickler unterbrochen wird. Wahrscheinlich mit den Worten, darum kümmern wir uns, wenn es soweit ist.

Sebastian
Ja, und manchmal ist es dann halt so weit, das ist das Spannende irgendwie.

Christoph
Meistens ist es aber auch nie so weit. Das ist ja auch ein wahrnieder Punkt. Das stimmt, das stimmt.

Sebastian
Ja, es wird nicht langweilig beim Thema Software, finde ich. Das ist eine interessante Spielwiese auf jeden Fall. Das haben wir heute auch mal wieder gesehen. Ja, und ich finde es immer noch mega spannend, muss ich sagen, sich in diesem Bereich tummeln zu dürfen und sich zu tummeln. Ganz viel, was man lernen kann, auch was wir noch lernen beim täglichen Doing.

Christoph
Auf jeden Fall, auf jeden Fall.

Sebastian
Tja, ich würde sagen, genau, was haben wir heute gemacht? Wir haben heute geredet über die Frage, warum muss man Software-Systeme warten und wie sieht diese Wartung dann aus? Wir haben im Prinzip über vier große Klassen von Gründen geredet, warum wir das machen wollen, über neue Feature-Wünsche, über Security-Updates, über rechtliche Änderungen wie beispielsweise die DSGVO oder auch über veränderte Erwartungen der Nutzer wie beispielsweise mobile Webseiten, die man vom Handy aus betrachtet beispielsweise. Und genau, dann sind wir ein bisschen abgebogen und haben ein bisschen überlegt, naja, wie kann man das denn machen, wenn man so eine große Änderung hat, die ansteht? Schmeißt man es weg und baut es neu oder macht man das peu à peu und haben so ein bisschen überlegt, was sind denn da die Optionen, die es da gibt, was haben das für Konsequenzen? Ja, und was sind die Pros und Cons der beiden Lösungen? Genau, wir hoffen, es war was Interessantes dabei bei euch, für euch auf jeden Fall. Wir hoffen, wir hören uns bald wieder, mal gucken wann, gucken zu welchem Thema, aber wir werden eins finden, wir werden eins machen.

Christoph
Auf jeden Fall. Sebastian, vielen, vielen Dank, dass du hier warst.

Sebastian
Gleichfalls, gleichfalls, hat Spaß gemacht.

Christoph
Und die nächste Folge kommt bestimmt. Wir wissen natürlich nicht, wann sie kommt, weil wir machen einen regelmäßig unregelmäßigen Podcast. Und wir sprechen über Themen, wenn sie uns packen und wenn sie uns interessieren und nicht, wenn mal wieder, was weiß ich, Donnerstag ist. Und ich glaube, das merkt man auch. Ich glaube, das hört man auch. Allen Hörerinnen und Hörern möchte ich ganz herzlich danken, dass sie so lange am Beigeblieben sind. Vielen Dank fürs Zuhören. Wehegliches Feedback, wehegliche Fragen sind natürlich jederzeit willkommen. Ihr könnt uns auf Twitter erreichen oder über andere Kanäle. Die will ich jetzt gar nicht alle auflisten. Da würde ich einfach auf die Show Notes verweisen. Und Sebastian, wenn du jetzt noch letzte Worte hast, her damit. Ich würde mich schon verabschieden und vielen Dank. Einen schönen Tag wünschen und vielen, vielen Dank fürs Reinhören. Alles da. Bis bald. Ciao.