WEBVTT

NOTE
Podcast: Wo wir sind ist vorne.
Episode: Die vereinigten Staaten von HTML-istan
Publishing Date: 2023-11-11T21:14:29+01:00
Podcast URL: https://wowirsindistvorne.show
Episode URL: https://wowirsindistvorne.show/die-vereinigten-staaten-von-html-istan/

00:00:00.000 --> 00:00:05.820
 Wo wir sind, ist vorne, Folge 60, ich hab da mal nichts vorbereitet oder The State of HTML.

00:00:05.820 --> 00:00:22.200
 Herzlich willkommen bei Wo wir sind, ist vorne.

00:00:22.200 --> 00:00:29.000
 Frontend Fakten Frotzelein, der Late Night Frontend Talkshow rund um Webdesign und Entwicklung.

00:00:30.000 --> 00:00:40.700
 Es reden sich um Head und Kragen, HTML-Fundamentalist Moritz Gießmann und JavaScript-Jongleur Konstantin Groß.

00:00:55.520 --> 00:01:02.500
 Ja, hello, hello, hello zurück. Herzlich willkommen nach einer sehr langen Sommer- inklusive Herbstpause.

00:01:02.500 --> 00:01:03.460
 Da sind wir wieder.

00:01:03.460 --> 00:01:05.160
 Ja, da sind wir wieder.

00:01:05.160 --> 00:01:11.580
 Podcast wieder gestartet jetzt oder startet jetzt wieder. Wir hatten jetzt schon zweimal wieder Stream.

00:01:11.580 --> 00:01:16.660
 Ich weiß, ihr mögt es im Podcast nicht so, wenn wir über den Stream reden, aber wir reden gerne über den Stream, weil der Stream ist gut.

00:01:17.520 --> 00:01:25.940
 Und da sind immer sehr, sehr gute Leute auch da. Da könnt ihr auch mal dabei sein. Also auf diverse Social Media kriegt ihr das dann auch mit.

00:01:25.940 --> 00:01:27.320
 Genau.

00:01:27.320 --> 00:01:28.100
 So.

00:01:28.420 --> 00:01:35.720
 Vielleicht müssen wir noch mal sagen, du bist gerade im Sabbatical, deswegen sind die Podcast-Folgen, werden vielleicht ein bisschen unregelmäßiger sein als gewohnt.

00:01:35.720 --> 00:01:36.560
 Genau.

00:01:36.560 --> 00:01:41.660
 Die Regel kommt einfach jetzt ein bisschen unregelmäßig bei uns im Podcast.

00:01:43.100 --> 00:01:47.620
 Und Stream kommt vielleicht ein bisschen öfter. Keine Ahnung, müssen wir mal gucken.

00:01:47.620 --> 00:01:48.940
 Schauen wir mal.

00:01:48.940 --> 00:01:53.420
 Genau, also ich bin viel unterwegs. Ich werde jetzt auch demnächst ein bisschen reisen gehen.

00:01:53.420 --> 00:01:58.680
 Deswegen haben wir jetzt aber gesagt, es muss jetzt dann doch irgendwie noch mal eine Podcast-Folge kommen.

00:01:58.680 --> 00:02:03.340
 Und genau, deswegen sind wir jetzt hier.

00:02:04.320 --> 00:02:05.240
 Und trinken Bier.

00:02:05.240 --> 00:02:16.480
 Und trinken Bier, genau. Ich habe wieder, ich habe was, was ich schon oft hatte, aber das hat sich, glaube ich, auch bei anderen Podcasts, die Bier trinken, ist auch so eingependelt, dass dann manche Leute …

00:02:16.480 --> 00:02:17.820
 Dass man bei einem landet.

00:02:17.820 --> 00:02:27.220
 Dass man dann bei einem landet und ich habe jetzt, wir dürfen ja jetzt wieder, wir haben ja, glaube ich, ich glaube, in der letzten Folge, die letzte Folge war noch alkoholfrei, weil wir mal gesagt haben, bis zur Sommerpause trinken wir nichts mehr.

00:02:27.740 --> 00:02:35.320
 Ich glaube, im letzten Stream haben wir dann eine Ausnahme gemacht, vor der Sommerpause. Genau, wir sind jetzt wieder zum Podcast Alkoholismus zurückgekehrt.

00:02:35.320 --> 00:02:36.740
 Ja, ich nur so halb.

00:02:36.740 --> 00:02:37.580
 Du nur so halb, nur so halb.

00:02:37.580 --> 00:02:38.780
 Aber erzähl jetzt mal, was du hast.

00:02:38.780 --> 00:02:46.740
 Ich vollkommen. Ich trinke mal wieder ein Augustiner, ein helles Vollbier, weil halb Bier bringt es einfach nicht.

00:02:46.740 --> 00:02:48.300
 Eine halbe Sache gibt es nicht bei dir.

00:02:48.300 --> 00:02:57.720
 Ich hatte ja die letzten beiden Streams, das leckere Hosenbier vom Schep, das haben wir im Podcast noch gar nicht erwähnt, weil wir uns irgendwie nicht mehr gesehen haben.

00:02:57.740 --> 00:03:14.280
 Und wir haben es nicht geschafft, das nochmal auszutauschen. Aber das hatte ich jetzt zumindest im Stream. Aber heute, weil wir ja ausnahmsweise mal unter der Woche den Podcast aufnehmen und ich kein Sabbatical habe und morgen früh raus muss, habe ich wieder einen Null-Nuller-Radler ganz langweilig.

00:03:14.280 --> 00:03:19.080
 Also bei mir gibt es Vollbier, die gibt es Null. Also alles, wieso sie sein muss.

00:03:22.080 --> 00:03:26.180
 So gut, dann stoßen wir mal durchs Portal an.

00:03:26.180 --> 00:03:28.460
 Oh, sehr laut.

00:03:28.460 --> 00:03:30.320
 Das war ein bisschen laut, gell? Entschuldigung.

00:03:30.320 --> 00:03:33.880
 Das muss hinterher der Limiter raus limitieren.

00:03:33.880 --> 00:03:40.560
 Ja, damit kommen wir dann schon zur ersten Rubrik, oder?

00:03:40.560 --> 00:03:42.240
 Ja, fangen wir an.

00:03:46.080 --> 00:03:58.700
 Ich fange mit zwei Sachen an, die ich auch schon im Stream vorgestellt habe, aber macht ja nichts, doppelt hält besser.

00:03:58.700 --> 00:04:13.160
 Und zwar hatte ich kürzlich, wollte ich meinen lokalen Entwicklungsserver, der auf Laragon läuft, also unter Windows, auf PHP 8.2 updaten, beziehungsweise PHP 8.2 hinzufügen.

00:04:13.240 --> 00:04:16.440
 Das kann man ja recht einfach umswitchen, die verschiedenen Versionen.

00:04:16.440 --> 00:04:34.120
 Und da hat es mir dann die APCU-Extension um die Ohren gehauen, oder APCU, ist eine Caching-Extension für PHP, wo man also dann Daten im Memory ablegen kann, damit die einfach schneller parat sind und nicht jedes Mal neu berechnet werden müssen.

00:04:34.900 --> 00:04:37.980
 Und so die PHP-Anwendung ein bisschen flotter machen.

00:04:37.980 --> 00:04:49.380
 Und da kam dann plötzlich ein Fehler mit, ja, dass das irgendwie gegen die falsche API-Version kompiliert worden wäre.

00:04:49.380 --> 00:04:54.900
 Also ich habe einfach die DLL halt rüber kopiert von der alten PHP-Version und dachte mir, das wird schon laufen.

00:04:56.020 --> 00:04:58.220
 Und dann habe ich angefangen ein bisschen zu googeln.

00:04:58.220 --> 00:04:59.320
 Wie immer.

00:04:59.400 --> 00:05:14.160
 Und habe dann festgestellt, okay, auf der offiziellen Download-Seite von dieser PECL-Extension, da gibt es keine Windows-DLLs.

00:05:14.160 --> 00:05:15.300
 Die fehlen da irgendwie.

00:05:15.300 --> 00:05:17.820
 Also bei allen anderen Versionen waren die vorhanden, aber da nicht.

00:05:18.760 --> 00:05:23.720
 Und habe dann einen Stack-Overflow-Post dazu gefunden, wo Leute gesagt haben, ich finde da nichts.

00:05:23.720 --> 00:05:33.040
 Da verlinkt war ein Git-Issue beim Plugin, bei der Extension, wo dann auch Leute geschrieben haben, ja, ich finde nirgends die DLLs.

00:05:33.040 --> 00:05:34.260
 Oder es gab mehrere Issues sogar.

00:05:35.000 --> 00:05:50.520
 Und dann gab es zwischendrin mal ein paar Neubilds von so einer, also von der nächsten Dev-Version quasi, also so ein Zwischenstand, wo dann solche Artefakte von dem Bildsystem rausgehauen wurden, deren Links aber dann schon wieder abgelaufen waren nach ein paar Monaten.

00:05:50.520 --> 00:05:53.060
 Das heißt, es gab wieder nirgends diese DLL zu finden.

00:05:53.060 --> 00:06:13.420
 Und dann habe ich kurzerhand das ausgecheckt, habe zurückgewechselt auf die entsprechende Stable-Version, habe mit meinem Fork dann diese Artefakte rausrennen lassen und habe jetzt bei uns auf unserer Firmenseite alle PHP-Windows-DLLs zum Download mal angeboten.

00:06:13.420 --> 00:06:18.080
 Weil die anscheinend gebraucht werden, wie man auch sieht an den Download-Zahlen und an den vielen Issues.

00:06:19.740 --> 00:06:28.760
 Also es werden tatsächlich aus aller Welt, ich müsste jetzt reingucken in die Statistiken, aber es sind schon jeden Tag mehrere Downloads auch aus unterschiedlichen Ländern.

00:06:28.760 --> 00:06:30.420
 Ist signifikant, okay.

00:06:30.420 --> 00:06:39.560
 Also jetzt nicht hunderte und tausende pro Tag, aber schon so, dass man merkt, okay, ich war nicht der Einzige, der das Problem hatte.

00:06:39.560 --> 00:06:40.760
 Offenbar sucht auch jemand danach und landet dann bei dir, ja.

00:06:40.760 --> 00:06:49.700
 Ja, und dann habe ich gedacht, mal ein bisschen was für die Dev-Community tun und verlinke ich natürlich auch in den Shownotes.

00:06:49.740 --> 00:06:57.100
 Oh Mann, warte jetzt, jetzt war ich zu spät, weil eigentlich verdient das, nein, es funktioniert nicht.

00:06:57.100 --> 00:06:58.260
 Oh, dein Soundboard geht nicht?

00:06:58.260 --> 00:07:00.460
 Ja, oh, ich habe den Applaus gedrückt.

00:07:00.460 --> 00:07:00.980
 Ah.

00:07:00.980 --> 00:07:02.400
 Mein Soundboard geht aber irgendwie nicht.

00:07:02.400 --> 00:07:03.140
 Ich mache es.

00:07:03.540 --> 00:07:08.720
 Ich wollte eigentlich den, du hast den anderen verdient, den, genau.

00:07:08.720 --> 00:07:09.760
 Danke.

00:07:09.760 --> 00:07:10.980
 Du hast was für die Dev-Community.

00:07:10.980 --> 00:07:12.680
 Wieso geht mein Soundboard nicht?

00:07:12.680 --> 00:07:13.340
 Oh nein.

00:07:13.340 --> 00:07:16.120
 Ah, das hätte man vorher testen müssen, ne?

00:07:16.120 --> 00:07:19.580
 So ist das halt, wenn man das schon monatelang nicht mehr gemacht hat.

00:07:19.580 --> 00:07:24.660
 Das war echt ungewohnt, mal wieder hier das Podcast abzustarten.

00:07:25.520 --> 00:07:29.360
 So, ich versuche es nochmal abzudaten und ich würde jetzt mal kurz.

00:07:29.360 --> 00:07:30.360
 Ja.

00:07:30.360 --> 00:07:31.960
 Sehr gut.

00:07:31.960 --> 00:07:33.840
 Das geht auf jeden Fall.

00:07:33.840 --> 00:07:38.360
 Ja, ich weiß jetzt nicht, ob der Applaus geht, aber der kommt halt nur, wenn er kommt.

00:07:38.360 --> 00:07:39.520
 Der kommt nur, wenn er verdient ist.

00:07:39.680 --> 00:07:42.680
 Deswegen kann ich ihn jetzt nicht einfach nochmal machen, ne?

00:07:42.680 --> 00:07:43.300
 So.

00:07:43.300 --> 00:07:44.420
 Genau, soviel dazu.

00:07:44.420 --> 00:07:46.180
 Ja, cool.

00:07:46.180 --> 00:07:47.000
 Gute Sache.

00:07:47.000 --> 00:07:52.260
 Ähm, ich, äh, ich weiß nicht.

00:07:52.260 --> 00:07:58.000
 Wir haben vorhin über eine Folge gesprochen, die nicht so mein Glanzpunkt war.

00:07:58.000 --> 00:07:58.980
 Da war ich ein bisschen sauer.

00:07:58.980 --> 00:08:01.680
 Und ich bin jetzt gerade auch ein bisschen sauer.

00:08:01.680 --> 00:08:09.660
 Ähm, und zwar habe ich, äh, versucht jemandem zu helfen, der gerade Dinge digitiert,

00:08:09.680 --> 00:08:10.440
 digitalisieren möchte.

00:08:10.440 --> 00:08:15.580
 Ähm, ähm, und zwar halt, äh, in Form von, äh, es gibt ganz viel Papier und das soll

00:08:15.580 --> 00:08:17.080
 jetzt, äh, gescannt werden.

00:08:17.080 --> 00:08:24.900
 Und dann habe ich mir diesen Workflow mal angeschaut und hab dann gemerkt, ähm, da gibt's so gerade

00:08:24.900 --> 00:08:29.520
 im Hinblick auf Zukunftssicherheit noch so ein bisschen, äh, Optimierungsbedarf oder,

00:08:29.520 --> 00:08:35.360
 oder Möglichkeit, weil, äh, Dinge als JPEG aufbewahren ist jetzt nicht so unbedingt, also

00:08:35.360 --> 00:08:36.940
 ist nicht so gut durchsuchbar, sag ich mal.

00:08:36.940 --> 00:08:39.220
 Wenn man, ich meine, letzten Endes, da hat man das Bild.

00:08:39.220 --> 00:08:42.100
 Wenn man es gut benannt, das, das Pfeil, dann ist das auch irgendwie okay.

00:08:42.100 --> 00:08:45.820
 Aber, ähm, es sollte ja vielleicht auch durchsuchbar sein.

00:08:45.820 --> 00:08:49.940
 Und man möchte vielleicht auch, ähm, mehrere Seiten zusammengruppieren.

00:08:49.940 --> 00:08:54.340
 Und man möchte nicht ein riesiges JPEG haben, äh, sondern man möchte ja vielleicht,

00:08:54.340 --> 00:08:57.780
 also eigentlich ist ja das Dateiformat für sowas, was sich anbietet, ein PDF.

00:08:57.780 --> 00:08:58.440
 Ja.

00:08:58.440 --> 00:09:01.980
 Tut mir leid, es gibt tatsächlich Anwendungsfälle für PDF außer Druck.

00:09:01.980 --> 00:09:04.620
 Ähm, ich find's eigentlich auch nicht so gut.

00:09:04.620 --> 00:09:07.360
 Ich find Webseiten immer besser, aber dafür ist, glaube ich, PDF ganz okay.

00:09:07.360 --> 00:09:13.760
 Und vor allem, weil PDF ja auch einem die Möglichkeit bietet, ähm, Text noch über dem gescannten

00:09:13.760 --> 00:09:15.420
 Bild mit drin zu haben.

00:09:15.520 --> 00:09:21.640
 Und es gibt ja auch die, mittlerweile diverse Möglichkeiten, ähm, auf PDF oder auf Scans OCR zu machen,

00:09:21.640 --> 00:09:27.600
 also Optical Character Recognition, Texterkennung, sodass, ähm, der Text dann quasi in dem PDF

00:09:27.600 --> 00:09:32.480
 auch noch mit drin ist und dann von, wenn, äh, wenn ich, äh, in meiner Pfeilsuche suche,

00:09:32.480 --> 00:09:37.400
 auch diesen Text mit durchsuchen kann und auch nach Stichworten, die in dem Pfeil drin sind, ähm,

00:09:37.400 --> 00:09:38.120
 etwas finden kann.

00:09:38.120 --> 00:09:42.760
 So möchte man das ja eigentlich haben, wenn man viele Daten ablegt, man möchte sie auch

00:09:42.760 --> 00:09:46.560
 schnell wieder finden können und nicht, äh, nicht, weil ich den kompletten Inhalt in den

00:09:46.560 --> 00:09:48.720
 Dateinamen geschrieben hab, sondern auch irgendwie anders so.

00:09:48.720 --> 00:09:54.100
 Und dann hab ich, äh, mal geguckt und, ähm, der, der aktuelle Workflow sah halt so aus,

00:09:54.100 --> 00:09:59.840
 tatsächlich dieses Windows-Fax und Scan, dieser, dieses, also das sieht aus wie ein Fenster

00:09:59.840 --> 00:10:01.240
 in langen Zeiten.

00:10:01.240 --> 00:10:05.560
 Das sieht noch genauso aus wie bei Windows XP gefühlt, ja.

00:10:05.900 --> 00:10:10.080
 Es ist wirklich, ich mein, es funktioniert, aber das kann zum Beispiel schon mal kein

00:10:10.080 --> 00:10:15.660
 PDF abspeichern, sondern nur irgendwie TIFF und keine Ahnung, JPEG, irgendwelche Bildformate.

00:10:15.660 --> 00:10:19.560
 Naja, EPS, glaub ich noch.

00:10:19.560 --> 00:10:25.640
 Ähm, und dann dachte ich so, naja, das kann, das, also, es muss doch irgendwie einen Weg geben,

00:10:25.640 --> 00:10:30.400
 um diese, diese Features, die ich jetzt grad gesagt hab, also sowas wie, ich möchte ein

00:10:30.400 --> 00:10:37.620
 PDF raus, äh, haben, ich möchte mehrere Seiten in einem PDF gruppieren können und ich möchte

00:10:37.620 --> 00:10:38.580
 OCR machen.

00:10:38.580 --> 00:10:41.680
 Das muss doch irgendwie was geben, was das kann.

00:10:41.680 --> 00:10:48.000
 Und, ich hätte jetzt bei einem sophisticated Betriebssystem wie Microsoft Windows in der

00:10:48.000 --> 00:10:50.620
 Version 11 erwartet, dass das irgendwie das mit eingebaut ist.

00:10:50.620 --> 00:10:51.860
 Auf Windows 11 sogar, okay.

00:10:51.860 --> 00:10:52.340
 Windows 11, ja.

00:10:52.340 --> 00:10:55.300
 Habe ich immer noch nicht getestet und abgedatet, weil meine Hardware nicht.

00:10:55.300 --> 00:11:00.380
 Jetzt gibt es ein, und ich mag das ja, dass Microsoft irgendwann angefangen hat, sowas

00:11:00.380 --> 00:11:06.320
 zu machen, eine sehr minimalistische Scan-App im Microsoft Store von Microsoft selbst.

00:11:07.120 --> 00:11:11.780
 So, die ist aber so minimalistisch, dass ich zumindest nicht gefunden habe, dass man mehrere

00:11:11.780 --> 00:11:15.160
 Seiten in, in ein PDF hinzufügen kann oder irgendwie OCR.

00:11:15.160 --> 00:11:17.560
 Man kann aber immerhin einen PDF da draus scannen.

00:11:17.560 --> 00:11:18.200
 Immerhin.

00:11:18.200 --> 00:11:19.660
 So, ist ja, ist ja schon mal ganz gut.

00:11:19.660 --> 00:11:25.860
 Äh, und ich habe viel, viel rumprobiert und dann auch überlegt, ja, kann man es vielleicht

00:11:25.860 --> 00:11:32.220
 auch irgendwie mit dem Handy machen oder, äh, wie, was ist die richtige Software dafür?

00:11:32.220 --> 00:11:35.700
 Weil es gibt ja auch ganz gute Handyscanner-Apps, muss ich sagen, die eben genau das alles können.

00:11:35.700 --> 00:11:39.120
 Die laden dir das dann auch gleich, gleich noch irgendwie in einen Cloud-Ordner und so.

00:11:39.120 --> 00:11:43.600
 Aber da gab es nichts, wo ich jetzt gesagt habe, das ist jetzt finanziell, wollte man sich

00:11:43.600 --> 00:11:45.260
 jetzt auch nicht irgendwie in Unkosten stürzen.

00:11:45.260 --> 00:11:50.960
 Ja, also habe ich mir gedacht, naja, das ist, ähm, und außerdem, ähm, ist so Handyscan

00:11:50.960 --> 00:11:54.780
 auch immer sehr stark abhängig davon, ähm, wie die Lichtverhältnisse sind.

00:11:54.780 --> 00:11:55.140
 Mhm.

00:11:55.140 --> 00:11:59.160
 Ähm, und du kannst halt, und wenn du es, wenn du es, ja, die können irgendwie die Seite auch

00:11:59.160 --> 00:12:02.480
 gerade drücken, so, wenn du es jetzt nicht perfekt die Kamera drüber hältst.

00:12:02.480 --> 00:12:04.280
 Aber das ist dann alles von der Qualität der ...

00:12:04.280 --> 00:12:06.900
 Auch, äh, Schattenwurf und dann irgendwie, ja.

00:12:06.900 --> 00:12:10.340
 Genau. Wenn man einen Scanner hat, dann kriegt man, das dauert zwar länger, aber dann kriegt

00:12:10.340 --> 00:12:12.860
 man damit auf jeden Fall die bessere Qualität, das ist keine Frage.

00:12:12.860 --> 00:12:14.260
 Der Scanner war da, kein Problem.

00:12:14.260 --> 00:12:20.180
 Also viel, viel, viel rumprobiert, ähm, und am Ende tatsächlich eine App gefunden, ähm,

00:12:20.180 --> 00:12:42.020
 die heißt, äh, warte mal, das packe ich noch in die Show Notes hier mit rein, das hatte ich vorher noch gar nicht, die heißt, äh, NAPS 2, not another PDF-Scanner, ähm, ist Open Source und, äh, auf GitHub auch irgendwie verfügbar, der Code, und hat tatsächlich genau alles das da drin. Ähm, kostet nix, kann man tatsächlich einfach verwenden.

00:12:42.020 --> 00:12:52.160
 Das war, war aber, ich sag's mal so, die übliche Google-Suche, äh, die, die ich angestrengt hab, die hat mich nicht sofort auf dieses Ergebnis, äh, verwiesen, sonst wär's ja einfach gewesen.

00:12:52.160 --> 00:13:06.940
 Deswegen gibt's hier den Tipp, also falls ihr das unter Windows machen wollt, sowas, halbwegs vernünftig scannen und ist auch ein UI, das irgendwie, äh, korrekt aussieht für Windows-Verhältnisse, sag ich mal, ähm, funktioniert super und macht genau das.

00:13:06.940 --> 00:13:13.360
 So, ähm, ist jetzt dann auch schon im Einsatz und hat sich jetzt auch schon bewährt, genau dafür.

00:13:15.300 --> 00:13:26.480
 Und dann bin ich mal hingegangen und hab mir gedacht, so, ich mecker ja immer viel über Windows und über Microsoft und, äh, sag immer, Apple ist so toll, jetzt muss ich natürlich auch mal gucken, wie das jetzt bei Apple ist.

00:13:26.480 --> 00:13:34.820
 Ist da die Situation genauso scheiße? Müsste man, also, üblicherweise könnten wir jetzt annehmen, oh, da musst du bei Apple, musst du bestimmt so eine, so eine 100-Dollar-Software musst du dann irgendwie kaufen.

00:13:34.820 --> 00:13:40.660
 Das wär jetzt so ein üblicher Weg für so Standard-Use-Cases bei Apple. Ist ja manchmal tatsächlich so, dass so ganz simple Sachen irgendwie nicht gehen.

