Working Draft

Wöchentlicher News-Podcast für Webdesigner und -entwickler

Spenden für Soundqualität!

Unsere Aufnahmen werden optimiert mit Auphonic.
Flattern oder direkt bei Auphonic spenden.

Revision 262: News, Glücksrad, Links

16. Mai 2016 | Keine Kommentare

In Ermangelnung großer Themen ließen Stefan, Schepp, Peter und Anselm mal wieder das Glücksrad rotieren.

[00:00:15] News

Geolocation API removed from unsecured origins in Chrome 50
Ab jetzt gibt es Ortung nur noch mit HTTPS.

[00:00:46] Glücksrad

window.open()
Popups, blast from the past! Wir erinnern uns an die seltsamen Parameter dieser Funktion (die interessanterweise in einer CSS-Spezifikation festgehalten sind) sowie an rel=noopener.
CSS Marquee Module Level 3
Stellt sich raus: das gibt‘s gar nicht.
CSS Scroll Snap Points
Kurze Diskussion über Sinn und Zweck der Scroll Snap Points, die zwei verschiedenen Spezifikationsversionen und Vorreiterrolle des IE.
Microdata
Erfolgloser Versuch, zwischen Microformats, RDFa und HTML5-Microdata den Überblick zu behalten. Anschließende Grundsatzdebatte über Semantik (und JSON-LD), SEO (und schema.org) und Standards.
CSS Round Display
Wurde bereits in Revision 236 für mehr so mittelgut befunden.
a href=“https://www.w3.org/TR/css3-hyperlinks/“>CSS3 Hyperlink Presentation Module
Ein weiterer ad acta gelegter Spezifikationsentwurf.
Cascading Style Sheets, level 1
Wir bewundern das revolutionäre Frühwerk der Standards-Entwicklung.

[00:53:33] Keine Schaunotizen

Caching best practices & max-age gotchas
Jake Archibald in gewohnt lehrreich-humorvollem Stil.

Revision 261: SVG Icons, Element/Container Queries

16. Mai 2016 | 1 Kommentar

Anselm, Schepp und Stefan nehmen sich zwei herumsurrende Artikel als Anstoß für ein ausgedehntes Plaudern aus dem Nähkästchen.

Schaunotizen

[00:00:27] Converting Font Icons to SVG
Sara Soueidan erklärt den Icon Fonts den Tod mit diesem ausführlichen Migrations-Guide. Wir sprechen über unsere Erfahrungen und den Problemchen, loben aber auch gleichzeitig neue Workflows und ein viel „sauberes“ Entwicklungserlebnis.
[00:25:20] Container Queries: Once more unto the breach
Media Queries sind fein, man stößt allerdings schnell an seine Grenzen wenn man nicht das gesamte Bild betrachten möchte, sondern im Detail pro Komponente das Look and Feel bestimmen möchte. Container Queries sind der Titel einer neuen Spezifikation, die sich genau um solche Dinge kümmern wollen. Wir erklären warum die ehemals genannten „Element Queries“ nun anders heißen, welches grundlegende Problem mit dieser Neubenamsung umgangen wird und wie man sie heute schon einsetzen kann. Schepp zum Beispiel schwört auf diesen Polyfill.

[00:51:21] Keine Schaunotizen

Hotel
Hotel lässt alle eure Entwicklungsserver und die damit verbundenen Host-Einträge bequem über eine Weboberfläche verwalten.
Riot.js
Eine User Interface Bibliothek, die sich an React hält aber mit deutlich geringerem Footprint auskommt.
Stylefmt
Coding Guidelines sind wichtig, sie einzuhalten kann schwer sein. Stylefmt formatiert eure Stylesheets nach einem festgelegten Regelwerk. Pre-Commit-Hook, und fertig ist die Einheitlichkeit.
Rollupify
Rollup ist groß. Browserify ist groß. Beides zusammen gibt laut Engineering-Meister Rodney in seinem Projekt über 40% Platzeinsparung. Hossa!

Revision 260: Spezifikations-Neuheiten

1. Mai 2016 | 1 Kommentar

Zwei Änderungen in der Spezifikation sorgen für den nötigen Gesprächsstoff in der nächsten Stunde. Rodney, Hans und Stefan stellen sich Fragen zur HTML Sektionierung und JavaScript Modulen.

