DotCSS / DotJS sessies

DotCSS talks

Variable fonts – Mandy Michael

Mandy Michael vertelde over variabele fonts. Klassieke fontfiles hebben een setje varianten in zich, variabele fonts kunnen worden aangepast met een soort api. De maker van het font kan allerlei karakteristieken variabel maken, de ontwikkelaar kan al die variabelen in real time wijzigen. Op deze manier kunnen teksten op indrukwekkende manier geanimeerd worden, wat getoond werd met talloze voorbeelden. Ook hier mist de praktische toepassing, maar erg leuk om te zien wat er mogelijk is.

Whitespace in CSS – Florian Rivoal (lid van de CSS working group).

Florian vertelde over de implementatie van verschillende whitespace-opties die CSS heeft, maar vaak ongebruikt blijven. Wanneer moeten woorden afgebroken worden, wanneer zeker niet? Talloze opties werden besproken, maar het belangrijkste om mee te nemen:

‘Er zijn heel veel opties, er is waarschijnlijk een optie die beter doet wat je wilt dan wat de standaard doet, zoek dit eens uit.’

Image manipulatie wiht SVG – Sara Soueidan

De sessie van Sara Soueidan begon een beetje vreemd: ‘CSS kan veel op het gebied van afbeeldingen, maar SVG kan veel meer.’

Vervolgens liet ze zien hoe ze enkele vrij geavanceerde photoshop-effecten kon reproduceren door wat svg-filters in de juiste volgorde toe te passen. Sara praat/ratelt enorm snel en het was soms moeilijk om bij te houden wat er precies gebeurde, maar de resultaten waren indrukwekkend. Hoewel ik weinig use-cases kan bedenken voor deze uitgebreide effecten, ben ik wel nieuwsgierig geworden om ze eens uit te proberen.

Read color hex codes – David DeSandro

David DeSandro is een kleurenblinde frontend-ontwikkelaar die vertelde hoe hij kleurcodes ontcijfert. Hij leerde in deze sessie de hele zaal hetzelfde, door de hex-code in drie stappen te ontcijferen tot kleur, verzadiging en felheid. Met het gebruik van HSL wordt het makkelijker om verschillende tinten van dezelfde kleur te verkrijgen: Het aanpassen van felheid is genoeg. Leuk om eens te doen, maar als niet-kleurenblinde is het denk ik sneller om een tool te gebruiken die de kleur gewoon laat zien.

I18n (internationalization) – Elika J. Etemad (Spec-writer in de CSS working group)

Elika vertelde over de ingewikkelde problemen die komen kijken bij internationalisatie. Vertaling en de juiste valuta-tekens zijn vrij triviaal, maar de tekstrichting van verschillende talen maken dingen al snel interessant. Zeker als er delen van die tekst in een andere taal, en dus andere richting staan, en midden in dat gedeelte een regeleinde terecht komt, is het lastig om te bedenken wat waar moet komen te staan. Interessant om eens te zien wat er allemaal bij komt kijken.

Breaking the norm with creative – Aga Naplocha

Aga Naplocha sloot de dag af met een sessie over brutale styling. Sites die normen aan hun laars lappen zijn haar favoriet, ze gaf een aantal pagina’s waar je even moet zoeken wat de bedoeling is, zoals de site van het Stedelijk Museum Amsterdam. Er werden enkele technieken genoemd die essentieel zijn voor deze stijl websites. Vooral interessant voor de ontwerpers, maar ook ontwikkelaars werden uitgedaagd na te denken over wat er allemaal kan.

What CSS taught me – Dan Cederholm

Met ruime ervaring bij grote tech-bedrijven was Dan Cederholm de juiste persoon om wat te reflecteren op zijn css-carriere van de afgelopen 15 jaar. Hij vertelde hoe hij Wired news gemaakt heeft, de eerste website die puur dmv css gestijld werd en niet meer via html, maar ook hoe hij Twitter had afgeslagen omdat hij er geen brood in zag. Geen technisch inhoudelijk verhaal, wel heel interessant.

Bridging the gap – Natalya Shelburne

