bullshit

neues deutschland, alte app

Vor einigen Tagen war es mal wieder soweit: Ich lachte mir ein neues Zeitungsprobeabo an, dieses Mal war es vom neuen deutschland. Manchmal mag ich Papier doch noch ganz gerne, da tauchen so selten Push-Notifications und andere Ablenkungen auf und man kann es so gut falten. Aber sonst weiß ich durchaus auch die Vorzüge eines Tablets — mit einer entsprechenden App — zu schätzen. Was für ein Zufall, dass das nd mit dem Kombi-Mini-Abo ein entsprechendes Probeabo im Angebot hat, da konnte ich dann doch nicht mehr widerstehen.

Ich holte mir die App, meldete mich mit meinem Benutzerkonto an und lud mir die aktuelle Demoausgabe herunter. Mir gefällt die App, sie ist schlicht und ich kann mit ihr das machen, was ich will: Zeitung lesen. Um das Bedienkonzept anhand der Demoausgabe zu veranschaulichen, habe ich mal ein kurzes Video aufgenommen.

Wenig später meldete sich eine Berufskrankheit — ich programmiere für Geld Apps für iPhone und iPad — und ich stellte mir die Frage: Wie haben die die App eigentlich gebaut? Dass ich im PDF auf einen Text tappen kann, der mir dann in einer anderen Ansicht angezeigt wird; das ist ja schon durchaus schick und elegant! Der Text sieht auf jeden Fall nicht so aus, als würden sie ihn aus dem PDF extrahieren. Woher also dann?

Am vergangenen Freitag setze ich mich also hin, diese Fragen zu beantworten. Das Ergebnis wird vielleicht eine kleine Serie von Blogposts sein — ich will da aber nichts versprechen, wahrscheinlich bin ich zu faul oder antriebslos. Vielleicht schaffe ich es ja auch, mich hinzusetzen und das besser zu machen, weil — Spoiler — einige Sachen sind eher uncool. Und genau um die geht es heute.

Ich installierte mir mit Proxyman ein Tool, mit dem ich den Netzwerkverkehr der App mitlesen kann. Und ab dem Moment war das, was ich sah, so ein bisschen wie ein Unfall: Je mehr ich sah, desto uncooler wurde es, desto mehr wollte ich sehen.

Backend und welche Verschlüsselung?

Die nd-App bezieht die Texte, PDFs und Bilder, die sie anzeigt, von einem Backend, die Domain lautet epaper.neues-deutschland.de. Über dieses Backend kann ich mich — auch im Browser — anmelden und alle aktuellen und vergangenen Ausgaben seit dem 01. August 2011 als PDF herunterladen. Was mir sehr früh auffiel — und ich eher kritisch sehe: Das Backend kann ich ausschliesslich unverschlüsselt über http:// erreichen. Versuche ich einen Aufruf über https://, dann geht das gar nicht erst:

2020, in Zeiten von kostenlosen SSL-Zertifikaten, ist das ein bisschen ein Armutszeugnis. Und dass es besser geht, das weiß auch das nd:

Selbst nutzen sie ein kostenloses Zertifikat von Let’s Encrypt und mir erschließt sich nicht so ganz, warum sie das nicht auch für die Epaper-Seite eingerichtet haben. Spätestens an dem Punkt wird es ohne Verschlüsselung unveranwortlich, an dem die App sich an besagtem Backend anmelden möchte und muss (dazu später mehr): In diesem Moment werden die Anmeldedaten unverschlüsselt übertragen. Schade. Mit denen kann ich mich dann übrigens auch auf der eigentlichen Webseite anmelden und so beispielsweise die Emailadresse herausfinden.

Im Quelltext der Webseite für das Epaper finden sich übrigens auch Hinweise darauf, dass die Rhein-Zeitung vor einigen Jahren mal die gleiche Technik genutzt hat.

Ich schnupperte weiter in der Webschnittstelle, weil mich ja immer noch die Frage interessierte: Wie ist die App aufgebaut, wie bekommt sie ihre Daten in welchem Format?

PDFs und Bilder