Schaunotizen

[00:00:20] H1-H6 statt beliebiger Sektionsverschachtelungen
Die wunderbaren Möglichkeiten des HTML5 Outlining Algorithmus. Großartiges wurde von ihm erwartet, die Implementierung auf Seiten der Werkzeugshersteller und Webseiten-Entwickler hält sich allerdings in Grenzen. Schade, wie wir finden. Wir resümieren über unsere eigene Verwendung und hinterfragen den Entscheid, ob es gut ist die <section> Verschachtelung als Best Practice Beispiel aus der Spezifikation zu nehmen. Denn nach einem Herausnehmen folgt meistens ein Vergessen …
[00:26:57] Adding JavaScript modules to the web platform
JavaScript Module! Wir reden hier nicht von Entwicklungsmustern oder Werkzeugs-Gedöhns, sondern vom echten Zeug: JavaScript Module im Browser. Was bringt die Spezifikation, warum hat es so lange gedauert, und wie schaut die Zukunft damit aus. Rodney steht unseren Fragen Rede und Antwort.

[00:44:26] Keine Schaunotizen

JS Kongress
In München steht ein Kongresshaus. Eins, zwei, JavaScript. 2 Tage, 16 Speaker, Brezen. Stefan ist dort.
Service Worker Toolbox
Die Service Worker Toolbox bringt Express-ähnliches Routing und Standardfunktionalität wie „Netzwerk zuerst! Cache danach!“. Erleichtert die Arbeit für Standard-Tasks.
EmberConf 2016
Das Stefan nicht alleine mit seiner Ember.js Freude ist zeigen die Videos der EmberConf. Mindestens 20 andere Menschen auf diesem Erdball nutzen das Framework. Leute, die gerne mehr darüber lernen wollen, sollen sich diese Case Studies sehr detailliert anschauen.

Revision 259: React Entwicklung und Frontend Einstieg

18. April 2016 | 5 Kommentare

Da die Stammbesetzung diesmal extrem spärlich besetzt und zudem unsere Themenauswahl begrenzt war, lud sich Anselm für die Sendung Max Stoiber ein, um über React Entwicklung und den mittlerweile nicht mehr so einfachen Einstieg in die Front-end Entwicklung zu sprechen.

[00:00:54] News

Grunt 1.0.0
Endlich ist die stabile Version 1.0.0 von Grunt veröffentlicht worden, die jede Menge Bugs behebt und Kleinigkeiten verbessert.

Schaunotizen

[00:02:10] React Boilerplate
Wir nehmen das von Max entwickelte React Boilerplate als Anlass, um über React Application Development zu sprechen und kämmen hier den gesamten Stack durch: Wir beginnen bei Erleichterungen im Workflow, Refactoring hin zu allumfassenden Components und die Erfahrung, die Max machen konnte. Wir sprechen über Component Generators, Server-Side Rendering, CSS Modules und versuchen zu lösen, warum so viele React Applications nur mittelmäßigen Code ausgeben.
[00:22:10] „… nobody has a clue what they’re doing”
ist ein Statement von Max, als er von einem Junior-Developer gefragt wurde, ob er sich auf eine Stelle bewerben solle, weil er die Anforderungen nicht ganz erfüllen könne. Wir sprechen über den Einstieg in die Frontend Entwicklung, die heutigen Hürden dabei und warum es
wohl keinen Frontend Entwickler geben wird, der von sich behaupten kann, alles zu wissen. Abschließend sehen wir in die Zukunft und erzählen, wie wir uns diese vorstellen.

[00:41:29] Keine Schaunotizen

Why you should enforce Dangling Commas for Multiline Statements
Max hat uns noch einen Link mitgebracht, in dem erklärt wird, warum Dangling Commas durchaus sinnvoll sein können.

Revision 258: Das npm Debakel und warum wir so lahme Seiten bauen

17. April 2016 | 8 Kommentare

Schepp, Peter und Anselm erklären nochmal, was beim npm-Gate so abging und warum wir endlich mal vorher nachdenken sollten, wie wir Tools und Workflows aufbauen, statt erst dann, wenn es zu spät ist. Und danach nehmen wir uns gleich noch ein Thema vor, was nach wie vor spannend bleibt: Warum bauen wir so lahme Seiten, vor allem für mobile Endgeräte?