Natalya Shelburn werkt voor de NY Times en geeft les op Harvard. Zij vertelde hoe ingewikkeld CSS eigenlijk is, omdat het op het snijvlak ligt tussen ontwerp en ontwikkeling. Ontwerpers hebben meestal moeite met de code, ontwikkelaars missen variabelen, scopes en een logische volgorde. Het verhaal ging over hoe die twee werelden bij elkaar gebracht kunnen worden. Een voorbeeld is een project geven waarbij iedereen een taak op zich neemt die het verst van zijn/haar expertise af ligt. De backend-specialist doet de grafische vormgeving, de front-ender gaat voor de SEO, de business analist richt de gitrepo en database in, etc. Leuk experiment.

Lightning talks

CSS counters – Roman Kamarov

Roman focust in zijn lightning talk op de kracht van CSS Counters, en liet zien hoe hij GO had geprogrammeerd met uitsluitend html en css.

HTML Order – Fabien ZIbi

Fabian hield een kort betoog om CSS niet te gebruiken om de volgorde van elementen te veranderen, omdat je zo screenreaders buitenspel zet.

Accessibility – Hugues Tennier

Hugues, de laatste ‘lightning speaker’, vertelde ook over accessibility, maar juist hoe css slechtzienden kon helpen door op de juiste plekken de juiste contrasten toe te voegen.

DotJS

DotJS begon de volgende dag al om 9:30 met een ontbijt. DotJS is in dezelfde hal, alleen de entree was anders ingericht met meer stands van sponsors. Deze dag waren er 1500 deelnemers aanwezig, die direct een muzieksessie van een DJ voorgeschoteld kregen.

State of JS 2018 – Sacha Greif

Sacha Greif van State of JS trapte de dag af. Zij houden jaarlijks een grote survey over alles wat met javascript te maken heeft. Op DotJS presenteerden ze (voor het eerst, een primeur!) de resultaten van de 2018 survey. Zo plotten ze de populariteit van verschillende technieken, frameworks en libraries. Vooral de vergelijking van Angular, React en Vue was verrassend. Een stoffige lijst van statistieken werd interessant gebracht.

TypeScript – Anders Hejlsberg

Anders Hejlsberg, de geestelijk vader van Typescript kwam de dag afsluiten met een rondleiding door zijn indrukwekkende carriëre. Hij stond aan de wieg van C#, Delphi, TurboPascal en vrij recentelijk dus aan die van Typescript. Hij vertelde waarom TS ontwikkeld is, welke problemen ze tegenkwamen en welke trucs er gebruikt zijn om de gebruikservaring zo goed mogelijk te maken. Een erg interessant en goed gepresenteerd overzicht, voor als je wat meer van de achtergrond van TypeScript wil weten.

Top-level await – Myles Borins

Myles Borins nam de zaal mee in de procedure om iets toegevoegd te krijgen aan de Javacript specs. In zijn geval een top-level await om overal asynchrone functies aan te kunnen roepen. Zijn sterke presentatie gaf een leuke inkijk in de keuken van Javascript spec-writing, een aanrader om eens te kijken.

JavaScript on the Desktop Fast and Slow – Felix Rieseberg

Felix Rieseberg van Slack vertelde hoe React steeds meer opduikt buiten de browser, bijvoorbeeld in Battlefield en de Adobe producten. Javascript heeft buiten de browser niet meteen een positief beeld neergezet. Veel mensen kijken meteen naar Electron (Slack app anyone?) en denken daarbij aan langzame geheugen-vretende applicaties. Bij Slack zijn ze veel bezig met het optimaliseren van hun applicatie en daar blijken enkele onverwachte dingen bij te komen kijken, zeker als je wilt optimaliseren voor geheugengebruik, batterijduur en/of snelheid. Felix kon vanuit zijn ervaringen bij Slack vertellen over enkele problemen zie zij tegen zijn gekomen en hoe hij ze heeft opgelost.

Minecraft – Tobias Ahlin

Tobias Ahlin, UI designer van Minecraft verzorgde de tweede sessie. Hij vertelde hoe ze een JS runtime in Minecraft hebben geimplementeerd, om de outdated UI te vervangen, en welke problemen ze daarbij tegenkwamen. Het uiteindelijke doel was om gemakkelijker developers aan te kunnen trekken, omdat die voor JS meer beschikbaar zijn. Het niveau van de slides en presentatie was erg hoog.

