Working Draft

Working Draft

By Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« SchaeferNewsTechnologyEducationHow ToTech News
Download on the App Store

Working Draft episodes

  • Revision 489: (Über-)Leben mit Open Source, feat. Marvin Hagemeister und Martin Donath

    Vanessa und Peter hatten zwei Open-Source-Schwergewichte zu Gast, mit denen sie über das (Über)-Leben als OSS-Entwickler plauderten. Martin Donath (Twitter, Github) war zuletzt in Revision 484 zu CSS und stylezen zu Gast und entwickelt Material for MkDocs. Marvin Hagemeister (Webseite, Twitter, Github) ist für seine Arbeit an Preact bekannt und war genau zu diesem Thema zuletzt in Revision 397 zu Gast.

    Schaunotizen
    [00:01:00] (Über)-Leben mit Open Source
    Nachdem wir kurz OSS und FOSS gegeneinander abgrenzen, geht’s um den OSS-Alltag. Zunächst geht’s um Projekt-Management: wie werden Maintainance und Support geregelt, wie können Komplexität und Feature-Requests im Rahmen gehalten werden, wie fängt man überhaupt an (z.B. via Frontend Foxes) und wie sieht ein Open-Source-Projekt-Lifecycle aus? Wie besprechen im Anschlss Funding-Fragen (Github Sponsors, das Sponsorware-Konzept) und wie das Funding bei MkDocs und Preact genau abläuft, Funding-Fails bei Babel sowie Martins Projekt-Umfrage für MkDocs. Am Ende geht’s um Lizenzen, Amazon, Influx DB und Redis, ethische Lizenzklauseln und Creative Commons.

    Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

    1 hr 53 min
  • Revision 489: (Über-)Leben mit Open Source, feat. Marvin Hagemeister und Martin Donath
    Vanessa und Peter hatten zwei Open-Source-Schwergewichte zu Gast, mit denen sie über das (Über)-Leben als OSS-Entwickler plauderten. Martin Donath (Twitter, Github) war zuletzt in Revision 484 zu CSS und stylezen zu Gast und entwickelt Material for MkDocs. Marvin Hagemeister (Webseite, Twitter, Github) ist für seine Arbeit an Preact bekannt und war genau zu diesem Thema zuletzt in Revision 397 zu Gast.
    Schaunotizen
    [00:01:00] (Über)-Leben mit Open Source
    Nachdem wir kurz OSS und FOSS gegeneinander abgrenzen, geht’s um den OSS-Alltag. Zunächst geht’s um Projekt-Management: wie werden Maintainance und Support geregelt, wie können Komplexität und Feature-Requests im Rahmen gehalten werden, wie fängt man überhaupt an (z.B. via Frontend Foxes) und wie sieht ein Open-Source-Projekt-Lifecycle aus? Wie besprechen im Anschlss Funding-Fragen (Github Sponsors, das Sponsorware-Konzept) und wie das Funding bei MkDocs und Preact genau abläuft, Funding-Fails bei Babel sowie Martins Projekt-Umfrage für MkDocs. Am Ende geht’s um Lizenzen, Amazon, Influx DB und Redis, ethische Lizenzklauseln und Creative Commons.
    1 hr 53 min
  • Revision 488: Glücksrad 2.1 Transitional

    Nach dem großen Erfolg des neuen Glücksrads in der letzten Revision ließe es Schepp, Vanessa und Peter nochmal drehen – diesmal verstärkt um Gücksrad-Veteran Stefan Judis (Twitter, Newsletter) der auch Autor des Random-MDN-Bots auf Twitter ist.

    [00:01:02] Glücksrad
    XRPermissionDescriptor
    Ein unspannendes, von keinem Browser unterstütztes Objekt-Interface für WebXR.
    position-Value
    Wir amüsieren uns kurz über vertikale Zentrierung in CSS, dann legt Schepp dar, wie %-Positionierung für background-position funktioniert. Am Ende finden wir trotz großer Mühen nicht viele Use Cases für background-position in der Gegenwart.
    inputmode-Attribut
    Während es einfach ist zu klären, was inputmode an sich macht, suchen wir länger nach Use Cases für inputmode="none". Gedacht ist dieser für indirekt kontrollierte Inputs, wobei Peter vorübergehend der Fehlannahme aufsitzt, dass das auch (besser?) per gemacht werden könnte (stimmt nicht, wird von Formularen nicht submitted).
    Web Locks API
    Allgemeinem Unverständnis zum Trotz hält Peter eine Brandrede für eine einebaute Web Locks API.
    direction
    Wo direction ist, sind das HTML-Attribut dir sowie writing-mode und text-orientation nicht fern. Außerdem stellen wir fest, dass Text-Rendering extrem knifflig ist.
    start_url in Web App Manifests
    Wir sinnieren über den Umstand, dass so gut wie alles in Web App Manifests eine optonale Kann-Angabe ist und fragen uns, was Opera eigentlich so macht.
    deltaMode auf WheelEvents
    Mühsam arbeiten wir heraus, was der deltaMode auf Wheel-Events wohl soll und was alles als Mausrad durchgeht.
    itemscope-Attribut
    Schepp legt dar, was HTML5-Mirodata für SEO zu leisten imstande ist, erklärt schema.org und empfiehlt JSON-LD als Alternative.
    @namespace
    XML, Baby! Und wo wir schon mal in der Vergangenheit sind, sprechen wir auch über ICQ und das Release von Chrome 1 irgendwann 2009.

    Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

    1 hr 6 min
  • Revision 487: Glücksrad 2.0

    Vanessa, Schepp und Peter ließen das Glückrad kreiseln. Aber es ist ein neues Glücksrad! Die offizielle Workingdraft-Glücksrad-Webapp, die auf MDN-Daten basiert, setzt uns nicht mehr nur HTML-Elemente vor, sondern spuckt auch DOM-APIs, JS-Features und CSS-Gedöns aus.

    [00:01:02] Glücksrad
    pre-Element
    Wer hätte das gedacht? Das pre-Element hat ein width-Attribut (das wir nicht benutzen sollten)! Sonstige Erkenntnisse zum Element: es kann kein Shadow-Host sein (das können nur ausgewählte Elemente sein) und xmp-Elemente sind unter der Haube auch nur pre-Elemente (zumindest näherungsweise).
    Icons im Web Manifest
    Wir sinnieren über Manifest-Icons, apple-touch-icon, theme-color, die allgemeine Meta-Tag-Inflation, Icon- und Webfont-Generatoren sowie die bulletproof @font-face syntax.
    text-orientation
    Wir setzen die CSS-Eigenschaft text-orientation in den Kontext zu z.B. Ruby-Annotationen und schaffen es am Ende auf wundersame Weise, bei Pi-hole zu landen.
    blend-mode
    Wir versuchen zu erahnen, wie viel blend-mode (nicht zu verwechseln mit background-blend-mode, mix-blend-mode und color-mix()) tatsächlich verwendet wird und landen bei der einzigen Quelle, die dererlei Fragen zu beantworten vermag: dem State of the Web Report.
    DOMPointReadOnly
    Brauchen wir einen Constructor für ein einfaches Objekt mit vier Feldern? Wir suchen nach Pro-Argumenten.
    CSS-Typ ratio
    Der ratio-Typ (nicht zu verwechseln mit aspect-ratio oder aspect-ratio) führt uns in eine Diskussion höherer CSS-Mathematik.
    scroll-margin-block-end
    Eine der Logical CSS Properties lässt uns mental zu Scroll-Snapping, der Anwendung von Scroll-Snapping und den Kollegen von WWSIV scrollen.
    i-Element
    Wir grenzen i gegen em ab und sinnieren über Boostrap und Accessibility

    Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

    1 hr 6 min
  • Revision 486: Corona-Apps: Vorteile und Probleme am Beispiel der Luca App

    Es ist Zeit sich auch mal den aktuellen Software-Produkten rund um die allgegenwärtige Corona-Pandemie zu beschäftigen.

    Wir sind sehr froh, dass wir Bianca Kastl (Twitter) dafür gewinnen konnten. Sie beschäftigt sich seit geraumer Zeit mit der Integration von Corona-Daten für die Gesundheitsämter und Applikationen, die in diesem Kontext auch für die Bevölkerung zur Verfügung stehen. Dabei sprechen wir vollem über die Vorteile und Probleme der Luca-App.

    Schaunotizen
    [00:03:10] Corona App – Wirkungsweise, Vorteile und Nachteile
    Um eine gute Grundlage für unsere Diskussion zu legen, sprechen wir darüber warum es Apps wie die Luca-App oder die Corona-Warn-App gibt und wie sie funktionieren. Gerade auf technischer Seite gibt es einige Unterschiede, die wir erläutern und erklären, was dabei zu beachten ist.
    [00:17:08] Probleme der Luca-App
    Die Luca-App unterstützt Geschäfte und Restaurants Gästelisten und Check-ins nachzuhalten und tritt dabei als zentraler Datentreuhänder auf. Wir gehen auf das technischen Setup der App ein, sprechen über Verschlüsselung der Daten und die Datenübermittlung an Gesundheitsämter.

    Darüber kommen wir dann auf die Probleme der App zu sprechen.

    • Offene und erratbare URLs – Related
    • Offene Keys / Schlüsselanhänger
    • Input- und Output-Sanitation
    • DoS mit Contextwechseln
    • Mehr „Fails“ der Luca-App finden sich auf der entsprechenden Website dazu.

      Keine Schaunotizen
      CSV Injection über die Luca-App
      Der erste Zeit Artikel und das Follow-up.
      Bianca als Gast beim NDR Podcast

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 12 min
    • Revision 485: ES2021 & Beyond

      Anlässlich der offiziellen Verkündung von ECMAScript 2021 fanden sich Hans, Schepp und Peter zusammen, um nicht nur die Feature-Liste des neuesten JavaScript-Standards zu rekapitulieren, sondern dabei auch etwas in Zukunft und Vergangenheit von ECMAScript zu blicken.

      Schaunotizen
      [00:00:29] Habemus ES2021
      Wir scheitern in gewohnter Manier daran, die Feature-Liste von ECMAScript ohne allzugroße Abschweifer durchzugehen. Vorweg: der Browsersupport ist gar nicht schlecht! Zum neuen String.prototype.replaceAll() haben wir nur zu ergänzen, dass es genau wie String.prototype.replace() eine Falle enthält, in die zumindest Peter schon mal getappt ist. Die besprechung der neuen Logical Assignment Operators führt uns zu den fehlenden throw-Expressions (die Peter in seiner Toolsammlung durch eine fail()-Funktion halbgar ersetzt). Numeric Separators nehmen wir einfach zur Kenntnis, während Promise.any() zu einer länglichen Debatte rund um das Wesen von Promises und Observables (eingeschlafenes Proposal, lebendige Implementierung RxJS) führt. Klassen haben mehr private-Features (in Firefox originell implementiert) und die neuen Memory-Manangement-Helper WeakRef und FinalizationRegistry werden die meisten Entwickler:innen sehr selten brauchen. Zum Abschluss wünscht sich Peter noch do-Expressions in gut (d.h. nicht wie im Proposal) sowie tmp-Variablen.

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 14 min
    • Revision 484: CSS Tücken und Tooling

      Schepp und Peter erfreuten sich in dieser Revision an der Anwesenheit von Martin Donath (Twitter, Github), der nicht nur Maintainer von Material for MkDocs ist, sondern auch daran arbeitet, mit Stylezen das beste CSS-Intellisense diesseits der Baikal-Amur-Magistrale zu erschaffen.

      Schaunotizen
      [00:00:59] CSS Tücken und Tooling
      In einem exzentrischen Orbit kreisen wir um das Thema Tools für CSS und die mit diesen Tools und/oder CSS einhergehenden Herausforderungen. Das Tool-Thema enthält neben Prä/Postprozessoren wie PostCSS, Less und Sass auch Konzepte wie BEM/ITCSS/OOCSS, konkrete Frameworks a la Tailwind und Addons wie CSS Modules. Diesen Erstellungs-Tools gegenüber stehen Analyse- und QA-Ansätze wie Visual Regression Testing (mit Varianten wie Warhol und SiteEffect) und relativ simplen Lintern. Martins Stylezen ist da etwas anders: aufbauend auf der Idee, dass CSS eigentlich eine statisch typisierte Sprache istund inspriert von Adam Argyle, wird Stylezen eine Art TypeScript für CSS (Stylezen-Extension für VS Code in Aktion). Am Rande geht es außerdem um Custom Properties, Container Queries, CSS Containment, warum niemand CSS ernst nimmt, die kognitive Komplexität von CSS, Web Components (v.a. Revision 480), Shadow DOM, Scoped CSS, Cloud Flare Workers, csstype, die absurde Komplexität von CSS Grid, Mootools und die Freuden der Webstandards-Spezifikations-Exegese.

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 31 min
    • Revision 483: Safari 15 und Browser-Extensions aller Art

      Hans, Vanessa, Peter und Schepp trafen sich unter dem Vorwand, die „Neuerungen“ von Safari 15 zu diskutieren, kamen dabei aber über Umwege auch auf Browser Extensions sowie das Pro und Contra von Bookmarks zu sprechen

      Schaunotizen
      [00:01:01] Safari 15
      Die Jünger des heiligen Steve haben anlässlich der letzten WWDC (Video) eine neue neue Safari-Version in Petto. Enthalten sind null PWA-Features, diverse UI-Updates (v.A. Tab Groups), Unterstützug für (was wir hinsichtlich der Browserunterstützung und des Dark-Pattern-Patenzials gründlich besprechen) und aspect-ratio für Iframes – ein Hack weniger!
      [00:00:00] Bookmarks und Browser-Synchronisierung
      In einem kurzen Exkurs predigt Hans mit Verve die Vorzüge vereinheitlichter Browser-Synchronisierung, speziell für Bookmarks. Peter vetritt halbherzig das Team Hirnsieb. Als Tools für Bookmarking und Wissens-Orga empfehlen wir Chrome und seine Einbauten (Hans) Pocket (Schepp) Abyss (Vanessa) und Obsidian (Peter).
      [00:00:00] Browser-Extensions und Webseiten-Eingriffe
      Außerdem neu in Safari: Unterstützung für Web Extensions, (fast) ganz wie in Chrome und Firefox! Anlässlich dessen berichtet Schepp von seinen Erfahrungen mit Chrome-Extensions-Entwicklung und schimpft besonders auf die extrem nutzlose Dokumentation. Über Extensions kommen wir zum Über-Thema „Elemente, die in Webseiten eingreifen“ (Extensions wie Grammarly, PW-Manager), die zusammen mit der allgemeinen Komplexitätszunahme (Responsive Design, Dark/Light Mode, bizarren Bugs auf allen Ebenen Entwickler:innen in den Wahnsinn treiben. Kann man dem Wahnsinn mit Tools wie Sentry, Sizzy und Polypane begegnen, oder sollten wir alle doch lieber was mit Holz machen? Hans hat die ultimative Antwort auf diese Frage …
      Keine Schaunotizen
      DOM Treemap
      Schepps in der Revision angesprochene Browser-Erweiterung, mit der man in die Tiefen seines DOM Baums auf der Suche nach den verloren DOM-Knoten hinabsteigen kann. Gibt es für Chrome und für Firefox.

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 22 min
    • Revision 482: Angular im Jahr 2021

      Nachdem es schon wieder zweieinhalb Jahre her ist, dass wir unseren letzten Blick auf Angular geworfen haben, luden wir uns Martina Kraus ein, um uns wieder auf Stand zu bringen.

      Martina twittert als @martinakraus11, ist selbstständige Beraterin, Trainerin und Sprecherin zum Thema Angular, und das nicht erst seit gestern. Zudem organisiert sie zahlreichen Meetups in der Heidelberger Region. Aufgrund dieser zahlreichen Aktivitäten ist sie mittlerweile zur Google Developer Expert (GDE) für Angular avanciert und tauscht sich dementsprechend viel mit dem Angular Core-Team zu Wünschen aus der Community und neuen Entwicklungen des Frameworks aus.

      Schaunotizen
      [00:01:00] Angular im Jahr 2021
      Die aktuell neuste Version des Frameworks ist die Version 12, die mittlerweile voll auf den Compiler „Ivy“ setzt, welcher in unserer letzten Folge vor zweieinhalb Jahren noch Zukunftsmusik war. Einer der ganz großen Vorteile von Ivy ist, dass der erzeugte Code im Gegensatz zu früher getreeshaked werden kann, was Angular-Anwendungen, die nicht von Angular bereitgestellten Features nutzen, deutlich kleiner werden lässt.

      Außerdem beschreitet das Framework einen interessanten neuen Pfad, nämlich indem es zunehmend auf TypeScript zugunsten von ES 2017 verzichtet. Das kommt insofern unerwartet, als dass Angular bei seiner Einführung 2016 als erstes JavaScript-Framework überhaupt voll auf TypeScript gesetzt hat und die anderen beiden großen Frameworks jetzt erst bei Angulars Level an TypeScript-Unterstützung angekommen sind. Auf Typinferenz muss dabei niemand verzichten, denn Angular 12 setzt auf einen neuen Modus namens „Strict“, der von der Autorin erwartet, dass alle Variablen, die an einem Template hängen, initialisiert werden müssen. Und dadurch ist dann von Anfang an klar, um was für einen Datentyp es sich handelt. Wir sind gespannt, ob andere Frameworks hier nachziehen werden.

      Nach wie vor bereitet der Umstieg vom alten Compiler auf Ivy allerdings hier und da noch Probleme, weil nämlich Angular-Libraries für beide Compiler adaptiert werden müssen. Hier gibt es aber Schützenhilfe von Tools wie dem Angular Compatibility Compiler (ngcc) – und auch Martina hat dazu dankenswerterweise einen Talk auf Lager. Zudem hat Ivy noch ein paar eher halb-offizielle Features wie Higher Order Components oder Custom Change Detection, die in Zukunft ausgereiftere Interfaces benötigen. Auch dazu hat Martina einen Talk parat!

      Eine weitere wichtige Neuerung von Angular 12 ist dass es mit Webpack 5 daherkommt. Dieses erleichtert vor allem das Orchestrieren von in Angular gebauten Micro-Frontends, was so vormals nur mit der Microfrontend-Library von Manfred Steyer möglich war (siehe dazu auch den Talk vom ihm).

      Wer nach dem Hören unserer Folge Lust auf Angular bekommen hat, dem empfiehlt Martina den Einstieg über das Angular-eigene Einsteiger-Toturial „Tour of Heroes„, oder aber die Tutorials von Maximilian Schwarzmüller, aka Academind.

      Geht es hingegen darum, Feedback los zu werden, dann schickt eine Mail an [email protected], oder wendet Euch an die DevRel Emma Twersky, oder geht den Weg über eine*n GDE wie Martina.

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 33 min
    • Revision 481: Multithreading, Web Worker, Shared Worker und Multi-Screen-Applications mit Tobias Uhlig

      Rod und Peter hatten Tobias Uhlig zu Gast, der als federführende Kraft hinter dem Framework neo.mjs einiges zu Multithreading in Webapps zu erzählen weiß.

      Schaunotizen
      [00:01:00] Worker, Tiere, Sensationen!
      Nach den üblichen Vergleichen von Tobias‘ neo.mjs mit Angular und co geht es umgehend an’s Eingemachte. Wie quatschen nicht nur über Dedicated Worker, Shared Worker und Service Worker (nebst Worker DOM), sondern auch über Message Channels bzw. Message Ports (und ihre Transferierbarkeit) und Asynchronität im Allgemeinen. Anhand von neo.mjs kauen wir Fragen von Remote Method Access, handgedengeltem VDOM und abgestuftem TypeScript-Support in modernen Tools durch. Auch über die im Jahre 2021 ggf. noch verbleibende Relevanz von Drag & Drop und Multi-Window-Apps denken wir laut nach und verweisen gegen Ende auf Tobias‘ Covid-Dashboard als eine neo.mjs-Demo.

      Diskutiert die Folge mit uns in unserem Community-Slack: https://draft.community/

      1 hr 18 min

    About Working Draft

    From the publisher's feed

    Working Draft ist der deutschsprachige Podcast für Frontend-Entwicklung, Webdesign und UI Engineering.

    More shows like Working Draft

    Bits und so by Undsoversum GmbH

    Bits und so

    26 Listeners

    Freak Show by Metaebene Personal Media - Tim Pritlove

    Freak Show

    9 Listeners

    AstroGeo - Geschichten aus Astronomie und Geologie by Karl Urban und Franziska Konitzer

    AstroGeo - Geschichten aus Astronomie und Geologie

    3 Listeners

    Geschichten aus der Geschichte by Richard Hemmer und Daniel Meßner

    Geschichten aus der Geschichte

    177 Listeners

    c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

    c’t uplink - der IT-Podcast aus Nerdistan

    9 Listeners

    Stay Forever - Retrogames & Technik by Stay Forever Team

    Stay Forever - Retrogames & Technik

    34 Listeners

    Logbuch:Netzpolitik by Metaebene Personal Media - Tim Pritlove

    Logbuch:Netzpolitik

    5 Listeners

    programmier.bar – der Podcast für App- und Webentwicklung by programmier.bar

    programmier.bar – der Podcast für App- und Webentwicklung

    0 Listeners

    Podcasts von Tichys Einblick by Tichys Einblick

    Podcasts von Tichys Einblick

    21 Listeners

    eat.READ.sleep. Der Podcast, der das Lesen feiert. by NDR

    eat.READ.sleep. Der Podcast, der das Lesen feiert.

    24 Listeners

    Finanzen ganz einfach - von Saidi, Sophie & Emil by Finanztip

    Finanzen ganz einfach - von Saidi, Sophie & Emil

    8 Listeners

    Lanz + Precht by ZDF, Markus Lanz & Richard David Precht

    Lanz + Precht

    325 Listeners

    {ungeskriptet} - Der Meinungsfreiheit verpflichtet. by Ben Berndt

    {ungeskriptet} - Der Meinungsfreiheit verpflichtet.

    45 Listeners

    KI-Update – ein heise-Podcast by Isabel Grünewald, heise online

    KI-Update – ein heise-Podcast

    9 Listeners

    Engineering Kiosk by Wolfgang Gassler, Andy Grunwald

    Engineering Kiosk

    0 Listeners