[00:00:11] News

Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10
Was sollen wir noch dazu sagen, außer: Endlich! Und: Das ist großartig!

Schaunotizen

[00:00:47] Left-Pad / npm-Gate
Der Entwickler eines npm Moduls für eine Left-Pad Function hat selbiges ge-unpublished und damit das halbe Internet kaputt gemacht. Da leider Babel und viele andere Projekte dieses als Dependency verwendeten, schlugen sofort alle CI Systeme fehl. Daraus entstand eine hitzige Debatte um kleine Module in JavaScript, npm und Workflows an sich. Wir sprechen darüber und versuchen herauszufinden, wie wir robustere Workflows bauen können ohne Module nur zu copy-pasten. Seitdem gibt es eine neue npm unpublish policy, Lösungs-Ansätze und auch direkt neue npm Problemchen. Aber da wäre ja auch noch Bower und auch sowas wie das relativ unbekannte IPFS, was sich ziemlich gut als distributed package manager eignen würde.
[00:28:38] The Chrome Distortion: how Chrome negatively alters our expectations.
Diesen doch sehr fraglichen Artikel-Titel haben wir zum Anlass genommen, zu hinterfragen, warum wir überhaupt feststellen können, dass mobile Browser langsam sind und ob das überhaupt die Ursache des Problems ist? Wir kommen selbstverständlich zu einem ganz anderen Schluss, denn wir bauen einfach immer unnötig größere Seiten, mit vielen unnötigen Spielereien. Trotzdem versuchen wir, unsere Verantwortung dann am Ende auf die Browser zu schieben, einfach um uns besser zu fühlen. Letztendlich sprechen wir auch noch über Projektmanagement und Verantwortung als Entwickler, sowie Hardware, die Nicht-Entwickler besitzen.

[01:28:48] Keine Schaunotizen

link rel=noopener
Ein neues Attribut, um zu verhindern, dass window.opener durch nutzergenerierten Inhalt missbraucht werden kann.
A kick-start into server push
Ein leicht verständlicher Artikel zum Thema Server Push.
Node.green
Eine coole tabellarische Aufstellung, welches ECMA-Script Feature in welcher Node Version unterstützt wird.
Referrer and cache control APIs for fetch()
Auch wenn es noch ein klein wenig dauert, bis zum Firefox 48 Release, finden wir diese Features äußerst hilfreich und ihr könnt gleich mal anfangen, das zu nutzen.

Revision 257: Contentful – Das API-first CMS

30. März 2016 | 5 Kommentare

Es war mal wieder an der Zeit, dass wir uns Gäste zur Verstärkung ins virtuelle Studio holen. Nachdem sich die letzten Revisionen viel um Content Management Systeme die Arbeit als Frontend-Entwickler mit ihnen gedreht haben, lag es nahe, dass wir uns mal mit den Leuten hinter dem rein API-basierten „headless“ CMS Contentful unterhalten. Aus Berlin zugeschaltet waren Rouven Weßling und Thomas Scholtes.

Wir redeten über die Idee hinter dem CMS und seine Aufteilung in ein Multiuser-Fähiges Backend und fünf Teil-APIs:

Wir erfuhren außerdem weitere schöne Details, nämlich dass Contentful Mehrsprachigkeit, respektive Lokalisierbarkeit ermöglicht. Und auch dass man mit Hilfe der Content Delivery Sync API seine Daten zur Offline-Speicherung im Client regelmäßig abgleichen kann. Wohlwollend nahmen wir zur Kenntnis, dass Rich Content ausschließlich im Markdown-Format verarbeitet wird. Mehrere Seiten lassen sich mit Hilfe von Spaces unter einem Account betreiben. Volltextsuchen sind dank der Search API leicht zu implementieren. Und es lassen sich Webhooks einrichten, die jedes Mal getriggert werden, wenn Inhalte aktualisiert wurden.

Wer nun Blut geleckt hat: Contentful bietet für den schnellen Einstieg eine Reihe von fertigen SDKs und Plugins für JavaScript und alle gängigen serverseitigen Sprachen sowie für diverse Frameworks, native Plattformen und statische Seitengeneratoren.