00:13:41.480 --> 00:13:51.760
 Turns out, der Standard-Scan-Dialog auf dem Mac, wenn man ihn mal gefunden hat, ich benutze sowas normalerweise nicht, weil ich bin ziemlich paperless unterwegs, wenn's geht,

00:13:51.760 --> 00:13:57.340
 enthält alle diese Optionen. Einfach so ganz unaufgeregt.

00:13:57.340 --> 00:14:03.780
 Für OCR muss ich einfach nur ein Häkchen anklicken, äh, PDF lasse ich einfach raus, indem ich sag, File-Type PDF.

00:14:03.780 --> 00:14:10.420
 Also, es ist wirklich das minimalste UI, mit dem man sowas hätte abbilden können, aber es sind einfach alle Funktionen einfach so mit drin.

00:14:10.420 --> 00:14:16.460
 Und, äh, wenn ich einfach zwei Sachen nacheinander einscanne und dann speichern drücke, dann sind's einfach zwei Seiten in dem PDF.

00:14:16.460 --> 00:14:21.540
 Also, das hat, das fand ich dann schon irgendwie irgendwie krass.

00:14:21.540 --> 00:14:31.660
 Ja, da muss man, da muss man schon sagen, äh, da behandelt Microsoft einige Dinge sehr stiefmütterlich und macht dafür andere Dinge, wo man sich denkt, naja, gut, okay, hätte das jetzt sein müssen.

00:14:31.660 --> 00:14:54.420
 Man hat so generell den Eindruck, ähm, dass irgendwie so Windows auf dem absteigenden Ast ist, also vor, äh, kürzlich haben sie ja, äh, diese kostenlose Upgrade-Geschichte von Windows 7 und 8 auf Windows 10, äh, eingestellt und haben dafür eine, eine Anleitung, äh, veröffentlicht, wie man Linux installiert.

00:14:55.620 --> 00:15:00.960
 Ähm, ja, damit dann alte Systeme wenigstens ein aktuelles Betriebssystem bekommen.

00:15:00.960 --> 00:15:16.200
 Wenn die Geschichte mit, dass das halt Windows 11 auf Hardware, ich mein, ich hab jetzt keine Schrottkiste hier stehen, auch wenn sie schon einige, die ja schon auf dem Buckel hat, aber dass die dann keine, dass die das nicht laufen lassen kann wegen diesem Kryptomodul, das ist irgendwie auch so ein, so ein Schuss ins Knie.

00:15:16.200 --> 00:15:34.860
 Ähm, ja, und dafür dann irgendwie so einfache Sachen, OCR und sowas und, also ich geb dir da schon recht, bei allem Hass, den ich ja sonst oft, ja, es ist ja nicht mal Hass, aber es ist einfach, naja, haben wir schon oft genug drüber geredet, aber ich geb dir schon recht, das sind einfach viele Dinge, die funktionieren einfach out of the box, wie man sie haben möchte, ja.

00:15:35.720 --> 00:15:44.800
 Und, und es ist so, es ist halt so, also wie gesagt, ich hab's nicht sofort gefunden, das ist, das ist, glaube ich, das größte Problem gewesen, ich hab so ein bisschen in den Einstellungen rumsuchen müssen.

00:15:44.800 --> 00:15:50.920
 Ähm, es ist auch keine App, wie man's jetzt, wie man's jetzt vielleicht annehmen würde, sondern es ist tatsächlich Teil der Einstellung.

00:15:50.920 --> 00:16:00.240
 Ähm, und dann geht da aber so ein Dialog auf und der ist wirklich super minimalistisch, aber enthält in diesem Minimalistischen einfach alles, alles, was man haben will.

00:16:00.920 --> 00:16:03.160
 Zumindest alles, was ich in dem Augenblick haben wollte.

00:16:03.160 --> 00:16:05.000
 Gottes Willen.

00:16:05.000 --> 00:16:07.640
 Ich hab gerade dieses Windows-Faxen-Scans mal aufgemacht.

00:16:07.640 --> 00:16:29.820
 Das Geilste ist schon und sehr bezeichnend, da ist, auf dem Startbildschirm ist eine Anleitung und das ist eigentlich nur Text mit so einem hässlichen Schwarz-Weiß-Logo oben drüber und das ist aber nicht mal irgendwie richtiger Text, sondern das ist eine Pixelgrafik, die entsprechend auf dem 4K-Monitor, aber selbst auf dem HD-Monitor, einfach völlig hoch skaliert und völlig verpixelt ist.

00:16:29.820 --> 00:16:37.160
 Das ist schon sehr aussagekräftig, glaub ich, oder? Also, wenn die Scans so aussehen danach, dann ist mir alles klar.

00:16:37.160 --> 00:16:40.400
 Die Scans waren tatsächlich an sich ganz okay, aber das ist ja auch Teil vom Scanner.

00:16:40.400 --> 00:16:41.740
 Oh Gott, das ist ja auch noch was.

00:16:41.740 --> 00:16:44.260
 Diese Toolbar mit dem Verlauf, du hast recht.

00:16:44.260 --> 00:16:48.460
 Es ist wirklich, ja, und es ist wirklich, es sieht aus wie ein Fenster in eine andere Zeit.

00:16:48.460 --> 00:16:55.460
 Was ich auch noch probiert hab an der Stelle ist, ich hab mir so gedacht, ja, das ist jetzt so ein HP-Scan-Druck-Kombi, ja.

00:16:56.180 --> 00:16:58.760
 Da gibt's doch bestimmt eine eigene Software, die das alles kann.

00:16:58.760 --> 00:17:01.520
 Ja, die gibt es.

00:17:01.520 --> 00:17:09.400
 Wenn du dich bei HP dann einloggst und HP-Plus oder irgendwie sowas abonnierst, dann darfst du das verwenden.

00:17:09.400 --> 00:17:09.880
 Geil.

00:17:10.440 --> 00:17:13.220
 Ist also OCR offenbar nicht im Gerät eingebaut.

00:17:13.220 --> 00:17:16.360
 Manche Geräte machen das ja von, bei denen ist das ja mit drin.

00:17:16.360 --> 00:17:18.820
 Das heißt, es läuft dann über deren Cloud wahrscheinlich, ne?

00:17:20.240 --> 00:17:24.620
 Irgendwie über, ja, irgendwie über deren Cloud, keine Ahnung, völliger Irrsinn.

00:17:24.620 --> 00:17:32.180
 Aber ich mein, das ist, HP, die haben ja auch, die lassen ja auch nichts aus, dir anzuzeigen, wenn du nachgefüllte Tintenpatronen drin hast.

00:17:32.180 --> 00:17:36.560
 Die zeigen an allen Stellen, du hast gefälschte Tinte, du hast gefälschte Tinte, du hast gefälschte Tinte.

00:17:37.120 --> 00:17:43.680
 Ich mein, immerhin sind sie, glaube ich, mittlerweile gesetzlich, ist es ihnen verboten worden, den Drucker dann den Betrieb zu verweigern.

00:17:43.680 --> 00:17:48.300
 Das haben sie ja teilweise, glaube ich, auch gemacht, wenn sie gefälschte Patronen erkannt haben.

00:17:48.300 --> 00:17:53.980
 Dann haben sie ja teilweise, ja, auch mal eine Zeit lang dann irgendwie gesagt, nee, dann druckt das Ding gar nicht.

00:17:53.980 --> 00:17:58.520
 Und ich denke, ey, Leute, ihr habt mir das Ding verkauft, jetzt gehört es mir.

00:17:58.520 --> 00:17:59.260
 Tja, ist nicht.

00:17:59.260 --> 00:18:01.680
 Aber das ist no more, hat man so das Gefühl.

00:18:01.680 --> 00:18:06.180
 Nee, das ist das Gerät, die die Hardware recht günstig an und verdient dann halt über die Patronen.

00:18:06.180 --> 00:18:11.560
 Also es ist ja zum Beispiel auch, ich kann nicht mal mehr schwarz-weiß drucken, wenn eine meiner Farbpatronen leer ist.

00:18:11.560 --> 00:18:16.640
 Also keine Ahnung, die pinke Patrone ist leer, ja, dann sagt der Drucker, nee, ich druck nicht mehr.

00:18:16.640 --> 00:18:22.160
 Was ihr gerade nicht gesehen habt im Podcast, war der Triple Face Palm auf meinem Gesicht.

00:18:22.160 --> 00:18:29.200
 Also ich habe, damit man sich das auch mal vorstellen kann, als jemand, der jetzt vielleicht nicht unter Windows nachgucken will,

00:18:29.260 --> 00:18:34.160
 wie das aussieht, dieses Windows-Faxen-Scan, habe ich jetzt auch mal nur einen Link für die Shownotes beigepackt,

00:18:34.160 --> 00:18:40.760
 wo ein Screenshot drin ist und wo auch eine Seite von Giga, wo erklärt wird, wie man diesen Dialog benutzt.

00:18:40.760 --> 00:18:42.380
 Das ist auch sehr bezeichnend, finde ich.

00:18:42.380 --> 00:18:45.820
 Weil, wie gesagt, auf dem Mac habe ich halt einfach einen Scan-Dialog.

00:18:45.820 --> 00:18:47.780
 Da sind die drei Optionen drauf, die man haben will.

00:18:47.780 --> 00:18:48.720
 Und dann war es das.

00:18:48.720 --> 00:18:51.900
 Das ist wirklich ein, das Fenster ist so, das ist winzig klein.

00:18:51.900 --> 00:18:56.600
 Und das ist einfach, warte mal, vielleicht, vielleicht finde ich davon auch noch einen Screenshot.

00:18:56.600 --> 00:18:58.640
 Scan-Dialog.

00:18:59.260 --> 00:19:03.380
 Ähm, genau, da findet sich doch bestimmt auch noch ein Bild davon.

00:19:03.380 --> 00:19:09.240
 Äh, nee, ich finde jetzt, nee, das sieht alles nicht so aus wie das, was ich gesehen habe, sondern viel komplizierter.

00:19:09.240 --> 00:19:15.660
 Das hat sich ja auch verändert jetzt mit dem letzten MacOS, wo die Einstellungen, nee, mit dem vorletzten, wo die Einstellungen abgedatet wurden.

00:19:15.960 --> 00:19:16.540
 Aber egal.

00:19:16.540 --> 00:19:20.340
 Ähm, nicht so wichtig.

00:19:20.340 --> 00:19:30.080
 Gut, also, äh, ich bin da aber auch für Tipps noch froh, wenn da noch jemand was hat und sagt, äh, ey, aber du musst auf Windows, das geht doch ganz einfach, mach doch so.

00:19:31.080 --> 00:19:33.800
 Oder hier, diese Software ist doch, ist doch saugeil.

00:19:33.800 --> 00:19:35.260
 Also, gerne in die Kommentare schreiben.

00:19:35.260 --> 00:19:37.080
 Äh, würde ich mich sehr drüber freuen.

00:19:37.080 --> 00:19:40.880
 Äh, vielleicht gibt's ja noch eine Möglichkeit, die noch besser ist als diese Snaps 2.

00:19:41.060 --> 00:19:45.420
 Wobei das eigentlich jetzt für das, was, äh, was ich jetzt hier vorher hatte, schon ziemlich gut funktioniert.

00:19:45.420 --> 00:19:53.940
 Und ich dachte mir, das hau ich als Tipp nochmal raus, weil, wie gesagt, die Suche danach war, ich hab's nicht sofort gefunden und, ähm, vielleicht hilft's ja auch euch, falls ihr Windows verwendet.

00:19:53.940 --> 00:20:02.540
 Gudi, ähm, ich hab so ein kleines Tool gebastelt und diesmal tatsächlich auch, äh, veröffentlicht.

00:20:02.540 --> 00:20:08.080
 Ich hab ja schon öfter so irgendwelche Ideen gehabt und irgendwelche Sachen gebastelt und, ah, man müsste mal und dann irgendwie doch nicht veröffentlicht.

00:20:08.600 --> 00:20:13.940
 Aber ich hab, ähm, ich war vor einer Weile im Europapark und ich hab den noch nie so voll erlebt.

00:20:13.940 --> 00:20:16.900
 Also, das war echt, äh, fast schon traumatisierend, ja.

00:20:16.900 --> 00:20:22.060
 Ähm, es war einfach brechend voll und irgendwie über eine Stunde anstehen für einmal fahren und so.

00:20:22.060 --> 00:20:31.740
 Und dann dachte ich danach, okay, nie wieder geh ich, äh, an einem Wochenende, auch wenn's außerhalb der, der Ferienzeiten war, sondern immer unter der Woche lieber mal irgendwie einen Tag freinehmen und dann dahin gehen.

00:20:31.740 --> 00:20:37.520
 Und dann dachte ich so, man müsste doch rausfinden können, wann ist eigentlich der beste Tag, um dahin zu gehen.

00:20:37.520 --> 00:20:42.460
 Also, wann haben möglichst wenig Bundesländer gleichzeitig Ferien oder im besten Fall gar keine.

00:20:43.180 --> 00:20:48.820
 Und dann hab ich gesehen, okay, es gibt auch so, es gibt tatsächlich Feriendichte-Kalender im Internet, wo man genau das machen kann.

00:20:48.820 --> 00:20:51.720
 Hier sagen kann, alle Bundesländer und dann wird das schön so color-coded dargestellt.

00:20:51.720 --> 00:21:03.080
 Und dann dachte ich, naja, interessant wär ja aber auch noch, das ist ja auch ein Anlaufspunkt für, für viele ausländische, äh, Gäste, also Frankreich, ähm, Österreich, Schweiz, Italien, so.

00:21:04.420 --> 00:21:05.660
 Und das wär interessant.

00:21:05.660 --> 00:21:12.900
 Aber das, es gibt diese Feriendichte-Kalender nur für die einzelnen Länder, wenn überhaupt, aber nichts, wo man irgendwie sagen kann, so das und das Land und dann zahlt man das mal an.

00:21:12.900 --> 00:21:22.800
 Und dann hab ich ein bisschen recherchiert und hab gesehen, okay, es gibt sogar eine, eine internationale Ferien-API, die man nutzen kann, auch offen, äh, kann man auch so beitragen.

00:21:22.800 --> 00:21:34.500
 Und dann hab ich, ähm, die mal angezapft und hab so ein bisschen mit Vue so einen Kalender gebaut und, äh, bin relativ schnell zum Ziel gekommen, innerhalb von, von eigentlich so zwei Tagen oder so.

00:21:34.500 --> 00:21:40.940
 Und hab dann gedacht, ja, warum eigentlich nur für mich, äh, ist ja für andere vielleicht auch interessant und ich stell das einfach mal live.

00:21:41.500 --> 00:21:53.940
 Und natürlich hab ich dann wieder so ein bisschen, ja, aber dann könnte man das noch machen und das noch machen und das wär cool und ein bisschen SEO und, ähm, und hab dann aber auch so ein bisschen mit KI mal rumgespielt, also mal die Chat-GPT-API auch angezapft.

00:21:53.940 --> 00:22:02.600
 Und was ich dann gemacht hab, ist, ich, es gibt so einzelne Landingpages eben für den Europapark, äh, Phantasialand, ähm, keine Ahnung, ähm, kann ich mir noch welche überlegen.

00:22:02.880 --> 00:22:09.520
 Und dann dachte ich, naja, cool wär das, wenn ich da möglichst gar nicht viel pflegen müsste, sondern wenn mir eben die KI, äh, da Texte schreibt.

00:22:09.520 --> 00:22:15.540
 Und das hab ich dann auch hinbekommen, dass, dass die Texte, die da rauskommen, relativ, äh, gut passen.

00:22:15.540 --> 00:22:21.880
 Und dann dachte ich, ähm, ja, Mehrsprachigkeit wär auch cool, krieg ich denn Chat-GPT dazu, auch die Texte zu übersetzen?

00:22:21.880 --> 00:22:31.180
 Und dann hab ich eben, ne, entsprechend in den Anweisungen geschrieben, hier antworte nur mit den Übersetzungen, nicht mit irgendwelchem Geplänkel außenrum, äh, und übersetze den und den Text.

00:22:31.180 --> 00:22:41.060
 Und hab das dann noch ein bisschen immer wieder ausprobiert, ein bisschen in Form geschliffen, noch ein paar Sachen unterbunden und ein paar Sachen gesagt, ja, lass es nicht so maschinenübersetzt klingen, zum Beispiel, ja.

00:22:41.060 --> 00:22:50.920
 Ähm, und jetzt hab ich tatsächlich hier so eine Seite mit 21 europäischen Sprachen, die sich komplett selbst mit Inhalt befüllt und, äh, selbst übersetzt auch noch.

00:22:51.000 --> 00:23:00.880
 Also ich hab natürlich schon, ich jag das nicht einfach live und lass es dann da machen, sondern ich lass das lokal generieren, guck nochmal drüber, mach eine Rückübersetzung nochmal oder bei den Sprachen, die ich verstehe, guck ich nochmal direkt an.

00:23:00.880 --> 00:23:07.700
 Ähm, und dann geht das erst und eben unter anderem mit diesem APCU-Cache, ähm, geht das dann live.

00:23:08.680 --> 00:23:12.860
 Und, äh, ja, das war irgendwie mal ganz cool zu gucken, was, was da schon so möglich ist.

00:23:12.860 --> 00:23:20.520
 Und das ist halt wirklich, also, hätte ich das alles per Hand machen wollen, erstens spreche ich gar nicht so viele Sprachen, ähm, und auch die Texte zu schreiben, das wäre viel zu viel Aufwand.

00:23:21.020 --> 00:23:38.620
 Und jetzt hab ich unter, äh, ich verlinke es natürlich auch, bestdayfinder.com, äh, so eine kleine Seite, wo man so einen Kalender hat und man kann nicht alle europäischen Länder, aber schon die einige, einige davon, äh, ankreuzen und dann sieht man so ein colorgecodetes, äh, Kalender, äh, Übersichtsding und, äh, genau.

00:23:38.620 --> 00:23:42.020
 Ja, für eigentlich für ein ganzes Jahr, ne?

00:23:42.020 --> 00:23:43.640
 Ja, 18, 18 Monate sind es, glaube ich.

00:23:43.640 --> 00:23:45.760
 Oder 18 Monate, im Voraus kann man sehen.

00:23:45.760 --> 00:23:50.960
 Ähm, und da kann man, wie ist denn das, ähm, wie finde ich denn von der Startseite?

00:23:51.020 --> 00:23:52.660
 Aus auf die einzelnen Parks.

00:23:52.660 --> 00:23:53.480
 Noch gar nicht.

00:23:53.480 --> 00:23:55.380
 Und deswegen indiziert die Google auch nicht.

00:23:55.380 --> 00:23:59.640
 Ich dachte, na, braucht man ja gar nicht, da soll man ja nur per Google drauf landen, aber das hat Google leider gecheckt.

00:23:59.640 --> 00:24:03.060
 Also, ich muss noch irgendwo so einen Link machen, so hier die häufigsten Orte oder so.

00:24:03.060 --> 00:24:04.240
 Also, du kannst Europapark.

00:24:04.240 --> 00:24:05.720
 So was für Park, wie eine Navigation.

00:24:05.720 --> 00:24:07.480
 Ja, genau so was.

00:24:07.480 --> 00:24:08.760
 Aber das sollte ja ganz simpel sein.

00:24:08.760 --> 00:24:10.880
 Ich brauch das ja wirklich nur für SEO eigentlich, genau.

00:24:10.880 --> 00:24:17.220
 Einfach Slash Europapark, dann leitet es dich automatisch nach Browsersprache weiter auf die, auf die entsprechende Sprachseite.

00:24:17.220 --> 00:24:20.980
 So, pack das mal noch mit in die Shownotes, das wäre nämlich cool, wenn man das, äh, also auch die Dending-Page

00:24:20.980 --> 00:24:22.520
 für ein spezielles, für ein spezielles Ort.

00:24:22.520 --> 00:24:23.800
 Nee, bloß nicht, nicht nutzen nicht.

00:24:23.800 --> 00:24:25.980
 Dann seid ihr, dann ist ja wieder voll, wenn ich da hingehe.

00:24:25.980 --> 00:24:28.360
 Wie, dann ist ja wieder voll.

00:24:28.360 --> 00:24:31.120
 Nein, dafür habe ich es ja gemacht.

00:24:31.120 --> 00:24:58.360
 Jetzt, pass auf, die nächste Stufe davon ist, dass du, ähm, bei jedem Park oder bei jeder Attraktion, die das Potenzial hat, so voll zu sein, irgendwo noch so ein, ähm, so ein, äh, Wi-Fi-Arduino-Dings platzierst, das dann, das dann, das dann, das dann schaut, wie viele, wie viele, wie viele Leute da rumjumpen, wie viele, wie viele Wi-Fi-Geräte da gerade so sind.

00:24:58.360 --> 00:25:01.880
 Also, für Freizeitparks gibt's das tatsächlich schon so Seiten.

00:25:01.900 --> 00:25:05.320
 Anhand dessen machst du eine Abschätzung dann, wie viele Leute da sind.

00:25:05.320 --> 00:25:09.440
 Ja, das wäre natürlich cool, ja, darf man natürlich nicht einfach so, muss halt verstecken.

00:25:09.440 --> 00:25:13.500
 Das ist natürlich illegal, aber das, aber das macht's ja auch nicht du, sondern das macht irgendjemand hier aus der Community.

00:25:13.500 --> 00:25:26.740
 Es gibt für Freizeitparks gibt's schon so Seiten, die tatsächlich sich, ich weiß nicht, woher die das genau beziehen, wahrscheinlich zapfen die auch die APIs von den Parks an und so, ähm, die tatsächlich auch je Attraktion die Wartezeiten, die aktuell veröffentlichen und so.

00:25:27.340 --> 00:25:33.360
 Also, das bietet ja auch der Europapark in seiner App an und andere Parks wahrscheinlich auch, ähm, und das zapfen die wahrscheinlich an.

00:25:33.360 --> 00:25:35.260
 Also, in der App aktuelle Wartezeiten.

00:25:35.260 --> 00:25:38.040
 Ja.

00:25:38.040 --> 00:25:42.620
 Ja, okay, gut, dann, ähm, dann braucht man das nicht, aber man weiß trotzdem nicht, wie viele Leute da sind.

00:25:42.620 --> 00:25:45.480
 Genau, also, könnte, ja, genau.

00:25:45.480 --> 00:25:47.820
 Also, das, diese, diese Idee ist nicht neu.

00:25:47.900 --> 00:25:56.080
 Vor allem weiß ich das ja erst am Tag dann, also, du siehst ja erst am Tag, wie hoch ist die Wartezeit, ne, und so siehst du halt, okay, welches ist der wahrscheinlichste Tag, dass da möglichst wenig Leute sind.

00:25:56.080 --> 00:26:04.200
 Diese technische Idee, die ist, äh, mal geboren worden aus dem Gedanken, ähm, wie viele Leute sind denn eigentlich gerade in der Kantine?

00:26:04.200 --> 00:26:09.560
 Ähm, es ist nie umgesetzt worden, auch aus, aus, ähm, ja, Privacy-Bedenken.

00:26:09.560 --> 00:26:15.860
 Aber letzten Endes kann man das machen und ich hab das, äh, hab das immer mal wieder getestet, ich hab auch die entsprechende Hardware hier rumliegen.

00:26:15.860 --> 00:26:17.120
 So, das wäre schon cool, ne?

00:26:17.300 --> 00:26:34.300
 Man kann so ein, ähm, so ein ISP, äh, Mikrochip, äh, Controller, kann man, ähm, in den sogenannten Promiscuous-Mode versetzen, das Wi-Fi, sodass, ähm, dass die ganzen Packages empfängt von Geräten, die sagen, ich würde mich gern mit einem WLAN verbinden.

00:26:34.300 --> 00:26:34.500
 Aha.

00:26:34.500 --> 00:26:46.700
 Ähm, das geht sogar so weit, und das finde ich dann da echt ein bisschen bedenklich, aber das, ja, wie soll es auch anders funktionieren, dass du auch empfangen kannst, und da gab es mal eine Installation dazu im ZKM,

