A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 51KB

  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang=fr>
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset=utf-8>
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>The Web’s Grain by Frank Chimero (archive) — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <meta name="robots" content="noindex, nofollow">
  28. <meta content="origin-when-cross-origin" name="referrer">
  29. <!-- Canonical URL for SEO purposes -->
  30. <link rel="canonical" href="http://frankchimero.com/talks/the-webs-grain/transcript/">
  31. <style>
  32. /* http://meyerweb.com/eric/tools/css/reset/ */
  33. html, body, div, span,
  34. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  35. a, abbr, address, big, cite, code,
  36. del, dfn, em, img, ins,
  37. small, strike, strong, tt, var,
  38. dl, dt, dd, ol, ul, li,
  39. fieldset, form, label, legend,
  40. table, caption, tbody, tfoot, thead, tr, th, td,
  41. article, aside, canvas, details, embed,
  42. figure, figcaption, footer, header, hgroup,
  43. menu, nav, output, ruby, section, summary,
  44. time, mark, audio, video {
  45. margin: 0;
  46. padding: 0;
  47. border: 0;
  48. font-size: 100%;
  49. font: inherit;
  50. vertical-align: baseline;
  51. }
  52. /* HTML5 display-role reset for older browsers */
  53. article, aside, details, figcaption, figure,
  54. footer, header, hgroup, menu, nav, section { display: block; }
  55. body { line-height: 1; }
  56. blockquote, q { quotes: none; }
  57. blockquote:before, blockquote:after,
  58. q:before, q:after {
  59. content: '';
  60. content: none;
  61. }
  62. table {
  63. border-collapse: collapse;
  64. border-spacing: 0;
  65. }
  66. /* http://practicaltypography.com/equity.html */
  67. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  68. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  69. @font-face {
  70. font-family: 'EquityTextB';
  71. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  72. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  73. font-weight: 300;
  74. font-style: normal;
  75. font-display: swap;
  76. }
  77. @font-face {
  78. font-family: 'EquityTextB';
  79. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  80. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  81. font-weight: 300;
  82. font-style: italic;
  83. font-display: swap;
  84. }
  85. @font-face {
  86. font-family: 'EquityTextB';
  87. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  88. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  89. font-weight: 700;
  90. font-style: normal;
  91. font-display: swap;
  92. }
  93. @font-face {
  94. font-family: 'ConcourseT3';
  95. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  96. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  97. font-weight: 300;
  98. font-style: normal;
  99. font-display: swap;
  100. }
  101. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  102. body {
  103. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  104. font-family: "EquityTextB", Palatino, serif;
  105. background-color: #f0f0ea;
  106. color: #07486c;
  107. font-kerning: normal;
  108. -moz-osx-font-smoothing: grayscale;
  109. -webkit-font-smoothing: subpixel-antialiased;
  110. text-rendering: optimizeLegibility;
  111. font-variant-ligatures: common-ligatures contextual;
  112. font-feature-settings: "kern", "liga", "clig", "calt";
  113. }
  114. pre, code, kbd, samp, var, tt {
  115. font-family: 'TriplicateT4c', monospace;
  116. }
  117. em {
  118. font-style: italic;
  119. color: #323a45;
  120. }
  121. strong {
  122. font-weight: bold;
  123. color: black;
  124. }
  125. nav {
  126. background-color: #323a45;
  127. color: #f0f0ea;
  128. display: flex;
  129. justify-content: space-around;
  130. padding: 1rem .5rem;
  131. }
  132. nav:last-child {
  133. border-bottom: 1vh solid #2d7474;
  134. }
  135. nav a {
  136. color: #f0f0ea;
  137. }
  138. nav abbr {
  139. border-bottom: 1px dotted white;
  140. }
  141. h1 {
  142. border-top: 1vh solid #2d7474;
  143. border-bottom: .2vh dotted #2d7474;
  144. background-color: #e3e1e1;
  145. color: #323a45;
  146. text-align: center;
  147. padding: 5rem 0 4rem 0;
  148. width: 100%;
  149. font-family: 'ConcourseT3';
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. h1.single {
  154. padding-bottom: 10rem;
  155. }
  156. h1 span {
  157. position: absolute;
  158. top: 1vh;
  159. left: 20%;
  160. line-height: 0;
  161. }
  162. h1 span a {
  163. line-height: 1.7;
  164. padding: 1rem 1.2rem .6rem 1.2rem;
  165. border-radius: 0 0 6% 6%;
  166. background: #2d7474;
  167. font-size: 1.3rem;
  168. color: white;
  169. text-decoration: none;
  170. }
  171. h2 {
  172. margin: 4rem 0 1rem;
  173. border-top: .2vh solid #2d7474;
  174. padding-top: 1vh;
  175. }
  176. h3 {
  177. text-align: center;
  178. margin: 3rem 0 .75em;
  179. }
  180. hr {
  181. height: .4rem;
  182. width: .4rem;
  183. border-radius: .4rem;
  184. background: #07486c;
  185. margin: 2.5rem auto;
  186. }
  187. time {
  188. display: bloc;
  189. margin-left: 0 !important;
  190. }
  191. ul, ol {
  192. margin: 2rem;
  193. }
  194. ul {
  195. list-style-type: square;
  196. }
  197. a {
  198. text-decoration-skip-ink: auto;
  199. text-decoration-thickness: 0.05em;
  200. text-underline-offset: 0.09em;
  201. }
  202. article {
  203. max-width: 50rem;
  204. display: flex;
  205. flex-direction: column;
  206. margin: 2rem auto;
  207. }
  208. article.single {
  209. border-top: .2vh dotted #2d7474;
  210. margin: -6rem auto 1rem auto;
  211. background: #f0f0ea;
  212. padding: 2rem;
  213. }
  214. article p:last-child {
  215. margin-bottom: 1rem;
  216. }
  217. p {
  218. padding: 0 .5rem;
  219. margin-left: 3rem;
  220. }
  221. p + p,
  222. figure + p {
  223. margin-top: 2rem;
  224. }
  225. blockquote {
  226. background-color: #e3e1e1;
  227. border-left: .5vw solid #2d7474;
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. padding: 1rem;
  232. margin: 1.5rem;
  233. }
  234. blockquote cite {
  235. font-style: italic;
  236. }
  237. blockquote p {
  238. margin-left: 0;
  239. }
  240. figure {
  241. border-top: .2vh solid #2d7474;
  242. background-color: #e3e1e1;
  243. text-align: center;
  244. padding: 1.5rem 0;
  245. margin: 1rem 0 0;
  246. font-size: 1.5rem;
  247. width: 100%;
  248. }
  249. figure img {
  250. max-width: 250px;
  251. max-height: 250px;
  252. border: .5vw solid #323a45;
  253. padding: 1px;
  254. }
  255. figcaption {
  256. padding: 1rem;
  257. line-height: 1.4;
  258. }
  259. aside {
  260. display: flex;
  261. flex-direction: column;
  262. background-color: #e3e1e1;
  263. padding: 1rem 0;
  264. border-bottom: .2vh solid #07486c;
  265. }
  266. aside p {
  267. max-width: 50rem;
  268. margin: 0 auto;
  269. }
  270. /* https://fvsch.com/code/css-locks/ */
  271. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  272. font-size: 1rem;
  273. line-height: calc( 1.5em + 0.2 * 1rem );
  274. }
  275. h1 {
  276. font-size: 1.9rem;
  277. line-height: calc( 1.2em + 0.2 * 1rem );
  278. }
  279. h2 {
  280. font-size: 1.6rem;
  281. line-height: calc( 1.3em + 0.2 * 1rem );
  282. }
  283. h3 {
  284. font-size: 1.35rem;
  285. line-height: calc( 1.4em + 0.2 * 1rem );
  286. }
  287. @media (min-width: 20em) {
  288. /* The (100vw - 20rem) / (50 - 20) part
  289. resolves to 0-1rem, depending on the
  290. viewport width (between 20em and 50em). */
  291. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  292. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  293. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  294. margin-left: 0;
  295. }
  296. h1 {
  297. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  298. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  299. }
  300. h2 {
  301. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  302. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  303. }
  304. h3 {
  305. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  306. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  307. }
  308. }
  309. @media (min-width: 50em) {
  310. /* The right part of the addition *must* be a
  311. rem value. In this example we *could* change
  312. the whole declaration to font-size:2.5rem,
  313. but if our baseline value was not expressed
  314. in rem we would have to use calc. */
  315. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  316. font-size: calc( 1rem + .6 * 1rem );
  317. line-height: 1.5em;
  318. }
  319. p, li, pre, details {
  320. margin-left: 3rem;
  321. }
  322. h1 {
  323. font-size: calc( 1.9rem + 1.5 * 1rem );
  324. line-height: 1.2em;
  325. }
  326. h2 {
  327. font-size: calc( 1.5rem + 1.5 * 1rem );
  328. line-height: 1.3em;
  329. }
  330. h3 {
  331. font-size: calc( 1.35rem + 1.5 * 1rem );
  332. line-height: 1.4em;
  333. }
  334. figure img {
  335. max-width: 500px;
  336. max-height: 500px;
  337. }
  338. }
  339. figure.unsquared {
  340. margin-bottom: 1.5rem;
  341. }
  342. figure.unsquared img {
  343. height: inherit;
  344. }
  345. @media print {
  346. body { font-size: 100%; }
  347. a:after { content: " (" attr(href) ")"; }
  348. a, a:link, a:visited, a:after {
  349. text-decoration: underline;
  350. text-shadow: none !important;
  351. background-image: none !important;
  352. background: white;
  353. color: black;
  354. }
  355. abbr[title] { border-bottom: 0; }
  356. abbr[title]:after { content: " (" attr(title) ")"; }
  357. img { page-break-inside: avoid; }
  358. @page { margin: 2cm .5cm; }
  359. h1, h2, h3 { page-break-after: avoid; }
  360. p3 { orphans: 3; widows: 3; }
  361. img {
  362. max-width: 250px !important;
  363. max-height: 250px !important;
  364. }
  365. nav, aside { display: none; }
  366. }
  367. ul.with_columns {
  368. column-count: 1;
  369. }
  370. @media (min-width: 20em) {
  371. ul.with_columns {
  372. column-count: 2;
  373. }
  374. }
  375. @media (min-width: 50em) {
  376. ul.with_columns {
  377. column-count: 3;
  378. }
  379. }
  380. ul.with_two_columns {
  381. column-count: 1;
  382. }
  383. @media (min-width: 20em) {
  384. ul.with_two_columns {
  385. column-count: 1;
  386. }
  387. }
  388. @media (min-width: 50em) {
  389. ul.with_two_columns {
  390. column-count: 2;
  391. }
  392. }
  393. .gallery {
  394. display: flex;
  395. flex-wrap: wrap;
  396. justify-content: space-around;
  397. }
  398. .gallery figure img {
  399. margin-left: 1rem;
  400. margin-right: 1rem;
  401. }
  402. .gallery figure figcaption {
  403. font-family: 'ConcourseT3'
  404. }
  405. footer {
  406. font-family: 'ConcourseT3';
  407. display: flex;
  408. flex-direction: column;
  409. border-top: 3px solid white;
  410. padding: 4rem 0;
  411. background-color: #07486c;
  412. color: white;
  413. }
  414. footer > * {
  415. max-width: 50rem;
  416. margin: 0 auto;
  417. }
  418. footer a {
  419. color: #f1c40f;
  420. }
  421. footer .avatar {
  422. width: 200px;
  423. height: 200px;
  424. border-radius: 50%;
  425. float: left;
  426. -webkit-shape-outside: circle();
  427. shape-outside: circle();
  428. margin-right: 2rem;
  429. padding: 2px 5px 5px 2px;
  430. background: white;
  431. border-left: 1px solid #f1c40f;
  432. border-top: 1px solid #f1c40f;
  433. border-right: 5px solid #f1c40f;
  434. border-bottom: 5px solid #f1c40f;
  435. }
  436. </style>
  437. <h1>
  438. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  439. The Web’s Grain by Frank Chimero (archive)
  440. <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
  441. </h1>
  442. <section>
  443. <article>
  444. <h3><a href="http://frankchimero.com/talks/the-webs-grain/transcript/">Source originale du contenu</a></h3>
  445. <section class="foreword">
  446. <p>
  447. This site is an interpretation of my talk from <a href="http://www.webstock.org.nz/15/">Webstock, 2015.</a> It is a companion to <a href="http://frankchimero.com/talks/what-screens-want/transcript/">What Screens Want</a>, a previous essay on designing natively for screens.
  448. </p>
  449. </section>
  450. <section class="white panel1">
  451. <h1 class="q">Can I play something for you?</h1>
  452. <p>Trust me: it’s totally worth it. Oh, and while you’re listening, pay attention to your chest. You may feel a growing warmth, kind of like the firey trickle after a shot of whiskey.</p>
  453. <p>All right, here we go:</p>
  454. </section>
  455. <section class="rainbowbreak">
  456. <div class="ui360">
  457. <a href="http://frankchimero.com/talks/the-webs-grain/transcript/dialup.mp3">Play Sound</a>
  458. </div>
  459. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/speaker.svg" alt="This is audio" class="speaker">
  460. </section>
  461. <section class="black">
  462. <p>Wasn’t that <em>great</em>? I’ve listened to those irritating bing-bongs 30 or 40 times in the process of making this page, and while you can’t see it, I’m typing this with a big, stupid smile on my face. If you came online in the ’90s like me, you’re probably smiling too.</p>
  463. <figure>
  464. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/win95_connect.gif" alt="Windows 95 Dial-Up Dialog" class="fullimg">
  465. <figcaption>Windows 95 Dial-Up Dialog Box</figcaption>
  466. </figure>
  467. <p>That sound, of course, is the audio handshake of a modem connecting to the internet. And the fiery feeling in the chest it creates is the warm pang of nostalgia. I’ve managed to tether that grating sound to all the wonder and magic I felt my first years on the internet. Back then, if you told me that I’d get to spend the next decade or so making things for the web&mdash;well, that would be just about the best news I could be told.</p>
  468. <p>But things have changed, as they always do. I’m writing this fifteen years after the bing-bongs, and the fascination has faded. What happened is what always happens: the wonder I felt was diminished by experience.</p>
  469. <p>The awe goes&mdash;time takes it.</p>
  470. </section>
  471. <section class="white">
  472. <p>There’s a quote from the French philosopher Gaston Bachelard. He says:</p>
  473. <blockquote>“We begin in admiration and end by organizing our disappointment.”</blockquote>
  474. <p>Now, this is a bit pessimistic—he <em>is</em> a French philosopher, after all—but right now the statement does ring true for the technology industry. Think about the weight we’ve added to the world: attention-greedy devices and services, new business structures that turn out to reinforce existing inequalities instead of working against them, technocratic blowhards, never mind the surveillance shit storm we all now must navigate. </p>
  475. <p>How could any self-aware person who works in technology <em>not</em> start to organize their disappointment? It’s gotten to where several of my peers are floating half-hearted speculations about their next careers. This isn’t good: you want the talented and mindful people to stick around, not get husked out, then leave frustrated, exhausted, and conflicted.</p>
  476. <p>The closer I get to it all, the more I become confused and overwhelmed. A thing I knew so well has reached out wider and wider, only to make less and less sense. So last year, instead of being stubborn, complaining, or feeling powerless, I went searching for a different perspective. I wanted to take something big and make it small again. This was urgent: I needed a way to re-engage with my craft on a foundational level. Otherwise, I’d also be looking for a second career.</p>
  477. </section>
  478. <section class="rainbowbreak">
  479. <h1>It<br>is<br>what<br>it<br>is</h1>
  480. </section>
  481. <section class="white">
  482. <figure>
  483. <video loop autoplay class="fullimg">
  484. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/sea10s.mp4" type="video/mp4" />
  485. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/sea10s.webmhd.webm" type="video/webm" />
  486. Your browser does not support the video tag.
  487. </video>
  488. <figcaption><a href="https://www.youtube.com/watch?v=SxWKffqBjMM">South China Sea by Toby Smith</a></figcaption>
  489. </figure>
  490. <p>In Buddhism, there’s something called the beginner’s mind. If you’ve ever done any kind of guided meditation, you’re probably familiar. It refers to having an attitude of openness, of eagerness. You drop your heavy preconceptions and revitalize a practice by finding a new way to look at it. Making things for the web started to feel very heavy to me, so this seemed to be what I needed.</p>
  491. <p>Most investigations into beginner’s mind eventually lead to the same zen koan. It’s a small story, and it goes like this:</p>
  492. <blockquote class="koan">
  493. <p>Before I began to practice, mountains were mountains and rivers were rivers.</p>
  494. <p>After I began to practice, mountains were no longer mountains and rivers were no longer rivers.</p>
  495. <p>Now, I have practiced for some time, and mountains are again mountains, and rivers are again rivers.</p>
  496. </blockquote>
  497. <p>So what’s the lesson? Here’s my take: we eventually work through the naive belief that profundity comes from complication. It simply isn’t so. Things have enough depth and worth on their own terms. No metaphors or analogies are needed for insight, only the willingness to listen to the subject speak for itself, even if it contradicts received wisdom.</p>
  498. <p>I’d like to do some listening today.</p>
  499. </section>
  500. <section class="realblack">
  501. <p>What is there to see when you look at a website as itself? A lot, actually, but let’s simplify things down to their core. As we go through this, please excuse me for stating the obvious. My intent is to describe and document the apparent. Rivers as rivers, remember?</p>
  502. <p>Here we have a very vanilla website. No styles, just markup. All defaults.</p>
  503. <figure>
  504. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/code1.gif" alt="Super plain markup for a website" class="fullimg">
  505. </figure>
  506. <p>The first thing to notice about this page is that it is fluid—it adapts to the width of the viewport to fill it up. We can’t quite say it’s responsive, because responsive sites require media queries, but this site, like a responsive one, isn’t opinionated about the size of the viewport. It works well at whatever size you throw at it.</p>
  507. <figure>
  508. <video loop controls poster="mobydick1poster.jpg" class="fullimg">
  509. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick1.mp4" type="video/mp4" />
  510. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick1.webmhd.webm" type="video/webm" />
  511. Your browser does not support the video tag.
  512. </video>
  513. </figure>
  514. <p>The page’s fluidity leads to the second thing to notice: the page is vertical.</p>
  515. <figure>
  516. <video loop controls poster="mobydick2poster.jpg" class="fullimg">
  517. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick2.mp4" type="video/mp4" />
  518. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick2.webmhd.webm" type="video/webm" />
  519. Your browser does not support the video tag.
  520. </video>
  521. </figure>
  522. <p>Okay, terribly obvious, but let’s tease this apart.</p>
  523. <p>Elements get stacked like a layer cake by default, and it make sense—vertical stacks are much easier to adapt across all kinds of screen sizes, because you don’t have layout issues to manage with more or less space across. You simply keep the elements the full width. This is especially handy for design methods like mobile first, since narrower screens can’t necessarily hold designs where elements are beside one another. By stacking, you get greater consistency in a design, what ever the screen size.</p>
  524. <p>But not every site can be a big vertical stack of bricks, can it? What happens if you place things side-by-side?</p>
  525. <h1>This leads us to the primary visual challenge of responsive design.</h1>
  526. <p>It’s the big daddy, the ur problem, the foundational thorn in your side that, for some reason, I have never seen documented.</p>
  527. <p>I’m going to go back to my vanilla HTML page, but let’s add a couple lines of CSS so that our image is beside the text, and both scale in width as the viewport changes.</p>
  528. <figure>
  529. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/code2.gif" alt="Super plain markup for a website, with a little bit of CSS added to put the image beside the type" class="fullimg">
  530. </figure>
  531. <p>Okay, take a look:</p>
  532. <figure>
  533. <video loop controls poster="mobydick3poster.jpg" class="fullimg">
  534. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick3.mp4" type="video/mp4" />
  535. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/mobydick3.webmhd.webm" type="video/webm" />
  536. Your browser does not support the video tag.
  537. </video>
  538. </figure>
  539. <h1>Are you crying? No? Look closer.</h1>
  540. <p>I’ll explain: as I change the window width, the image gets <em>taller</em> as it gets wider, because its proportions are fixed. The text, on the other hand, gets <em>shorter</em> as it gets wider since it has no fixed proportions.</p>
  541. <p>If you’ve ever designed a responsive website, this is the source of all your sadness. This is the fount of your tears, the wellspring of your suffering. If you believe in the afterlife, this is the circle of hell where they light the soles of your feet on fire.</p>
  542. <p>You know how people say to add a breakpoint to a responsive design when the layout starts to look weird? This is the thing that makes the layout look weird. Every time. But, this contradiction is unavoidable and unsolvable, so the only choice is to recognize it as implicit to the medium, and devise strategies to manage it.</p>
  543. </section>
  544. <section>
  545. <p>Most of the solidified techniques about our practice come from the natural ways of the web that have been there since the start. The answer is right there in front of us, in the website itself, and each step we take away from its intentions makes our creations weaker.</p>
  546. <p>What does it look like when you work against the web’s natural character? Well, it probably looks like this:</p>
  547. <figure class="bear">
  548. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/bicyclebear.jpg" alt="A bear riding a bicycle. Yes, really.">
  549. </figure>
  550. <p>I think you make what I call “bicycle bear websites.” Why? Because my response to both is the same.</p>
  551. <p>“Listen bub,” I say, “it is very impressive that you can teach a bear to ride a bicycle, and it is fascinating and novel. But perhaps it’s cruel? Because that’s not what bears are supposed to do. And look, pal, that bear will never actually be <em>good</em> at riding a bicycle.”</p>
  552. <p>This is how I feel about so many of the fancy websites I see. “It is fascinating that you can do that, but it’s really not what a website is supposed to do.” For example, behold <a href="http://www.apple.com/mac-pro/">Apple’s Mac Pro website</a>.</p>
  553. </section>
  554. <section class="realblack">
  555. <figure>
  556. <video loop controls poster="macproposter.jpg" class="fullimg">
  557. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/macpro.mp4" type="video/mp4" />
  558. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/macpro.webmhd.webm" type="video/webm" />
  559. Your browser does not support the video tag.
  560. </video>
  561. <figcaption>Above: Apple’s promotional website for the Mac Pro computer. Not Pictured: me throwing my laptop across the room trying to use this website.</figcaption>
  562. </figure>
  563. <p>Same response as the bear on the bicycle: all glee, until things go haywire, and you realize it is coming right for you.</p>
  564. <p>What is this monstrosity? Why does it feel like docking a spaceship? Why can’t I scroll? And why is there lag on my fancy laptop? What’s that sound? My computer’s fan? Do I need a Mac Pro to look at the site to buy a Mac Pro? (Actually, that’s a pretty good sales strategy.)</p>
  565. <p>Apple’s pursuit of cool yielded an incredibly fragile, willfully esoteric website that’s good for no one. And I’m certain you can think of a few similar examples of your own: clumsy sites that work counter to the inclinations of the web. Back to the zen koan&mdash;if we see the mountains as mountains and rivers as rivers, these are the sites that try to be different, yet end up swimming up stream and climbing uphill.</p>
  566. </section>
  567. <section class="white examples">
  568. <p>I believe every material has a grain, including the web. But this assumption flies in the face of our expectations for technology. Too often, the internet is cast as a wide-open, infinitely malleable material. We expect technology to help us overcome limitations, not produce more of them. In spite of those promises, we typically yield consistent design results.</p>
  569. <figure>
  570. <a href="http://showcase.commercialtype.com" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-color.jpg" alt="Commercial Type Showcase"></a>
  571. <figcaption><a href="http://showcase.commercialtype.com">Commercial Type’s Showcase Website</a></figcaption>
  572. </figure>
  573. <p>We use flat colors and simple gradients, because they’re lightweight, easy to draw with CSS, and can easily scale for areas of unknown proportions.</p>
  574. <figure>
  575. <a href="http://shapeofdesignbook.com" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-sod.jpg" alt="Website for The Shape of Design"></a>
  576. <figcaption><a href="http://shapeofdesignbook.com">Website for <em>The Shape of Design</em></a></figcaption>
  577. </figure>
  578. <p>Sites have large horizontal stripes of content, because of the vertical bias I mentioned earlier.</p>
  579. <figure>
  580. <a href="http://dropmark.com" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-interface.jpg" alt="Dropmark"></a>
  581. <figcaption><a href="http://dropmark.com">Dropmark</a></figcaption>
  582. </figure>
  583. <p>We use text as interface, because the nuanced but significant differences in technology’s abstractions are difficult to communicate visually.</p>
  584. <figure>
  585. <a href="http://obvious.com" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-photo.jpg" alt="Obvious Ventures"></a>
  586. <figcaption><a href="http://obvious.com">Obvious Ventures</a></figcaption>
  587. </figure>
  588. <p>Ambient, atmospheric, blurred, or tinted photographs become background images, because we can’t quite be sure how it will be cropped across different viewports.</p>
  589. <p>And big type is overlaid on top of these images because every client simultaneously wants big images and big type. Plus it dances around those text versus image scaling problems I showed earlier.</p>
  590. <figure>
  591. <a href="http://mailchimp.com" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-tableau.jpg" alt="Mailchimp"></a>
  592. <figcaption><a href="http://mailchimp.com">MailChimp</a></figcaption>
  593. </figure>
  594. <p>We use photography with props, because software is abstract and hard to embody, so we show it on a device in a related context to have it seem like the product that it is.</p>
  595. <figure>
  596. <a href="http://dblg.co.uk" class="img"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/pattern-mosiac.jpg" alt="DBLG"></a>
  597. <figcaption><a href="http://dblg.co.uk">DBLG</a></figcaption>
  598. </figure>
  599. <p>And mosiacs, because every page presents a multitude of elements, and we need structured ways of showcasing this variety.</p>
  600. <p class="sep">***</p>
  601. <p>The web is forcing our hands. And this is fine! Many sites will share design solutions, because we’re using the same materials. The consistencies establish best practices; they are proof of design patterns that play off of the needs of a common medium, and not evidence of a visual monoculture.</p>
  602. <p>So this is a good start, but it is only a start. Could those simple sites I showed earlier assist us beyond the page and provide a larger way to think? To put a finer point on it:</p>
  603. <h1>What would happen if we stopped treating the web like a blank canvas to paint on, and instead like a material to build <em>with</em>?</h1>
  604. <p>It turns out, I found the answer from a painter who also thought to step away from the canvas. Let’s have a short art history lession, shall we?</p>
  605. </section>
  606. <section class="rainbowbreak">
  607. <h1>How<br>to<br>see<br>a<br>moment</h1>
  608. </section>
  609. <section class="black">
  610. <figure>
  611. <video controls poster="hockneyposter.jpg" class="fullimg">
  612. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney.mp4" type="video/mp4" />
  613. <source src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney.webmhd.webm" type="video/webm" />
  614. Your browser does not support the video tag.
  615. </video>
  616. <figcaption><a href="https://www.youtube.com/watch?v=cGtraVb_0vY">Clip from David Hockney’s Joiners</a></figcaption>
  617. </figure>
  618. <p>Meet David Hockney&mdash;artist, painter, and conflicted photographer. In the early ’80s, he took a small break from painting to pursue these mentioned photographic joiners. They were an investigation of time and space. Now, that seems really heady, but once you see them, you’ll know exactly what I’m talking about. They kind of look like cubist paintings, but much quicker to read. I’d like to show you a few.</p>
  619. <p>As Hockney says in the video, he started the project with Polaroids. You can see them tiled together here, because each individual photo can’t capture the whole picture.</p>
  620. <figure>
  621. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney1.jpg" alt="Noya and Bill Brandt with Self Portrait (Although They Were Watching This Picture Being Made)" class="fullimg">
  622. <figcaption>Noya and Bill Brandt with Self Portrait (Although They Were Watching This Picture Being Made), by David Hockney, 1982</figcaption>
  623. </figure>
  624. <p>Inside, Hockney is using redundancy to show action. How many hands are there? How many heads does that man have? Two faces in this image, but you don’t interpret it as a two-headed man. It is two glances at one face&mdash;facets of the same thing.</p>
  625. <figure>
  626. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney2.jpg" alt="Noya and Bill Brandt with Self Portrait (Although They Were Watching This Picture Being Made)" class="fullimg">
  627. </figure>
  628. <p>It’s so seamless, you’d probably not count the faces without me mentioning it. You just know, because this is how you see. You have a small focal range; your brain stitches the bits together into a complete whole.</p>
  629. <p>Here’s another piece, even more advanced. This one is my favorite, because it’s so economical—like a comic strip.</p>
  630. <figure class="billy">
  631. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney3.jpg" alt="Billy Wilder Lighting