Zu guter Letzt wiesen wir noch auf ein interessantes Gast-Posting im Firmenblog hin, wo beschrieben wird, wie man mit Contentful und Snipcart sogar ein Shopsystem abbilden kann.

Der einzige Nachteil, den wir während des ganzen Gesprächs an dem CMS ausmachen konnten: Durch die Art und Weise des Hostings lässt sich nicht sicherstellen, dass Inhalte ausschließlich in Europa gespeichert sind (zumindest derzeit).

Wir sind beeindruckt. Salespitch bestanden!

Revision 256: Arbeiten mit einem CMS – Berichte aus der Praxis

21. März 2016 | 1 Kommentar

Zur Revision 256 ergab es sich, dass wir uns eine ganze Sendung lang einer Hörerfrage widmeten, welche uns im Rahmen der Revision 253 – CMS, CMS, CMS! gestellt wurde.

Schaunotizen

[00:00:36] Hörerfrage CMS-Workflow
Ein Hörer, Tilman, fragte, wie wir denn mit unterschiedlichen Bereichen bei der Webseiten-Entwicklung umgehen, wenn wir mit Content Management Systemen arbeiten. Wir sprechen darüber, welche CMS wir verwenden, welche Rollen wir in diesen Projekten einnehmen und wie wir moderne Frontends im Zusammenspiel mit fast jedem CMS bauen können.

[00:51:39] Keine Schaunotizen

Styling broken Images
Bilder, die nicht geladen werden können, sehen meistens etwas „zerschossen“ aus. Mithilfe dieses Tutorials lässt sich da Abhilfe schaffen.
Material Conference 2016 in Island
Dieses Jahr wird erstmalig die Material Conference stattfinden. Eine Konferenz, die das Web als „Material“ untersucht. Die Veranstalter brauchen eure Hilfe und haben eine Kickstarter Campaign ins Leben gerufen. Schaut’s euch mal an.

Revision 255 – Hack the Planet!

13. März 2016 | 3 Kommentare

Hans und Peter hatten keine Themen, also plauderten sie ein wenig über die diversen Hacks, die sie in ihren langen und ruhmreichen Frontendler-Karrieren so auf die Browser-Welt losgelassen haben.

Schaunotizen

[00:00:09] Hack the Planet

Angestoßen durch lave, eine Art JSON für ganz harte (und wohl eine Ergänzung zum Structured clone algorithm), pflügen Hans und Peter durch ihr Hack-Archiv. Angefangen bei klassischen CSS-Hacks über Conditional Comments und dem hasLayout-Allheilmittel zoom: 1 geht es recht bald zum Thema Clearfix und seinen divseren Permutationen im Wandel der Zeit (Hans schwört auf overflow: hidden). Peters Lieblings-CSS-Hack bleibt hingegen .wichtig, .egal:not(.egal){}. In Folge betreten wir das Feld der HTML-Hacks, spekulieren über Details im head– sowie über Anwendungsfälle des noscript-Elements. Da data-Attribute letztlich auch nur die Großzügigkeit des HTML-Parsers ausnutzen, sortieren wir diese (speziell ohne data-Präfix) auch in der Hack-Rubrik ein. Wir beenden das Thema mit Erzählungen aus der React-Hackerei, erwähnen neben dem Universal-Schlangenöl setTimeout(fn, 0) auch das modernere setImmediate(fn) und hören auf, bevor wir auf noch schrägere Hacks als Peters Funktionsverasynchronisierungslibrary zu sprechen kommen.

[00:43:30] Keine Schaunotizen

tbranyen/diffhtml: Easily swap out markup with an intelligent virtual dom
Für alle, denen React zu High-Level ist.

Revision 254: Progressively loaded CSS, Grunt 1.0

4. März 2016 | 3 Kommentare

Der wöchentliche News-Podcast hat wieder mal Neuigkeiten! Nebenbei wird noch über progressives Laden von CSS Dateien philosophiert. Anselm, Hans, Schepp und Stefan diesmal im Boot.

[00:00:25] News