00:26:46.700 --> 00:26:54.060
 ähm, mit welchen Wi-Fis, mit welchen SS-IDs das Gerät sich gerne verbinden würde, die es schon kennt.

00:26:54.060 --> 00:26:54.320
 Mhm.

00:26:54.320 --> 00:27:04.700
 Also da gab es mal so eine Installation dazu, es war einfach letzten Endes nur ein großer Monitor im ZKM, ähm, der dann gesagt hat, ah, übrigens, hier ist jetzt in so ein Grid ist jetzt so ein neues Gerät reingekommen,

00:27:05.860 --> 00:27:14.720
 Ah, und es möchte sich gerne mit diesen 27 SS-IDs verbinden, mit so Knoten, das ist so, ah, das ist so ein Hotel-Wi-Fi, habe ich sofort gesehen, womit ich mal verbunden habe.

00:27:14.720 --> 00:27:16.800
 Und dann habe ich gesagt, hä, das bin ja ich jetzt hier, was ist los?

00:27:16.800 --> 00:27:18.460
 Okay, das ist schon, schon großartig.

00:27:18.460 --> 00:27:26.200
 Das geht, das geht nach wie vor, diese Installation, die ist aus dieser Open-Codes-Ausstellung gewesen, die ist ja schon einige Jahre her, aber das geht technisch immer noch.

00:27:26.200 --> 00:27:26.720
 Ja, klar.

00:27:26.880 --> 00:27:36.820
 Ähm, also gibt's auch fertigen Code dafür, äh, im Internet, das nur so als kleiner Mini-Ausschweifungspunkt für, äh, wie könnte man das noch weiter treiben, um rauszufinden, wie viele Leute da sind.

00:27:36.820 --> 00:27:47.060
 Aber wenn's, wenn's so Wartezeiten gibt, ähm, aus den, aus den Apps, äh, dann braucht man das eigentlich nicht mehr, weil dann könnte man auch die irgendwie zusammenwerfen und dann sagen, okay, gut, da ist heute viel los oder sehr wenig.

00:27:47.060 --> 00:27:49.300
 Cool.

00:27:49.300 --> 00:27:50.880
 Gut, hast du noch was?

00:27:50.880 --> 00:27:53.620
 Ich hab, äh, sonst nix mehr für die Retro.

00:27:53.620 --> 00:28:07.240
 Dann hab ich nur noch was Kleines, und zwar hatten wir, haben wir das jetzt schon irgendwie die letzten, keine Ahnung wie lang, schon zwei, drei Jahre wahrscheinlich, das ist eigentlich fast schon seit wir das, seit wir den, äh, Podcast haben, ähm, haben wir so ein Bug-Ticket verfolgt zu CSS-Subgrid.

00:28:07.240 --> 00:28:23.600
 Das haben wir jetzt schon mehrfach hier, hab ich so ein bisschen geupdatet, wenn mal zwischendurch was Neues war, und jetzt ist es tatsächlich soweit seit Chrome 117, das ist jetzt fast schon alte News, äh, Anfang September, aber da haben wir halt nicht gepodcastet, äh, ist ja released worden, Chrome 117, und es ist tatsächlich jetzt,

00:28:23.620 --> 00:28:34.280
 Subgrid in Chrome vorhanden, und damit jetzt in, genau, und damit jetzt aber in, in allen Evergreen-Browsern, also Firefox hatte das ja jetzt auch schon länger, Safari.

00:28:34.280 --> 00:28:36.420
 Sogar in KaiOS.

00:28:36.420 --> 00:28:38.120
 KaiOS.

00:28:38.120 --> 00:28:41.520
 Das ist der letzte, das ist der ganz rechts bei KaiOS.

00:28:42.260 --> 00:29:09.100
 Ähm, ja, und das ist jetzt, also wir können Subgrid jetzt eigentlich, ähm, gut, okay, es ist trotzdem nur 60%, weil irgendwie Opera, Mini, Samsung, Internet, bla, ähm, aber so, also Desktop, äh, die großen Browser, die machen das jetzt, und man kann das ja mit dem Support, äh, Gedöns, kann man das ja auch abfragen, ob man's nutzen kann, denke ich, und, äh, ja, dann kann man da so mit Graceful Fallback, zumindest, kann man seine, seine Kachel-Layouts schöner machen.

00:29:09.260 --> 00:29:21.380
 Weil wir haben ja nach wie vor keine, keine andere, keinen anderen Anwendungsfall irgendwie so, außer diesen, diesen Kacheln, aber gut, aber wir haben's, und wir können's nutzen, und es gibt mit Sicherheit noch andere Fälle, so wie für CSS-Spalten.

00:29:22.780 --> 00:29:24.220
 Du meinst Multi-Column und CSS?

00:29:24.220 --> 00:29:24.900
 Ja.

00:29:24.900 --> 00:29:34.720
 Ja, das heißt, ja, gut, das ist auch so ein wiederkehrendes, wiederkehrendes Thema hier bei uns, ähm, okay, gut.

00:29:34.720 --> 00:29:43.180
 Dann überspringen wir die Property, weil es gibt heute quasi nur Properties, ne, äh, und kommen direkt zum Tagesthema.

00:29:43.180 --> 00:29:44.960
 Oder, oder zur Werbung.

00:29:44.960 --> 00:29:48.220
 Oder, ach so, Werbung, äh, wir können auch kurz, äh.

00:29:48.220 --> 00:29:49.340
 Wollen wir doch kurz Werbung machen.

00:29:49.340 --> 00:29:54.680
 Hey, hey du, schön, dass du da bist.

00:29:54.680 --> 00:29:57.080
 Na, öfter hier?

00:29:57.080 --> 00:30:04.640
 Dir gefällt, was du hörst, und du magst es am liebsten werbefrei und unabhängig?

00:30:05.420 --> 00:30:15.500
 Dann freuen wir uns sehr über ein paar Euro in unserem digitalen Strumpfband unter wwsev.de slash spende.

00:30:15.500 --> 00:30:24.840
 Auf wwsev.de slash unterstützen findest du noch circa 69 weitere Wege, uns zu supporten.

00:30:24.840 --> 00:30:26.660
 Wir danken dir.

00:30:32.540 --> 00:30:36.980
 Wie die letzten zehn Male, nachdem wir das, äh, eingespielt haben, sage ich.

00:30:36.980 --> 00:30:41.280
 Es gibt da noch weitere Ideen, die noch nicht fertig sind, aber fast.

00:30:41.280 --> 00:30:42.840
 Kommt noch, irgendwann, TM.

00:30:42.840 --> 00:30:47.180
 Ja, das ist wirklich, es ist was wirklich auf halber Strecke, nee, auf dreiviertel Strecke hängen geblieben.

00:30:47.180 --> 00:30:53.880
 Ähm, ich hatte dir da mal den Text zugeschickt und hab, ähm, vor langer Zeit und hab mal nach Feedback gefragt.

00:30:53.880 --> 00:30:54.540
 Echt?

00:30:54.640 --> 00:31:04.120
 Vielleicht, äh, vielleicht, äh, vielleicht, äh, vielleicht finden wir das nochmal, vielleicht, weil, weil, weil ich glaube, wenn ich mit dem Text, wenn der Text fertig wäre, dann könnte ich es vielleicht, könnte ich es vielleicht fertig machen.

00:31:04.120 --> 00:31:05.240
 Schauen wir mal drüber, ja.

00:31:05.900 --> 00:31:06.380
 Genau.

00:31:06.380 --> 00:31:08.000
 Gut, weiter geht's.

00:31:08.000 --> 00:31:12.800
 Hier ist WWS IV mit dem Tagesthema.

00:31:17.800 --> 00:31:21.240
 Das ist so ernst, da muss ich mal noch einen lustigeren Jingle machen, das ist ja nix.

00:31:21.240 --> 00:31:32.740
 Ja, ähm, nachdem wir schon mal Folgen gemacht haben über State of CSS und State of JS, ich glaube, darüber haben wir auch mal eine Folge gemacht, oder?

00:31:32.740 --> 00:31:44.340
 Wir haben schon mehrere Folgen, ja, also State of CSS auf jeden Fall schon zweimal, äh, State of JS, glaube ich, auch schon einmal, wenn nicht auch zweimal, genau, einfach mal suchen auf unserer Seite.

00:31:44.340 --> 00:31:45.500
 Es gibt ja jetzt eine Suchfunktion.

00:31:45.500 --> 00:31:47.000
 Es gibt jetzt eine Suchfunktion.

00:31:47.600 --> 00:31:49.020
 Äh, genau, einfach mal danach.

00:31:49.020 --> 00:31:52.740
 Ah, wir haben, genau, Folge Nummer 38, JavaScript und andere Zustände.

00:31:52.740 --> 00:31:53.660
 Ne, war das die?

00:31:53.660 --> 00:31:57.680
 Doch, das kann sein, und, äh, also State of CSS auf jeden Fall haben wir auch schon.

00:31:57.680 --> 00:31:59.280
 Mehrfach, genau, und jetzt?

00:31:59.280 --> 00:32:02.420
 Das war die Folge 45 zum Beispiel.

00:32:02.420 --> 00:32:04.820
 Vielleicht muss man nochmal kurz erklären, äh, was das ist.

00:32:04.820 --> 00:32:12.900
 Ähm, also es gibt jetzt neben State of CSS und State of JS jetzt auch eine State of HTML-Umfrage.

00:32:12.900 --> 00:32:17.400
 Das bedeutet, ähm, da werden, ähm, Features, ähm, die sind ja auch eine State of HTML-Umfrage.

00:32:17.400 --> 00:32:32.700
 Und, äh, die sind ja auch Features und ich glaube eher so Features, von denen man annimmt, dass sie nicht so super bekannt sind, ähm, abgefragt, ob man schon mal davon gehört hat, ob man's vielleicht sogar, äh, ob man's kennt oder ob man's vielleicht sogar schon verwendet hat.

00:32:32.700 --> 00:32:39.560
 Ähm, und das gab's, ähm, und das gab's wie gesagt in den vergangenen Jahren mehrfach für JavaScript und CSS und das gibt es jetzt zum ersten Mal auch für HTML.

00:32:39.560 --> 00:32:54.260
 Und ich befürchte, dass, wenn die Folge erscheint, man nicht mehr teilnehmen kann, weil ich glaube, das geht, also wir nehmen, das close jetzt mal, wir nehmen heute auf am 17. Oktober und ich glaube, sie läuft bis morgen, den 18. Oktober.

00:32:54.260 --> 00:33:04.620
 Das bedeutet, äh, wenn die Folge rauskommt, ist wahrscheinlich schon geschlossen, aber ich glaube, wenn ich's richtig, äh, weiß, gibt es ein GitHub, ähm, dazu.

00:33:05.960 --> 00:33:14.020
 Äh, und das, das suche ich vielleicht mal nochmal raus, vielleicht, vielleicht finde ich das, ähm, dann, dann könnte man nämlich zumindest auf den Inhalt nochmal referenzieren.

00:33:14.020 --> 00:33:22.720
 Ähm, muss ich mal gucken, ob ich das, ob ich das noch finde. Ähm, ach, ich seh hier gerade, da gab's mal so ne, da gab's mal ne Umfrage zu den Features.

00:33:22.720 --> 00:33:26.460
 Dann könnte man zumindest diese, ja, diese Feature-Liste, die packe ich auf jeden Fall mal hier mit rein.

00:33:26.940 --> 00:33:42.220
 So, äh, also wie gesagt, da wird abgefragt, wie, welche Features bekannt sind. Ähm, ich muss jetzt bei der Liste jetzt, wir sind's ja schon mal durchgegangen, äh, noch dazu sagen, es ist nicht nur wirklich reines HTML, es sind auch so, so DOM-ARPs, äh, viel, viel mit drin.

00:33:42.220 --> 00:33:47.040
 Ähm, also, und teilweise auch JavaScript-ARPs eigentlich, ne, die, die gar nicht nur ...

00:33:47.040 --> 00:33:53.880
 Internationalization später zum Beispiel, genau, das ist, wo ich wirklich dachte so, okay, was hat das jetzt noch genau mit HTML zu tun, aber ...

00:33:53.880 --> 00:34:04.780
 Genau, und was wir jetzt heute machen wollen, ist, wir wollen die jetzt nicht komplett einmal von oben nach unten durchgehen, das ist nämlich ein bisschen zu viel jetzt für die Podcast-Folge, das haben die Leute bei Working Draft auch schon gemerkt, die haben nämlich drei Folgen, äh, dazu gemacht.

00:34:04.780 --> 00:34:10.560
 Allerdings schon bevor die Umfrage rauskam, äh, haben die, glaube ich, damit aufgenommen, äh, ich glaube, anhand dieser GitHub-Liste.

00:34:10.560 --> 00:34:19.060
 Ähm, genau, und wir wollen jetzt uns so ein paar Sachen rauspicken, beziehungsweise so, aus so ein paar sind dann doch relativ viele geworden, unsere Liste ist sehr lang.

00:34:19.060 --> 00:34:20.100
 Sehr lang, mal gucken, ja.

00:34:20.880 --> 00:34:34.020
 Ähm, wir werden nicht zu allem, wir werden nicht bei allem ausführlich in die Tiefe gehen, ähm, sondern manchmal werden wir auch auf eine alte Folge von uns verweisen, wir haben schon gesehen, es gibt schon einige Sachen, zu denen haben wir schon mal eine Folge gemacht oder das ist relativ tief besprochen in der Folge.

00:34:34.020 --> 00:34:39.940
 Ähm, es gibt auch Sachen, die wir ganz rauslassen, ähm, über die wir, über die wir gar nichts sagen.

00:34:39.940 --> 00:34:45.240
 Weil wir schon irgendwie zigmal drüber gesprochen haben, uns einfach schon so alt ist mittlerweile gefühlt, dass irgendwie sich nicht lohnt.

00:34:45.240 --> 00:34:51.560
 Und, ähm, es sind jetzt hauptsächlich Sachen, die zumindest mal einer von uns noch nicht kannte, wenn nicht sogar beide nicht, ne?

00:34:51.560 --> 00:35:03.600
 Genau, oder, und aber auch, also sie müssen erst, äh, müssen erstens, ähm, eher unbekannt sein oder, äh, cool und interessant und, äh, kann man doch mal ausprobieren.

00:35:03.600 --> 00:35:17.560
 Oder manche Sachen sind sogar noch, noch gar nicht so weit, dass man sie ausprobieren kann. Ähm, genau. Also wir werden, es ist, das ist jetzt nicht die vollständige Liste. Falls ihr die sehen wollt, dann, äh, müsst ihr, müsst ihr die Liste, äh, in den Shownotes, äh, euch angucken.

00:35:17.560 --> 00:35:28.680
 Dann könnt ihr da, könnt ihr da, äh, euch die Infos holen. Wir nehmen jetzt nur uns die Sachen vor, die wir irgendwie interessant und, äh, spannend fanden. Genau. Und dann fangen wir einfach mal an, oder?

00:35:28.940 --> 00:35:44.880
 Genau. Äh, Forms ist der erste große Teil. Ähm, da ist, zum Beispiel Autocomplete ist so ein Ding, äh, das haben wir in Folge 29, äh, schon vorgestellt in, in, in, in der Property der Woche. Da gerne mal reinhören, wenn ihr das nicht, äh, kennt.

00:35:45.380 --> 00:35:50.220
 Also es geht um das Autocomplete-Attribut auf, äh, Formen, Elementen in dem Fall.

00:35:50.220 --> 00:35:55.140
 Welche so, wo man, wo man meistens so welche, wo man Text reinschreiben kann. Sollen wir da noch was zu sagen?

00:35:55.140 --> 00:35:57.840
 Nö, braucht man nicht. Verweis mal auf die Folge, äh, einfach mal.

00:35:57.840 --> 00:36:01.020
 Genau. Perfekt. Das ist super. Fängt, fängt ja schon super an. Wir sagen einfach nichts.

00:36:01.020 --> 00:36:15.020
 Ähm, dann, äh, HTML-Media-Capture. Ähm, was das bedeutet, ist, dass ich bei einem, äh, Upload, beim File-Upload, ähm, die Möglichkeit habe, explizit zu sagen, ähm,

00:36:15.020 --> 00:36:27.100
 Nimm doch jetzt mal die Kamera von dem Endgerät. Ähm, mir war schon bewusst, dass man, glaube ich, mit einem File-Upload auf mobilen Geräten, dass man das quasi als Option hat.

00:36:27.100 --> 00:36:38.880
 Ich erinnere mich an diverse System-Dialoge, die einem, die einen dann fragen, sag mal, was willst du, also ich weiß nicht, das war früher auf Android, glaube ich so, dass das einen dann fragt, sag mal, willst du jetzt eigentlich in den File-Picker oder willst du ein Foto machen?

00:36:38.880 --> 00:36:44.500
 Genau, aber ist halt eben vom User, äh, vom OS-UI quasi. Ähm.

00:36:44.660 --> 00:36:51.600
 So eine Funktion, aber hat, ist jetzt nichts, was man steuern könnte, sondern das bieten die halt an, wenn man, äh, auf so einen File-Picker klickt.

00:36:51.600 --> 00:37:08.140
 Genau, und, ähm, Media Capture funktioniert so, dass ich, ähm, Input-Type-File hab und dann, äh, bei Accept ein Mime-Type, äh, angeben kann, wenn ich das richtig verstehe, und ein Capture, das ist so, warte mal, so steht's in der, in der ...

00:37:08.140 --> 00:37:12.580
 Genau, also Accept-Video-Sternchen und als Capture, äh, Capture als leeres Attribut quasi.

00:37:12.580 --> 00:37:14.300
 Zum Beispiel Video oder Audio oder ...

00:37:14.300 --> 00:37:25.700
 Ähm, beziehungsweise, ähm, es gibt auch zwei Werte, die man da setzen kann, dann kann man nämlich explizit beeinflussen, Capture gleich User oder Capture gleich Environment, ob's eben die Front- oder die Rückkamera nimmt.

00:37:26.520 --> 00:37:29.220
 Und das ist schon irgendwie ganz cool, ne, dass man das so vorauswählen kann.

00:37:29.220 --> 00:37:56.500
 Genau, also ich denke, ähm, man sollte in dem Fall natürlich, ähm, die User drauf vorbereiten, was da jetzt gleich kommt, das sollte man nicht jetzt so out of context machen, aber wenn das jetzt eine entsprechende App ist, die, äh, wo klar ist, ich möchte jetzt eigentlich hier, keine Ahnung, ich mach jetzt eine Social-Media-App wie BeReal oder sowas, ja, wo ja quasi, äh, Foto von vorne und von hinten gemacht wird, von, von, von, von beiden Seiten, dann ist ja klar in dem Augenblick, da wird jetzt ein Foto gemacht, also, äh, ich würde das jetzt nicht out of the blue.

00:37:56.500 --> 00:38:09.140
 Lou machen, aber wenn, wenn, wenn aus dem App-Kontext ja klar ist, äh, was jetzt passiert, äh, finde ich, das ist eine total coole Sache, weil es nimmt dir dann, äh, einfach schon irgendwie nochmal eine Entscheidung ab, sondern, ähm, kann einfach sagen, direkt hier, gib mir bitte, was die Kamera tut.

00:38:09.140 --> 00:38:26.480
 Genau, und anhand des Accept, ähm, Mime-Types, äh, kann eben auch dann das UI entscheiden, was es vorauswählt, also, ob es mir jetzt die Fotofunktion öffnet oder eben die Videofunktion oder ob ich vielleicht beides machen möchte, also, wenn ich jetzt irgendwie, äh, Video slash Sternchen, Komma, äh, Image, äh,

00:38:26.480 --> 00:38:34.180
 Slash-Sternchen, äh, mache, dann, dann könnte ich theoretisch beides aufnehmen, kommt halt auch wahrscheinlich drauf an, was, äh, wie der Browser das unterstützt.

00:38:34.180 --> 00:38:36.100
 Ganz genau.

00:38:36.100 --> 00:38:39.340
 Also, cooles, kleines Feature.

00:38:39.340 --> 00:38:43.460
 Ähm, dann als nächstes hätten wir Input-Show-Picker.

00:38:43.460 --> 00:38:50.760
 Genau, da hab ich sogar eine kleine Demo gebastelt, die musste ich, äh, als HTML-Seite auf unserem Server ablegen, weil das ging im Code-Pen nicht.

00:38:50.760 --> 00:38:59.340
 Haben wir im Stream rausgefunden, weil dann die Meldung kam, dass das irgendwie in einem Cross-Resource-I-Frame, dass das nicht funktioniert.

00:38:59.340 --> 00:39:11.040
 Ähm, und was das, was das macht, also Input-Show-Picker, äh, kann ich aufrufen auf einem Input-Element, das einen entweder Date oder Time oder was auch immer was Picker hat.

00:39:11.540 --> 00:39:24.320
 Und was wir nämlich dann ausprobieren wollten, weshalb wir dann die Demo gebastelt haben, war, ob das auch funktioniert, wenn ich einen Input mit einer Data-List hab, also List-Attribut, äh, und einer Data-List mit vorgegebenen Einträgen.

00:39:24.580 --> 00:39:28.120
 Und tatsächlich, wenn's nicht in irgendeinem I-Frame läuft, dann funktioniert auch das.

00:39:28.120 --> 00:39:41.240
 Also ich klicke auf den Button, der macht, äh, triggert das, ähm, Show-Picker auf dem Input, und dann krieg ich eben diese Vorauswahlliste mit, mit Vorschlägen oder mit, mit Vorauswahl, was ich in dieses Feld eintragen kann.

00:39:41.240 --> 00:39:42.240
 Genau.

00:39:42.240 --> 00:39:45.320
 Genau, jetzt könnte man sagen, äh, wozu braucht man das eigentlich?

00:39:45.320 --> 00:39:50.320
 Naja, wenn man's programmatisch halt triggern will und nicht irgendwie nur durchs System-UI, was, äh, schon da ist.

00:39:50.620 --> 00:40:01.340
 Oder ich könnte theoretisch das Input verstecken, aber dann mit einem Button-Klick, äh, das auswählbar machen, sodass ich's im Input nicht bearbeiten kann, aber dann halt dieses Overlay nur sehe.

00:40:01.340 --> 00:40:03.920
 Hm, ja, stimmt.

00:40:03.920 --> 00:40:09.200
 Also zum Beispiel vielleicht gerade bei einem File-Picker, vielleicht macht das Sinn.

00:40:09.200 --> 00:40:19.680
 Weil, ja, okay, gut, ja. Aber, aber der File-Picker, der hat ja, hat der, hat der einen, der hat doch gar keinen Picker, der geht ja in einem eigenen Fenster auf.

00:40:19.680 --> 00:40:21.660
 Äh, äh, was, das teste ich jetzt grad mal live.

00:40:21.660 --> 00:40:24.660
 Ja, können wir, probieren wir's einfach schnell aus.

00:40:24.660 --> 00:40:27.480
 Machst du's in der Demo, die?

00:40:27.480 --> 00:40:31.460
 Ja, funktioniert, aber ist genau das, also öffnet dann halt einfach den, den File-Picker-Dialog, ja.

00:40:31.460 --> 00:40:32.700
 Ah, krass, tatsächlich.

00:40:32.700 --> 00:40:33.800
 Okay, das ist cool.

00:40:33.800 --> 00:40:44.020
 Das hat man früher so gemacht mit, ich leg was drüber und mach dann irgendwie, äh, Visibility-Hidden und so, ne, sodass man das dann, äh.

00:40:44.020 --> 00:40:50.200
 Ja, das kann natürlich auch, das kann natürlich auch ein bisschen böse verwendet werden, weil dafür brauchst du dann jetzt nicht mal mehr einen Klick, theoretisch.

00:40:50.200 --> 00:40:56.500
 Ich weiß nicht, ob das, es gibt ja so, es gibt ja so APIs, die dann sagen, naja, wenn ich jetzt hier keinen echten Klick hab, dann mach ich auch nix.

