I’m Just An Old Guard Dev In A New Guard World

A presentation at Web Clerks in November 2019 in Vienna, Austria by Charlie Owen

Slide 1

Slide 1

Web Clerks Communiy Conf 2019

  • Charlie Owen
  • sonniesedge.net
  • @sonniesedge

Slide 2

Slide 2

Who are you?

  • I’m Charlie. You might know me from the World Wide Web.

Slide 3

Slide 3

Berlin

  • I live in Berlin. The most sophisticated place on earth.

Slide 4

Slide 4

sonniesedge

  • sonniesedge.net is where I live online.
  • I’m a big believer in the indieweb.
  • “sonniesedge” is also my handle on every locked in platform

Slide 5

Slide 5

Grandma

  • I’m here to confess to you that I’m a grandma.
  • I’ve been in this industry for over 20 years now.

Slide 6

Slide 6

Cool grandma

  • Not the cool kind of grandma.

Slide 7

Slide 7

Bad grandma

  • But the bad kind of Grandma
  • The one who likes to remind you how bad her leg feels, how you never visit her.
  • I’m a miserable old grandma because of all I’ve experienced.

Slide 8

Slide 8

Woman in tech

  • Things such as being a woman in tech. Still not that many of us.

Slide 9

Slide 9

Older woman in tech

  • And being an older woman in tech.
  • I’m in my 40s now. Which is absolutely ancient for tech people.
  • There are almost no women my age in this industry. :(

Slide 10

Slide 10

Non-neuronormative woman in tech

  • I’m non neuronormative.
  • I suffer from severe depression and anxiety
  • I have ADHD.
  • For these I take a lot of medication just to get to the same level as the rest of you.

Slide 11

Slide 11

Gay non-neuronormative woman in tech

  • I’m very very gay
  • Which we’d love to think is happy and accepted.
  • But you try working at a gay woman with a bunch of insecure straight boys and you’ll see what it’s like.

Slide 12

Slide 12

Gay transgender non-neuronormative woman in tech

  • I’m trans
  • I transitioned medically and socially when I was 18.
  • We generally don’t do that well or live that long due to severe discrimination and mental health, so I am grateful to be here still over 2 decades later.
  • I’m out about this because there’s so much hate against us. - I want to show we’re everyday idiots just like everyone else.

Slide 13

Slide 13

Win

  • All of this together gets me some kind of prize at intersectionality bingo

Slide 14

Slide 14

Damn Social Justice Warriors

  • Why mention all these? We’re talking about tech, no?
  • To be honest, it’s because it makes some of you deeply uncomfortable.
  • And more importantly, they are part of me. They have informed my work life.
  • All my career has to be viewed through that lens.

Slide 15

Slide 15

I've seen webpages on fire off the shoulder of Orion

  • And what a time I’ve had in this career. I’ve seen some stuff since I started in this industry in the 90s.

Slide 16

Slide 16

The 1990s

  • And we should talk about the 90s. I know it’s trendy now But to those of us who lived in that era… well, it was shit.

Slide 17

Slide 17

Friends

  • We had absolutely fucking awful sitcoms.

Slide 18

Slide 18

Windows 95

  • We had ugly ass operating systems.
  • I know this was innovative back then. But it’s awful to look at now.

Slide 19

Slide 19

Video tape

  • And the only way to watch anything recorded was via spinning loops magnetised tape at high speed.

Slide 20

Slide 20

WIndows 95 Video Guide, featuring Matthew Perry and Jennifer Aniston

  • If you were REALLY unlucky you experienced all of these at the same time.

Slide 21

Slide 21

Could this BE any more Microsoft?

  • Go look this video up if you ever get chance. Absolutely fantastically awful.

Slide 22

Slide 22

The WWW in the 1990s

  • The web back then was just as awful
  • I guess “Awful” is unfair. It was only just born! How many of you were amazing at only 1 year old?

Slide 23

Slide 23

Font tags

  • But it WAS really different. Can’t deny that.
  • No CSS! HTML itself dictated how page looked.

Slide 24

Slide 24

3 Column Layouts

  • We actually used to use HTML for layout. Again, no CSS.

Slide 25

Slide 25

3 Column Layouts using tables

  • We used tables. Which is awful from an a11y perspective.

Slide 26

Slide 26

Widths in table cells

  • There were many problems. But a big one was setting width on a column. No browser honoured it.

Slide 27

Slide 27

Shims and table cell widths

  • So we had to prop them open.
  • See the img tag? We used it as a “shim”.
  • A tiny 1x1 pixel gif.
  • Because browsers did honour widths on images.

Slide 28

Slide 28

Jacking open table cells with images

  • We had to jack open our awful table layouts.
  • Right from the start we were having to use hacks.

Slide 29

Slide 29

This is still used

  • Actually this layout technique is still used! Where?

Slide 30

Slide 30

Emails still use table layouts

  • Email templates!
  • Because we have apparently cursed ourselves as an industry and earned a thousand years of Email engine hell.

Slide 31

Slide 31

Java Applets

  • So, when I first started this was the only way to get interactivity.
  • This was a chunk of a Java app that we dumped onto a page.
  • Seriously: Java. Not JavaScript.

Slide 32

Slide 32

Java Applets

  • We used to use it for really important things like this.
  • We had to compile a java app manually, and upload it to the server.

Slide 33

Slide 33

Object

  • New standard: OBJECT.
  • Remember, JS still non existent or shit around this time.
  • Any app could now be inserted.

Slide 34

Slide 34

Macromedia Flash

  • In reality only Macromedia flash.
  • It was a GUI app - multimedia based applications.
  • Had to compile the resulting file.
  • But was first time that actual designers were drawn to the web.
  • Suddenly interesting layouts, typography, interactions possible.

Slide 35

Slide 35

Loading screens

  • Sadly most of their skills seemed to go on making loading screens.

Slide 36

Slide 36

Background images

  • We loved background images.
  • BRING THEM BACK.

Slide 37

Slide 37

Tiled background images

  • We loved tiling those backgrounds.
  • Again, you should be doing this more.

Slide 38

Slide 38

Animated gif images

  • We loved animated gifs.

Slide 39

Slide 39

Tiled background animated gif images

  • We loved animated gifs as background
  • All with the bgimage html attribute as no CSS for this

Slide 40

Slide 40

  • We had amazing typography back then.
  • Oh, sorry, can you not see that?

Slide 41

Slide 41

  • Can you see it now? No?

Slide 42

Slide 42

  • We had absolutely zero clue about accessibility back then.
  • The use of tables for layout could be forgiven. But things like this were widespread and it only takes a seconds thought to realise 11px fonts might not be legible to all.

Slide 43

Slide 43

Framesets

  • Framesets were the only way to not repeat things like navigation
  • Had to create a separate navigation document and pages and them mash them together with frame sets

Slide 44

Slide 44

Cascading Style Sheets

  • So, HTML tables and FONT elements were it when I started.
  • But the same year I started Something called “Cascading Style Sheets” was invented.

Slide 45

Slide 45

CSS was shit

  • Sadly, it was also shit.

Slide 46

Slide 46

CSS 1.0 - colors

  • We could set the colour of text and background.

Slide 47

Slide 47

CSS 1.0 - fonts

  • We could set text properties.

Slide 48

Slide 48

CSS 1.0 - floats, padding, and margins

  • And we could float things!
  • We could also… - oh, sorry. That’s it.
  • Because that wasn’t a sample
  • That was the ENTIRE LANGUAGE.
  • But was a HUGE step up from HTML font tags.
  • We got classes! Can’t tell you how amazing these were. - Defining reusable styling code was INCREDIBLE.

Slide 49

Slide 49

CSS specificity and source order

  • But compared to now, CSS was so limited.
  • No preprocessors.
  • No modularisation.
  • Everyone wrote CSS by adding to the end of a CSS file, overriding specificity if they had to.

Slide 50

Slide 50

CSS Zen Garden

  • But more progressive web devs realised we could separate semantic HTML from styling
  • They started to convince people about power of CSS.
  • Sites like this started to appear

Slide 51

Slide 51

Responsive CSS

  • The short timescales amaze me.
  • Responsive CSS only appeared only NINE YEARS AGO.

Slide 52

Slide 52

Typography

  • And when it came to typography we didn’t have web fonts We had only whatever was installed on a users computer

Slide 53

Slide 53

Websafe Fonts

So practically we got to use: - Helvetica/Arial - Times New Roman - Georgia - Courier New, - Verdana - Trebuchet MS - Comic Sans

Slide 54

Slide 54

Scalable Inman Flash Repalcement

  • Again, no way to load web fonts
  • had to use weird shit like SIFR.

Slide 55

Slide 55

Javascript

  • And talking of javascript Which we didn’t call it JS…

Slide 56

Slide 56

DHTML

  • We called it DHML again, fuck knows why
  • Most JS back then generated by apps, if used at all

Slide 57

Slide 57

Macromedia Dreamweaver

  • We didn’t know how to code well so we had GUI apps to do it for us.

Slide 58

Slide 58

Brendan Eich is a homophobe

  • JS the language famously written in 10 days By this guy, Brendan Eich
  • Who donates to prevent same sex couples from marrying in the USA
  • So fuck this homophobic guy

Slide 59

Slide 59

"JavasSript is for idiots"

“Javascript is for idiots”

  • Everyone hated JS initially
  • The software engineers saw it as a joke
  • And given the complete lack of standardisation that was understandable.
  • Every browser did things in a very different way

Slide 60

Slide 60

ECMAScript 1, 2, and 3

  • 3 versions quickly emerged in one or two years.

Slide 61

Slide 61

Too many differing implementations

  • Then all innovation stopped
  • ECMAscript 3 sat there for the best part of a decade
  • But everyone’s implementation of ES3 was different

Slide 62

Slide 62

ECMAScript 4

  • They did try to standardise once as ES4
  • But it failed
  • All browsers were fighting Browser Wars. That was when MS, - the biggest tech giant at the time - tried to dominate with its browser - and make it the web default.

Slide 63

Slide 63

Chrome dominating the web ecosystem

  • Which doesn’t sound familiar AT ALL.

Slide 64

Slide 64

ECMAScript 3.1

  • Browser folk realised that fighting is BAD and tried again.
  • Standardised bits of it into ECMASCRIPT 3.1, which was a HUGE change.
  • I think they got embarrassed that they didn’t figure ES4.

Slide 65

Slide 65

ECMAScript 5

  • Because they jumped straight to ES5.
  • Which we all know today as the legacy compile target that is broadly compatible with both IE11 and every other browser.

Slide 66

Slide 66

Engingeering Culture

  • But this standardisation of the scripting language had a downside
  • The web suddenly switched from a medium dominated by designers To an Engineers medium

Slide 67

Slide 67

"I'll show you!"

  • You know how people laughed about Javascript initially?
  • I honestly sometimes think all this is a massive overcompensation.

Slide 68

Slide 68

Nerd

  • Which is how we find ourselves in an industry that has gone from was JUST starting to become user-centric to To one that venerates engineering over users
  • NOT saying engineering is bad!
  • Some of my best friends are engineers
  • But we’ve perhaps lost our way

Slide 69

Slide 69

Artisan

  • When I started out we were way more small scale and artisan.
  • Which I’m not saying is a great thing.
  • We had way too many manual processes and a complete lack of standards.
  • No way for this to scale even to the team level.

Slide 70

Slide 70

Production Line

  • But we’ve somehow overshot
  • And embraced production line mentality.
  • We’re all about boot camps And standardised frameworks

Slide 71

Slide 71

Model T

  • I think this is just temporary.
  • We’re still in the Model T days of the web’s history.

Slide 72

Slide 72

"Do you like anything about the modern web, Grandma?"

  • So, do I like anything about the modern web?
  • Good question, as I’ve just had a big old reminisce about the past

Slide 73

Slide 73

Yes!

  • The past that I’ve just been talking about is one that I’m damn happy to get away from
  • While I don’t like the new Engineering culture, I think that’s a temporary thing
  • A symptom of capitalism
  • We’ll get over that soon
  • But I’m so excited by all the new amazing stuff in our world

Slide 74

Slide 74

Responsive and Dynamic

  • When I started it was all tables and fixed with layouts. 640x480 at best.
  • But now we think in a dynamic and responsive way from the start.
  • Thinking about how will a component look on different screensizes, orientations, densities is the default!
  • As well as the size media queries that have transformed how we work…

Slide 75

Slide 75

Srcset

  • …we have srcset and <picture> that allow us to send only images of the correct dimensions to a browser.
  • No more wasting a users bandwidth by sending desktop size images to a mobile device.

Slide 76

Slide 76

User Preferences and OS integration

  • We can now listen for user preferences
  • When I started “user preferences” meant “write your own local stylesheet” (which you can still do).
  • But now it’s now something more.
  • Now it’s about expose OS and user preferences via APIs in CSS and JS.

Slide 77

Slide 77

MS Edge's Dark Mode

MS Edge now allows you to set a global dark or light mode.

Slide 78

Slide 78

MS Edge's Dark Mode via CSS

CSS can listen for that and honour it.

Slide 79

Slide 79

Prefers Reduced Motion

iOS allows a user to “prefer reduce motion”

Slide 80

Slide 80

MS Edge's Dark Mode via CSS

  • Safari exposed that via a media query. And now other browsers are implementing it.

Slide 81

Slide 81

Chrome Data Saver

  • Chrome and data saver
  • Which allows a user to explicitly say that they’re trying to reduce data.

Slide 82

Slide 82

Chrome Data Saver via JavaScript

  • Now we can listen for that and deliver smaller javascript files Or no javascript at all!
  • We can now respond when a user effectively states their needs.
  • We’ve allowed that mature conversation to take place between the user and the developer.
  • Of course, we need to do our part and honour those settings. Go and do it after reading this!

Slide 83

Slide 83

Accessiblity

  • We had no concept of a11y initially.
  • You saw we made designs that hated people with disabilities.
  • But we learned.
  • And we started to bake accessibility in to the very language.
  • Since HTML5 emerged with semantics and ARIA roles built in this has become more and more important. And thank god it has.
  • It shows a fundamental maturing of our industry.

Slide 84

Slide 84

Evergreen Browsers

  • Do you know how incredible this is for anyone who has worked in the industry for more than a decade?
  • Major Browsers used to be heavily tied to the OS. To update IE you had to update windows.
  • It caused the whole industry to move at a snails pace.
  • Now it’s only Safari on MacOS and iOS that is tied in.
  • All others, even the ones from MS, have been liberated.

Slide 85

Slide 85

Native Lazy Loading

  • Evergreen browsers mean we can roll things out progressively.
  • Lazy load was such a simple genius move
  • Totally progressive enhanced and polyfillable

Slide 86

Slide 86

Web Fonts

  • When we design for these browsers no longer do we have to limit ourselves to basic fonts.
  • Or to use bizarre hacks like we saw earlier.
  • We have small font files, and we know about amazing font loading techniques.

Slide 87

Slide 87

Variable Fonts

  • And things like Variable Fonts are gonna make things even more amazing.

Slide 88

Slide 88

Components and Modular Coding

  • Small, modular, reusable chunks of code.
  • We used to have spaghetti code everywhere. Random scripts that no-one knew how they worked.
  • Now these code modules are self-contained, limited, documented.

Slide 89

Slide 89

JavaScriot Frameworks

  • I know I have a reputation for being down on javascript But I absolutely love it.
  • The frameworks we’ve made from it are genuinely amazing and useful.

Slide 90

Slide 90

React

The criticisms I have are only with the dominance of one single framework

  • I’m looking at you, React.
  • A diverse ecosystem is vital.

Slide 91

Slide 91

Cowpaths and Standards

  • And all these things together have led to something amazing
  • A true balance between standards and cowpaths.
  • Because every time we innovate with JS and CSS in the client, we show the need for a feature in the browser.

Slide 92

Slide 92

CSS Grid

  • CSS Grid only came about because it was demonstrated over years by women like Rachel Andrew and Jen Simmons that layout was important.
  • So many CSS layout libraries before then.

Slide 93

Slide 93

jQuery

  • Powerful selectors in JS only came about because of jQuery’s Sizzle engine..

Slide 94

Slide 94

Balance

  • But we’ve got to keep that balance.
  • We could let just one vendor dominate everything.
  • But we’ve tried that,
  • that’s how we ended up with the crap of the 90s.

Slide 95

Slide 95

Ivory Towers

  • We could let the standards people invent and browsers implement.
  • But that would be too slow
  • standards folk would have no direction without cowpaths.

Slide 96

Slide 96

Developer Chaos

  • We could let the engineers go wild and build things with no standards
  • But then nothing would interoperate
  • Everything would fragment into chaos

Slide 97

Slide 97

Communication

  • Like any good relationship, the balance between standards and innovation is about communication.
  • We need to keep talking and listening to what our fellow devs, designers, and most importantly, users, need.
  • So, keep talking
  • Keep communicating
  • Keep being amazing.

Slide 98

Slide 98

Thank you