Grunt 1.0 Release Candidate
Nein! Doch! Oh! Oder: Die Hölle friert zu und Node kommt ohne Dependencies aus. Grunt 1.0.0. bringt das verwaiste Projekt auf den aktuellen Stand mit NPM, löst einige bekannte Bugs und ist ein wichtiger Schritt zur Reanimation des Projektes. Statt dem Big Bang gibt’s jetzt die bekannte API gesichert und veröffentlicht.
Touch Action CSS Property
Die touch-action CSS Eigenschaft bekommt Browserreichweite. Hier gibt’s Informationen dazu.
Transitioning from SPDY to HTTP2
Chrome schmeißt in absehbarer Zeit SPDY raus. Hier gibt’s Informationen für Leute, die ihre Server noch damit betreiben.

Schaunotizen

[00:04:10] The future of loading CSS
Jake Archibald beschreibt eine gravierende Änderung in Chromes Lade- und Renderstrategie für blockierende CSS Dateien. Diese Änderung (die in Edge schon so umgesetzt wird) erlaubt, CSS auch an anderen Stellen als dem Head zu laden und so progressiv Stylesheets für gewisse Bereiche der Website nachzuladen. Jake belegt dies mit einem entsprechenden Demo und einigen Use Cases. Wir beleuchten die Vor- und Nachteile und diskutieren über Properties wie lazyload und postpone

[00:24:54] Keine Schaunotizen

Finessing feColorMatrix
Una beleuchtet SVG Filter Eigenschaften bis ins äußerste Detail.
New ways to make your web app jank with Houdini
Houdini, eine Einführung. Hier gibt’s massiv Informationen und erste Code-Beispiele zum erweiterbaren CSS Standard.
Creating Fun and Immersive Audio Experiences with Web Audio
Die Web Audio API kann viel. Hier findet man ein paar gute Beispiele und Anwendungsfälle.
The Fab Four technique to create Responsive Emails without Media Queries
Eine sehr einfache, aber doch effektive Implementierung von Element Queries mit calc, min-width und max-width .
Art directed responsive images
Automatische Art Direction für responsive Images? Hier.

Revision 253 – CMS, CMS, CMS!

28. Februar 2016 | 12 Kommentare

Obwohl es nicht die Kernkompetenz von Anselm, Stefan und Peter ist, waren diese Revision mal wieder Content Management Systeme dran. Dazu kommen die üblichen drei Links.

Schaunotizen

[00:00:10] CMS, CMS, CMS!
Cory Etzkorn hat mit Choosing the Best CMS einen langen, detaillierten Artikel über Content Management Systeme geschrieben, an dem wir uns entlang hangeln. Stefan ist ein Fan des flexiblen Craft CMS – außer richtig guten Lösungen für Mehrsprachigkeit und Content Staging fehlt es an nichts. Einigkeit herrscht darüber, dass unter den Homepage-Zusammenklick-Baukästen Squarespace der beste Baukasten ist. An WordPress finden wir besonders die Vielfalt und Flexibilität beeindruckend, speziell dass man mit sehr wenig Fachwissen sehr weit kommen kann. Während keiner von uns Siteleaf kennt, können wir umso mehr positives über Kirby (kleines textbasiertes CMS) sagen. Der nerdige statische Seitengenerator Jekyll wird gerade von Peter evaluiert, doch vor Langsamkeit und Ruby-Gefrickel wird gewarnt. Für Software-Nerds ist die Kombination von Jekyll mit Github Pages sehr zu empfehlen, jedoch ist es prinzipbedingt nicht unbedingt kundentauglich. Das gilt auch für das ähnliche Middleman, das einem noch mehr Ruby-Skills als Jekyll abverlangt. Zum Ende geben wir noch unsere gänzlich unfundierten Meinungen und Vorurteile zu Drupal, Typo3, Joomla, MODx und Perch zum Besten. Als kostenlose Geschäftsidee offerieren wir das Konzept Static Site Generator als App mit gegenüber klassischen CMS klaren Vorteilen bei Sicherheit und Performance.

[00:56:31] Keine Schaunotizen

Investigating the overhead cost of compiled es2015
Konkrete Zahlen zum Aufbläh-Effekt von JS-Transpilern.
CSS Variables: Why Should You Care?
Kurzer Überblick. Anlass: demnächst auch in Chrome!
Let’s Encrypt Smart Renew.sh
Damit das Zertifikat auch in Zukunft schön knackig und frisch bleibt.