00:40:56.500 --> 00:40:57.880
 Ähm.

00:40:58.000 --> 00:41:12.140
 Das hab ich jetzt, äh, das könnte sein, dass das dann auch noch so geschützt ist, weil es ist ja schon, wenn du jetzt irgendwie eine böse Seite hast, dass du dann einfach direkt ohne irgendeine Interaktion einfach schon mal einen File-Upload, äh, aufmachst, könnte ich mir durchaus vorstellen.

00:41:12.140 --> 00:41:15.920
 Können wir mal gucken, ob das geht, weil das sollte meiner Meinung nach nicht gehen dürfen.

00:41:15.920 --> 00:41:24.320
 Aber das ist ja mittlerweile, ähm, das ist ja auch bei, bei, beim Öffnen von Pop-Ups oder so, da ist das ja, wird das ja unterbunden, ähm, wenn da kein Klick da ist.

00:41:24.940 --> 00:41:33.280
 Also, tatsächlich kann ich's aus der Konsole raus nicht machen, ich weiß jetzt nicht, ob das daran liegt, dass ich eben den Fokus nicht im Browserfenster hab, müsste man mal in der Tiefe ausprobieren.

00:41:33.280 --> 00:41:33.880
 Ja.

00:41:33.880 --> 00:41:36.880
 Aber es ist ein cooles, äh, kleines Feature.

00:41:36.880 --> 00:41:37.620
 Ja.

00:41:37.620 --> 00:41:44.320
 Dann haben wir die Formdata-API, ähm, die hat das, glaub ich, du noch nicht gekannt.

00:41:44.320 --> 00:41:44.880
 Genau.

00:41:44.880 --> 00:41:45.720
 Wenn ich mich richtig erinnere.

00:41:45.720 --> 00:41:54.920
 Genau, und da hab ich auch ne kleine Demo dazu gebastelt, äh, einfach so ein Dummy-Formular, das man ausfüllen kann oder auch nicht, und dann mal auf Submitteln,

00:41:54.940 --> 00:41:58.400
 klicken und dann sieht man, äh, was man damit alles machen kann.

00:41:58.400 --> 00:42:14.940
 Also, man kann das Formdata, was man da bekommt, also, als an Formdata übergebe ich ein Form-Element, ähm, und das saugt sich dann aus dem Formular automatisch die Daten so, wie sie an den Server übertragen werden würden, wenn ich jetzt das einfach ohne JavaScript, äh, abschicke.

00:42:14.940 --> 00:42:27.260
 Abschicke, ne, also wenn ich es einfach abschicke, wird es ja an, als, je nachdem, was ich, was ich bei den Formen noch angebe, als Form-Multipart oder, oder eben als, äh, URL-Parameter, äh, übergeben, wenn es ein Get-Request wäre.

00:42:28.400 --> 00:42:41.600
 Ähm, und da kriege ich die Daten eben einfach in JavaScript-verwertbarer Form, und das kann ich einfach beim Fetch-Request, also damals schon bei, bei XML-HTTP-Request ging das, ähm, aber natürlich jetzt auch bei Fetch kann ich das als Body übergeben,

00:42:42.100 --> 00:42:55.880
 und das wird dann alles entsprechend kodiert, oder, ähm, was man bei der Demo auch sieht, ich kann es als, äh, URL-Search-Params, ähm, mir zurückgeben lassen, dann wird es gleich schon richtig kodiert mit, mit, mit den Sonderzeichen, mit Prozent und, äh, mit Pluszeichen statt Leerzeichen.

00:42:55.880 --> 00:43:03.420
 Oder ich kann es mir halt auch als, als JSON zum Beispiel formatieren lassen, ähm, und kann es dann irgendwie weiterverwenden.

00:43:03.420 --> 00:43:12.080
 Vielen Dank dafür, weil, äh, das hatten wir jetzt, im Stream hatte ich nur gesagt, ah, das kannte ich ja so noch gar nicht, und, äh, danke für die Demo, das ist wirklich sehr schön, äh,

00:43:12.080 --> 00:43:34.980
 Genau, dann haben wir noch, ähm, Select-List, ähm, da will ich gar nicht so riesig drauf eingehen, nur, ähm, es hieß mal Select-Menu, ähm, und war ein Vorschlag, äh, von Open UI, der auch, äh, tatsächlich mal in Chrome-Browsern implementiert war, hinter einem Flag, glaube ich, mit den Experimental Web-Plattform-Features, konnte man das ausprobieren.

00:43:34.980 --> 00:43:45.660
 Was es letzten Endes ist, ist, äh, dass man den Inhalt von Select, äh, also Select-artigen Elementen customizen kann, also, ja, wirklich alles Mögliche da reinpacken kann.

00:43:45.660 --> 00:43:49.960
 Das hat jetzt den Namen geändert, aber dazu haben wir tatsächlich schon auch schon eine eigene Folge gemacht.

00:43:49.960 --> 00:43:51.500
 Folge 39 war das?

00:43:51.500 --> 00:43:57.940
 Genau, Folge 39, Select-Stern-From-Menu, ähm, da gerne mal reinhören, wenn ihr darüber mehr wissen wollt.

00:43:57.940 --> 00:44:17.080
 Dann, äh, dann haben wir als nächstes Content-Editable gleich Plain-Text-Only, also Content-Editable kennt man vielleicht schon, damit kann ich quasi jedem beliebigen Element, äh, sagen, du bist editierbar, und, äh, da kann man aber aktuell halt auch HTML drin verwenden.

00:44:17.440 --> 00:44:25.900
 Und das Content-Editable Plain-Text-Only, äh, ja, sorgt eben dafür, dass ich tatsächlich nur Plain-Text da editieren kann.

00:44:25.900 --> 00:44:36.480
 Genau, das ist eigentlich schon die, das, das große Ganze, aber, ähm, es ist eigentlich ganz cool, ne, und irgendwie komisch, dass das jetzt erst kommt.

00:44:37.080 --> 00:44:45.560
 Also vorher konnte man da halt wirklich HTML irgendwo rauskopieren und dann da reinkopieren oder irgendwie aus Word-formatierten Dokumenten was reinkopieren und dann, dann wurde das so formatiert.

00:44:45.560 --> 00:44:49.420
 Aber vielleicht möchte ich ja tatsächlich nur, dass, dass da Text bearbeitbar ist.

00:44:49.420 --> 00:45:05.520
 Wobei dann natürlich die Frage ist, warum, äh, ja, nehm ich dann nicht einfach eine Text-Area zum Beispiel, ähm, aber gibt, gibt mit Sicherheit Gründe, gerade im Kontext von, von, äh, what you see is what you get, Editoren, wo man das tatsächlich verhindern will, dass da HTML reinkommt.

00:45:07.080 --> 00:45:16.180
 Genau, also Kleinigkeit, aber, ne, da hatten wir schon mal drüber, ähm, es kommen halt jetzt immer wieder so, das große Ganze ist irgendwie so Fertiggefühl, was Layout angeht und so.

00:45:16.180 --> 00:45:28.540
 Jetzt kommen halt so Kleinigkeiten, die so nice to have wären in Browsern, äh, und die jetzt umgesetzt werden, die jetzt vielleicht nicht jeder jeden Tag braucht, aber die durchaus ihre Daseinsberechtigung haben.

00:45:29.800 --> 00:45:46.860
 Ich finde es, also, ich finde es gerade im Hinblick auf, äh, ich möchte eine Seite, also, ich frage, ich frage mich ja, warum nicht viel mehr Seiten, ähm, als CMS irgendwie so funktionieren, dass einfach nur Content Editable gemacht wird auf den, äh, Bereichen.

00:45:46.860 --> 00:45:46.940
 Ja.

00:45:46.940 --> 00:45:59.700
 Und gerade da möchtest du nämlich ziemlich sicher, äh, nicht, dass nochmal, dass jemand noch HTML reinpacken kann, sondern ich möchte eigentlich, dass, dass die vorhandene Formatierung, möchte ich, dass die beibehalten bleibt.

00:45:59.700 --> 00:46:04.280
 Äh, also, an manchen Stellen möchte ich vielleicht HTML erlauben, aber an vielen Stellen möchte ich es vielleicht nicht erlauben.

00:46:04.380 --> 00:46:16.200
 Also, zum Beispiel, äh, wenn ich jetzt in der Überschrift bin und die editieren möchte, äh, in der Seite, die, wo ich die Seite, also, wirklich, what you see is what you get, äh, ähm, ähm, da möchte ich vielleicht verhindern, dass irgendjemand da HTML reinpacken kann.

00:46:16.200 --> 00:46:19.280
 Eine Liste innerhalb von einem, von einer Überschrift oder sowas.

00:46:19.280 --> 00:46:28.240
 Genau, was weiß ich, irgendein Case, was, da geht ja gar nicht so viel, aber das würde, glaube ich, zum Beispiel gehen, ähm, oder halt, vielleicht will ich, die ist halt schon so formatiert, wie sie sein soll, die Überschrift.

00:46:28.240 --> 00:46:39.620
 Ich will da jetzt nicht, dass da jemand jetzt noch bold machen kann oder whatever, ne? Ähm, finde ich absolut cool für sowas und ich finde, ähm, ich sehe viel zu selten Beispiele von Content editable in the wild.

00:46:39.620 --> 00:46:48.180
 Ähm, ich habe so das Gefühl, irgendwie, und erklärt mir bitte, ob das, erklärt mir oder erklär du mir, weil sowas weiß, ob das einen Grund hat.

00:46:49.760 --> 00:47:02.540
 Ähm, wird immer abstrahiert auf irgendwelche Formelemente und der Bearbeitungsansicht sieht immer irgendwie komplett anders aus als die eigentliche Seite und ich verstehe nicht so richtig, warum, weil ich, meiner Meinung nach, sind die Werkzeuge doch da.

00:47:02.760 --> 00:47:07.720
 Ich könnte mir schon vorstellen, dass das tatsächlich ein Grund ist, dass man es bisher halt zu wenig einschränken konnte, ne?

00:47:07.720 --> 00:47:19.780
 Dass ich halt nicht will, dass jeder alles irgendwie einfügen kann und wenn ich natürlich so ein What-You-See-Is-What-You-Get-Editor habe, der konfigurierbar ist, dann kann ich da natürlich viel mehr beeinflussen, was darf da rein am Ende, ne?

00:47:20.020 --> 00:47:28.220
 Also klar, man muss das so oder so nochmal selberseitig validieren und nicht einfach blind vertrauen, dass das schon passen wird, aber, äh, natürlich ist man da viel flexibler.

00:47:28.220 --> 00:47:31.360
 Vielleicht kommt jetzt mit dem Plaintext-Only, vielleicht sieht man das ja häufiger.

00:47:31.360 --> 00:47:48.700
 Das ist auch so, schon lange so meine, oder unsere Idee, ähm, so einen gescheiten Editor zu haben, der eben so What-You-See-Is-What-You-Get macht, weil auch diese ganzen, ähm, ja, diese ganzen Baukastensysteme, die es so gibt, die versprechen dann oft so What-You-See-Is-What-You-Get, aber eigentlich ist es halt doch nicht.

00:47:48.700 --> 00:48:00.860
 Eigentlich ist es halt, es sind doch wieder irgendwelche Kästchen, die du rumschiebst, die so grob schon dem Layout entsprechen und da drin dann vielleicht die Überschrift so aussieht, wie es am Ende aussieht, aber so insgesamt das Layout ist nicht What-You-See-Is-What-You-Get.

00:48:00.860 --> 00:48:22.220
 Es gab, es gab vor langer, vor langer, langer Zeit, ist mindestens zehn Jahre her, mal so eine, so eine kleine Welle an so, wie soll ich das sagen, PHP-basierten, glaube, ich glaube, PHP-basierten, PHP- und JavaScript-basierten, ähm, Mini-CMS, ich wollte gerade sagen CMS-Systeme.

00:48:23.100 --> 00:48:41.760
 Mini-CMS-E, die tatsächlich darauf basiert haben, dass du auf einer Seite eigentlich nur, wenn du dich, wenn du diese bearbeiten willst, ähm, ein Slash-Login irgendwie an, an die URL dranhängst, dich dann einloggst und dann wieder auf der Seite landest und dann so einen Bearbeiten-Knopf hast, der dann da ist.

00:48:42.100 --> 00:48:53.980
 Wenn du, solange du eingeloggt bist und dann konntest du einfach irgendwo, das war, die waren super unpopulär oder super unbekannt, fast niemand hat die verwendet, zumindest so, ich habe sie selten irgendwie mitbekommen, dass jemand das verwendet hat.

00:48:53.980 --> 00:49:01.720
 Und dann konntest du einfach auf der Seite rumklicken und Texte verändern und wenn, der hat dann auch erkannt, ah, du hast da was verändert, dann hattest du einen Speicher-Button, hast es abgespeichert, fertig.

00:49:01.960 --> 00:49:08.520
 Und du konntest halt auch irgendwie sagen, ja, nee, ich will da jetzt halt irgendwie, du hattest schon noch so Controls mit, ich kann da jetzt auch noch Bilder einfügen oder sowas.

00:49:08.520 --> 00:49:13.900
 Ich verstehe nicht, warum sich dieser Ansatz nicht komplett überall durchgesetzt hat.

00:49:13.900 --> 00:49:23.220
 Also irgendwie muss es große Probleme damit geben, weil das ist eigentlich doch, das wäre, man kann doch, man könnte im Web doch wirklich echtes What-You-See-Is-What-You-Get machen.

00:49:23.220 --> 00:49:26.180
 Und ich glaube, mit gar nicht so viel Aufwand, warum macht das keiner?

00:49:26.180 --> 00:49:37.580
 Ja, es ist halt, wir haben ja, haben da auch schon so ein bisschen in die Richtung versucht und es ist halt, ne, du musst ja trotzdem Sachen irgendwo hinziehen können und musst dann sehen, wo landet es am Schluss genau und so.

00:49:37.580 --> 00:49:39.160
 Und so einfach ist es leider nicht.

00:49:39.160 --> 00:49:47.920
 Also du musst halt bei Hover zumindest mal, solltest du irgendwie sehen, wo ist, was gehört jetzt wo dazu und wo ziehe ich das jetzt gerade rein, was ich da reinziehen will und so.

00:49:48.360 --> 00:49:55.220
 Also es gibt da schon ein paar Herausforderungen, dass es am Schluss auch noch ein UI ist, was man einigermaßen intuitiv versteht.

00:49:55.220 --> 00:50:09.900
 Aber wenn es jetzt nur darum geht, dass man Text verändert irgendwo oder, keine Ahnung, man braucht vielleicht noch was für sowas wie einen Artikel hinzufügen, aber dann am Ende auf der Seite, naja, ich glaube, vielleicht habe ich in meinem Kopf auch zu statische Seiten im Vergleich zu heute.

00:50:09.900 --> 00:50:13.540
 Weil wenn du einfach eine fertige statische Seite hast, die könntest du somit ja super pflegen.

00:50:13.540 --> 00:50:16.120
 Allerdings kommt dann halt auch nicht wirklich was dazu.

00:50:16.120 --> 00:50:24.860
 Ja, du hast aber, ne, dann will ich da vielleicht, will ich so ein Kausell und da will ich dann hier noch ein Akkordion mit FAQs und so, ne, und das ist halt, ne, ja, wird es halt komplexer, ja.

00:50:24.860 --> 00:50:27.160
 Ja, das stimmt, sobald du interaktive Elemente hast.

00:50:27.160 --> 00:50:35.540
 Aber klar, innerhalb von diesen Blöcken, also das eine ist ja, ne, wie stelle ich die Blöcke zusammen und wie mache ich das, kriege, ne, hat das ein tolles UI.

00:50:35.980 --> 00:50:38.580
 Und das andere ist aber so, wie, wie bearbeite ich das.

00:50:38.580 --> 00:50:50.840
 Und da ist halt ganz oft, okay, ich sehe diese drei Spalten mit irgendwie, äh, Überschrift und Text, aber dann klicke ich da drauf und dann habe ich wieder so ein hässliches, dann ist ein Overlay und da habe ich dann einfach Text Areas, wo ich das drin schreibe.

00:50:51.100 --> 00:51:02.580
 Und das ist halt tatsächlich ja eigentlich Quatsch. Also eigentlich möchte ich dann wirklich auf diese Überschriften klicken können, einfach rein den Text ändern, unten die Paragraphs, äh, anklicken und was da ändern und dann möchte ich das speichern, ne.

00:51:03.040 --> 00:51:04.660
 So stellt man sich's eigentlich vor.

00:51:04.660 --> 00:51:06.880
 Ja, genau.

00:51:06.880 --> 00:51:16.020
 Okay, dann hätten wir noch, äh, Input Set Custom Validity. Das ist auch was, was ich nicht kannte.

00:51:16.020 --> 00:51:18.560
 Genau, Form Validation war da der größte Überbegriff.

00:51:18.560 --> 00:51:23.540
 Form Validation, also HTML5, äh, Native Form Validation, also nicht irgendwas selbstgekrabbeltes.

00:51:23.540 --> 00:51:33.020
 Genau, vielleicht sagen wir mal, was es dann noch so gibt, was wir aber schon kannten, also dass man generell abfragen kann, ob ein Feld valide ist oder nicht und dass man auch per CSS mit, äh, Pseudoselektor,

00:51:33.020 --> 00:51:43.160
 ähm, ähm, die Pseudoclasses, ne, äh, dass man markieren kann, ob die invalid oder valid sind und dementsprechend dann, dann anders darstellen.

00:51:43.160 --> 00:51:44.660
 Genau, das war, war uns bekannt.

00:51:44.660 --> 00:51:47.940
 Genau, oder das Required Attribut, wo man entfällt.

00:51:47.940 --> 00:52:02.880
 Genau, Set Custom Validity hatte ich auch schon mal eingesetzt, für dich war's neu und das war so ein Punkt, glaube ich, warum du bisher so, äh, Form Validation, HTML, HTML, HTML5, äh, Form Validation nicht benutzt hast, weil du

00:52:02.880 --> 00:52:07.440
 dachtest, man kann da gar keine eigenen Nachrichten, ne, oder, äh, also Fehlermeldungen hinterlegen.

00:52:07.440 --> 00:52:31.980
 Ich habe gesehen davon, dass man keinen Einfluss auf den Style hat, äh, das ist aber vielleicht noch verkraftbar, äh, dachte ich tatsächlich, man kann keine Custom-Texte dahinterlegen in bestimmten Fällen, aber das geht offensichtlich und das wusste ich die ganze Zeit nicht, dass man Custom-Texte hinterlegen kann, weil das ändert alles aus meiner Sicht, weil ich möchte vielleicht nicht, die Texte, die Standard-Browser-Texte, manchmal passen sie vielleicht nicht direkt, ich finde sie auch akrobotisch manchmal.

00:52:31.980 --> 00:52:39.880
 Ich möchte vielleicht auch einfach selbst bestimmen können, was da steht. Vielleicht habe ich ja in meinem Kontext noch einen speziellen Tipp, den ich geben möchte an der Stelle.

00:52:39.880 --> 00:52:40.340
 Genau.

00:52:40.340 --> 00:52:52.980
 So was, was der Browser ja gar nicht wissen kann, dass das jetzt irgendwie an dieser Stelle relevant ist. Und dass das geht, äh, das war für mich ein Augenöffner. Wahrscheinlich ist das Ur-Käse-Alt, aber vielleicht wusste das außer mir auch noch jemand nicht und dann hat's jetzt schon was gebracht.

00:52:53.620 --> 00:52:58.380
 Weiß ich gar nicht sehr, wann das, äh, guck mal noch schnell, Custom-Validity.

00:52:58.380 --> 00:52:59.360
 Wann findet man das raus?

00:52:59.360 --> 00:53:03.540
 Ja, das, aber gibt's schon, also Chrome 4, also 2010.

00:53:03.540 --> 00:53:05.420
 Da war ich wirklich.

00:53:05.420 --> 00:53:07.460
 Konnte Chrome und Safari auch, 2010.

00:53:07.460 --> 00:53:09.340
 Firefox 2011.

00:53:09.340 --> 00:53:10.060
 Ja.

00:53:11.260 --> 00:53:12.660
 Also das gibt's schon ein bisschen, ja.

00:53:12.660 --> 00:53:14.100
 Oh Gott, oh Gott.

00:53:14.100 --> 00:53:15.040
 Oh je.

00:53:15.040 --> 00:53:21.100
 Aber da kommt später auch nochmal irgendwas, wo ich dann auch gesehen hab, so krass, okay, das gibt's schon zehn Jahre und ich hab's irgendwie auch noch nicht benutzt.

00:53:21.300 --> 00:53:24.760
 Ja, okay, gut, dann gehen wir zum nächsten.

00:53:24.760 --> 00:53:28.180
 Interactivity war das, der nächste große Punkt.

00:53:28.180 --> 00:53:35.600
 Also genau, da gibt's, äh, vielleicht kurz, ähm, für die, die es die Umfrage nicht gesehen haben, es, die ist so aufgeteilt in so mehrere große Blöcke.

00:53:35.600 --> 00:53:39.300
 Der erste ist der Forms-Block, jetzt kommt der Interactivity-Block.

00:53:39.300 --> 00:53:45.420
 Dann gibt's noch Content, äh, Web-Components, Accessibility und Native-Like-Web-Apps.

00:53:45.420 --> 00:53:46.980
 Wir gehen nicht alles durch, wie gesagt.

00:53:48.100 --> 00:53:55.480
 So, genau, und da haben wir, ich glaube, du warst durch die Umfrage da drauf gekommen, ne, weil wir im ersten Stream nach der Pause hatten wir das, hast du das schon mal vorgestellt.

00:53:55.480 --> 00:54:01.120
 Und zwar, äh, Details und Summary mit einem, also als Exclusive-Akkordeon.

00:54:01.120 --> 00:54:07.440
 Das heißt, wenn ich eines aufmache, ne, Detail-Summary ist, ich hab ne Headline und da ist ein versteckter Content und wenn ich dann draufklicke, dann fährt das aus.

00:54:07.440 --> 00:54:17.440
 Ähm, und um so einen richtigen Akkordeon-Effekt zu haben, ist halt, wenn ich eins ausklappe in so einer Gruppe von Detail-Summary-Elementen, dass dann alle anderen zuklappen.

00:54:18.100 --> 00:54:24.540
 Und das soll in Zukunft möglich sein, aber geht, glaube ich, aktuell nur in den Tag-Previews, ne, also Chrome 118.

00:54:24.540 --> 00:54:25.000
 Ja.

00:54:25.000 --> 00:54:27.160
 Und, äh, Safari-Tag-Preview, ne?

00:54:27.160 --> 00:54:28.100
 Genau.

00:54:28.100 --> 00:54:36.120
 Also, und das wird, äh, gemacht, indem man das im Prinzip ähnlich macht wie bei Radio-Buttons, die kann man ja auch gruppieren, dass sie zusammengehören.

00:54:36.640 --> 00:54:49.660
 Ähm, einfach mit dem Name-Attribut und, äh, alle Details, äh, Elemente, die das gleiche Name-Attribut haben, gehören dann zusammen und, äh, kriegen dadurch einfach diese Funktion, ganz ohne JavaScript oder irgendwie sonstiges Gedöns.

00:54:49.660 --> 00:54:52.840
 Ähm, ja, finde ich ziemlich coole Sache.

00:54:52.840 --> 00:55:03.000
 Das heißt, es ist mal wieder so ein, so ein User-Pattern oder so ein Interaction-Pattern, dass man sich immer bisher, äh, selbst zusammengeklöppelt hat, äh, in die, in die Web-Standards geflossen.

00:55:03.420 --> 00:55:07.880
 Allerdings, wie gesagt, das ist nur Experimental, aber, äh, da erhoffe ich mir viel davon.

00:55:07.880 --> 00:55:20.660
 Ich könnte mir vorstellen, dass, das ist so ein No-Brainer, das ist auch irgendwie, ich hätte es genau so umgesetzt, wenn ich Standardschreiber gewesen wäre, es ist so, es liegt so auf der Hand, wie es funktioniert, einfach nur, wenn man drauf guckt.