His Cigar" class="fullimg">
  632. <figcaption>Billy Wilder Lighting
 His Cigar, by David Hockney, 1982</figcaption>
  633. </figure>
  634. <p>Do you see what’s changed? Hockney stopped using Polaroids. The grid is gone, replaced by overlaid, borderless photos. Nothing cut or cropped, nothing tricky. Hockney’s able to do a lot of work with only six images.</p>
  635. <p>What would this method look like with many more? Hockney asked the same question.</p>
  636. <figure>
  637. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney4.jpg" alt="The Scrabble Game" class="fullimg">
  638. <figcaption>The Scrabble Game, by David Hockney, 1982</figcaption>
  639. </figure>
  640. <p>This is The Scrabble Game, and in my opinion, it’s the masterpiece from this era of Hockney’s career. This piece is all over the place: so many faces, so many hands. The game board is out of sync from image to image, so you can actually piece together the plays in the order they were made. Also, there are no ends to my aggrevation about how he does not see he has a word in his tiles. (Liqueur, anyone?)</p>
  641. <p>So, do you see what’s happened? Recall the first joiner I showed you with the Polaroids, and compare it to The Scrabble Game.</p>
  642. <figure>
  643. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney5.jpg" alt="The Scrabble Game beside Noya and Bill Brandt with Self Portrait" class="fullimg">
  644. </figure>
  645. <p>Hockney began with an image-making practice that relied on the grid necessitated by the Polaroids’ borders and produced a rectangular final work. When he switched to normal film, he was able to overlay images in any necessary shape that accurately described the time and space of a scene. Nobody would set out to make a picture with these edges—what you see is what was required by the images he managed to snap.</p>
  646. <p>In essence, Hockney abandoned the notion that a two-dimensional work of art needed to exist at a fixed, rectangular size. Instead, small individual photos were overlaid and assembled until they formed a complete picture. Individually, the photos don’t mean much, but collectively they&hellip;</p>
  647. <h1>Wait. Stop. Does this seem familiar?</h1>
  648. <p>Okay, I’m sorry. I’ve tricked you, and we’ve come full circle. We’re back to responsive design. Let’s make an analogy.</p>
  649. <figure>
  650. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/hockney6.jpg" alt="The Scrabble Game beside Noya and Bill Brandt with Self Portrait" class="fullimg">
  651. </figure>
  652. <p>On the left, the Mona Lisa. Cliché, but why the hell not? The painting, to me, is like designing for the printed page. On the right, The Scrabble Game. This assemblage more closely resembles designing for a screen. Do you see it? It is control versus discovery, uniformity versus multiplicity.</p>
  653. <p>With the Mona Lisa, we have fixed, uniform edges that can be planned for with a high degree of certainty and control. We revere and celebrate this painting because of that exquisite control.</p>
  654. <p>With the joiner, we have a different kind of beauty. It is an edgeless surface of unknown proportions, comprised of small, individual, and variable elements from multiple vantages assembled into a readable whole that documents a moment.</p>
  655. <p><em>Also known as web design.</em> Here, I’ll restate what I just said, but this time, imagine I’m talking about web design and not the Hockney photos:</p>
  656. <h1>an edgeless surface of unknown proportions comprised of small, individual, and variable elements from multiple vantages assembled into a readable whole that documents a moment</h1>
  657. <p>That’s a pretty good description of the visual challenges in interaction design, huh?</p>
  658. <p>My head is spinning.</p>
  659. </section>
  660. <section>
  661. <p>In November of 2013, I gave a talk called <a href="#">What Screens Want</a>, where I tried to answer what it meant to natively design for screens. I said it was something I called flux—the capacity for things to change. This could be as showy as animation, but also as simple and fundamental as a spreadsheet sorting itself and showing new results. You can’t do that on paper. So, designing for screens is managing this change over time, and expressing it in clear, communicative, and powerful ways.</p>
  662. <p>Now, after looking at Hockney’s work for far too long, I can add another item to the list:</p>
  663. </section>
  664. <section class="rainbowbreak">
  665. <h1>EDGE<br>LESS<br>NESS</h1>
  666. </section>
  667. <section class="realblack">
  668. <p>A lack of edges permeates the web at all levels. You just have to look for it:</p>
  669. <figure>
  670. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/graph.gif" alt="Network graph" class="fullimg">
  671. <figcaption><a href="http://www.opte.org/maps/">Partial map of the Internet from OPTE.</a></figcaption>
  672. </figure>
  673. <p>Edgelessness is in the web’s structure: it’s comprised of individual pages linked together, so its structure can branch out forever.</p>
  674. <figure>
  675. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/infinitecanvas.jpg" alt="Infinite canvas" class="fullimg">
  676. </figure>
  677. <p>Edgelessness applies to the screens that show the web, because they offer an infinite canvas that can scroll in any direction for however long. Boy, do we take for granted that a screen can show more content than is able to be displayed in a single shot.</p>
  678. <figure>
  679. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/devicesizes.gif" alt="Spectrum of Android device sizes" class="fullimg">
  680. <figcaption><a href="http://opensignal.com/reports/fragmentation.php">Spectrum of Android Fragmentation sizes from OpenSignal. And this is from 2012.</a></figcaption>
  681. </figure>
  682. <p>Edgelessness speaks to the diffusion of device and viewport sizes. Above is a chart of screen sizes across Android devices. How could there be a clear edge on a spectrum with such minor differences between each size?</p>
  683. <figure>
  684. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/edges.gif" alt="Collapsing walls" class="fullimg">
  685. </figure>
  686. <p>And, most interesting to me, edgelessness means blurred lines between the disciplines that work together to make things for the web. Everyone that I’ve spoken with that’s worked on a large responsive project with a big client says that the process disrupts workflows, expectations, and work culture.</p>
  687. <p>Simply put, the edgelessness of the web tears down the constructed edges in the company. Everything is so interconnected that nobody has a clear domain of work any longer—the walls are gone, so we’re left to learn how to collaborate in the spaces where things connect.</p>
  688. </section>
  689. <section class="white">
  690. <p>Let’s take a look at how edgelessness affects how we work. Suppose you’re about to start a web project with some sketches. How would you begin?</p>
  691. <p>You’d probably draw a box.</p>
  692. <figure>
  693. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/box1.gif" alt="Drawing a box" class="fullimg">
  694. </figure>
  695. <p>Then you’d fill that box with the page’s elements.</p>
  696. <figure>
  697. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/box2.gif" alt="Drawing the elements" class="fullimg">
  698. </figure>
  699. <h1>Whoops.</h1>
  700. <p>Remember the Hockney photos? The size of what we’re making is unknown until we know what we’re putting there. So, it’s better to come up with an arrangement of elements and assign them to a size, rather than the other way around. We need to start drawing, <em>then</em> put the box around it. Let me show you an example.</p>
  701. <p>This set of images comes from the portfolio of Danish designer <a href="http://kasperlaigaard.com/?page_id=1078">Kasper Laigaard</a>. It’s the perfect example of not drawing the box until you know what goes in it. Here, he’s sketching out different content lockups for a redesign of <a href="http://hellomonday.com/">Hello Monday</a>, a digital agency in Denmark and New York. The sketches explain the idea more clearly than my words ever could.</p>
  702. <figure>
  703. <a href="http://kasperlaigaard.com/?page_id=1078"><img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/laigaard.jpg" alt="Content lock-ups" class="fullimg"></a>
  704. <figcaption>Content lock-ups for Hello Monday by <a href="http://kasperlaigaard.com/?page_id=1078">Kasper Laigaard</a></figcaption>
  705. </figure>
  706. <p>So just like Hockney’s joiners, we’re creating assembleges of elements, then associating them with the appropriate space.</p>
  707. <p class="sep">***</p>
  708. <p>The practice of assembling conflicts with most of the terminology we have in place for responsive design. Our words make it seem that we’re designing how elements break down, but really, we should be focusing on how they <em>build up</em>.</p>
  709. <h1><strike>breakpoint</strike><br>point of reassembly</h1>
  710. <p>So, those media queries we write? It might be time to stop calling them breakpoints, and instead consider them points of <em>reassembly</em>.</p>
  711. <p>And this concept, just like the layouts we create, can reach out a bit further.</p>
  712. </section>
  713. <section class="rainbowbreak">
  714. <h1>Expand<br>Until<br>Collapse</h1>
  715. </section>
  716. <section class="realblack">
  717. <img src="http://frankchimero.com/talks/the-webs-grain/transcript/blank.gif" data-src="http://frankchimero.com/talks/the-webs-grain/transcript/dots.gif" alt="Animated dots" class="fullimg">
  718. <p>We often think making things for the web is a process of simplifying&mdash;the hub, the dashboard, the control panel are all dreams of technology that coalesces&mdash;but things have a tendency to diverge into a multiplicity of options. We pile on more tools and technology, each one increasingly nuanced and minor in its critical differences. Clearly, convergence and simplicity make for poor goals. Instead, we must aim for clarity. You can’t contain or reduce the torrent of technology, but you can channel it in a positive direction through proper framing and clear articulation.</p>
  719. <h1>Technology only adds more—it is never this <em>or</em> that; it is always this <em>and</em> that.</h1>
  720. <p>A quick example from my life: Twitter didn’t replace Facebook. The iPad didn’t replace my phone. My phone didn’t replace my TV. Now, I watch YouTube on my iPad, toss the video up to my TV, while checking Twitter and Facebook on my phone. It’s a little constellation of technology. But I keep asking myself: how many more things can I juggle? And for how long?</p>
  721. <p>The answers offered are typically technological solutions. Algorithms. Automation. Tiny programs and sets of rules to filter out what bursts from the internet’s flue hole. While well intentioned (maybe), these answers only become extra points of control and influence.</p>
  722. <h1>Using technology to solve the problems it causes is as futile as cleaning a grass stain by rubbing grass on it.</h1>
  723. <p>More technology only amplifies the problems created by an abundance of it. This leads to the most pressing question: How far out will technology grow? And when does it cross the line of comfort?</p>
  724. <p class="sep">***</p>
  725. <p>We’re building edgeless environments of divergency. Things are added in chaos, then if successful, they expanded further and further out until they collapse and rearrange. This is probably why responsive design feels so relevant, maddening, and divisive: its patterns mimic the larger patterns of technology itself.</p>
  726. <p>What we build is defined and controlled by its unresolvable conflicts. In responsive design, it’s the text and image conundrum I showed earlier. In other, more grand arenas, there is capital versus labor, or collective control versus anarchic individualism. In technology, I believe it comes down to the power dynamics of convenience. To create convenience&mdash;particularly the automated convenience technology trades in&mdash;someone else must make our choices for us.</p>
  727. <h1>In other words: the less you have to do, the less say you have.</h1>
  728. <p>Up to a point, swapping autonomy for ease is a pretty good trade: who wants to run the math on their accounting books or call the restaurant to place a delivery order? But if taken too far, convenience becomes a Trojan Horse. We cede too much control and become dependent on something we can no longer steer. Platforms that promised to bring convenience to a process or intimacy to a relationship now wedge themselves into the transaction as new middlemen. Then, we’re left to trust in the benevolence of those who have the power to mold our dependencies. Citing a lot of the concerns I mentioned earlier, those people are less responsible and compassionate than we had hoped. In pursuit of convenience, we have opened the door to unscrupulous influence.</p>
  729. </section>
  730. <section class="white">
  731. <p>You could say that our current technological arrangement has spread out too far, and it is starting to look and feel wrong. Fortunately, we can treat this over-expansion just like everything else I’ve mentioned. We can draw a line, and create a point of reassembly for what we’ve made. We can think about how to shift, move, and resize the pieces so that they fall back in line with our intentions. This power is compounded for those of us who make this technology.</p>
  732. <p>But this is not a technological response. It is an explicit act of will&mdash;an individual’s choice to change their behaviors about what to use, where to work, what to adopt, what to pay attention to. It is simple mindfulness, that thing which needy technology makes so hard to practice. And it starts with a question: what is technology’s role in your life? And what, really, do you want from it?</p>
  733. <p>As for me? I won’t ask for peace, quiet, ease, magic or any other token that technology can’t provide&mdash;I’ve abandoned those empty promises. My wish is simple: I desire a technology of grace, one that lives well within its role.</p>
  734. <p>How will we know that we’re there? I suppose we’ll look at what we’ve built, notice how the edges have dropped away, and actually be pleased it looks like it could go on forever. •</p>
  735. </section>
  736. </article>
  737. </section>
  738. <nav id="jumpto">
  739. <p>
  740. <a href="/david/blog/">Accueil du blog</a> |
  741. <a href="http://frankchimero.com/talks/the-webs-grain/transcript/">Source originale</a> |
  742. <a href="/david/stream/2019/">Accueil du flux</a>
  743. </p>
  744. </nav>
  745. <footer>
  746. <div>
  747. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  748. <p>
  749. Bonjour/Hi!
  750. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  751. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  752. </p>
  753. <p>
  754. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  755. </p>
  756. <p>
  757. Voici quelques articles choisis :
  758. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  759. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  760. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  761. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  762. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  763. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  764. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  765. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  766. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  767. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  768. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  769. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  770. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  771. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  772. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  773. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  774. </p>
  775. <p>
  776. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  777. </p>
  778. <p>
  779. Je ne traque pas ta navigation mais mon
  780. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  781. conserve des logs d’accès.
  782. </p>
  783. </div>
  784. </footer>
  785. <script type="text/javascript">
  786. ;(_ => {
  787. const jumper = document.getElementById('jumper')
  788. jumper.addEventListener('click', e => {
  789. e.preventDefault()
  790. const anchor = e.target.getAttribute('href')
  791. const targetEl = document.getElementById(anchor.substring(1))
  792. targetEl.scrollIntoView({behavior: 'smooth'})
  793. })
  794. })()
  795. </script>