Painting Painting With With the theWeb Web →Matthias Ott Beyond Tellerrand Düsseldorf 2025
Slide 2
!
Matthias Ott
User Experience Designer Web Design Engineer Teacher for Interface Prototyping, Muthesius University of Fine Arts and Design
@matthiasott@mastodon.social
https://matthiasott.com
Slide 3
ow n
e t i s . b e w yo u r
Slide 4
Slide 5
Slide 6
The ultimate creative process. A constant conversation.
Slide 7
The Canvas
Slide 8
Photo: Brad Frost, 2012
Slide 9
Slide 10
viewports.fyi
Slide 11
Slide 12
Slide 13
Slide 14
We are still static painting pretty pictures of websites
Slide 15
We are still static painting pretty pictures of components websites
CSS is now CSS is now the most powerful the most powerful design tool design tool for the Web. for the Web.
Slide 22
What designers design
What’s possible with the Web platform today
Slide 23
“ What would happen if we stopped treating the Web like a blank canvas to paint on, and started treating it like a material to build with?” Frank Chimero, “The Web’s Grain” https://frankchimero.com/blog/2015/the-webs-grain/
Slide 24
The Web as a design material?
Slide 25
Tim Berners-Lee
Slide 26
Slide 27
Slide 28
<HTML> HTML
Slide 29
<HTML>
Slide 30
Tim Berners-Lee We should work toward a universal linked information system, in which generality and portability are more important than fancy graphics techniques and complex extra facilities. Information Management: A Proposal, 1989
Slide 31
Slide 32
Tim Berners-Lee
Slide 33
Tim Berners-Lee
Håkon Wium Lie
Slide 34
https://www.w3.org/People/howcome/p/cascade.html
Slide 35
“Negotiating between the needs and wishes of readers and authors was one of the main ambitions of CSS. If successful, authors would get their fair share of influence over the presentation and would not feel compelled to use presentational HTML and other tricks. Readers, on the other hand, would be served documents in a form in which they could choose between accepting the author’s suggested presentation or specify their own.”
Håkon Wium Lie
Cascading Style Sheets (PhD Thesis) https://www.wiumlie.no/2006/phd/
Slide 36
h1.font.size = 24pt 100%
Slide 37
24pt 100%
Slide 38
User Author Font o——-x———————o Color o-x—————————o Margin o——————-x———o Volume o————-x—————o
64% 90% 37% 50%
Slide 39
Slide 40
Author control becomes shared author/user influence
straying from the 4pt default above # extra indentation for all lists
window-wide settings AGE > 3d ? window.background = pale_yellow : window.background = white window.foreground = black window.width = 400px window.height = REAL_HEIGHT - 50px window.margin.left = 2cm window.margin.right = 2cm window.margin.above = 2cm
Slide 43
The browser The user Web authors
Slide 44
“ If you use style sheets properly, to suggest the appearance of a page, not to control the appearance of a page, and you don’t rely on your style sheet to convey information, then your pages will work fine in any browser, past or future.” John Allsopp, “A Dao of Web Design” https://alistapart.com/article/dao/
Slide 45
Slide 46
Declarative Design Jeremy Keith Photo by Stefan Nitzsche
font-size: clamp(1rem, 0.6522rem + 1.7391vw, 2rem); min
preferred
max
Slide 53
a
a
a
a
a a
a a
a a
a a
aa
aaaaa
6 7 8 9 10 11 12 14 16 18 20 22 24 28 32
36
40
44
48
aaaaa 56
64
72
80
88
a 96
Slide 54
Octave a
a
a
a
a a
a a
a a
a a
aa
aaaaa
6 7 8 9 10 11 12 14 16 18 20 22 24 28 32
×2
×2
36
40
44
48
×2
aaaaa 56
64
72
80
88
a 96
Slide 55
Perfect Fifth a
a
a
a
a a
a a
a a
a a
aa
aaaaa
6 7 8 9 10 11 12 14 16 18 20 22 24 28 32
× 1.5 × 1.5
× 1.5
× 1.5
36
40
44
× 1.5
48
aaaa 54
64
72
× 1.5
81
aa 88
96
Slide 56
Interpolation between two typographic scales by viewport width
Source: Utopia.fyi
Slide 57
utopia.fyi
Slide 58
utopia.fyi
Slide 59
Interpolation between two typographic scales by viewport width
:root { —minWidth: 320; —maxWidth: 1600; —100vw: 100vw; —font-size-min: 1rem; —font-size-max: 1.5rem; /* Current viewport width in pixels without a unit / —currentWidth: tan(atan2(var(—100vw), 1px)); / This normalizes the value between 0 and 1 / —x: clamp(0, calc((var(—currentWidth) - var(—minWidth)) / (var(—maxWidth) - var(—minWidth))), 1); / Now we can put our x into the sine function / —easeOutSine: sin(var(—x) * pi) / 2); / And calculate our font-size */ —fluid-font-size: clamp(var(—font-size-min), var(—font-size-min) + ( var(—easeOutSine) * (var(—font-size-max) - var(—font-size-min)) ), var(—font-size-max)); }
Slide 64
Slide 65
Painting always has reality
Portrait
Painting always has reality Landscape
Slide 66
Painting always has reality
vw
vh
sqrt(100vw * 100vh)
Accessibility Forms Interactivity Responsiveness Animation Performance
Slide 112
What is our toolset?
Slide 113
Use HTML and CSS much earlier in the process
Slide 114
Prototyping
Slide 115
high
Fidelity low narrow
Scope
wide
Slide 116
Decide in the browser
Slide 117
Design
Engineering
Slide 118
Design Engineering
Slide 119
Web Design Engineering
Slide 120
Let devs design
Slide 121
&
Let devs design
Slide 122
&
Let devs design Let designers code
Slide 123
Let devs design
& Let designers code
Slide 124
Slide 125
Slide 126
Thank you!
Slides: https://noti.st/matthiasott/31ArQI
” ownyourweb.site # Typefaces: Tausend by Christoph Koeberlin, NaN Tresor by Christoph Koeberlin, NaN Tragedy by Jean-Baptiste Morizot, Input Mono by David Jonathan Ross