00:55:20.660 --> 00:55:20.880
 Ja.

00:55:20.880 --> 00:55:26.300
 Das muss es einfach werden, da gibt es für mich keine Alternative, das ist einfach, das ist für mich fertig so.

00:55:26.300 --> 00:55:36.240
 Genauso wie Lazy-Loading, äh, so einfach funktioniert, ähm, ist so, genauso, weil auch einfach ein Pattern noch verwendet wird, das es an anderer Stelle schon gibt, das an anderer Stelle schon bekannt ist, finde ich.

00:55:36.240 --> 00:55:38.060
 Genau, warum das Rad neu erfinden, ja.

00:55:38.060 --> 00:55:40.440
 Genau, so müssen neue Standards aussehen.

00:55:40.440 --> 00:55:50.640
 Also in der Demo, die du verlinkt hast, die funktioniert jetzt halt mit, mit einem JavaScript-Polyfill, ähm, da wurde das zum Beispiel verwendet, um aus Detail-Summary-Tabs zu bauen, ne?

00:55:50.640 --> 00:55:54.920
 Also es ist immer nur eins offen, und ich kann die halt wechseln.

00:55:54.920 --> 00:55:55.360
 Genau.

00:55:56.300 --> 00:56:06.420
 Aber wie gesagt, das, das funktioniert überall wegen dem Polyfill, ähm, aber wer sich den, äh, den Polyfill genauer anschaut, der sieht das da eigentlich, ähm, da wird das keine große Magie, die da gemacht wird.

00:56:06.420 --> 00:56:07.620
 Also wenn man es schon einfach so einsetzen möchte.

00:56:07.620 --> 00:56:12.740
 Hat auch in der jetzigen Version, glaube ich, Probleme mit Accessibility, weil die Tab-Reihenfolge irgendwie komisch ist, wenn man da.

00:56:12.740 --> 00:56:13.980
 Das steht da noch dabei.

00:56:13.980 --> 00:56:22.740
 Ja, ist interessant, ob das in Zukunft weiter ein Problem sein könnte, oder ob das irgendwie automatisch dann, ja, muss man mal schauen.

00:56:24.380 --> 00:56:35.180
 Ja, da gibt's noch, da gibt's noch mehr Probleme mit dem ganzen Detail-Summary, ähm, ich weiß gar nicht, ob das mittlerweile jetzt gelöst ist, dass, äh, Text, der zugeklappt ist, nicht durchsuchbar ist, auf der Seite.

00:56:35.180 --> 00:56:45.400
 Ähm, ich glaube, da gab's aber auch irgendwie, äh, da haben wir vielleicht auch schon mal drüber gesprochen, da gab's auf jeden Fall auch irgendwie den Ansatz, wie das gelöst werden kann, dass irgendwie, wenn man sucht, dass die alle ausgeklappt werden oder so.

00:56:46.480 --> 00:56:53.240
 Ja, okay, dann kommen wir zu was, was wir auch im Stream, nee, was wir im Podcast auch schon mal hatten, gell?

00:56:53.240 --> 00:56:56.540
 Genau, Folge 56 haben wir, äh, das schon mal angesprochen.

00:56:56.540 --> 00:57:00.140
 Und da hast du hier noch eine Demo dazu reingehängt, die verlinken wir auch.

00:57:00.140 --> 00:57:01.340
 Ja, die ist letztendlich.

00:57:01.340 --> 00:57:03.560
 Ich glaube, dann müssen wir da gar nicht so viel mehr drüber verlieren, oder?

00:57:03.560 --> 00:57:09.300
 Im Endeffekt, ja, es ist wie Tooltips, ne, nur dass ich sie steuern kann, so.

00:57:09.480 --> 00:57:23.740
 Eine Art Tooltip, was ich auf Klick, naja, es ist kein Tooltip, ist ja meistens bei Mouse-Over, es ist halt wirklich wie das Bootstrap-Pop-Over, ähm, aber tatsächlich nur mit reinem HTML, das heißt, ich klicke irgendwo drauf, äh, und dann öffnet sich ein anderes Ding.

00:57:23.740 --> 00:57:29.500
 Und ich sag das mal so ganz abstrakt, man kann auf Klick ein anderes Dings öffnen und auf Klick wieder schließen.

00:57:30.240 --> 00:57:47.340
 Ähm, und dann gibt's auch noch Positionierung und keine Ahnung was alles, was da angedacht ist dafür, ähm, aber das nur mit HTML, finde ich wahnsinnig mächtig, weil das, wie, wie viel, wie viel JavaScript-Logik in einer Webseite beschäftigt sich denn bitte genau damit?

00:57:47.340 --> 00:57:49.820
 Ich klicke irgendwo drauf und dann wird was anderes angezeigt.

00:57:50.280 --> 00:57:57.180
 Wenn du das, wenn du das dir alles schenken kannst und das einfach nur mit HTML ein bisschen, mit ein bisschen HTML machen kannst, das ist ja fantastisch.

00:57:57.180 --> 00:58:01.120
 Also, da bin ich auch sehr gespannt. Das ist aber auch in einem sehr frühen Stadium.

00:58:01.120 --> 00:58:04.280
 Ähm, warte mal, hab ich gar nicht, darf ich gar nicht ...

00:58:04.280 --> 00:58:13.820
 Ich hatte in der Folge 56 da schon mal eine Demo verlinkt, wo es dann genau um diese Positionierung ging mit irgendwie Add Position Fallback und Add Try und Anchor und was weiß ich.

00:58:14.340 --> 00:58:21.460
 Und das hatte damals schon nicht richtig funktioniert. Das war dann irgendwo sonst wo gelandet. Und das ist immer noch nicht so ganz, immer noch nicht gefixt.

00:58:21.460 --> 00:58:24.760
 Ähm, also es ist noch sehr, sehr früh, ne?

00:58:24.760 --> 00:58:35.460
 Aber es ist schon relativ weit. Ich sehe hier gerade bei Can I Use, dass es eigentlich in den, in den Chrome-basierten Browsern ist es quasi schon drin. Und bei Firefox ist es schon hinter einem Flag.

00:58:35.460 --> 00:58:38.860
 Genau, aber diese Positionierungsgeschichte, die ist halt noch ...

00:58:38.860 --> 00:58:44.300
 Ja, aber das ist ja, für mich ist das auch Schritt zwei. Aber ja, ähm, aber cool. Das ist wirklich, das ging jetzt.

00:58:44.340 --> 00:58:53.840
 Irgendwie sehr schnell. Irgendwie ging das lange, offenbar lange an mir vorbei. Oder es war plötzlich da. Äh, finde ich, finde ich fantastisch. Fantastische Sache. Bin ich sehr gespannt, was die Leute damit so bauen werden.

00:58:53.840 --> 00:58:56.240
 Okay.

00:58:57.580 --> 00:59:09.960
 Dann haben wir als nächstes das Inert-Attribute. Das ich, glaube ich, auf so ziemlich jedes HTML-Element setzen kann, wenn ich das richtig gesehen habe. Also ich kann theoretisch den kompletten Body auf Inert setzen.

00:59:10.760 --> 00:59:26.540
 Und was das macht, ich dachte zuerst, das ist so ein bisschen wie, als ob ich einfach auf das Element Pointer None setze per CSS. Aber es ist noch mehr. Also das würde dafür sorgen, dass ich es zwar nicht mehr anklicken kann, aber ich kann zum Beispiel noch reintappen in Input-Elemente, die da drin vorhanden sind.

00:59:27.100 --> 00:59:39.680
 Und mit diesem Inert, das deaktiviert wirklich den Inhalt komplett. Kein Antappen, kein Markieren, kein, äh, Reinklicken, nichts. Ähm, und ist im Endeffekt wie, äh, ARIA hidden.

00:59:40.220 --> 00:59:49.860
 Nur, dass ich halt eben auch als Nicht-Screenreader-User diesen Content wirklich komplett deaktiviert habe. Also er ist, wenn ich ihn nicht ausblende zusätzlich, ist er zwar da, aber kann halt wirklich nicht mehr bedient werden.

00:59:49.860 --> 01:00:04.200
 Und, ähm, das ist zum Beispiel für, gut, jetzt gibt's, Dialog gibt's jetzt auch schon eine Weile, äh, aber für sowas wäre das klassisch gewesen. Also, dass ich ein, ein Overlay habe und ich möchte den restlichen Content dahinter zum Beispiel komplett deaktivieren.

01:00:04.400 --> 01:00:14.620
 Das heißt, dass ich, äh, auch eine Focus-Trap habe eben innerhalb von so einem Model. Also dafür wäre das zum Beispiel gewesen. Aber gibt's sicher auch noch andere Anwendungsfälle, wo das Sinn macht, äh, Content zu deaktivieren.

01:00:14.620 --> 01:00:29.580
 Ich hab ja noch gedacht, äh, im, im Stream, ähm, da kam dann auch gleich Widerspruch, so von wegen, oh, das ist ja vielleicht gefährlich und ein Anti-Pattern. Aber ich könnte mir vorstellen, ähm, dass wenn man so eine richtige Web-App-App hat, also keine Ahnung, so ein Photoshop im Browser, das, was es ja mittlerweile gibt, ne?

01:00:29.740 --> 01:00:47.000
 Also so eine richtige App, die Dinge tut, die nicht einfach eine Webseite ist mit, mit ein paar Airframes oder so. Ähm, dass man da zum Beispiel in einem Ladezustand, ähm, die Seite komplett deaktiviert, bis es fertig geladen ist, weil damit's keine komischen Seiteneffekte irgendwie passieren können.

01:00:47.260 --> 01:01:06.780
 Könnte ich mir vorstellen, dass man das auch für sowas braucht. Äh, für weitere, äh, Anwendungsfälle, äh, gerne in die Kommentare bin ich auch sehr interessiert. Ähm, ich denke, das sind aber auf jeden Fall schon Sachen, also es gibt immer mal wieder einen Grund, warum ich irgendwie was deaktivieren will, zwischenzeitlich. Äh, da darfst du jetzt grad nix machen, sonst wird das irgendwie komisch oder so.

01:01:06.780 --> 01:01:17.520
 Oder, was mir jetzt grad auch noch einfällt ist, ähm, man könnte damit zum Beispiel, wenn man jetzt so ein interaktives Formular hat, dass Bereiche ein- und ausblendet, je nachdem, wie der Status vorher ist.

01:01:17.520 --> 01:01:26.580
 Da möchte ich vielleicht nicht, dass man vorher schon mit der Tastatur oder mit dem Screenreader irgendwie reinkommen kann. Ähm, äh, aber die Bereiche sind vielleicht nur visuell ausgeblendet am Anfang.

01:01:27.620 --> 01:01:35.160
 Könnte ich mir vorstellen, dann sagst du halt auch da, ähm, das ist wirklich, so lange wirklich weg, weg, dass, dass du auf keinen Weg irgendwie reinkommen kannst.

01:01:35.160 --> 01:01:45.360
 Ja, ich hab schon an diversen Stellen, da hab ich's halt dann gelöst, dass erstmal alles disabled ist zum Beispiel. Alle Inputs werden disabled, solange wieder die Tabelle noch fertig am Laden ist, weil Inhalte irgendwie per Ajax nachgeladen werden.

01:01:45.360 --> 01:01:51.820
 Und solange macht zum Beispiel halt Filtern oder sowas keinen Sinn, ähm, dass ich das dann disabled hab und erst danach wieder, äh, aktiviere.

01:01:51.820 --> 01:02:02.960
 Aber das ist halt, wenn man nicht optisch auch diese Kennzeichnung braucht, und selbst das könnte man ja machen, indem man den ganzen Bereich dann ausgraut oder irgendwie ein Loader drüber anzeigt oder wie auch immer, ähm, dann ist das schon, schon praktisch, ja.

01:02:02.960 --> 01:02:09.480
 Ist sehr praktisch, weil du halt einfach nur ein HTML-Attribut hast und alles, was innerhalb ist, äh, dann automatisch deaktiviert wird.

01:02:09.480 --> 01:02:13.880
 Du musst nicht einzelne Elemente auf disabled setzen oder sowas, sondern das ist einfach alles, was drin ist.

01:02:13.880 --> 01:02:21.800
 Ich glaube, ich hatte da auch mal wirklich einen Fall, wo es zu einem Bug kam, wenn man irgendwie schon vorher was eingetippt hat oder so, äh, weil es dann natürlich versucht hat, irgendwas zu filtern oder so.

01:02:21.820 --> 01:02:23.660
 Weil sowas gar nicht da war und dann gab es irgendwie einen Fehler.

01:02:23.660 --> 01:02:24.880
 Und das ist, äh, das ist cool.

01:02:24.880 --> 01:02:27.860
 Also es gibt schon, glaube ich, einige Anwendungsfälle dafür.

01:02:27.860 --> 01:02:30.620
 So, jetzt kommen, jetzt kommen Sachen für dich.

01:02:30.620 --> 01:02:31.720
 Für mich.

01:02:31.720 --> 01:02:33.040
 Für mich allein.

01:02:33.040 --> 01:02:36.100
 Äh, DOM-Attribute-Related-Methods.

01:02:36.100 --> 01:02:41.840
 Ähm, da war eigentlich nur eine dabei, die wir, glaube ich, auch beide noch nicht kannten.

01:02:41.840 --> 01:02:43.200
 Get-Attribute-Names.

01:02:43.900 --> 01:02:57.000
 Also wenn ich einfach nur eine Liste aller Attribute wähle, also nur der Attribut-Namen, äh, die ein Element hat und, äh, das gibt's, glaube ich, auch noch nicht so lang, also in, in, in, in Web-Speak gibt's schon ewig lang.

01:02:57.300 --> 01:03:07.920
 Aber so 2017, 2018, ne, jetzt mittlerweile auch schon irgendwie fünf Jahre, sechs Jahre, aber, ähm, ja, hab ich irgendwie trotzdem nie genutzt.

01:03:07.920 --> 01:03:17.640
 Man hat das halt vorher gemacht, indem man dann irgendwie, äh, Get-Attributes oder einfach Punkt-Attributes und dann hat man sich halt, äh, alle Keys von diesem Objekt zurückgeben lassen, ne.

01:03:17.700 --> 01:03:21.240
 Und dann hatte man auch quasi eine Liste aller, äh, aller Attribute.

01:03:21.240 --> 01:03:26.860
 Aber es gibt eine eigene Funktion, da krieg ich einfach nur ein Area zurück und da drin sind alle Attribute, die das Element gesetzt hat.

01:03:26.860 --> 01:03:30.640
 Und, ähm, ja, sicherlich auch nicht unpraktisch.

01:03:30.640 --> 01:03:39.360
 Ich glaube, ich bin jetzt gerade ein bisschen, äh, ich glaube, die Liste ist noch nicht gut genug aufgeräumt, weil ich glaube, da lösch ich mal gerade noch zwei Sachen raus.

01:03:39.360 --> 01:03:59.640
 Ähm, genau, das gibt's nämlich in der, äh, ich sag mal kurz, was es jetzt gerade ging, ähm, in der Umfrage gibt es so Bereiche, wo, wo großflächig abgefragt wird, ähm, zum Beispiel, ähm, welche Element-Moving-Dom-Methods man schon verwendet hat, also, äh, Methoden, um Elemente rumzuschieben.

01:03:59.640 --> 01:04:08.060
 Ähm, und dann ist da eine ganze Liste mit, mit einzelnen Sachen, die wir jetzt aber nicht alle durchgehen wollen, ähm, das könnt ihr euch einfach direkt in der Umfrage mal anschauen.

01:04:08.060 --> 01:04:11.400
 Genau, also wir haben die Sachen rausgepickt, die halt, äh, die wir halt selber noch nicht kannten.

01:04:11.400 --> 01:04:15.160
 Genau, da war jetzt gerade noch was in unserer Liste drin, ähm, okay.

01:04:15.160 --> 01:04:17.540
 Genau, was, was eigentlich schon halt auch noch ein bisschen kürzen, genau.

01:04:17.540 --> 01:04:31.900
 Ähm, das nächste ist Replace Children, das kannte ich auch nicht und das gibt's jetzt, das war, glaube ich, das, was ich vorhin meinte, ja, äh, wobei, nee, 2020, ja gut, das sind drei Jahre, aber, äh, trotzdem, ich kannte es nicht und hab's auch nicht genutzt.

01:04:31.900 --> 01:04:38.040
 Replace Children, was ich da vorher gemacht hab, wenn ich jetzt wirklich in dem Element alles austauschen wollte, dann hab ich halt irgendwie, äh,

01:04:38.040 --> 01:04:49.340
 in HTML auf, auf einen Leerstring gesetzt, dann war's erstmal leer und dann hab ich, äh, die neuen, äh, Children eingehängt, ne, aber mit Replace Children kann ich halt einfach alles auf, in einem Rutsch ersetzen.

01:04:49.340 --> 01:04:50.480
 Cool.

01:04:50.480 --> 01:05:00.620
 Also einfach wieder so kleine Helferlein, ja, äh, die jetzt nicht so vermisst wurden, aber halt einfach Dinge wieder einfacher machen und so und, äh, übersichtlicher vielleicht auch machen.

01:05:02.900 --> 01:05:27.940
 Genau, dann kommen wir zum Bereich Content in der Umfrage, äh, und als erstes kommt da direkt, äh, unser Lieblingsattribut loading gleich lazy, ähm, und auch dazu werden wir jetzt nicht so viele Worte verlieren, sondern, äh, tatsächlich auf unsere Folge Nummer zwei verweisen, wo wir uns damals schon gefragt haben, warum wird denn das so wenig verwendet?

01:05:27.940 --> 01:05:35.680
 Äh, ich muss jetzt grad noch mal gucken, äh, die Folge zwei ist, damit wir mal in den Kontext kriegen, ist veröffentlicht am 1.3.2020.

01:05:35.680 --> 01:05:36.520
 Krass.

01:05:36.520 --> 01:05:39.400
 Ähm, das ist ja quasi schon graue Vorzeit.

01:05:39.400 --> 01:05:40.020
 Ja, Wahnsinn.

01:05:40.020 --> 01:05:49.920
 Ähm, da gehen wir jetzt auch nicht weiter drauf ein, äh, falls ihr was dazu hören wollt, dann hört euch unsere Folge Nummer zwei an, die heißt Corona, Cloud und Chaos.

01:05:51.500 --> 01:06:09.080
 Dann haben wir Source Set und Size Attributes. Ich glaub, da gehen wir auch nicht zu sehr in die Tiefe. Ähm, das ist im Zusammenspiel mit, äh, Picture Element und Source Elementen, wo ich verschiedene Größen des gleichen Bildes, äh, angeben kann.

01:06:10.220 --> 01:06:20.920
 Und das klingt erstmal toll und klingt danach so, ach cool, ich geb irgendwie verschiedene Größen an und der Browser sucht sich dann das Beste raus, was in dem Zustand und mit der Pixeldichte am besten passt.

01:06:21.440 --> 01:06:46.640
 Aber ganz so einfach ist es leider trotzdem nicht, sondern ich muss, ähm, in diesen, äh, Angaben quasi das CSS, die CSS Breakpoints wiederholen, die ich im CSS eh schon drin habe und muss dann wie so eine Art, äh, ja, CSS auch schreiben, wo ich eben den Bereich angebe, bis zu dem dieses Bild angezeigt werden soll und bis zu dem das nächste angezeigt werden soll.

01:06:46.640 --> 01:06:57.540
 Ähm, vermutlich aus dem Grund, weil theoretisch ja das CSS noch nicht geladen sein könnte, aber der Browser schon wissen muss, äh, in welcher Größe er dieses Bild darstellen soll.

01:06:57.540 --> 01:07:10.400
 Aber es ist halt ein bisschen lästig, das irgendwie, ja, doppelt machen zu müssen. Ähm, gut, am besten macht man sowas sowieso mit einem CMS, das am Schluss automatisch die entsprechenden Größen raushaut.

01:07:10.400 --> 01:07:18.620
 Aber das muss halt auch genau wissen, in welcher Breite bin ich und in welcher Breite, äh, ne, soll das am besten so und so dargestellt werden.

01:07:18.620 --> 01:07:25.200
 Also wir haben das zum Beispiel bei uns auf der Seite, ähm, so eine Galerie mit, mit Projekten, wo einfach nur so Vorschaubilder nebeneinander sind.

01:07:25.460 --> 01:07:35.940
 Und die sind halt, manchmal gehen die über die volle Spalte, manchmal sind sie zweispaltig, dreispaltig oder vierspaltig, je nachdem, wie viel Platz ich zur Verfügung hab, aber auch je nachdem, wie viele Projekte ich hab und ob das aufgeht.

01:07:35.940 --> 01:07:46.520
 Das heißt, äh, wenn's halt ne ungerade Zahl ist irgendwie, dann geht halt am Schluss nochmal eins irgendwie vollbreit drüber oder die werden dann auf vier, vier, vier, vier aufgeteilt, äh, statt auf irgendwie zwei, oder zwei Dreier und so weiter.

01:07:46.520 --> 01:07:52.540
 Ähm, und das macht's ein bisschen tricky, da halt genau zu wissen, in welcher Konstellation brauche ich jetzt eigentlich welche Breite.

01:07:52.540 --> 01:07:57.300
 Und, äh, ja, das hat mich schon so ein bisschen zur Verzweiflung gebracht.

01:07:57.300 --> 01:08:01.880
 Ja, es sieht auch irgendwie hässlich aus, muss ich ehrlich sagen.

01:08:01.880 --> 01:08:04.140
 Äh, und, ja, ja.

01:08:04.140 --> 01:08:13.040
 Ja, hast du dir mal angeguckt, die Syntax, wie man das dann, ne, in Klammern dann, und, also es ist echt nicht, die Idee ist schön und es wäre cool, einfach den Browser hinwerfen zu können,

01:08:13.480 --> 01:08:19.800
 hey, die, die und die Breiten hast du zur Verfügung, guck selber, was jetzt grad am besten passt, aber so ist es schon wieder irgendwie nervig.

01:08:19.800 --> 01:08:35.780
 Also ich hab mal, ähm, ne, ne Minimalimplement, das ist auch schon wieder viele, viele Jahre ja, als ich noch im Agenturgeschäft war, ähm, ne Minimalimplementierung gesehen von, äh, ich habe einen Server, der mir die passende Bildgröße zurückgibt, irgendwie oft mit PHP gebaut, ganz simpel.

01:08:35.780 --> 01:08:42.100
 Ähm, und das Einzige, was man da noch gemacht hat, ist, man hat mit JavaScript die Seitenbreite ausgelesen.

01:08:42.100 --> 01:08:52.880
 Die ist nicht unbedingt immer aussagekräftig, weil, äh, das heißt ja nicht, wenn jetzt die Seite tausend, wenn ich tausend Pixel in der Breite habe, dass das Bild auch tausend Pixel breit sein soll.

01:08:52.980 --> 01:09:05.980
 Ne, das kommt ja immer total auf den Kontext an, aber so ganz krude für, für schmale Breiten, ähm, da hast du einfach bei JavaScript noch die, die, die Breite ausgelesen und dann das noch mit dahin geschickt und dann hat er automatisch das richtige Bild, äh, zurückgeschickt.

01:09:06.640 --> 01:09:07.800
 Ganz, ganz simpel, also sowas.

01:09:07.800 --> 01:09:20.140
 Dann hast du halt immer schon das Problem, ja, es ist halt blöd, sowas mit JavaScript machen zu müssen, also, das wäre das Problem, der Browser hat schon die ursprüngliche URL schon angefangen zu laden und dann änderst du die nochmal, weil du nochmal die Breite übergibst und dann lädt er das nochmal und so.

01:09:20.140 --> 01:09:31.600
 Ja, also, klar, kann man machen, ne, funktioniert, aber, also, schöner wäre es für mich einfach, der Browser würde das selber machen, aber da gibt's halt wieder diese Constraints mit, äh, ja, weiß ich denn überhaupt schon beim Rendern?