Choosing your framework – John Papa

Als Web Developer bij Microsoft vertelde John Papa hoe hij kiest welk framework of welke libraries hij wil gebruiken. Zijn belangrijkste boodschap was dat je ze allemaal eens uit moet proberen en gewoon moet kijken hoe prettig ze werken. Dat was een aardige anticlimax in een verder interessant verhaal.

Learning to Love Type Systems – Lauren Tan

Lauren Tan, Engineering Manager van Netflix, kwam vertellen waarom ze bij Netflix voor Typescript gekozen hebben. Hoewel het verhaal nogal monotoon verteld werd, was de analogie van een spin in je code wel pakkend: bugs worden makkelijker gepakt, maar nu moet je wel een spin in je code ‘verzorgen’.

HTTP/2 – Tara Z. Manicsic

Tara Manicsic had een presentatie over HTTP/2. Het probleem van HTTP/2 is dat iedereen het wil, maar nog maar zeer weinig servers het gebruiken. Tara deed voor hoe het in Apache ingesteld moet worden, maar dat hielp mij in ieder geval weinig. Het kwam dus neer op een soort overview hoe het er nu voorstaat, maar weinig aanknopingspunten om verder te komen.

JS Runtime – Kurt Mackey

Kurt Mackey vertelde over het proces van het implementeren van een CDN met JavaScript. Het verhaal was lastig te volgen, maar ging diep in over het modificeren van Javascript Runtimes om Javascript snel genoeg te kunnen uitvoeren om een CDN te draaien. Pas halverwege had ik door wat hij überhaupt probeerde te vertellen.

Robot rock – Devon Lindsey

Na de laatste pauze van de dag kwam Devon Lindsey van Apple laten zien hoe ze Javascript had gebruikt om robotjes aan te sturen via Bluetooth. Ze gaf zelf al aan dat dit niet de ‘right tool for the job’ was, toch probeerde ze de robots synchroon te laten dansen. Synchroon moesten we helaas met een flinke korrel zout nemen. De presentatie zelf viel ook wat tegen.

Lightning talks

Asynchronous hamburgers – Joost Lubach

Joost Lubach (Nederland!) oogstte veel succes met zijn fastfood-analogie om asynchroniteit uit te leggen aan zijn studenten, waarin ook de verschillende manieren hoe JS daarmee omgaat een plekje kregen

Chrome debugger – Adam Weeks

Adam Weeks demonstreerde hoe je de Chrome Debugger (nog beter en efficienter) kan gebruiken om code te debuggen. Een belangrijke voorwaarde is wel dat je non-minimized/obfuscated code beschikbaar hebt, anders is het erg lastig debuggen.

Yarn – Maël Nison

Maël Nison vertelde hoeveel cooler Yarn is ten opzichte van NPM

Boilerplates – Roy Derks

Roy Derks (Nederlander) belichtte de voor- en nadelen van het gebruik van boilerplates.

Promises & composition – Kashyap Kondamudi

Kashyap Kondamudi liet zien hoe hij met promises omgaat, om de door hem genoemde ‘Triangle of death’ (ook wel callback hell) te voorkomen.

Give me your content, punk! – Jeremias Menichelli

Jeremias Menichelli betoogde een alternatief voor webfonts, met een focus op asynchronisiteit.

WebAssembly- Tejas Kumar

Tejas Kumar gaf een vergelijking tussen JS en WebAssembly en hoe hij de toekomst van beide voor zich ziet.

WebUSB – Tim Pietrusky

Tim Pietrusky (één van de DJ’s van die ochtend) vertelde hoe hij WebUSB gebruikt om Arduino’s aan te sturen.

Offscreen Canvas – Sam Wray

Sam Wray wilde een demo geven over Offscreen Canvas. Hij gebruikt offscreen canvas voor het renderen van (geavanceerde animaties). De demo zelf mislukte in eerste instantie omdat niet alles offline beschikbaar was. Hij kreeg later de mogelijkheid om de demo over te doen.

Command Query Responsibility Segregation – Olivier Loverde

Olivier Loverde sprak over het CQRS pattern