programmier.bar – der Podcast für App- und Webentwicklung
programmier.bar – der Podcast für App- und Webentwicklung
News 22/25: Deno 2.3 & Fresh 2 // TypeScript Native Preview // AppWrite Sites // Arc Ankündigung // Cookie-Banner-Anforderungen
Der Discord-Server der programmier.bar ist am Start! Meldet euch direkt an und steigt in die Unterhaltung zu Podcast-Folgen, neuen Themen und Picks of the Day mit uns ein. Wir freuen uns auf den Austausch mit euch!
Unsere Webseite verfügt jetzt über einen vollkommen neuen Bereich: „Konferenzen“. Hier erwarten euch aktuell die Aufnahmen aller Talks unserer Flutter Day Konferenz von November 2024 – und vielleicht bald noch mehr… Stay tuned!
Diese Woche sprechen wir über spannende neue Releases von Deno und dem Webframework Fresh aus dem gleichen Haus. Von Garrelt hören wir, wie TypeScript jetzt 10x schneller sein kann. Fabi berichtet uns von einer spannenden Alternative zu Vercel und drastische Änderungen bei „The Browser Company“, den Macher:innen von Arc. Dave bringt wertvolle Hinweise aus einem zukunftsweisenden Gerichtsurteil zu der Umsetzung von Cookie-Bannern mit.
Auch dieses Jahr verlosen wir zusammen mit WeAreDevelopers wieder Tickets für den WeAreDevelopers World Congress. Hört euch die Folge an, um zu erfahren, wie ihr noch bis Ende Mai teilnehmen könnt!
Alle weiteren Details zu unserem Gewinnspiel findet ihr unter https://www.programmier.bar/gewinnspiel.
Schreibt uns!
Schickt uns eure Themenwünsche und euer Feedback: podcast@programmier.bar
Folgt uns!
Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.
Hallo und herzlich willkommen zu einer neuen Programmierbar-News-Ausgabe. Heute fast vollgepackt, denn Dennis ist nicht am Start. Endlich, endlich. Oh Gott, geht schon gut los. Dafür von mir aus in der linken Sofa-Ecke der Dave. Hi Dave. Hallo, hier Icke. In der mittleren Sofa-Ecke von mir aus gesehen, der Garrelt. Also das war
SPEAKER_03:eben übrigens der David Koschitzki und ich bin Garrelt Mock,
SPEAKER_04:hallo. Wir haben den Soundeffekt vergessen, Garrelt, für dich.
SPEAKER_03:Garrelt ist nicht der Mock, ich meine, ich kann den ja
SPEAKER_04:selber
SPEAKER_03:machen.
SPEAKER_04:Ach ja, stimmt, du bist es ja. Du bist ja die Quelle. Die Wurzel allen Übels. Und zugeschaltet aus seinem eigenen Tonstudio, Fabi. Der Fabi Fink, hallo.
UNKNOWN:Und hallo Jan. Hallo.
SPEAKER_04:So, wir haben ein paar Housekeeping-News für euch heute am Start. Zum einen nochmal der Hinweis, dass heute, oder diese Ausgabe, die letzte Ausgabe ist mit dem Hinweis auf das VR-Developers-Gewinnspiel. Ihr könnt immer noch eine Karte für die World Conference in Berlin gewinnen. Ihr müsst dazu nur eine Bewertung für den Podcast dalassen und uns eine E-Mail schreiben. Geht noch bis Ende des Monats. Wie lautet die E-Mail, Jan? Die E-Mail kannst du einfach podcast.programmier.bar schreiben. Geil, mach ich sofort. Machst du sofort, du bist aber leider von der Teilnahme ausgeschlossen, aber du kannst trotzdem gerne eine Bewertung hinterlassen, Dave. Alles super. Der eine Stern kommt bestimmt. Wer nicht auf die WeAreDevelopers-Konferenz in Berlin kann oder möchte, aber sich gerne Talks zu Hause auf dem Sofa anschaut von Konferenzen, der kann das jetzt tun und zwar auch bei uns. Auf der Programmierbar-Webseite gibt es jetzt einen neuen Konferenzbereich und der erste Eintrag bis dahin, der bestimmt nicht der letzte sein wird, ist der Eintrag von unserem Flutter Day vom letzten Jahr. Ihr seht die Fotos vom Flutter Day und die Speaker und ihr könnt natürlich auch die Talks sehen. Die sind da verlinkt, über YouTube eingebunden und könnt ihr alle Talks in voller Länge nochmal genießen, wenn ihr da wart oder vielleicht auch erstmalig genießen, wenn ihr letztes Jahr nicht am Start wart. Das einmal von der Webseite. Und wenn ihr die Webseite besucht, wird euch vielleicht auch ein neues Icon auffallen. Zudem kann Gareth was erzählen.
SPEAKER_03:Wir haben endlich einen Disco-Server. Jetzt müsst ihr euch so einen Soundeffekt mit Wow vorstellen. Lange erwartet von mir und auch anderen Leuten von unserer Community. findet ihr jetzt unten auf der Webseite, wie Jan schon gesagt hat, ein Icon mit einem Discord-Server. Ihr könnt in den nächsten Tagen, wenn der DNS-Eintrag durch ist, auch auf discord.programmier.bar gehen und darüber findet ihr den auch. Und ihr kommt dafür drauf, werdet nett begrüßt von einem schönen Text, den ich mitverfasst habe. Und dann gibt es einmal eine schöne Vorstellungsrunde, da findet ihr auch noch ein paar spannende Informationen zu uns, die wahrscheinlich noch nicht öffentlich bekannt sind. Also allein dafür lohnt es sich und ja, ich freue mich praktisch auf sehr viele anregende Diskussionen, Gespräche zu unseren Meetups, zu Podcasts, Vorschlägen von euch und vielleicht irgendwann auch mal ein paar Livestreams oder sowas. Es gibt viele Ideen, die wir mit dem Discord-Server haben. Ich würde mich sehr, sehr freuen, wenn ich euch darauf treffe und wir ins Gespräch kommen und ja, da so ein bisschen offenen und aktiveren Austausch haben. Finde
SPEAKER_04:ich cool. Eine coole Sache. Und natürlich auch nochmal ganz großen Dank an AK, die uns hier geholfen hat, das alles aufzusetzen, vorzubereiten, die zumindest mir nochmal den Crashkurs gegeben hat, wie Discord überhaupt funktioniert. Und ja, wir sind alle am Start. Aber wir wollen mehr werden. So, siehst du, da sind die Soundeffekte. Geil, geil. Wunderbar. Abseits von unserer eigenen Webseite, was gab es sonst noch für News, Gareth?
SPEAKER_03:Ich komme mit TypeScript um die Ecke. Und zwar habe ich ja letztens schon mal gesagt, dass irgendwie in der Frontend-Webwelt alles in Rust umgeschrieben wird. Und das ist hier nicht so, weil es ist kein Rust, sondern es ist diesmal Go. Und TypeScript hat sich überlegt, warum machen wir unseren Compiler eigentlich mit JavaScript? JavaScript ist eigentlich viel zu langsam dafür. Und haben mal probiert, das mit Go umzusetzen und badabim, badaboom, das Ganze läuft. roundabout zehnmal schneller. Zehnmal? Zehnmal schneller. Richtig geile Sache, das muss man sich mal vorstellen. Ich glaube, die ganze Codebase von, was haben sie getestet? Zum Beispiel Sentry. Also sie haben es mit mehreren größeren Codebasen getestet und da auch so die Durchschnittswerte sich mal gezogen. Und Sentry hat, glaube ich, vorher um die 70 Sekunden gebraucht und jetzt einfach sieben. Und das, ich meine, ich weiß nicht, wie oft ihr einen Code kompilieren lasst, bei mir ist das häufig am Tag und wenn mir das irgendwie so viel Zeit erspart, macht es erstens mehr Spaß damit zu entwickeln und zweitens ist man wesentlich produktiver und ich finde es eine richtig geile Sache. Also ich wundere mich fast, warum das erst so spät kommt. Also warum hat man das nicht schon früher ausprobiert? Wirkt für mich fast wie ein No-Brainer, aber nichtsdestotrotz, es ist in der Preview, also man kann es schon nutzen. Man kann es schon austesten. Ich gehe stark davon aus, dass das irgendwann auch der Default wird. Und es ist einfach eine richtig geile Verbesserung von
SPEAKER_01:TypeScript.
SPEAKER_03:Nice. Hast du schon ausprobiert? Nee, leider nicht. Ich habe es irgendwie gestern oder vorgestern erfahren und habe noch keinen Code geschrieben seitdem. Als Entwickler. Ja, aber ich habe auch tatsächlich... Wie sagt man das? Zu diesen Nachrichten eine leicht traurige Nachricht, weil Microsoft 6000 Leute entlässt und auch unter anderem einen recht bekannten Entwickler aus dem TypeScript-Team, der, ich kannte ihn nicht, aber
SPEAKER_01:sein Name ist... Der nicht Go
SPEAKER_03:schreiben wollte. Nein, viel schlimmer.
SPEAKER_04:Der, der die Portierung
SPEAKER_03:gemacht hat. Genau. Er war Teil des Teams, die diese Portierung gemacht haben. Der heißt Ron Buckton. Genau. Und der hat das im Prinzip jetzt abgeschlossen. Party und hey, du wirst entlassen. Also ich finde es schon echt sad. Es tut mir richtig weh, das zu lesen.
SPEAKER_02:Kurze Sache, was ich so krass fand. Ich habe diese Zahl gesehen. 6000 Leute werden entlassen. Nach mir, oh, das ist ja schon viel. Und dann sind es aber einfach nur 3% von Microsoft. Also ich habe ein ganz anderes Verständnis dafür, wie groß Microsoft ist. Das fand ich krass. 6.003
SPEAKER_03:Prozent. Ja, ich finde es auch krass. Es sind trotzdem einfach viele Leute.
SPEAKER_02:Genau, es sind mega viele Leute.
SPEAKER_03:Ja, irgendwie Sad News am Rande davon. Das hat mir das Ganze ein bisschen versäuert. Aber für mich freue ich mich, dass TypeScript schneller wird. Und das irgendwie for free demnächst, denke ich. Coole
SPEAKER_04:Sache. Ich bin mir ziemlich sicher, dass Ron auch zeitnah... einen neuen Job findet. Er hat so viel Lorbeeren schon eingesammelt.
SPEAKER_03:Das stimmt, aber es wirkt irgendwie komisch, sozusagen jemand, der auch scheinbar recht bekannt ist in der Öffentlichkeit, was TypeScript angeht, dann so einen krassen Erfolg feiert und dann entlassen wird. Also irgendwas läuft da doch schief, oder? Irgendwie wurden da Entscheidungen an falschen Stellen getroffen. Also fühlt sich für mich so
SPEAKER_04:an. Ja, also ich meine, das ist ja oftmals bei so großen Firmen auch so, dass so Entscheidungen halt auch so teilautomatisiert werden. Ja. Ja, da wird halt geguckt, wer hat irgendwie, weiß ich nicht, irgendwelche komischen Metriken und wer ist schon wie lange da und verdient wie viel und bla bla bla. Und dann wird halt so eine Liste ausgespuckt mit 6000 Leuten, die du kündigen kannst. Und dann guckt im Zweifelsfall einer nochmal halb drüber und los geht's. Boah, komm. Ich hoffe, es gucken mehr
SPEAKER_03:als eine Person nochmal drüber. Ich
SPEAKER_04:habe schon von Fällen erzählt bekommen, wo das wohl genau so gelaufen ist, mutmaßlich.
SPEAKER_02:Naja, also ich meine, bei 6000 Leuten, das kannst du ja gar
SPEAKER_03:nicht handcrafted machen. Das muss irgendwie automatisiert sein. Nee, nee, das muss schon automatisiert irgendwo rausgespuckt werden, aber ich hoffe, dass dann mal mindestens fünf verschiedene Leute oder drei, von mir aus drei verschiedene Leute drüber schauen oder wenn es auch nur die Leute sind, die Chefs von diesen Leuten sind, die dann nochmal irgendwie eine Meinung abgeben dürfen oder sowas. Aber scheinbar war es ja nicht so. Keine Ahnung. Ergibt es für mich eigentlich keinen Sinn, dass der entlassen wird. Naja, Ron Bucken, falls du das hörst. Ich liebe dich. Komm zu
SPEAKER_02:uns. Wir wollen dich. Vielleicht eine kleine nachgelagerte Frage.
SPEAKER_04:Das
SPEAKER_03:klang so ein bisschen desperate, Gareth. Ich habe gerade eher an die Probleme gedacht, weil wir zum Beispiel ja gar nicht Englisch als Unternehmenssprache haben. Ich
SPEAKER_02:hätte überlegt, will er das sagen? Nicht, dass es am Ende
SPEAKER_03:wirklich kommt.
SPEAKER_02:Ja, genau. Es leidet in den DMs und dann traut er sich nicht. Komm nicht. Kleine Frage nochmal dazu. Bis auf, also ich meine, was natürlich krass ist, zehnmal schneller, total crazy. Gab es da nochmal zusätzliche krasse Neuigkeiten in dem Komplex oder ist das wirklich so die Hauptnews? Nee, das ist die Hauptnews. Also es war jetzt ja auch kein... Nein, Mann, ich will immer mehr. Reiß mir den kleinen Finger, ich reiß den ganzen Arm ab.
SPEAKER_01:Das war's, oder was? Das war's jetzt.
SPEAKER_02:Das war's wirklich? Ja, okay. TypeScript oder für heute?
SPEAKER_00:Okay,
SPEAKER_04:Jan. Okay, tschüss. Du machst keinen Moderator
SPEAKER_00:mehr.
SPEAKER_04:Wir bleiben bei JavaScript und TypeScript und wir gehen zu Dino. Dino, bekanntermaßen das bessere Node.
UNKNOWN:Ähm...
SPEAKER_04:Wer den Einstieg zu Dino nochmal haben will als alternativer Runtime für JavaScript TypeScript, kann nochmal die Deep Dive Folge 73 und 156 sich anhören. Da haben wir über Dino und JSA gesprochen. Dino ist jetzt ganz neu in der Version 2.3 erschienen und bringt so ein paar coole Änderungen mit. Maßgeblich um dieses Dino Compile Feature, was ich mega cool finde als so Deployment und Distribution Tool. wo man im Prinzip aus seinem TypeScript-Projekt so ein zusammengesetztes Binary erzeugen kann und in dem Binary ist die Runtime drin, ist dein Quelltext drin, sind deine Assets drin, die du irgendwie brauchst, um das auszuführen und jetzt eben ganz neu auch sowas wie Foreign-Function-Interface, Node-Add-Ons, die du potenziell irgendwie brauchen könntest oder Alternativen dazu. Ja, und noch so kleine Quality of Life Improvements für, naja, es gibt jetzt Environment-Variablen, mit denen du abfragen kannst, ob du in so einem Standalone-kompilierten Projekt drin bist oder ob du quasi aus einem Quellcode-Dev-Environment rausläufst. Das ist irgendwie auch noch ganz cool. Ja, also Dino Compile wird nochmal cooler. Der Dino Code Formatter, der ja auch mitkommt und eines dieser großen Benefits ist von Dino, weil im Prinzip Dino dir die ganze Toolchain auf einmal liefert. Hat auch nochmal ein Update erfahren, kann jetzt CSS, HTML, SQL und so weiter eben auch mitformatieren. Und es gibt jetzt auch Support für lokale NPM-Pakete. Das heißt, wenn ihr irgendwelche Dependencies von euren Projekten selber entwickelt und die nicht immer erst publishen und dann wieder runterladen wollt, dann könntet ihr jetzt quasi auch mit lokalen Referenzen arbeiten. Das ist ganz cool. Und mindestens genauso interessant wie der 2.3-Release ist das Update, das sie angekündigt haben zu Fresh. Fresh ist so das Webframework von Dino, was auch von Dino selbst im Prinzip gebaut wurde. Als es rausgekommen ist, damals war es glaube ich das meistgestarrte GitHub-Projekt. Also das hat schon irgendwie viel Hype mitgenommen. Und Fresh 2.0 wurde schon vor einem Jahr angekündigt und dann ist erstmal Nichts passiert, weil super viel Fokus bei Dino dann erstmal auf dem Dino 2 Release lag, auf der neuen Version von Dino Deploy, was ja so ihre Hosted-Umgebung ist, auf JSR, dieser JavaScript Package Registry, die sie jetzt auch noch nebenbei gebaut haben. Und dann jetzt quasi wieder Fresh kommt. Sie haben in dem Blogpost dazu, verlinken wir auch nochmal, auch gesagt, naja, das war leider ein bisschen ärgerlich, dass es jetzt alles so lange gedauert hat, aber es war schon richtig so, weil jetzt halt mit Dino 2, mit Deploy und mit JSA viele wichtige Grundlagen irgendwie da sind, die es einfacher machen, Fresh 2 zu bauen. Fresh 2 kommt mit besserem... Routenhandling für synchrone und asynchrone Routen mit einer neuen Middleware-Plugin-API, mit verbesserten asynchronen Serverkomponenten, besseres Error-Handling und vielem, vielem, vielem mehr. Das Fresh 2 wird gerade schon verwendet, um die Dino-Seite selbst und die Dino-Deploy-Seite zu betreiben. Ist jetzt auch schon in der Alpha quasi öffentlich zum Testen Und sie planen so einen Release um September rum. Was ich ganz cool fand, ist, sie haben auch ein kleines Toolkit bereitgestellt, Dino Fresh Upgrade, das du quasi einfach so auf ein Fresh 1 Projekt lassen kannst und das schreibt dir so deine Config-Dateien um, deine Entry-Point-Dateien und sowas. Das heißt, du kannst relativ einfach in Anführungszeichen so ein Upgrade durchführen and it just works. Das finde ich ganz cool. Es gibt ja in anderen Sprachen ähnliche Tools, sowas wie Rector oder sowas, wo du quasi als Framework Diff-Instructions bereitstellen kannst, dass dann quasi so Projekte, die auf so einem Framework dependen, im Prinzip alle Änderungen und Config-Änderungen mitbekommen. Und es freut mich immer, dass auch in anderen Frameworks und in anderen Sprachen mal zu sehen, weil ich glaube, je einfacher so ein Upgrade-Fart ist, desto eher nimmst du halt die Community mit und desto eher kriegst du Feedback von einem Upgrade und das beschleunigt einfach diesen ganzen Iterationszyklus so ein bisschen. Ja, cool. Fresh. Das zum freshen
SPEAKER_02:fresh, genau. Halleluja. Ich glaube Fabio und ich haben beide auf diesen Kommentar gewartet.
SPEAKER_03:Fresh. Haben sie zu Fresh 2 auch wieder so ein cooles Marketing-Video gemacht, wie bei Deno 2?
SPEAKER_04:Noch nicht, aber es ist ja auch noch nicht released. Ich kann mir vorstellen, dass sie das machen. Wer die Dino-Videos nicht kennt, der Dino-YouTube-Kanal ist eine echte Bereicherung. Und nicht nur, dass sie immer echt coole Release-Videos machen, die ganz lustig sind. Sie haben auch neulich so, ich weiß nicht mehr ganz, wie es hieß, so a day in the life of Dino oder so, wo sie einfach durchs Büro gegangen sind und Leute befragt haben, was sie gerade machen und komplett lustiges Zeug. Also, ist schon ganz cool. Kann man mal Kann man mal folgen. Für alle, die nicht Dino benutzen, sondern noch so ihre Webseiten mit Plain Old, TypeScript und Node und sowas bauen, hat Fabi jetzt vielleicht ein Update dabei.
SPEAKER_01:Genau, ein Update zu AppRite. Ich weiß gar nicht, habt ihr vorher AppRite schon gehört? Habt ihr vorher AppRite eingesetzt? Ich habe es bisher noch nicht eingesetzt. Jan nickt. Also einer nickt, zwei schütteln mit dem Kopf. AppRite kann man sagen, ist eigentlich eine Open-Source-Alternative zu Firebase-Vercel. Und jetzt haben sie ihr Game abgelevelt, indem sie dann eben noch direktere Konkurrenz zu Vercel sind, weil AppRite hat sich bisher auf den Backend-Part bezogen. Also wenn ihr so ein bisschen schaut, okay, was gibt es als Komponenten, so Datenbank, Storage, aber auch so Realtime-Messaging. Also es gibt für alle so Clients da draußen eigentlich SDKs von ihnen, um zum Beispiel Realtime-Messaging zu haben, als auch Realtime-Updates was irgendwie Datenbank, also Datenbank-Subscriptions irgendwie angeht, wenn irgendwas in der Datenbank sich verändert, dass man direkt im Client geupdatet wird, also selbst auch Flutter und so, also Cross-Platform-Frameworks, Native, alle großen Web-SDKs da draußen. Aber bisher war es halt so, dass es sich auf dem Backend-Part beschränkt hat. Das ist Open Source, damit auch lokal super leicht hochzufahren, also du kannst einfach über einen Docker-Container mit ein bisschen Konfiguration die lokal so ein Vercel-Setup im Endeffekt machen, kannst es auch also lokal, aber auch selbst gehostet machen, also wenn ihr mal, gibt es Guides auf der im GitHub Repo, wie das Ganze funktioniert. Also Blue Ocean oder irgendwas könnt ihr, Digital Ocean könnt ihr natürlich auch irgendwo hingehen, um das zu hosten. Aber sie bieten natürlich auch Hosting bei ihnen an. Und eben jetzt haben sie AppRite Sites rausgebracht. Also die Möglichkeiten, eben eure Website auch direkt mit AppRite zu hosten. Weil bisher war es natürlich so, okay, wofür ist das Backend da? Höchstwahrscheinlich für irgendeinen Client. Und beim Client musst du halt immer wieder überlegen, okay, wo hostest du das? Bist du in zwei verschiedenen Ökosystemen? Und da muss man sagen, bei AppRite Sites dann vom Feature-Umfang her vieles von dem einfach was, was man so von Vercel kennt. Also auch gerade, wenn du jetzt zum Beispiel, also entweder auch hier den Docker-Container hochfährst und dann ins Admin-Frontend von AppWrite gehst, dass du einfach dein GitHub-Repo verbinden kannst und der Rest funktioniert out of the box. Also auch so mit irgendwelchen Preview-Deployments für einen Pull-Request oder ähnliches. Also wer Vercel kennt, sehr ähnlich, aber eben sehr cool daran, dass es die Open-Source-Variante in dem Fall ist und ihr für kleinere Projekte sowas auch komplett einfach selbst hosten könntet auf irgendwie einem kleinen Server, wo man ja auch sagen muss, dass was bei so kleinen Seiten natürlich auch umsonst richtig kostengünstig ist, solange es kein Private Repo ist. Was dann zum Beispiel bei AppRat natürlich funktionieren würde, mit einem Private Repo. Bei Vercel bräuchtest du dafür dann einen Pricing Plan, der ist dann nicht free, wenn es kein offenes Repo ist. Genau, finde ich auf jeden Fall super cool. Ich weiß nicht, Jan, wenn du jetzt nickst, für welche Projekte hast du es schon eingesetzt? Weil ich finde es auf jeden Fall eine coole Alternative jetzt, wo es auch so ganzheitlich funktioniert. Tatsächlich hatte
SPEAKER_04:ich das benutzt für den Prototyp von diesem Playlist-Tool, was wir bei der NTJ erst am Start hatten, wo du im Prinzip so AI-geschützte, programmierbare Playlists dir erzeugen lassen kannst. Und da hatten wir so ein paar Sachen angeguckt, weil da in dem ersten Prototyp war so, haben wir eine Background-Queue gebraucht und irgendwie Realtime-Messaging und sowas alles. Und das bietet AppRite halt auch irgendwie alles out of the box und für Projekte in unserer Größenordnung halt auch irgendwie alles umsonst so. Und deswegen... hatten wir da mal reingeschaut, da gab es aber dieses Sites-Ding noch nicht. Und deshalb hat Dennis das dann, glaube ich, am Ende doch auf Vercel deployed, die ja nicht nur für geschlossene Projekte kostenpflichtig sind, sondern die auch dieses abgefahrene Pricing-Skimmer haben mit, hey, jeder Developer, der mitmacht an diesem deployten Projekt, kostet halt auch irgendwie nochmal extra, unabhängig davon, ob uns das mehr Traffic incurred oder sonst was. Ja, aber es scheint ja ganz gut zu laufen für Vercel.
SPEAKER_01:Ja, aber deswegen, sehr cool. Also glaube ich, würde ich als nächstes für ein nächstes Projekt einfach mal ausprobieren. Gerade auch der lokale Stack. Finde ich auch
SPEAKER_04:mega cool. Kommt auch direkt bei mir auf die VM, um es mal zu testen. Wenn du dann deine Seite dahin deployed hast, Fabi, mit was für einem Browser rufst du dir auf? Mit dem lokalen Browser
SPEAKER_01:von meiner IDE natürlich. Ich glaube, die kann nur Loki raus. Aber natürlich, danke schön für diesen Übergang. Mit meinem Arc-Browser. Wir haben ja schon häufiger mal über den Arc-Browser geredet. Entwickelt von der Browser Company, die ja mit keinem kleineren Ziel rausgegangen sind, als so den de facto Standard für einen Webbrowser neu zu erfinden und da draußen mindestens so groß, wenn nicht größer als Chrome, Safari oder am besten alle zusammenzuwerden. Und gerade hier in der Firma und auch hier bei den Hosts des Podcasts ist ja der ARK-Browser durchaus eingekehrt und hat einige Fans in der Nutzung. Ja, Dave wackelt mit seinem Kopf oder zeigt mit seinem Finger bei ihm nicht, aber bei den meisten. Also die, die nicht komplett am Kopf sind, finden den ARK-Browser Hammer. Nee, beim Sebi auch, aber Sebi war auch schon lange nicht mehr da. Garret Mock
SPEAKER_02:mag es
SPEAKER_01:auch. Schon lange Nutzer von ARK. Ich glaube, also andersrum. Man kann auf jeden Fall, das geht gleich so ein bisschen ins Thema rein, sagen, dass einige, die es nutzen, wirklich große Fans von diesem Browser sind und ihn wirklich sehr cool finden. Und das, was uns so ein bisschen betrübt hat von denjenigen, die es nutzen, war ja so, okay, die Browser Company entwickelt Arc nicht weiter. Also es ist War die ganze Zeit nicht so ganz klar, okay, was passiert damit? Und jetzt gab es einen Blogpost eben, wir schreiben heute den 28. Mai, am 27. Mai, also gestern kam der raus von dem CEO von der Browser Company und der hat so ein bisschen darüber erzählt, okay, was passiert. Warum bauen sie daran nicht weiter und was passiert mit ihm so? Und daran nicht weiterbauen heißt, es gibt keine neuen Features. Was sie aber eben doch machen, sind natürlich irgendwie Chromium zu updaten, Security Patches und so weiter zu machen. Also es ist jetzt nicht so, dass er komplett einfach links liegen gelassen wird und er wird schon noch weiter betreut. Aber mehr ins Detail sind sie nicht gegangen. Es wurde darüber diskutiert, okay, wie geht es weiter? Wird es ein Open-Source-Projekt werden? Wird der Arc-Browser verkauft? Und die Antwort darauf war, sie haben in beide Optionen sehr stark reingeguckt und it is complicated. Also sie wissen es selbst noch nicht. Sie wissen nicht genau, wie es weitergeht. Aber er hat so ein bisschen Kontext dazu gegeben. Warum haben sie sich denn dafür entschieden? Ich meine, 2017 haben sie, glaube ich, angefangen, mit dem Arc-Browser, am Arc-Browser nicht weiterzuentwickeln. Und bottomline kann man sagen... weil sie einen neuen Browser machen, der komplett auf AI ausgerichtet ist. Dia heißt dieser Browser. Aber auch wenn man mal in Arc reinschaut, er sagt, sie sind im... Dia. Bitte? Dia heißt der, oder? Dia, ja. So
SPEAKER_02:wie das Foto. Achso,
SPEAKER_01:ich dachte wie Diamant ohne Mant. Achso, ja, wie Dia. Ja. Sehr gut erklärt. Dia wie Dia halt eben.
UNKNOWN:Ähm.
SPEAKER_01:Und Sie sagen so grundsätzlich, das finde ich nämlich interessant, also Arc war ein Produkt, was super organisch gewachsen ist und die, die es benutzt haben, das absolut geliebt haben und jeder, der irgendwie nach Tag 1, 2 noch da war, ist eigentlich wirklich obsessed geworden mit diesem Browser. Aber trotzdem auch sagen Sie, die Features, die der Browser hat, waren relativ kompliziert. Sie haben so eine Adoption Rate gesehen von so Professional-Produkten, eher wenn du mit so einer Video-Edit-Software das Ganze vergleichst. Die, die es genutzt haben, waren totale Fanatics, war glaube ich sein Wort. Aber auch die Features, die sie selbst aber auch so super finden, wie zum Beispiel die verschiedenen Spaces, die du nutzen kannst oder diese Live-Pages, wo du auch irgendwie einen Live-Folder hast und direkt deine GitHub-Pull-Requests angezeigt bekommst. Das sind irgendwie Adoption-Rates von, ich glaube, bei den Spaces, die DAOs, die es täglich nutzt, waren irgendwie 4%, so die wirklich Spaces aktiv jeden Tag nutzen. Und alle anderen Features, die er danach genannt hat, lagen eher noch darunter, was die Adoption angeht. Trotzdem sehr begeisterte User gehabt und sie sagen natürlich, wären sie damit rausgegangen zu sagen, sie wollen ein kleines Unternehmen, das profitable ist, bauen und irgendwie ein kleines Unternehmen bleiben und so ein irgendwie kleines, gutes Produkt bauen, dann hätten sie damit weitermachen können. Aber sie sind nun mal an den Start gegangen, um den Browser zu revolutionieren und haben gesagt Okay, mit dem ARK Produkt, so wie es jetzt gerade gebaut haben, ist das aktuell nicht möglich und ein großer Punkt davon ist eben, dass sie AI sehr viel tiefer integrieren müssen und am Ende gesagt haben, sie haben überlegt, ob sie das in den Arc-Browser reinmachen, haben gemerkt, das, was sie sich vorstellen, sind einfach zwei separate Produkte und das Neue hat nichts mehr mit dem Alten zu tun, weshalb sie sich dann dafür entschieden haben, DIA umzusetzen, wozu man aktuell noch nicht so viel weiß, aber grundsätzlich AI sehr viel integrierter in dem Browser und er sagt irgendwie, das Interface ist eben nicht mehr die Website oder eben nicht mehr ausschließlich, sondern ein Ökosystem, in dem du dich schon im Web befindest, aber die AI sehr viel nativer integriert ist. Es gibt jetzt so ein paar Beispiele, also bisher ist es, und sie sagen auch zum Beispiel, diese Features, die sie jetzt bauen mit AI, da ist die Adoption Rate aktuell bei den Test-Usern über 50 Prozent bei jeglichen Features die sie irgendwie bauen, also es ist sehr viel präsenter einfach und es gibt so ein paar Beispiele, wenn ihr auf die Homepage von Dia geht zum Beispiel, dass einige Studenten es jetzt gerade nutzen und sie nennen den den Finals Mode und ihr könnt da auf jeden Fall, ich habe den Dia selbst jetzt noch nicht ausprobiert, man kann ihn da runterladen und da sieht man einfach das LLM, ich weiß gar nicht welches jetzt da eingebunden ist, ist sehr viel nativer integriert in den Browser und irgendwie man kann bei neuen Tabs eigentlich immer, wenn man eine Suche startet, entscheidet er Browser selbst, okay, ist das jetzt eine Google-Anfrage? Ist das eine LLM-Anfrage? Bei jedem Link, den du offen hast, kannst du irgendwie damit interagieren. Die AI kennt deine offenen Tabs und du kannst irgendwie, jetzt haben sie hier in dem Beispiel gesagt, wenn du irgendwie lernen willst, sagen, hier, bauen wir mal ein kleines Quiz aus den Tabs, die ich gerade offen habe und schauen mal, ob ich irgendwie alle Inhalte kenne, die da gerade offen sind. Also sie probieren ein Ökosystem zu bauen, in dem eben das LLM den gesamten Kontext kennt. Sie sagen, der Browser ist ja eh wie bei den meisten Leuten das Betriebssystem, weil die, die es nicht professionell nutzen, ist eigentlich der Browser die Hauptapplikation, in der du bist und sehr viel mehr shiftet in Richtung Web. Und ich bin mal gespannt. Also Dia selbst noch nicht ausprobiert. Ich habe auch bis wirklich kurz vor dem Podcast gedacht, man kann ihn noch gar nicht runterladen. Aber über diese Dia-Seite, wir packen einen Link in die Show Notes. Ihr könnt es runterladen, mal ausprobieren. Vielleicht können wir demnächst mal was über den Browser erzählen.
UNKNOWN:Cool.
SPEAKER_01:Wunderbar. Hilft er dir auch bei Cookie-Bannern? Fragen, die ich dir noch nicht beantworten kann. Wir werden sehen. Lad es runter und sag du es mir das nächste Mal. Dave, hilfst du mir bei Cookie Bannern?
SPEAKER_02:Yes, aber gerne doch. Und zwar ist jetzt ein Riesenerfolg entstanden für Datenschützer, aber eigentlich nicht nur für Datenschützer, eigentlich quasi jeden, der irgendwo irgendwann mal im Internet unterwegs ist. Ich weiß nicht, kennt ihr dieses World Wide Web? Sagt euch das was? Benutzt du das? Das ist nur so eine Bubble, das setzt sich nicht durch. Naja, setzt sich nicht durch, genau. Aber ihr kennt sicherlich diese nervigen Banner auf jeder Seite unten, ne? Also irgendwie bla bla bla, wir nutzen Cookies, um ein optimales Nutzererlebnis zu erzeugen. Stimmen Sie bitte jetzt allem zu. Man hat ja immer das nervige Szenario, du kannst alles akzeptieren, du hast irgendwie Einstellungen oder weitere Optionen, dann klickst du da durch, dann ist schon mal irgendwas vorher ausgewählt und dann denkst du, okay, komm, alles akzeptieren, so, juckt mich jetzt nicht. Ähm. Da hat jetzt das Verwaltungsgericht Hannover entschieden, das ist nicht rechtskonform. Das darf man so nicht machen. Aber bevor wir zum Urteil selbst kommen, erstmal vorangestellt, was ist eigentlich passiert? Also es gibt einen Datenschutzbeauftragten aus Niedersachsen, den Dennis Lehmkemper. Und der hat die Neue Osnabrücker Zeitung angeklagt. Der hat nämlich gesagt, eure Cookie-Banner verstößen safe gegen die Datenschutz-Grundverordnung und das Telekommunikations-Datenschutz-Gesetz. Denn ihr holt euch keine informierte und freiwillige Einwilligung ein. Klingt natürlich jetzt erstmal sehr juristisch, aber er sagt einfach, durch die Gestaltung eures Banners drängt ihr quasi den Nutzer in die Einwilligung ein. Das passiert gar nicht freiwillig. Und da sagt er, das passiert auf mehreren Ebenen. Die erste und sehr offensichtlichste ist wahrscheinlich, dass das Ablehnen der Cookies deutlich aufwendiger ist, als das Akzeptieren. Also ich kann instant alles akzeptieren oder ich muss mich da mehrfach durchklicken und sagen, ja okay, das möchte nicht, das möchte ich nicht, zack und dann speichern. Also das ist deutlich aufwändiger, das abzulehnen. Und die Optionen sind nicht gleichwertig, denn wenn man sich eigentlich so überlegt, man hat irgendwie so zwei Buttons, wir kennen das natürlich auch aus dem Mobile Gaming Bereich, so kaufen oder nicht kaufen, das sind gleichwertige Optionen und da ist so, ja, du stimmst allem zu oder ja, schau doch mal, was es da sonst noch gibt. Also, dass es da auf jeden Fall nicht gleichwertig ist an Optionen, die man kriegt. Außerdem wird die Entscheidungsfreiheit der User beeinflusst durch die Aussage so, hey, hier ist ein optimales Nutzungserlebnis, wenn du allem zustimmst und der User denkt sich, okay, wenn ich das jetzt nicht mache, dann verpasse ich Sachen, ich sehe teilweise Dinge nicht, ich bin auf einer Newsseite vor allem, irgendwie eine Zeitung, sehe ich dann irgendwie bestimmte News nicht oder so, was passiert hier, okay, dann möchte ich auf jeden Fall da alles akzeptieren. Es taucht auch nirgendwo der Begriff Einwilligung auf, ja, eigentlich so, hey, okay, ich willige ein, dass meine personenbezogenen Daten hier genutzt werden und ihr könnt die speichern, sondern es steht einfach nur akzeptieren. Das ist natürlich dann auch irgendwie sehr uncool. Und etwas, was in dem Case vielleicht eine Besonderheit war, was nicht überall so ist, ist, dass der Banner, nachdem der abgelehnt wurde, einfach immer wieder angezeigt wurde. Also du hast die Seite neu besucht und dann war so, hey, willst du jetzt aber zustimmen? Nein, da hast du nochmal besucht. Ja, und jetzt? So, und das ist natürlich dann super penetrant, dass du dann irgendwann sagst, ja, okay, komm, ich stimme dem jetzt einfach zu. Also alles sehr, sehr uncoole Punkte, die jeder von uns kennt, wo wir alle sagen, Alter, das nervt jedes Mal. Ich weiß nicht, ob es euch so geht, aber das Erste, was ich dann auch gemacht habe, als ich dann immer einen Browser aufgesetzt habe, I don't care about cookies, ist so eine Extension und dann wird das halt quasi immer ausgeblendet oder automatisch akzeptiert, wenn man es nicht ausblenden kann. Ich glaube, es heißt I don't care about cookies. Irgendwie sowas. War immer für mich so ein Standardding, weil es mich echt immer genervt hat. Aber gerichtlich wurde jetzt entschieden, so kann es nicht weitergehen. Das darf so nicht sein. Was ist die Folge jetzt daraus? Das Gericht sagt, bei Cookie-Einwilligungsabfragen muss man einen gut sichtbaren Alles-Ablehnen-Button auf der ersten Ebene im entsprechenden Banner anbieten, wenn es auch die Alles-Akzeptieren-Option gibt. Ja? Das heißt, ablehnen darf keinen Mehraufwand für den User erzeugen. Wenn ich alles akzeptieren kann, muss ich auch gleichzeitig alles ablehnen können. Da ist natürlich so die Sache, da steht so auf der ersten Ebene im Banner, also quasi, wenn man das dann jetzt quasi auch das alles akzeptieren irgendwie weiter verstecken würde, könnte man auch das andere verstecken und man muss sich immer durch mehrere Optionen durchwühlen. Also Deswegen, also keine Ahnung, wie es jetzt noch genau definiert ist. Das ist, glaube ich, dieses juristische Fachjargon, wo ich das nicht ganz bewerten kann. Aber hat mich nur gewundert, dass da von der ersten Ebene gesprochen wurde. Und das Gericht hat aber da gleichzeitig auch nochmal betont, dass die Cookie-Banner nicht gezielt auf das Anklicken einer Einwilligung ausgerichtet sein dürfen. Und die User dürfen auf jeden Fall nicht abgehalten davon werden, die direkt abzulehnen. Also es muss direkt möglich sein, ohne Probleme. Und es darf nicht irgendwie so designt sein, wie aus dem Gaming-Bereich Dark-Patterns ist ein Begriff. Das darf es bei Cookies nicht geben. Und hat dann sogar auch noch entschieden, dass die bereits eingeholten Einwilligungen, die jetzt alle auf der Seite passiert sind, eigentlich unwirksam sind. Denn es verstößt gegen die DSGVO und das TDDDG, also das Telekommunikationsdigitale Dienste-Datenschutzgesetz. Kurzer Name, kurzer Name. Sag es dreimal schnell hintereinander bitte. TDDDG. Das ist vor allem schwierig. Nein, ich meine das lange, nicht das kurze. Achso, Telekommunikationsdigitale Dienste-Datenschutzgesetz. Genau, da kommt der Rapper durch. Auf jeden Fall, das Coole ist jetzt, was sind jetzt die Folgen? Also auf jeden Fall, die neue Osnabrücker Zeitung muss Banner jetzt auf jeden Fall anpassen, also die sind dazu jetzt auf jeden Fall gezwungen, aber es werden vermutlich noch viele weitere sicherlich nachziehen, denn jetzt ist ein Präzedenzfall vorhanden. Das heißt, in Zukunft bei solchen Sachen kann sich immer darauf berufen werden, hey, guck mal, hier wurde es entschieden, so ist das nicht zulässig, das verstößt gegen zwei Gesetze. Ihr müsst das auf jeden Fall umändern, deswegen ist jetzt wahrscheinlich Vorsicht geboten. Also wenn man jetzt auch noch eigene Seiten irgendwie hat und da diese Cookie-Anfrage hat, sollte man das nochmal prüfen und dementsprechend anpassen. Und auch so eine Sache, die ja da ist, wir nutzen ja auch eine sogenannte CMP, also Consent Management Plattform. Da müssen wir wahrscheinlich auch nochmal auschecken, wie wir das aktuell nutzen, weil das ist theoretisch davon auch betroffen.
UNKNOWN:Ja.
SPEAKER_04:Aber ist vielleicht fair zu sagen, dass das alles mehr so Evolution statt Revolution gerade ist, oder? Weil ich meine, es ändert ja nichts am grundlegenden Ansatz, wann musst du Cookies benutzen, wann musst du das abfragen und bla bla bla, sondern es ist eher so, wie muss im Zweifelsfall der Dienstleister, den du dazu beauftragt hast, das halt ausgestalten.
SPEAKER_03:Ja, genau. Ja, aber es ist eine Revolution für die User, würde ich sagen, weil seitdem praktisch das aktiv ist, dass man diese Abfrage mal einholen muss, finde ich, ist das Browsen extrem nervig geworden. Und ich glaube, wenn es jetzt einfacher ist, dann das abzulehnen, wird es wieder etwas entspannter für alle. Das ist richtig. Und ich habe das richtig verstanden, dass diese Klage, die da an diese Osnabrücker Zeitung gemacht wurde, die kam von einer anderen Person, also von einem anderen... Genau, von dem Datenschutzbeauftragten Dennis Lehmkämper. So heißt der. Genau. Das finde ich schon immer wieder krass, dass praktisch eine Person, die praktisch das stört und das dann durchzieht, so viel Veränderung bewirken kann. Das finde ich irgendwie auch cool. Und es motiviert, da auch selbst aktiv zu werden, wenn man so Dinge sieht, die einen stören und man sich dann so denkt, nee, das kann doch eigentlich nicht sein. Wen willst du verklagen, Garrett? Dich.
SPEAKER_02:Wenn du selbst aktiv werden willst. Aber da gibt es doch den einen, ich weiß gar nicht mehr, der Facebook und sowas. Ist das nicht ein Unternehmen sogar mittlerweile? Also mittlerweile kann es gut sein, aber der hat gesagt, das was Facebook macht, das kann nicht recht sein und der ist immer so auf Kriegsfuß mit Facebook. Und das hat er wirklich durchgebracht, quasi die ganzen Änderungen, die jetzt stattfinden und existieren. Er als einzige Person am Anfang hat gesagt, nee, nee, nee, das könnt ihr nicht machen. Und das ist ein gefürchteter Name bei Meta auf jeden
SPEAKER_04:Fall.
UNKNOWN:Das glaube ich auch.
SPEAKER_04:Wunderbar. Dann haben wir wieder noch eine kleine kurze Liste an News, die es nicht komplett in die Folge
SPEAKER_03:geschafft
SPEAKER_04:haben,
SPEAKER_03:Gareth. Schade eigentlich, weil es sind coole Sachen. Ich habe mitgebracht, dass VS Code, was ja eines der beliebtesten und auch erfolgreichsten Open-Source-Software-Projekte auf GitHub ist, dass sie entschieden haben, ihren AI-Editor Open-Source zu machen. Konkret ist das die GitHub Copilot-Extension, die bis jetzt ja Closed-Source war. Die wollen sie einerseits jetzt Open Source machen, das heißt den ganzen Code davon online stellen und parallel dazu aber auch die Extension in VS Code mit reinmerchen. Das war natürlich bis jetzt nicht möglich, weil VS Code ja an sich Open Source ist und deswegen mussten sie das immer getrennt halten, aber sie haben sich jetzt entschieden, das da reinzuziehen. Und da könnte ich jetzt noch länger drüber reden, weil ich das für eine richtig coole Entscheidung finde und auch gespannt bin, was das zum Beispiel mit Konkurrenzprodukten wie Cursor macht, wenn das da jetzt noch mehr integriert wird. Aber genau, soll ja nur ein Mini-Thema sein. SOT, habe ich das richtig ausgesprochen? Die Library, die Input Validation macht oder Schema Validation, hat die Version 4 rausgebracht. Und was ist da anders? Ganz viele Sachen sind sehr, sehr viel schneller geworden, zum Beispiel String Parsing, Array Parsing, was auch immer. Und das ganze Paket ist auch deutlich kleiner geworden. Ich glaube, das war der größte Kritikpunkt. Und hier auch nochmal ein Shoutout an Fabian Hiller, der, sag ich mal, ein Konkurrenz-Library erschaffen hat mit Wallibot, die hauptsächlich mitbringt, dass sie tree-shakable ist. Ich glaube, das hat auch dazu beigetragen, dass SOT sich gedacht hat, okay, da müssen wir jetzt irgendwie nachziehen und haben es auch geschafft, das ein bisschen kleiner zu machen. Sehr cool. Speaking von einzelnen Personen, die viel bewirken können. Richtig, absolut. Außerdem soll in PHP 8.5 ein Pipe-Operator reinkommen. Es gab wohl ein Voting, die sich dafür entschieden haben, dass der jetzt reinkommt. Und als letztes noch ein ganz lustiges Thema, wie ich finde, es gibt jetzt Versicherungen gegen Schäden durch AI-Fehler. Irgendwie logisch und irgendwie auch lustig, dass es kommt. Habe es nicht ganz erwartet, aber... Macht irgendwie Sinn, aber es freut mich, wie teuer die sind.
SPEAKER_04:Ich wollte gerade sagen, die Preisgestaltung wäre wahrscheinlich hier das Interessantere und das ist wahrscheinlich so eine Case-by-Case-Sache,
SPEAKER_03:oder? Ich hatte das eben noch offen, habe da irgendwas gelesen, aber wusste nicht so genau, ob das... Ich glaube nicht, dass es Case-by-Case-Sache ist. Also ich
SPEAKER_04:durfte mich ja in so ein paar Security-Audits auch schon mal mit so... IT-Versicherungen beschäftigen. Das ist gar nicht so teuer, wie man denkt, aber für AI kann natürlich super viel schief gehen. Ich meine,
SPEAKER_03:wenn die Subscriptions teilweise 250 Dollar pro Monat sind, also... Ah, okay, nee, ich kann, die Preise, die ich hier gesehen habe, war, um den Artikel zu lesen, sorry, ich konnte den Artikel gar nicht lesen. Ich habe nur kurz reingeschaut und dachte so, ah, hier stehen die Preise. Fünf Euro
SPEAKER_04:ist ja voll
SPEAKER_03:billig. Only one Euro for four weeks. Ist so gut. Alter, geil. Nee, ich weiß die Preise nicht. Ich konnte ja tatsächlich auch nicht sehen, welche Versicherungsfirma das anbietet. Ähm,
SPEAKER_04:Also, falls ihr da draußen in einer Versicherungsfirma arbeitet, die das anbietet, lasst uns gerne wissen, was
SPEAKER_03:das kostet. Das würde mich sehr interessieren. Ja, ansonsten kann ich nur sagen, vielen Dank fürs Zuhören. Ich freue mich, euch auf der VR Developer Conference oder auf Discord zu sehen. Auf jeden Fall auf Discord. Ja, hundertprozentig. Ja, mindestens auf Discord. Garret schreibt auch innerhalb von fünf Minuten zurück. Vielleicht nicht, aber innerhalb von einem Tag ist es. Vielleicht nicht am Wochenende, aber ich versuche jeden Tag aktiv zu sein. Ansonsten, wenn ihr Feedback habt zu dem Podcast oder zu Dave, dann lasst uns doch gerne Feedback entweder auf Social Media unter diesem Podcast oder schreibt uns eine Mail an podcast.programmierfunkbar oder auf dem Discord-Server. Und dann bis zum nächsten Mal. Macht's gut. Bis
SPEAKER_02:dann. Ciao, ciao.
UNKNOWN:Tschüssi.