01:09:31.600 --> 01:09:38.380
 Ich möchte ja auch möglichst keine Repaints haben und so, ne, also, daran, daran liegt das so ein bisschen, warum man das mit angeben muss.

01:09:38.380 --> 01:09:44.300
 Jetzt, jetzt, jetzt, jetzt komm ich mit einer ganz uralten Idee um die Ecke. Wäre dafür Progressive JPEG nicht genau das Richtige?

01:09:44.300 --> 01:10:00.240
 Also, dass du im Prinzip, weißt du, wie ich meine, also, dass, dass man das irgendwie, dass der Browser das kombiniert, dass er quasi so die, die Megalow-Variante quasi als erstes lädt, das geht ja, mit Progressive JPEG, erinnerst du dich?

01:10:00.240 --> 01:10:07.020
 Ich erinnere dich an die frühen Zeiten des Internets. Vielleicht muss ich für die, für die Jüngeren hier, die zuhören, nochmal kurz erklären, was das ist.

01:10:07.020 --> 01:10:16.960
 Also, es gab eine Zeit, da war das Internet sehr, sehr langsam, überall, ja, und, äh, wenn man ein Bild geladen hat, dann war man froh, wenn man nicht fünf Minuten warten muss, bis es da ist.

01:10:18.000 --> 01:10:34.280
 Pornoseiten. Und, äh, da gab es, es gibt halt die Technologie Progressive JPEG, also, und dann, dann kann der Browser, ähm, eine sehr, sehr niedrig aufgelöste Variante des Bildes laden.

01:10:34.780 --> 01:10:42.660
 Jetzt, damit fängt der an, und dann sieht man schon mal was, es ist zwar nur sehr, sehr blurry, und dann geht der Schritt für Schritt, wird das Bild immer schärfer.

01:10:42.660 --> 01:10:51.300
 Damals halt so in, alle, alle zehn Sekunden wird's eins schärfer, oder teilweise hat man das sogar gesehen, so zeilenweise, von oben nach oben wird's dann schärfer.

01:10:51.300 --> 01:10:54.180
 Ähm, porno schärfer.

01:10:54.180 --> 01:11:01.920
 Aber, ähm, das, das heißt, du müsstest dem Browser quasi irgendwann sagen können, ah ja, okay, das ist, das ist genug, weiter brauchst du es nicht streamen.

01:11:01.920 --> 01:11:12.560
 Genau, das ist genug, weil ich meine, wenn du das Bild, wenn du ein großes Bild hast, das du eh in klein darstellst, dann brauchst du ja auch nicht so viel Detail, weil die Pixel, wenn die nicht zusammenschoben, ganz genau, ganz genau.

01:11:12.560 --> 01:11:28.980
 Gut, wobei auf dem Mobile hast du dann wieder Retina, da hast du dann eh meistens fast schon wieder eine größere Bildauflösung als auf dem Desktop, aber nee, also der Browser sollte das eigentlich selber entscheiden können, aber ich verstehe schon, dass das dann wieder andere Probleme mit sich bringt, weil ich halt eben dann das Bild vielleicht, also weil ich da nochmal ein Paint machen muss.

01:11:28.980 --> 01:11:38.960
 Ja, ja, lassen wir es, weg damit, genauso weg damit, Content Security Policy, Folge 48 anhören, da haben wir das ausführlich beschrieben.

01:11:38.960 --> 01:11:58.960
 Ja, und für alle, die, Moment, da muss ich aber noch kurz drauf eingehen, für alle, die nicht verstehen, was das für ein komischer Folgentitel ist, hört mal, hört mal eine der größten Hits von Fanta 4, dann versteht ihr, worauf es anspielt, und zwar Policy, HTXS und HTTP, XSS, CSS.

01:11:58.980 --> 01:12:05.000
 Ich wollte es jetzt nur noch mal so betonen, dass man auch verstehen kann, wo es herkommt.

01:12:05.000 --> 01:12:05.680
 Für die Jüngeren unter euch.

01:12:05.680 --> 01:12:11.940
 Ja, genau, aber auch für die Älteren, ich glaube, das hat vielleicht nicht jeder, die Anspielung hat vielleicht nicht jeder verstanden.

01:12:11.940 --> 01:12:15.680
 Ja, so, jetzt haben wir das, alles klar, weiter.

01:12:15.680 --> 01:12:23.180
 Fetch Priority, da waren wir, da wussten wir irgendwie so gar nichts groß mit anzufangen, genauso wie bei dem Nächsten, was gleich noch danach kommt.

01:12:24.400 --> 01:12:27.020
 Warum das notwendig sein könnte.

01:12:27.020 --> 01:12:33.740
 Und das ist so ein bisschen, da wird es halt schon sehr, sehr fein technisch.

01:12:33.740 --> 01:12:48.400
 Also ich kann mit Fetch Priority, kann ich Elementen, also zum Beispiel Image Elementen, aber soweit ich weiß auch Link Elementen und Source Elementen, also alles, was irgendwie externe Dateien anzieht.

01:12:48.400 --> 01:12:55.300
 Kann ich mitgeben, mit welcher Priorität der Browser die eben abholen soll.

01:12:55.300 --> 01:12:59.760
 Dann kann ich sagen High, Low oder Auto, was der Default Modus ist.

01:12:59.760 --> 01:13:10.220
 Und das ist so ein bisschen, also dazu muss ich ja wirklich auch auf der Seite alles im Griff und alles im Blick haben, um zu entscheiden, was da wichtig ist und was nicht.

01:13:11.060 --> 01:13:18.540
 Und von der Ladereihenfolge her geht der Browser ja eh so vor, von oben nach unten, wenn er das mag, abpasst.

01:13:18.540 --> 01:13:26.420
 Und das dann halt ein Bild, das oben ist, dass ich das als erstes brauche im Vergleich zu einem Bild, das irgendwo ganz unten ist, ist ja eigentlich klar.

01:13:27.760 --> 01:13:34.300
 Also natürlich gibt es da bestimmt irgendwelche Gründe, das zu tun, wahrscheinlich dann eher auch in Web-Apps oder so.

01:13:34.300 --> 01:13:36.420
 Also High dann vielleicht nicht, aber Low möchtest du vielleicht reinschreiben.

01:13:36.420 --> 01:13:37.920
 Das vielleicht schon eher, ja.

01:13:37.920 --> 01:13:44.500
 Dass ich tatsächlich, weil es ist ja so, wenn ich jetzt überall High reinklatsche, ist am Ende auch nichts gewonnen, ja.

01:13:44.500 --> 01:13:53.800
 Weil er lädt es ja sowieso in dem Augenblick, wo das HTML, also ein Bild wäre ja in dem Fall, wenn er es nicht Loading Lazy hat, ist es ja Render Blocking, wenn ich es richtig weiß.

01:13:53.960 --> 01:13:59.880
 Das heißt, er lädt es sowieso in dem Augenblick, wo er das Image-Tag findet. Oder liege ich da jetzt falsch? Nö, das ist doch, glaube ich, so.

01:13:59.880 --> 01:14:02.300
 Ein Bild ist nicht Render Blocking, oder?

01:14:02.300 --> 01:14:07.200
 Oje, jetzt haben wir uns.

01:14:07.200 --> 01:14:12.120
 Eieiei, jetzt kommt die Internet-Polizei.

01:14:12.120 --> 01:14:23.340
 Dann Platzhalter und entsprechend hast du ja eh meistens, ja, kannst das ja PCSS, also wenn du jetzt tausende Bilder hast, die Seite liegt trotzdem, die liegt halt die Bilder erst danach.

01:14:23.960 --> 01:14:35.380
 Ja, jedenfalls kannst du das halt beeinflussen und ja, vielleicht hat da jemand irgendwie noch in den Kommentaren was, warum das irgendwie ganz, ganz wichtig ist.

01:14:35.380 --> 01:14:46.760
 Also hier ist jetzt ein Beispiel, wenn ein Bild, also auf der MDN-Seite, wenn ein Bild dynamisch eingefügt wird, also New Image und dann Fetch-Priority High und dann der Source gesetzt wird.

01:14:48.100 --> 01:14:56.740
 Vielleicht macht das irgendwie, bitte das Vorteile, wenn ich jetzt ganz viele Bilder in die Seite reinsetze, aber auch da wäre ja die Reihenfolge maßgeblich.

01:14:56.740 --> 01:15:03.120
 Naja, ich weiß es nicht. Also da kann ich tatsächlich bei dem Nächsten, was wir haben, wahrscheinlich, wahrscheinlich, das wird es sein.

01:15:03.120 --> 01:15:15.720
 Da kann ich tatsächlich bei Blocking gleich Render, was jetzt als nächstes kommt, da kann ich jetzt ein bisschen mehr dazu sagen, weil das war auch sowas, wo wir erstmal gedacht haben, äh, warum, warum wollte, sollte ich absichtlich das, das Rendern blockieren wollen?

01:15:16.100 --> 01:15:30.980
 Und da bin ich gestoßen auf die, auf ein GitHub-Issue, ähm, bei der Watch, Watch WG, HTML, Repository, ähm, quasi so das, das Issue, das das vorgeschlagen hat, das doch zu machen.

01:15:30.980 --> 01:15:44.920
 Und da sind so ein paar Use Cases, ähm, vorgestellt worden. Ähm, zum Beispiel könnte ich, also der Hauptgrund, warum man das machen wollen würde, und warum sollte man das überhaupt machen, ja?

01:15:45.260 --> 01:15:57.360
 Vielleicht sag ich nochmal kurz, äh, vielleicht wie der Code aussieht dazu, damit man auch weiß, um was es da geht. Also in dem Fall ist es ein Script-Tag, das hat das Blocking gleich Render-Attribut und das Async-Attribut und dann noch Source.

01:15:57.360 --> 01:16:09.320
 Das war das, was uns am meisten verwirrt hat. Genau, also wir haben halt gedacht, naja, wenn ich doch Async hab und dann aber Render-Blocking mache, wieso, äh, dann heb ich das ja quasi, also, es widerspricht sich irgendwie.

01:16:09.320 --> 01:16:21.480
 Genau, aber pass auf. Also, was man damit erreichen möchte und warum Browser das auch machen, ähm, ist, dass man diesen Flash of Unstyled Contents, diesen Folk, äh, dass man das verhindert, ne?

01:16:21.540 --> 01:16:27.160
 Also, dass man zuerst irgendwie komischen Text sieht und dann macht's erst plöpp und dann, äh, wird das erst richtig dargestellt.

01:16:27.160 --> 01:16:40.820
 Und deswegen, und wer das genau wissen will, das war nämlich auch in dem Git, äh, verlinkt, ein, ein GIST, glaub ich, oder zumindest ein, ja, so eine MD-Datei, wo genau drin beschrieben steht, welche Render-Engine

01:16:40.820 --> 01:16:54.960
 wie vorgeht, um das zu machen. Also, es gibt wohl bei den meisten irgendwie auch so einen internen Timeout, glaub ich, ähm, nachdem das dann passiert, wenn, wenn, äh, ja, wenn, wenn vorher nicht genug Content da ist, der, der das nicht blockiert.

01:16:56.040 --> 01:17:05.300
 Ähm, und man kann damit eben beeinflussen, dass man sagt, okay, dieses Element, darauf musst du auf jeden Fall warten, bevor du so diesen ersten Paint machst.

01:17:05.300 --> 01:17:22.440
 Und, äh, als Beispiel war da zum Beispiel angegeben, ich lade ne Webfont per link rel gleich preload und wenn ich diesem Link-Element dann eben das Blocking gleich render mitgebe, dann soll der Browser drauf warten, bis das geladen ist.

01:17:22.440 --> 01:17:31.180
 Und damit hast du halt diesen, diesen Flash, dass zuerst die Standardschrift oder die Vollbergschrift geladen wird und dann die Webfont, äh, den vermeidest du halt damit.

01:17:31.180 --> 01:17:43.900
 Und in der Regel sollte das ja hoffentlich so schnell gehen, dass du diese Verzögerung gar nicht groß mitbekommst, ähm, und dass es auffälliger wäre, es würde komisch rumflackern, als wenn du tatsächlich auf die Webfont wartest.

01:17:43.900 --> 01:17:49.760
 Hm. Okay. Ich glaub, da muss ich noch mal drüber nachdenken.

01:17:51.600 --> 01:18:12.960
 Das andere, andere Beispiel, genau jetzt mit dem, mit dem Script und dem Async, ähm, da ist es so, wenn ich das kombiniere, dann, dann wird das Parsing nicht blockiert, also der Browser kann schon mal weitermachen, die Seite zu parsen, aber das, das, äh, Rendern wird eben so lange blockiert, bis tatsächlich das Skript geladen ist.

01:18:13.180 --> 01:18:15.080
 Okay, da geht's um Millisekunden, oder?

01:18:15.080 --> 01:18:25.580
 Da geht's um Millisekunden, aber das ist wahrscheinlich bei, bei irgendwelchen großen Web-Anwendungen, die, äh, ja, keine Ahnung was alles laden, macht das wahrscheinlich einen Unterschied.

01:18:26.800 --> 01:18:35.800
 Ich finde, es ist auch, es ist wieder so ein, so ein, so eine technische Feinheit, äh, die man sich jetzt halt erlauben kann zu implementieren in die HTML-Spezifikationen.

01:18:35.800 --> 01:18:51.260
 Irgendjemand, irgendjemand hat da, hat da, äh, äh, einen Test gemacht, einen Performance-Test und hat festgestellt, ja, das ist ja kacke, das kann man ja gar nicht, wie, man könnte diese, diese vier Millisekunden, die könnte man doch eigentlich nutzen für, und dann könnte das vier Millisekunden schneller sein.

01:18:51.260 --> 01:18:57.520
 Nein, in dem Fall geht's ja fast sogar gegen Performance, das ist ja tatsächlich eher so eine optische Geschichte, das Rendering zu blocken.

01:18:57.520 --> 01:19:17.940
 Also was, äh, was da noch genannt war, war zum Beispiel, wenn ich, ähm, wenn ich Skripte über ein Loader-Skript einfüge, dass ich da dem dann das irgendwie mitteile, dass es darauf warten soll, weil anders würde der Browser eventuell gar nicht mitkriegen, äh, dass da was nachgeladen wird, was, was er blockieren soll.

01:19:18.260 --> 01:19:19.240
 Also, na gut.

01:19:19.240 --> 01:19:31.040
 Und als letztes mal hier noch mit Request-Animation-Frame, ähm, dass man irgendwie so lange wartet, also, solange der Browser blockiert ist, wird auch kein Request-Animation-Frame ausgeführt.

01:19:31.040 --> 01:19:45.260
 Und damit kann ich dann quasi so lange, äh, blockieren und warten, dass ich vor dem ersten Paint nochmal irgendwelche Dinge ausführe, die, die, ja, die Darstellung positiv beeinflussen.

01:19:45.760 --> 01:19:52.840
 Also, es sind echt so Feinheiten und, ähm, ich bin mir nicht sicher, ob ich das jemals brauchen werde.

01:19:52.840 --> 01:19:56.860
 Es gibt bestimmt jemanden in den Kommentaren, der uns erklärt, warum wir alle Vollidioten sind.

01:19:56.860 --> 01:19:57.780
 Bestimmt.

01:19:57.780 --> 01:20:01.020
 Und, äh, wieso das das Allerwichtigste der Welt ist.

01:20:01.020 --> 01:20:03.580
 Aber haben ist besser als brauchen.

01:20:03.580 --> 01:20:06.080
 Haben ist besser als brauchen, hat ein weiser Mensch mal gesagt.

01:20:06.080 --> 01:20:06.780
 Grüße raus an Olli.

01:20:06.980 --> 01:20:08.900
 Grüße gehen raus an den Bodensee.

01:20:08.900 --> 01:20:09.500
 Genau.

01:20:09.500 --> 01:20:14.660
 Ähm, okay, dann kommen wir, wenn ich es richtig sehe, zum Model-Element.

01:20:14.660 --> 01:20:18.840
 Also tatsächlich ein vorgeschlagenes neues HTML-Element.

01:20:18.840 --> 01:20:25.060
 Was ich hier jetzt gerade offen habe, ist der Draft Community Group Report vom 5. Juni 2023.

01:20:25.360 --> 01:20:28.660
 Das dampft noch, äh, dampft noch fast.

01:20:28.660 --> 01:20:30.100
 Ähm, genau.

01:20:30.100 --> 01:20:41.080
 Und das, was das tun soll, ist, das ist ein Element tatsächlich für 3D-Content, den ich dann quasi wie ein Bild oder ein Video für, äh, das Image oder das Video-Tag habe oder Audio.

01:20:41.080 --> 01:20:51.160
 Da kann ich direkt, äh, zumindest ist die Idee, direkt 3D-Content in einer Webseite einbinden, die dann ebenso, genauso wie, äh, Video und Audio auch Controls bekommt.

01:20:51.160 --> 01:20:57.840
 Zum Beispiel, ähm, zum, zum, ich kann das 3D-Modell drehen in bestimmten Achsen oder vielleicht auch in allen Achsen.

01:20:57.840 --> 01:21:00.300
 Und das fanden wir ziemlich cool.

01:21:00.300 --> 01:21:03.120
 Oder vielleicht auch nur programmatisch drehen lassen, wenn ich das möchte.

01:21:03.120 --> 01:21:05.880
 Oder programmatisch drehen lassen oder wie auch immer.

01:21:05.880 --> 01:21:12.160
 Also, es soll aber, glaube ich, wenn ich es richtig verstanden habe, die Möglichkeit geben, dass es Standard-Browser-Controls dann einfach schon mitbringt.

01:21:12.160 --> 01:21:15.040
 Ähm, finde ich eine sehr coole Sache.

01:21:15.040 --> 01:21:20.680
 Und, ähm, ich habe das gesehen im Stream und habe gesagt, ey, das hat 100% Apple vorgeschlagen.

01:21:20.680 --> 01:21:35.620
 Ähm, weil nämlich jetzt Apple mit den, mit den letzten, äh, größeren Betriebssystem-Updates in seine ganzen, äh, früher iWork, äh, keine Ahnung, wie es jetzt heißt, in seine ganze Office, äh, Suite, nenne ich das jetzt mal, also irgendwie, ähm,

01:21:35.880 --> 01:21:51.300
 Keynote und Pages und Numbers, also die, die, äh, Pendants zu Word, äh, Excel und PowerPoint, ähm, eben diese Funktionalität hinzugefügt hat, dass man 3D-Modelle in bestimmten Formaten da einfügen kann.

01:21:51.300 --> 01:21:54.420
 Und dann habe ich gesagt, ja, das kann ja jetzt kein Zufall sein, dass das jetzt irgendwie auftaucht.

01:21:54.420 --> 01:21:57.400
 Und, äh, gerade hat Apple das irgendwie eingebaut.

01:21:57.400 --> 01:22:03.380
 Und siehe da, äh, der Editor von diesem Draft Community Group Report ist tatsächlich jemand von Apple.

01:22:03.380 --> 01:22:07.780
 Also, ich hatte da tatsächlich recht, habe ich, äh, richtig geschossen ins Dunkle.

01:22:07.780 --> 01:22:16.800
 Ähm, genau, weil nämlich, und da kam, glaube ich, auch drin vor, was für ein, äh, also gibt es noch einige Attribute, die da, die da drauf kommen, äh, können und so weiter.

01:22:17.260 --> 01:22:21.640
 Und, ähm, auch die Formate, ähm, jetzt habe ich wieder vergessen, wie dieses Format heißt.

01:22:21.640 --> 01:22:24.180
 Ich muss jetzt gerade mal gucken, ob ich es nochmal, ob ich es nochmal sehen kann.

01:22:24.180 --> 01:22:30.460
 Weil dieses Format, was Apple jetzt hier vorschlägt, warte mal, USZ, USA, USA.

01:22:30.460 --> 01:22:39.300
 Äh, Format, es war irgendwas mit US, ach, ich finde es gerade nicht.

01:22:39.300 --> 01:22:40.560
 Wie heißt es denn?

01:22:41.560 --> 01:22:45.840
 So, nochmal, 3D-Format, ich bin hier, hier googelt der Chef noch selbst.

01:22:45.840 --> 01:22:47.520
 USZD?

01:22:47.520 --> 01:22:49.240
 Äh, USDZ.

01:22:49.240 --> 01:22:50.240
 USDZ, oder?

01:22:50.240 --> 01:22:52.340
 USDZ, USDZ klingt gut.

01:22:52.340 --> 01:22:52.740
 O?

01:22:52.740 --> 01:22:54.020
 Nee, U, USDZ.

01:22:54.020 --> 01:22:55.560
 U, USDZ, ja.

01:22:55.560 --> 01:22:58.100
 Ja, genau, das ist es.

01:22:58.100 --> 01:23:04.260
 Also, zum Beispiel, das, ähm, soll dann nativ einfach, äh, in den Browser eingefügt werden können.

01:23:04.340 --> 01:23:12.000
 Das heißt, das verlinkst du in dem, äh, in dem Model-Element einfach mit Source, genau wie du ein Bild verlinken würdest.

01:23:12.000 --> 01:23:14.640
 Und dann hast du es einfach in der Seite drin, so die Idee.

01:23:14.640 --> 01:23:17.180
 Ähm, so, jetzt gucken wir nochmal.

01:23:17.180 --> 01:23:19.360
 Universal Scene Description.

01:23:19.360 --> 01:23:20.000
 Mhm.

01:23:20.000 --> 01:23:24.900
 Ähm, ist das Format, was da dahinter steckt.

01:23:25.020 --> 01:23:29.080
 Und das Z ist bestimmt irgendwie so ein GZ, Z, oder sowas.

01:23:29.080 --> 01:23:31.720
 Ach so, wahrscheinlich, ja, USD und USDZ, ja.

01:23:31.720 --> 01:23:39.400
 Genau, also tatsächlich das Paket-Datei-Format, da ist das dann, das ist dann eher ein gezipptes, äh, USD.

01:23:39.400 --> 01:23:44.200
 Warum man da nicht mittlerweile schon Brodli dann auch einsetzt, was ja besser ist als GZip.

01:23:44.200 --> 01:23:46.320
 USD Brodli.

01:23:46.320 --> 01:23:47.180
 USD-B.

01:23:47.180 --> 01:23:47.520
 USD-B.

01:23:47.520 --> 01:23:49.820
 USD-B, genau.

01:23:49.820 --> 01:23:53.320
 Wird bestimmt noch jemand auf die Idee kommen, aber das ist, glaube ich, noch sehr, sehr am Anfang.

01:23:53.460 --> 01:23:56.340
 Aber die Idee finde ich, ich verstehe gar nicht, wieso es das nicht schon längst gibt.

01:23:56.340 --> 01:23:58.220
 Das dürfte auch meinem Bruder freuen, wenn dann endlich 3D direkt ins Werk.

01:23:58.220 --> 01:24:07.720
 Es liegt total auf der Hand, dass man sowas haben will, weil bislang war man, glaube ich, bei sowas darauf angewiesen, dass man ein Canvas verwendet und darin irgendwelche Dinge macht mit JavaScript.

01:24:07.720 --> 01:24:20.560
 Wenn ich aber einfach tatsächlich nur ein 3D-Modell anzeigen möchte, dass ich vielleicht programmatisch, das ist ja so typisch Apple-Produkt-Präsentation und deswegen passt es auch wieder, dass ich programmatisch irgendwie drehen oder zoomen oder sowas möchte.

01:24:20.560 --> 01:24:23.400
 Genau, du scrollst und dann dreht sich das einfach mit.

01:24:23.400 --> 01:24:28.080
 Genau, das bleibt stehen beim Scrollen, aber es dreht sich dann oder es zoomt oder sonst irgendwas.

01:24:28.080 --> 01:24:34.920
 Vielleicht, weißt du gar nicht, können so 3D-Modelle auch unterschiedliche Zustände innen drin annehmen?

01:24:34.920 --> 01:24:38.900
 Also sowas wie so ein Explosions-Dings?

01:24:38.900 --> 01:24:40.080
 Gibt's das?