Um es kurz zu machen: Jede Zeitungsseite ist ein PDF, das einzeln heruntergeladen werden kann. Alle PDFs stehen frei verfügbar im Netz, ich muss also kein Abo haben, um sie zu lesen. Wenn ich über das Netzwerk hinter den beiden Nazis, die Walter Lübcke ermordet haben, nicht im Internet lesen möchte, sondern lieber auf Seite 13 und Seite 12 der Wochenend-Ausgabe vom 15. August 2020 in echtem Zeitungslayout, so hindert mich kaum etwas daran. Ich muss nur die URLs wissen, aber dazu später mehr. Der Aufbau der URLs ist dabei immer gleich: http://epaper.neues-deutschland.de/eweb/media/nd/$year/$month/$day/pdf/$pdfname. Alles bis auf der PDF-Name ist offensichtlich, aber auch der ist kein Hindernis.

Für die Übersicht einer Ausgabe werden Bilder genutzt, auch die stehen frei im Netz, übrigens in verschiedenen Auflösungen. Exemplarisch die Seite 12 in klein, mittel, groß und original. Einziger Unterschied: Die Endung des Dateinamens. Kleine Bilder enden auf _sml, mittelgroße auf _mdl, große aufbig und das Original auf _org.

Um die URLs der Bilder und PDFs in Erfahrung zu bringen, ist es notwendig, die URL-Struktur und die Namen zu kennen. Auf die Struktur bin ich schon eingegangen, die Namen der Dateien stehen ebenfalls frei zugänglich im Netz, exemplarisch wieder für die Wochenendausgabe von heute die Dateinamen der Seiten 12 und 13:

Ich habe die Antwort vom Server etwas gekürzt., damit es offensichtlicher ist. Welcher Tag mich dabei interessiert, kann ich über die URLs steuern.

Texte

Klicke ich in der App auf einen Texte im PDF, kann ich manche Texte in einer anderen Ansicht lesen, vergrößern und mir sogar vorlesen lassen. Die dafür notwendigen Texte werden ebenfalls vom Server über einen entsprechenden Endpoint heruntergeladen, die der Ausgabe vom 15. August 2020 liegen hier: http://epaper.neues-deutschland.de/tablet/getallarticle/2020/08/15/a/. Auch hier kann ich über die URL festlegen, von welchem Tag ich die Texte haben will. Wenn ich nicht angemeldet bin, sehe ich auch keine Texte, soweit, so erwartbar:

Habe ich mich eingeloggt, dann sieht das etwas anders aus.

Um mich anzumelden, habe ich verschiedene Möglichkeiten:

Das Ganze lässt sich natürlich auch wunderbar automatisieren. Kleines Schmankerl: Die Texte für die App komme in zwei Versionen: Einmal mit HTML formatiert und einmal ohne. Für die Formatierung wird CSS mit deutschen Klassennamen genutzt. Als ich das gesehen habe, musste ich schmunzeln:

Fazit

Ich finde Zeitung und App sympathisch und werde wohl auch nach meinem Probeabo dabei bleiben. Nichts desto trotz finde ich die technische Seite unzeitgemäß und fahrlässig. Auch wenn das nd in der Hilfe zur App — durchaus nachvollziehbar — erklärt, warum sie „[…] keine App mit allem Drum und Dran, 360°-Aufnahmen und komplett neuem Design […]“ bauen, so hat diese App seit bald zwei Jahren keine Liebe mehr gesehen. Schade eigentlich, denn das haben weder die App, noch die Leser*innen verdient

Egal, ob ihr lieber die Texte des nd lieber auf der Webseite lest, oder als PDFs herunterladen wollt: Ihr könnt das nd komplett kostenlos lesen. Davon rate ich natürlich ab, denn dem nd geht’s eh schon nicht so gut. Bitte bezahlt für Texte, wenn ihr sie lest und gut findet. Falls dir dieser hier gefallen hat, kannst du natürlich auch dafür zahlen, beispielsweise per Paypal.

Ich hatte die Menschen vom neuen deutschland am Freitag Abend — schon ein bisschen gemein und spät, muss ich zugeben — schon darauf hingewiesen, dass ihre PDFs frei verfügbar sind und es keine Verschlüsselung gibt. Sie antworteten sinngemäß:

Wir melden uns!

Ich bin gespannt und hoffe, dass da eine Antwort kommt.