01:24:40.080 --> 01:24:48.760
 Es kommt drauf an, ob das Format das unterstützt. Also wenn du in dem Format quasi irgendwie Keyframes anlegen kannst und die ansteuern kannst, dann wird das schon möglich.

01:24:48.760 --> 01:24:54.440
 Ja, ja, für so Apple-Produkte teilweise noch. Genau. Ja, keine Ahnung. Ich glaube, es sollen auch verschiedene Formate gehen.

01:24:54.440 --> 01:25:06.460
 Ja, also je nachdem, wie das Format konstruiert ist, kannst du ja wahrscheinlich einfach statt eine Datei da fixen anzugeben, das auch über einen Blob machen, den du halt zur Laufzeit quasi konstruierst.

01:25:06.460 --> 01:25:22.720
 Also du hast dann dieses Format, wenn es jetzt aufgebaut ist wie XML oder sowas, ja. Weiß ich nicht, müsst du halt mal reingucken. Dann könntest du das ja theoretisch dynamisch verändern, ja. Und sagen, hier, okay, schieb den Bauteil noch nach rechts und lass den rausfahren und was weiß ich.

01:25:23.240 --> 01:25:27.780
 Und das könntest du natürlich dann per Blob-URL dann irgendwie einbauen.

01:25:27.780 --> 01:25:41.360
 Okay, gut, das würde natürlich auch gehen. Ja, keine Ahnung, da können ja die 3D-Experten sich mal melden und Bescheid sagen, ob das gehen würde. Aber ich finde, das ist schon interessant. Ich habe hinterher gedacht, wieso gibt es das nicht schon längst?

01:25:41.360 --> 01:25:52.420
 Das ist sowas, wo ich sage, da könnte das Web nochmal deutlich profitieren, weil das ist auch wieder sowas, wo man eine Menge JavaScript loswerden könnte, wenn man einfach nativ 3D-Objekte im Web einbinden könnte.

01:25:53.200 --> 01:26:03.760
 Ja, also das finde ich, wie ihr seht, ich bin potenziell Fan davon, aber wir sind, glaube ich, noch eine Weile davon weg. Ich muss gerade mal gucken, ob es das bei Can I Use schon gibt.

01:26:03.760 --> 01:26:21.300
 Das Model-Element. Ich glaube nicht. Das ist noch zu frisch. Nein, das gibt es noch nicht. Ja, wahrscheinlich ist es auch noch nirgends unterstützt, wenn, dann wahrscheinlich irgendwie ein Safari-Tech-Preview, was weiß ich was.

01:26:23.160 --> 01:26:31.780
 Genau. Und ebenso, was sich auf interaktive Inhalte bezieht, kommt das Nächste, was wir beide, glaube ich, auch nicht kannten, wenn ich es richtig erinnere.

01:26:31.780 --> 01:26:33.220
 Genau, Controls-List.

01:26:33.720 --> 01:27:00.900
 Das Controls-List-Attribut. Ich glaube, es ist auch noch nicht so arg verbreitet. Also in Safari und in Firefox gibt es das noch nicht. Und was das macht, ist, ich kann für ein Video, ich glaube aber auch für Audio, weiß ich gar nicht genau, für ein Video auf jeden Fall kann ich angeben, welche Controls denn ich im Standard-Video-Player sehen möchte.

01:27:00.900 --> 01:27:09.300
 Also sowas wie, ich möchte nicht, dass die Lautstärke verstellt werden kann, dann lasse ich das weg. Oder ich sage, ich kann es explizit angeben, welche Liste ich haben will.

01:27:10.420 --> 01:27:11.580
 So, muss ich mal gerade noch gucken.

01:27:11.580 --> 01:27:19.900
 Also No-Download kann ich zum Beispiel setzen, dass dieses Standardmäßige, man kann das runterladen bei Audiodateien oder Videos, dass das nicht angezeigt wird.

01:27:19.900 --> 01:27:28.700
 Oder No-Fullscreen bei Videos und No-Remote-Playback. Das ist wahrscheinlich dann irgendwie, dass ich es casten kann auf andere Geräte, würde ich mir so vorstellen.

01:27:29.700 --> 01:27:31.540
 Jetzt ist leider nicht, nicht genau dabei.

01:27:31.540 --> 01:27:34.280
 Ich hatte auch wieder so noch eine Liste.

01:27:34.280 --> 01:27:35.800
 So ein kleines Ding.

01:27:35.800 --> 01:27:45.780
 Man merkt halt, dass es wirklich so, das große Ganze ist gesetzt und jetzt kommen so Kleinigkeiten, die aber halt doch nützlich sein können.

01:27:47.580 --> 01:27:48.320
 Ich finde es ganz schön.

01:27:48.320 --> 01:27:51.780
 Ich glaube, Aquimär gibt es dazu auch nicht zu sagen.

01:27:51.780 --> 01:28:01.700
 Es wandert immer mehr, was ich auch vorhin schon gesagt habe, es wandert immer mehr in die etablierten Standards oder in die stabilen Standards und weg von, man muss alles selbst klöppeln.

01:28:01.700 --> 01:28:02.680
 Und das finde ich immer gut.

01:28:04.080 --> 01:28:09.480
 Dann gibt es hier noch ein paar Sachen zusammengefasst unter Internationalization Features.

01:28:09.480 --> 01:28:13.600
 Also das ist die Internationalization API, also Intel Punkt.

01:28:13.600 --> 01:28:15.560
 Und dann gibt es da ganz viele verschiedene Sachen.

01:28:15.560 --> 01:28:18.580
 Und die haben wir auch schon in zwei Folgen mal besprochen.

01:28:18.580 --> 01:28:22.180
 Jeweils verschiedene Aspekte davon, Folge 4 sogar schon.

01:28:22.180 --> 01:28:25.240
 Und Folge 52, die verlinken wir in den Shownotes.

01:28:25.240 --> 01:28:30.340
 Da sind so Sachen wie übersetz mir Monatsnamen und so weiter automatisch.

01:28:30.340 --> 01:28:36.820
 Das habe ich zum Beispiel auch bei diesem Best Day Finder eingesetzt, dass ich da nicht irgendwie Übersetzungs-Strings machen muss, sondern das bringt der Browser schon mit.

01:28:36.820 --> 01:28:41.700
 Oder irgendwelche Listen zusammensetzen und dabei das Wort und automatisch übersetzen und so weiter.

01:28:41.700 --> 01:28:43.120
 So Geschichten sind das.

01:28:43.120 --> 01:28:45.960
 Und ja, da einfach mal reinhören.

01:28:45.960 --> 01:28:53.220
 Tja, das ist eine reine Crosslink-Folge hier heute.

01:28:53.220 --> 01:28:54.360
 Ihr merkt es schon.

01:28:54.360 --> 01:28:57.080
 Nein, nein, ein bisschen Content ist ja schon dabei.

01:28:58.840 --> 01:29:01.600
 Außer der nächste große Abschnitt.

01:29:01.600 --> 01:29:06.580
 Ja, das nächste große eigene Themenfeld war Web Components.

01:29:06.580 --> 01:29:10.780
 Aber dem möchten wir mal eine komplett eigene Folge widmen.

01:29:10.780 --> 01:29:17.100
 Und zwar am Ende unserer ja immer noch laufenden HTML von A bis ZZ-Serie.

01:29:17.100 --> 01:29:22.120
 Und genau dieses ZZ steht nämlich dann für die Web Components am Schluss.

01:29:23.080 --> 01:29:23.620
 Ganz genau.

01:29:23.620 --> 01:29:26.420
 Jetzt haben wir quasi auf eine Folge verlinkt, die es noch nicht gibt.

01:29:26.420 --> 01:29:26.680
 Die es noch nicht gibt.

01:29:26.680 --> 01:29:28.040
 Wir machen es uns heute sehr leicht.

01:29:28.040 --> 01:29:29.680
 Genau.

01:29:29.680 --> 01:29:33.140
 Dann würde nämlich schon der Themenblock Accessibility kommen.

01:29:33.140 --> 01:29:34.880
 Da sind ein paar Sachen drin.

01:29:34.880 --> 01:29:37.600
 Wir haben uns auch nur zwei rausgepickt.

01:29:37.600 --> 01:29:39.100
 Oder ich habe zwei rausgepickt.

01:29:40.100 --> 01:29:43.660
 Die ich interessant finde oder die für mich auch tatsächlich neu waren.

01:29:43.660 --> 01:29:47.700
 Und zwar das erste ist das Focus Group Attribut.

01:29:49.720 --> 01:29:52.960
 Das ist, und ich glaube, das haben wir im Stream gar nicht so richtig besprochen.

01:29:52.960 --> 01:29:54.480
 Da sind wir relativ schnell drüber weg.

01:29:54.480 --> 01:29:59.480
 Ich habe mir jetzt nochmal angeguckt, was das denn eigentlich wirklich, wofür es das eigentlich wirklich ist.

01:29:59.480 --> 01:30:11.760
 Und zwar ist das für, wenn ich, wie soll ich sagen, ich habe interaktive Elemente, die ich vielleicht auch per Tastatur steuerbar haben möchte.

01:30:12.300 --> 01:30:18.800
 Und ich möchte, dass die innerhalb einer bestimmten Gruppe auch mit den Pfeiltasten steuerbar sind.

01:30:18.800 --> 01:30:24.940
 Ein Beispiel, wo das jetzt schon geht mit nativen Elementen, wäre zum Beispiel ein Radio Button.

01:30:24.940 --> 01:30:31.700
 Wenn ich Radio Buttons miteinander gruppiere, dann kann ich mit den Pfeiltasten innerhalb der Radio Group hin und her schalten, aber ich kann da nicht raus.

01:30:35.020 --> 01:30:42.460
 Genau. Oder in einem Select, wenn ich ein Select aufklicke, kann ich mit den Pfeiltasten innerhalb des Selects navigieren, aber ich kann mit den Pfeiltasten nicht raus.

01:30:42.460 --> 01:30:54.600
 Genau für solche Bereiche, wo ich mit den Pfeiltasten was machen kann, innerhalb von einer kleinen Gruppe, aber nicht, aber wenn ich mit Tab reingehe, dann komme ich ja in das Select und dann aber auch wieder raus.

01:30:54.600 --> 01:31:03.680
 Das heißt, wenn ich so ein Element habe, wo ich innerhalb was machen können sollte und das selbst bauen möchte, so habe ich das zumindest verstanden, das Focus Group Attribut.

01:31:04.020 --> 01:31:10.720
 Dann würde ich das dem umgebenden Element geben und sagen, wenn da jetzt irgendwas mit Pfeiltasten passiert, dann bleibt bitte da innen drin.

01:31:10.720 --> 01:31:14.440
 So, dann passieren die einzelnen Elemente da innen drin.

01:31:15.800 --> 01:31:26.540
 Da gibt es dann noch, genau, Artikel zu, auch ein neues Wort, was ich da gelernt habe, oder eine neue Formulierung, Roving Tab Index, wo genau das erklärt wird.

01:31:26.540 --> 01:31:39.480
 Also, das ist von Stefan Judis ein Artikel, den werden wir auch dann in Shownotes verlinken, wo genau dieses Konzept erklärt wird, dass man sich innerhalb eines Bereiches bewegt mit den Pfeiltasten, aber wenn man tappt, dann kommt man auch da wieder raus.

01:31:40.420 --> 01:31:51.660
 Genau, vielleicht mal da angucken. Finde ich eine interessante Geschichte. Ich bin der Meinung, man sollte nur in Notfällen so interaktive Elemente selbst basteln.

01:31:51.660 --> 01:31:57.280
 Man sollte möglichst sich auf die nativen Elemente beschränken und die verwenden, so wie sie gedacht sind.

01:31:57.740 --> 01:32:07.080
 Es kann aber natürlich Anwendungsfälle geben, wo das wichtig ist. Also, es gibt einfach noch nicht alles, was man an Interaktivitäts-Widgets oder so haben will in Nativ.

01:32:07.080 --> 01:32:14.500
 Keine Ahnung, ich möchte jetzt in einer interaktiven Tabelle irgendwie was editieren können oder so. Fällt mir jetzt gerade so als Beispiel ein.

01:32:14.500 --> 01:32:21.860
 Oder in einem File-Tree. Wie bilde ich denn den ab? Keine Ahnung, wenn ich jetzt irgendwie sowas Explorer-haftes im Browser habe.

01:32:22.500 --> 01:32:29.880
 Also kann ich mir sehr gut vorstellen, dass es dafür gute Anwendungsfälle gibt und je mehr irgendwie da in Standards wandert, habe ich jetzt heute schon ein paar Mal gesagt.

01:32:29.880 --> 01:32:40.680
 In dem Fall ist es ja ein echtes HTML-Attribut. Umso besser. Also cool, dass es das gibt. Ich weiß nicht, ich hoffe, dass ich es nie brauchen werde, aber ich werde es im Hinterkopf behalten.

01:32:41.040 --> 01:32:52.260
 Wenn ich das richtig sehe, dann ist das in Chrome drin, aber hinter einem Flag. Aber es gibt es noch nicht mal auf Kenner-Use. Also das ist noch sehr dev-trial-ig.

01:32:54.340 --> 01:33:08.060
 Genau. Ja, es ist noch sehr früh und ja. Gut, dann kommen wir aber noch zu einem weiteren, was ich auf unserer Podcast-Seite schon eingebaut habe, nämlich es gibt noch ein weiteres neues HTML-Element, was vorgeschlagen wurde.

01:33:08.400 --> 01:33:23.440
 Nämlich das Search-Element, Generic Search-Element. Das ist dafür gedacht, dass es um alles gelegt wird als Container, was zum Auslösen einer Suche verwendet wird.

01:33:23.580 --> 01:33:37.600
 Also nicht Suchergebnisse, sondern das, was ich, da, wo ich die Suche abfeuere. Also es wäre ein klassischer Container für, ich habe ein Input-Feld, vielleicht Input-Type-Search und dann noch ein Submit zum Abschicken zum Beispiel.

01:33:37.600 --> 01:33:45.820
 Dass quasi das semantisch, einen echten semantischen Ort bekommt auf der Seite. Das ist dann theoretisch ein …

01:33:45.820 --> 01:33:54.840
 Genau, das ist wirklich nur rein semantisch, ne? Das ist rein semantisch, soweit ich es verstehe. Es gibt auch schon die Role-Search, soweit ich weiß, gab es die schon die ganze Zeit.

01:33:54.840 --> 01:34:04.460
 Aber es ist ja auch immer cool, wenn man ein eigenes Element hat für sowas, dass man eben sich nicht diese ganzen Role-Attribute merken muss, was es da alles gibt, sondern dass man sagen kann, hey, ich nehme einfach das Element.

01:34:05.380 --> 01:34:12.240
 Das Problem, was es momentan noch gibt, ist, das wird in der Semantik von den Browsern derzeit, soweit ich es verstanden habe, noch nicht unterstützt.

01:34:12.240 --> 01:34:20.280
 Das heißt, wenn man es jetzt momentan einsetzen möchte, sodass es auch wirklich einen Mehrwert bringt, dann sollte man die Role-Search trotzdem noch mit draufsetzen.

01:34:20.280 --> 01:34:23.340
 Das ist ein bisschen hässlich, Search, Role-Search.

01:34:23.340 --> 01:34:25.220
 Aber sicher ist sicher.

01:34:25.220 --> 01:34:34.480
 Aber sicher ist sicher und für die Zukunft, irgendwann kann man dann das Role-Search rausnehmen und dann hat man das ganz simples, schönes, neues, kleines HTML-Element,

01:34:34.480 --> 01:34:39.480
 was ich bei uns einfach schon mal eingebaut habe, war ja auch ganz easy, kann auch ziemlich sicher nichts kaputt gehen.

01:34:41.720 --> 01:34:44.400
 Genau, jetzt habe ich natürlich noch versprochen, dass ich den letzten Blog noch mache, gell?

01:34:44.400 --> 01:34:45.660
 Ja, genau.

01:34:45.660 --> 01:34:48.380
 Also, sagen wir mal kurz, was es ist.

01:34:48.380 --> 01:34:53.700
 Also, es geht um Native-Like-Web-Apps, also sprich PWAs, wie man sie auch nennt.

01:34:54.000 --> 01:35:04.440
 Und ich hatte eigentlich gesagt, ja, komm, lass uns das auch in was Eigenes packen und hatte so die Idee, wir könnten vielleicht mal eine zusammenbauen im Stream und dann im Podcast drüber sprechen.

01:35:04.440 --> 01:35:07.540
 Also, dass wir so alle Features, die es gibt, da mal einfach benutzen.

01:35:07.540 --> 01:35:14.100
 Muss gar nicht groß irgendwie sinnvoll sein, aber du kamst auch gleich schon mit Ideen, wo man tatsächlich was Sinnvolles auch von dir, Tools umsetzen könnte.

01:35:14.500 --> 01:35:17.300
 Also, können wir gerne mal schauen, ob wir das machen in Zukunft.

01:35:17.300 --> 01:35:22.100
 Aber du meintest dann, Anna, komm, lass uns, ich spreche nochmal an, was das da alles ist.

01:35:22.100 --> 01:35:22.380
 Ja, genau.

01:35:22.380 --> 01:35:23.880
 Ich reibe da jetzt einmal schnell drüber.

01:35:23.880 --> 01:35:25.400
 Da gehen wir jetzt nicht groß in die Tiefe.

01:35:25.400 --> 01:35:31.340
 Wir werden auch ein paar Links noch in die Shownotes packen zu den einzelnen Sachen, aber da werde ich jetzt wirklich nicht extrem viel dazu sagen.

01:35:31.340 --> 01:35:43.200
 Also, wie gesagt, der Themenblock ist Native-Like-Web-Apps und dann gibt es zum Beispiel die File-System-Access-API, die macht genau das oder soll genau das machen, wie sie heißt.

01:35:43.200 --> 01:35:52.120
 Das heißt nämlich, man hat Zugriff auf das File-System. Das heißt, ich kann auch theoretisch nicht nur Dateien laden, sondern auch Dateien abspeichern.

01:35:52.120 --> 01:36:00.620
 Aber soweit ich weiß, ist das doch quasi gesandboxed. Also, ich habe dann nur auf einen bestimmten Bereich, der für diese App ist, Zugriff, oder?

01:36:00.620 --> 01:36:03.220
 Das ist nicht irgendwie, ich kann alles …

01:36:03.220 --> 01:36:18.060
 Eigentlich so sein, ja. Also, ich bin mir relativ sicher, dass die Chrome-Dev-Tools das zum Beispiel schon verwenden, weil da kann man ja zum Beispiel aufs File-System Dateien ab …

01:36:18.060 --> 01:36:27.300
 Gut, das könnte natürlich auch eine eigene API von Chrome sein, aber da kann ich ja zum Beispiel auch Files, irgendwie veränderte CSS-Files irgendwie auf dem File-System ablegen.

01:36:28.740 --> 01:36:36.420
 Ob ich das quasi theoretisch das ganze File-System freigeben kann, weiß ich tatsächlich nicht. Aber wir wollten auch nicht so viel drüber sprechen.

01:36:36.420 --> 01:36:39.160
 Ja, okay, Entschuldigung, ist mir gerade nur so gekommen. Ja, ich bin ruhig.

01:36:39.160 --> 01:36:44.660
 Ja, ist gut, wir können ja, ne? Ich weiß es nicht. Wie gesagt, ich ratter hier nur runter und sage, was es generell tut.

01:36:44.660 --> 01:36:44.900
 Okay.

01:36:44.900 --> 01:36:46.600
 Ich habe die alle noch nicht ausprobiert.

01:36:46.600 --> 01:36:48.600
 Das machen wir einfach mal.

01:36:48.600 --> 01:36:53.280
 Ich glaube, genau, das werden wir demnächst mal tun im Stream. Dann gibt es die Badging-API.

01:36:53.840 --> 01:36:58.520
 Mit der kann ich zum Beispiel jetzt im Doc vom Mac ein Batch an eine Web-App dransetzen.

01:36:58.520 --> 01:37:01.520
 Also sowas wie, ich schreibe da eine kleine 1, 2, 3, 5 rein.

01:37:01.520 --> 01:37:03.840
 Sowas soll dann da gehen.

01:37:03.840 --> 01:37:05.660
 Dann gibt es die Web-Share-API.

01:37:05.660 --> 01:37:08.040
 Die gibt es eigentlich auch schon eine ganze Weile.

01:37:08.040 --> 01:37:17.180
 Die zapft auf mobilen Geräten den Standard-Share-Dialog des Betriebssystems an.

01:37:17.300 --> 01:37:22.440
 Das heißt, ihr kennt wahrscheinlich Share-Funktionen von eurem Android-Gerät oder von eurem iPhone.

01:37:22.440 --> 01:37:29.880
 Das heißt, ihr wollt was teilen und dann kriegt man schon irgendwie seine WhatsApp-Kontakte oder sowas vorgeschlagen, mit denen man zuletzt geschrieben hat.

01:37:29.880 --> 01:37:36.460
 Aber, keine Anwendung, nicht nur mobil, sondern zum Beispiel unter Windows sehe ich auch hier im Desktop-Browser, also in Edge zumindest.

01:37:36.460 --> 01:37:37.420
 Gibt es das mittlerweile?

01:37:37.420 --> 01:37:41.400
 Das ist keine eigene Edge-Funktion, sondern ist wirklich auch in Chrome.

01:37:41.400 --> 01:37:44.580
 Da kriege ich halt auch so ein Share-Overlay, das Windows irgendwie mitbringt.

01:37:44.580 --> 01:37:45.640
 Das kenne ich gar nicht.

01:37:45.640 --> 01:37:48.080
 Wo ich das an Kontakte teilen kann oder in bestimmte Apps.

01:37:48.080 --> 01:37:50.400
 Also so wie man es auch von Mobile kennt.

01:37:50.400 --> 01:37:52.380
 Dann gibt es das mittlerweile auch für andere.

01:37:52.380 --> 01:37:55.800
 Man kann da quasi hin und sagen, hey, wo willst du das hinsharen?

01:37:55.800 --> 01:37:58.920
 Und dann kriegst du den System-Dialog, was eine coole Sache ist.

01:37:58.920 --> 01:38:10.620
 Wie gesagt, der Bereich ist ja Native-Like-Web-Apps, also es gibt ja immer mehr APIs, die einen in eine Web-App so tief ins System integrieren lassen, dass man alles Mögliche tun kann, ohne irgendwelche komischen Rapper, die es früher gebraucht hat.

01:38:10.620 --> 01:38:17.560
 Sowas wie Cordoba oder sowas gab es ja früher oder ich weiß gar nicht mehr, wie die alle hießen, die Dinger.

01:38:17.560 --> 01:38:22.900
 Dann gibt es mittlerweile ja Electron ist ja eigentlich so the way to go für sowas.

01:38:22.900 --> 01:38:26.740
 Also wenn man eine Web-App haben will, die aber mit dem System redet.

01:38:26.740 --> 01:38:29.100
 So, dann gibt es die File-Handling-RP.

01:38:29.100 --> 01:38:37.220
 Die lässt einen tatsächlich eine Web-App und dazu, ich glaube, wenn ich es richtig verstanden habe, eine installierte Web-App.

01:38:37.220 --> 01:38:40.280
 Das geht nicht einfach eine Webseite, sondern eine installierte Web-App.

01:38:40.280 --> 01:38:46.520
 Also etwas, was ich als PWA richtig installiert habe, über Chrome zum Beispiel geht es, dass man dann quasi eine echte App hat.

01:38:46.520 --> 01:38:47.520
 Da wird auch irgendwo was abgelegt.

01:38:47.520 --> 01:38:49.380
 Keine Ahnung, Security gibt es da irgendwie auch noch.

01:38:50.540 --> 01:38:58.040
 Kann dann File-Typen entgegennehmen und sagen, ich bin jetzt die Standard-App für einen bestimmten File-Typ.

01:38:58.040 --> 01:38:59.080
 Das ist cool.

01:38:59.080 --> 01:39:04.640
 Mir ist jetzt zum Beispiel eingefallen, es gibt ja jetzt, und das würde ich tatsächlich gerne mal ausprobieren, es gibt ja jetzt ein Online-Photoshop.

01:39:05.080 --> 01:39:09.860
 Das könnte dann theoretisch mit der File-Handling-API sagen, PSD-Dateien bitte zu mir.

01:39:09.860 --> 01:39:16.920
 Und wenn ich im Betriebssystem eine PSD-Datei öffne, könnte die standardmäßig in einer Web-App geöffnet werden.

01:39:18.020 --> 01:39:20.840
 Ist eigentlich klar, dass das dann nur mit installierten Apps geht.

01:39:20.840 --> 01:39:25.260
 Ich fände es ein bisschen wild, wenn das Innen-Browser-Tab gehen könnte, der dann nur noch zu öffnen wäre.

01:39:25.260 --> 01:39:29.960
 Deswegen finde ich, das kann ich irgendwie verstehen, dass das nur für installierte ist.

01:39:29.960 --> 01:39:31.780
 Genau.

01:39:31.780 --> 01:39:37.080
 So, und dann gibt es noch als letztes die Window-Controls-Overlay-RP.

01:39:37.080 --> 01:39:39.540
 Wo ich mir noch nicht so sicher bin, wie ich das finde.

01:39:41.400 --> 01:39:51.280
 Aber die ist dafür da, da muss man sich eigentlich, und das habe ich jetzt auch gerade nochmal aufgemacht, den MDN-Bereich dazu anschauen, um zu verstehen, was damit gemeint ist.

01:39:51.280 --> 01:39:58.340
 Also es ist so, bei einer App auf einem Betriebssystem gibt es ja eine Titelleiste, nenne ich die jetzt mal.

01:39:58.340 --> 01:40:04.720
 Wo auf Windows, glaube ich, ganz gerne der App, ich habe es schon so lange nicht mehr gesehen, der Name der App drin steht.

01:40:04.720 --> 01:40:10.300
 Und dann hast du irgendwo noch so Controls für Fullscreen und Minimieren und Schließen.

01:40:10.300 --> 01:40:15.400
 Und irgendwo gibt es bei PWAs, gibt es ja noch so ein PWA-Button.

01:40:15.400 --> 01:40:21.160
 Also irgendwie so was, womit ich dann doch nochmal irgendwie zu irgendwelchen Browsersachen zurückkommen kann oder Infos über diese Web-App kriegen kann.

01:40:21.160 --> 01:40:29.600
 Und auf dem Mac jetzt zum Beispiel, davon sind die Screenshots jetzt hier, wären diese Window-Control-Buttons links und der PWA-Button rechts.

01:40:29.600 --> 01:40:32.480
 Und unter Windows wird es wahrscheinlich irgendwie anders aufgeteilt sein.

01:40:32.480 --> 01:40:33.820
 Vielleicht sind die dann nebeneinander oder so.

01:40:34.420 --> 01:40:43.300
 Jetzt gibt es einen Bereich dazwischen und den kann ich dann theoretisch für meine App nutzen mit der Window-Controls-Overlay-RP.

01:40:43.300 --> 01:40:48.860
 Weil standardmäßig würde der Application-Name da oben stehen an der Stelle, wenn ich gar nichts mache.

01:40:48.860 --> 01:40:56.500
 Jetzt gibt es mit dieser API dann aber die Möglichkeit, dass man da auch Content der App darstellen kann, wenn man das möchte.

01:40:56.500 --> 01:41:01.740
 Das heißt, der App-Content geht einfach bis ganz oben und diese System-Buttons sind dann da drüber gelegt.

01:41:01.740 --> 01:41:06.800
 Die sind dann links und rechts in dem Fall und zwischendrin kann ich auch noch App-Content reinmachen.

01:41:06.800 --> 01:41:14.200
 Was weiß ich, eine Suchzeile zum Beispiel, habe ich überlegt, das wäre irgendwie, wenn man wirklich Platz sparen will, könnte man zum Beispiel eine Suchzeile da reinmachen.

01:41:14.920 --> 01:41:27.840
 Genau, aber auch wie gesagt, das habe ich auch, das ist auch Experimental und Browser-Compatibility ist auch eher so, nur irgendwelche Chrome-Edge, aber nur auf dem Desktop und so.

01:41:27.840 --> 01:41:30.780
 Klar, weil Mobile, glaube ich, hat man ja solche Leisten nicht.

01:41:30.780 --> 01:41:40.040
 Ja, keine Ahnung, nicht ausprobiert, aber das ist ja Vollständigkeit halber nochmal erwähnt, weil ich das schon interessant finde, aber bisher noch nie sowas gebaut habe.

01:41:40.040 --> 01:41:44.900
 So, und dann haben wir es tatsächlich relativ schnell durchgekommen.

01:41:44.900 --> 01:41:52.420
 Wir waren auch schon schnell unterwegs, also ich meine im Sinne von, ich glaube, wir haben großen Wortausstoß gehabt hier.

01:41:52.420 --> 01:41:54.260
 Und einiges auch ausgelassen.

01:41:55.080 --> 01:42:06.960
 Das wäre auch noch so was, was ich gerne mal, was eine AI gerne mal Statistik machen könnte, die Words Per Second oder Words Per Minute, die wäre so, und unterscheidet sich das von dir zu mir, wer redet schneller und so.

01:42:06.960 --> 01:42:09.880
 Ja, wäre interessant.

01:42:09.880 --> 01:42:13.460
 Erstmal brauchen wir Transkripte, das wäre schon mal ein Anfang.

01:42:13.460 --> 01:42:16.460
 Erstmal brauchen wir Transkripte, die mit SprecherInnen-Erkennung.

01:42:16.460 --> 01:42:17.260
 Richtig, ja.

01:42:17.800 --> 01:42:19.360
 Das wäre, das wäre was.

01:42:19.360 --> 01:42:26.660
 Aber ich meine, generell Transkript wäre nicht schwer, das geht ja mit Whisper ganz gut oder mit auf dem Mac, mit Ico, was ja Whisper verwendet.

01:42:26.660 --> 01:42:33.640
 Aber ich glaube, SprecherInnen-Erkennung wäre auch noch schon richtig gut und derzeit haben wir noch nicht so viel.

01:42:33.640 --> 01:42:36.260
 Und das gibt es ja auch schon, aber es darf nichts kosten.

01:42:36.260 --> 01:42:39.220
 Das ist ja ein bisschen geizig, ne?

01:42:39.220 --> 01:42:43.000
 Ja, wir sind, ja.

01:42:43.000 --> 01:42:46.080
 Ich hätte gerne was Open-Sourciges, was das macht.

01:42:46.540 --> 01:42:49.060
 Ich glaube, du musst einfach, vielleicht gibt es mittlerweile auch was.

01:42:49.060 --> 01:42:54.960
 Also das letzte Mal, dass ich da in dem Bereich recherchiert habe, ist auch schon wieder ein halbes Jahr her.

01:42:54.960 --> 01:43:00.720
 Also in der Zeit, momentan, da verändert sich ja die halbe Welt innerhalb von einem halben Jahr.

01:43:00.720 --> 01:43:01.580
 Ja, absolut.

01:43:01.580 --> 01:43:12.360
 Also ich glaube, das gibt es auf jeden Fall in diesem Podcast-Tool, das habe ich schon wieder vergessen, wie es heißt, für die Leute, die schlechte Mikrofone haben.

01:43:12.360 --> 01:43:20.500
 Ja, ich weiß genau, was du meinst, aber ich weiß auch den Namen nicht mehr. Wir haben es sogar mal so ein bisschen ausprobiert auch schon mal, ne?

01:43:20.500 --> 01:43:24.700
 Es ist in den Podlove-Plugins irgendwie mit drin, ich habe es vergessen.

01:43:24.700 --> 01:43:28.960
 Es gibt so ein Tool, das Audio-Optimierung macht und ich habe vergessen, wie es heißt.

01:43:30.260 --> 01:43:31.360
 Auphonic, nee, doch.

01:43:31.360 --> 01:43:33.640
 Was ist Auphonic?

01:43:33.640 --> 01:43:39.540
 Ja, Auphonic.

01:43:39.540 --> 01:43:42.520
 Es ist, glaube ich, UAI Sound Engineer for Podcast.

01:43:42.520 --> 01:43:44.740
 Oh Gott, die haben ja eine krasse neue Seite.

01:43:45.580 --> 01:43:50.740
 Genau, und die haben das schon eine Weile mit drin und die haben auch eine API und so, da kannst du einfach deinen Pfeil hinwerfen.

01:43:50.740 --> 01:43:55.060
 Ja, egal, da habe ich das auf jeden Fall schon mal gesehen, das geht schon eine ganze Weile.

01:43:55.060 --> 01:43:59.220
 Die binden dann wiederum so Dritt-Services an, für die man dann Geld bezahlt.

01:43:59.220 --> 01:44:05.680
 Ich habe das jetzt auch ein bisschen böse gesagt, das mit dem Auphonic ist für Leute, die keine guten Mikrofone haben.

01:44:08.240 --> 01:44:20.560
 Wir haben sowas nicht, wir haben nur den, vielleicht ganz schnell nochmal gesagt, wir haben nur den Ultraschall, die Ultraschall-Plugins am Start, was da halt so fertig mit drin ist.

01:44:20.560 --> 01:44:27.560
 Und ich glaube, wir haben das irgendwann einmal eingestellt und seitdem benutzen wir das so und wir lassen da sonst nichts drüber laufen.

01:44:27.560 --> 01:44:28.360
 Das passt.

01:44:28.360 --> 01:44:32.480
 Und dann ist es so, wie es ist und ich hoffe, dass es gut genug ist.

01:44:32.480 --> 01:44:35.600
 Weil ich höre mir die eigenen Podcasts nicht so viel an.

01:44:35.600 --> 01:44:37.600
 Du hörst es mir an, du weißt es besser.

01:44:37.620 --> 01:44:39.280
 Beim Kapitel-Magen-Sätzen, ja.

01:44:39.280 --> 01:44:40.600
 Da höre ich immer drüber.

01:44:40.600 --> 01:44:42.300
 Ich glaube, das passt.

01:44:42.300 --> 01:44:43.460
 Gut.

01:44:43.460 --> 01:44:49.440
 Okay, dann sind wir tatsächlich mit dem Thema fertig und es kommt jetzt noch.

01:44:49.440 --> 01:44:53.120
 Das Geil-Teil.

01:44:53.120 --> 01:44:56.320
 Geil-Teil.

01:44:56.320 --> 01:44:59.820
 Und korrekte Grammatik mit Chilis.

01:44:59.820 --> 01:45:01.400
 Yes, das haben wir auch nicht so oft.

01:45:02.900 --> 01:45:09.600
 Das Geil-Teil heute ist etwas, was uns im Stream, in unserem ersten Stream nach der Sommerpause, glaube ich mal, empfohlen wurde.

01:45:09.600 --> 01:45:15.400
 Da haben wir uns das angeguckt und da habe ich lange drauf rumgeklickt und ich habe mich jetzt nochmal daran erinnert und dachte so, da war doch sowas.

01:45:15.400 --> 01:45:18.860
 Das habe ich irgendwie die ganze Zeit angeguckt und hin und her gedreht und das war irgendwie cool.

01:45:18.940 --> 01:45:22.060
 Da dachte ich mir, ja, das stimmt, das ist schon, das ist geil teilwürdig.

01:45:22.600 --> 01:45:49.720
 Und zwar heißt die Seite satellite-map.space und was man da sieht, man sieht einen Erdball, den man drehen kann und dann je nachdem, was man auswählt, standardmäßig ist Starlink ausgewählt, sieht man die aktuellen, oder eigentlich schon live in Echtzeit, die Satellitenpositionen von, in dem Fall den Starlink-Satelliten.

01:45:50.120 --> 01:45:56.600
 Also Starlink ist ja so ein Satellitennetzwerk, das einem überall Internet hinbringen soll auf der Erde.

01:45:56.600 --> 01:46:06.080
 Es gibt aber auch noch OneWeb, wo ich tatsächlich nicht genau weiß, ob das irgendwie schon live ist oder es ist wahrscheinlich was ähnliches.

01:46:06.080 --> 01:46:16.840
 Das sind deutlich weniger Satelliten und wir haben auch damals schon, also Starlink ist quasi das einmal komplett um die Erde rum, es sind Tausende, extrem viele.

01:46:16.840 --> 01:46:20.460
 Und wenn man näher ranzoomt, dann sieht man auch, dass die sich wirklich bewegen.

01:46:20.460 --> 01:46:24.520
 Also das sind so Punkte um den Erdball rum, die sich bewegen.

01:46:24.520 --> 01:46:30.740
 Also so im Nordpolar- und Südpolarregion wird es ein bisschen dünner und drumherum ist extrem viel.

01:46:30.740 --> 01:46:32.760
 Und die sind relativ nah an der Erde auch dran.

01:46:33.480 --> 01:46:41.560
 Die OneWeb-Satelliten, die sehen aus, als ob sie ein bisschen weiter weg sind von der Erde und das ist so ein bisschen koordinierter, mehr so Linien von Nord nach Süd.

01:46:41.560 --> 01:46:43.920
 Und die gehen tatsächlich aber auch bis zu Nord- und Südpol.

01:46:45.180 --> 01:46:47.720
 Also irgendwie haben die da eine andere Strategie verfolgt.

01:46:47.720 --> 01:46:49.780
 Und dann gibt es auch noch zum Vergleich GPS.

01:46:49.780 --> 01:46:54.000
 Und dann merkt man mal, oh GPS ist viel weiter draußen als die anderen.

01:46:54.000 --> 01:47:03.680
 Aber was lustig ist, wenn du bei GPS mal ein bisschen näher ranzoomst, dann siehst du ganz viele Satelliten, die anscheinend näher dran sind an der Erde.

01:47:03.980 --> 01:47:07.740
 Aber die sind alle bezeichnet, also überall steht ja normalerweise, wie viele Kilometer von der Erde die entfernt sind.

01:47:07.740 --> 01:47:12.120
 Da steht überall Nun-Kum, also Not-A-Number-Kilometer.

01:47:12.120 --> 01:47:17.300
 Also irgendwas ist da, ist da bei manchen kaputt, die senden irgendwie nichts, sind abgestürzt oder so.

01:47:17.300 --> 01:47:22.980
 Ja, aber das ist auf jeden Fall, das ist sehr, sehr, sehr geil, coole Web-App.

01:47:22.980 --> 01:47:28.160
 Und ein schönes Beispiel, was man im Web so alles an schönen Visualisierungen machen kann.

01:47:28.160 --> 01:47:33.960
 Und hat mich damals sehr gefangen, ich fange jetzt auch schon wieder an, da wild drauf rumzuklicken und rumzuzoomen und zu gucken.

01:47:33.980 --> 01:47:38.860
 Und welcher ist denn jetzt gerade hier? Und wie heißt der denn? Und die zoomen da ran.

01:47:38.860 --> 01:47:42.960
 Ich sehe halt, bei Elon Musk ist alles so ein bisschen wild und durcheinander.

01:47:42.960 --> 01:47:45.280
 Und bei OneWeb ist es irgendwie ein bisschen strukturierter.

01:47:45.280 --> 01:47:49.760
 Aber bei Starlink kann man übrigens auch noch sehen, ist auch noch eingezeichnet in so Wabenform.

01:47:49.760 --> 01:47:54.580
 Wo das derzeit freigeschaltet ist, glaube ich, das sind die Bereiche.

01:47:54.580 --> 01:48:00.040
 Weil man sieht irgendwie so, Westeuropa sind da auch so grüne Waben drüber.

01:48:00.040 --> 01:48:05.800
 Dann die USA und dann noch so ein bisschen, ich würde sagen, Chile oder so.

01:48:05.800 --> 01:48:09.040
 Ganz Süd, der südlichste Punkt von Südamerika.

01:48:09.040 --> 01:48:12.060
 Und dann wird es auch schon dünn.

01:48:12.060 --> 01:48:14.040
 Dann ist irgendwie noch was im Pazifik.

01:48:14.040 --> 01:48:16.080
 Also Hawaii.

01:48:16.080 --> 01:48:17.480
 Hawaii ist nochmal.

01:48:19.560 --> 01:48:21.420
 Ja, genau.

01:48:21.420 --> 01:48:39.340
 Übrigens, wenn jemand in die Kommentare jetzt direkt ohne zu recherchieren, ist natürlich schwer zu überprüfen, schreiben kann, woher das Zitat Hawaii kommt, dann, keine Ahnung, dann gebe ich euch beim nächsten HörerInnen-Treffen.

01:48:39.340 --> 01:48:41.560
 Ich rate einfach mal Helge Schneider.

01:48:41.560 --> 01:48:45.040
 Weil wenn du so komisch Sprüche bringst, ist oft Helge Schneider.

01:48:45.040 --> 01:48:50.380
 Nein, das ist so exotisch, das ist so exotisch, dass ich behaupte, das kennt fast niemand.

01:48:50.380 --> 01:48:51.240
 Okay.

01:48:51.240 --> 01:48:52.380
 Ich bin mal gespannt.

01:48:52.380 --> 01:48:57.420
 Ich kann dir im Anschluss sagen, wo es herkommt, aber das kann ich jetzt nicht mehr.

01:48:57.420 --> 01:48:58.660
 Okay.

01:48:58.660 --> 01:48:59.300
 Das verraten wir jetzt nicht.

01:48:59.300 --> 01:49:00.060
 Ja, cool.

01:49:00.060 --> 01:49:02.880
 Ey, dann haben wir schon wieder eine Folge im Kasten.

01:49:02.880 --> 01:49:03.620
 Mensch.

01:49:03.620 --> 01:49:04.820
 Was heißt schon wieder?

01:49:04.820 --> 01:49:05.360
 Mal wieder.

01:49:05.360 --> 01:49:05.840
 Endlich.

01:49:05.840 --> 01:49:12.440
 Dann, bevor wir jetzt einfach ins Blaue reden, kommt natürlich jetzt noch der Jingle.

01:49:12.440 --> 01:49:16.440
 Das Ende.

01:49:16.440 --> 01:49:20.480
 Das Ende.

01:49:20.480 --> 01:49:23.320
 Und wir sind noch unter zwei Stunden.

01:49:23.320 --> 01:49:25.080
 Wir sind noch unter zwei Stunden.

01:49:25.080 --> 01:49:30.040
 Ich hatte echt schon Befürchtungen, dass wir das wieder in Grund und Boden regeln.

01:49:30.060 --> 01:49:53.440
 Das machen wir nicht, aber wir fordern euch jetzt noch mal auf, schickt uns doch mal eine schöne Bewertung bei Apple Podcasts oder anderen Podcastportalen und sagt uns auch gerne Bescheid, wenn ihr bewertet habt, dass wir die auch sehen können, weil nicht, also wenn es nicht Apple Podcasts ist, dann sagt uns mal Bescheid und schickt uns einen Link oder so, weil wir auch nicht alle Podcastportale monitoren die ganze Zeit.

01:49:54.840 --> 01:50:16.260
 Folgt uns auf Twitch, auf Mastodon, ihr könnt uns gerne ein Twitch Prime Abo geben, wenn ihr Amazon Prime habt, dann könnt ihr uns quasi ein bisschen geldmäßig unterstützen, ohne dass euch das was kostet, indem ihr euer Amazon Konto mit Twitch verbindet und euch uns dann auf Twitch euer Twitch Prime Abo gebt.

01:50:16.340 --> 01:50:21.460
 Das muss man leider jeden Monat aufs Neue machen, aber das kostet euch gar nichts und uns bringt es ein paar Euros.

01:50:21.460 --> 01:50:25.940
 Das, ich glaube so zwei Euro pro Abo oder sowas oder 1,50 oder so.

01:50:25.940 --> 01:50:26.980
 Bis wir was packen.

01:50:26.980 --> 01:50:35.620
 Euch kostet es ein paar Klicks und wir kriegen ein bisschen Geld und können hier diesen Podcast und auch den Stream weiter aufrechterhalten und mit neuer Hardware versorgen.

01:50:36.420 --> 01:50:39.340
 Ihr könnt auch über unseren Amazon Affiliate Link einkaufen.

01:50:39.340 --> 01:50:42.840
 Ihr dürft natürlich auch gern was spenden oder unser Merch kaufen.

01:50:42.840 --> 01:50:44.900
 Übrigens, es wurde tatsächlich ja jetzt was gekauft.

01:50:44.900 --> 01:50:47.080
 Ach ja, wo, hier Front, Front und End.

01:50:47.080 --> 01:50:49.780
 Genau, vielleicht noch das noch kurz erzählt.

01:50:50.640 --> 01:50:52.720
 Der Shep hatte einen Post rausgehauen.

01:50:52.720 --> 01:51:05.440
 Er war auf der Smashing Conf in Holland, irgendwo, Antwerpen, glaube ich, und hat ein Foto von seinem T-Shirt gepostet und hat gemeint, das ist das meist fotografierte T-Shirt der Konferenz.

01:51:05.440 --> 01:51:11.320
 Und das war das T-Shirt, das er von uns bekommen hat, Front und End, WWS TV T-Shirt.

01:51:12.100 --> 01:51:17.520
 Das hat uns sehr gefreut und falls ihr auch so eins haben möchtet, dann gerne mal bei unserem Merch reinschauen.

01:51:17.520 --> 01:51:22.460
 Derzeit findet ihr den Merch auf unserer Unterstützenseite, die kommt jetzt auch nochmal in die Shownotes.

01:51:22.460 --> 01:51:25.900
 Da findet ihr auch alle weiteren Links zu allen Möglichkeiten, uns zu unterstützen.

01:51:25.900 --> 01:51:28.960
 Alles, was ich jetzt hier gesagt habe, gibt es da auch mit Link.

01:51:28.960 --> 01:51:36.880
 Genau, ihr könnt euch uns auch ein ganz reguläres Twitch-Abo schenken oder was von unseren Wunschlisten besorgen.

01:51:36.880 --> 01:51:37.600
 Das gibt es auch noch.

01:51:37.600 --> 01:51:39.100
 Wir reden da so selten drüber.

01:51:39.100 --> 01:51:42.740
 Ja, deswegen habe ich mir gedacht, könnte man, ja genau, es gibt viele Möglichkeiten.

01:51:42.740 --> 01:51:50.200
 Es gibt welche, wo ihr uns finanziell unterstützen könnt, direkt oder auch, wie gesagt, indirekt gerade mit Twitch Prime.

01:51:50.200 --> 01:51:53.160
 Oder auch einfach nur eine Bewertung ist auch schon was, was uns hilft.

01:51:53.160 --> 01:51:59.160
 Von daher würden wir uns da extrem drüber freuen, wenn wir da ein bisschen Unterstützung von euch bekommen.

01:51:59.160 --> 01:52:04.320
 Jo, dann sagen wir, oh, funktioniert nicht.

01:52:04.320 --> 01:52:06.800
 Ich wollte gerade so ein Soundboard-Ding einspielen.

01:52:07.300 --> 01:52:07.880
 Funktioniert nicht.

01:52:07.880 --> 01:52:10.160
 Dankeschön und bis bald wäre jetzt gekommen.

01:52:10.160 --> 01:52:10.700
 Warte.

01:52:10.700 --> 01:52:12.380
 Dann sage ich es einfach selbst.

01:52:12.380 --> 01:52:14.120
 So, warte.

01:52:14.120 --> 01:52:15.280
 Dankeschön.

01:52:15.280 --> 01:52:15.960
 Und?

01:52:15.960 --> 01:52:17.400
 Warte.

01:52:17.400 --> 01:52:17.940
 Und?

01:52:17.940 --> 01:52:18.740
 Bis bald.

01:52:18.740 --> 01:52:21.500
 Vielen Dank, dass ihr wieder zugehört habt.

01:52:21.500 --> 01:52:23.160
 Und bis zum nächsten Mal.

01:52:23.160 --> 01:52:23.460
 Es war mal wieder.

01:52:23.460 --> 01:52:26.200
 Macht's gut, bis dann.

01:52:26.200 --> 01:52:26.560
 Ciao.

01:52:26.560 --> 01:52:26.660
 Ciao.
