{"id":315,"date":"2012-10-16T10:37:12","date_gmt":"2012-10-16T08:37:12","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/piu-pixel-piu-problemi\/"},"modified":"2012-10-16T10:37:12","modified_gmt":"2012-10-16T08:37:12","slug":"piu-pixel-piu-problemi","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/piu-pixel-piu-problemi\/","title":{"rendered":"Pi\u00f9 pixel pi\u00f9 problemi"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2012\/10\/n62b-web.png\" border=\"0\" align=\"left\" \/>I dispositivi mobile hanno un <a href=\"http:\/\/en.wikipedia.org\/wiki\/Pixel_density#Computer_displays\">PPI<\/a> sempre pi\u00f9 alto, ma anche i computer desktop e portatili stanno seguendo questo trend. Non lo si pu\u00f2 pi\u00f9 evitare: i display ad alta densit\u00e0 di pixel o &#8220;Retina&#8221; si stanno <a href=\"http:\/\/www.webmonkey.com\/2012\/03\/the-web-needs-to-get-ready-for-the-the-high-resolution-future\/\">ampiamente diffondendo<\/a> e, c&#8217;era da aspettarselo, i siti web cominciano ad apparire leggermente sfuocati su questi monitor meravigliosi. Ma, prima di agire di impulso e ingrandire tutti i nostri siti, dobbiamo identificare i problemi che si presentano volendo adeguare i siti a queste risoluzioni e trovare il modo pi\u00f9 responsabile per procedere, tenendo bene a mente i nostri utenti.<\/p>\n<div class=\"paragrafo\">\n<h2>Il grande problema: immagini enormi<\/h2>\n<p>Nel tentativo di tenere i propri siti aggiornati con le ultime tecnologie, molti di noi hanno intrapreso il processo della realizzazione dei design di questi a &#8220;<code>@2x<\/code>&#8220;, sperando segretamente che &#8220;<code>@3x<\/code>&#8221; non venga mai realizzato. Si potrebbe essere indotti a credere che un&#8217;immagine <code>@2x<\/code> abbia il doppio dei kilobyte, mentre in realt\u00e0 \u00e8 circa tre o quattro volte pi\u00f9 grande. Come potete vedere nella mia <a href=\"http:\/\/www.italianalistapart.com\/62\/piu-pixel-piu-problemi\/index.html\">dimostrazione di <code>@1x<\/code> rispetto a <code>@2x<\/code><\/a>, il risultato finale \u00e8 che le foto o le composizioni maggiormente dettagliate arrivano in fretta ai megabyte.<\/p>\n<p>Vi starete chiedendo: &#8220;Perch\u00e9 questo dovrebbe essere un problema? Il web non dovrebbe essere bello?&#8221;. Certo! Il motivo per cui abbiamo intrapreso la nostra carriera \u00e8 quasi sicuramente per rendere il web un posto migliore. Il problema sta nelle assunzioni che facciamo sull&#8217;ampiezza di banda.<\/p>\n<p>Nelle parti pi\u00f9 ricche del mondo, trattiamo l&#8217;accesso alla banda larga come un diritto civile, ma per <a href=\"http:\/\/www.akamai.com\/stateoftheinternet\/\">molte persone sul nostro pianeta<\/a> la realt\u00e0 \u00e8 che devono pagare la banda al gigabyte o non hanno accesso a connessioni ad alta velocit\u00e0. &#8220;Perch\u00e9 \u00e8 bello&#8221; non \u00e8 un motivo sufficiente per mandare un&#8217;immagine da 1MB sulla rete 3G, o, ancora peggio, su qualcosa come la rete EDGE.<\/p>\n<p>Anche nei nostri paradisi a banda larga, non occorre cercare molto per trovare esempi di banda limitata. Un visitatore del vostro sito potrebbe usare un tablet o un telefono con un alto PPI dal suo comodo divano oppure nel bel mezzo del deserto dell&#8217;Arizona. In maniera analoga, i nuovi Retina Macbook Pro potrebbero essere connessi a internet tramite <a href=\"https:\/\/fiber.google.com\/about\/\">Google Fiber<\/a> o collegati tramite un hotspot 3G in un aeroporto. Dobbiamo essere cauti nelle ipotesi che facciamo sui pixel e sulla banda.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Percorsi sbagliati: JavaScript<\/h2>\n<blockquote>\n<p>User\u00f2 JavaScript.<\/p>\n<p><cite>\u2014 Tutti, sempre<\/cite><\/p>\n<\/blockquote>\n<p>JavaScript ha risolto molti dei nostri problemi in passato, perci\u00f2 \u00e8 normale che si faccia ricorso ad esso per salvarci un&#8217;altra volta. Tuttavia, la maggior parte delle soluzioni non \u00e8 all&#8217;altezza e finisce con il penalizzare gli utenti con quello che viene comunemente chiamato il &#8220;download doppio&#8221;.<\/p>\n<p><a href=\"http:\/\/italianalistapart.com\/articoli\/58-numero-44-14-febbraio-2012\/234-immagini-responsive-quasi-funzionato-cosa-ci-serve\">Mat Marquis l&#8217;ha spiegato bene<\/a>, ma vale la pena ripeterlo: nella loro ricerca della velocit\u00e0 e <a href=\"http:\/\/googleblog.blogspot.com\/2009\/06\/lets-make-web-faster.html\">per rendere il web pi\u00f9 veloce<\/a>, i browsers hanno cominciato a fare &#8220;prefetching&#8221; di tutte le immagini presenti in un documento prima che JavaScript vi abbia accesso e possa fare una qualunque modifica.<\/p>\n<p>Per questo le soluzioni in cui vengono rilevate le capacit\u00e0 di alta risoluzione e in cui viene immessa una nuova sorgente per l&#8217;immagine causano in realt\u00e0 il caricamento di due immagini, obbligando gli utenti con strumenti ad alta risoluzione ad aspettare che <em>entrambe<\/em> gli insiemi di immagini vengano scaricati. Questo download doppio non sembra eccessivamente penalizzante per una singola immagine, ma provate a pensare a cosa pu\u00f2 accadere con una photogallery con 100 immagini per pagina&#8230; Ahia!<\/p>\n<p>Ci sono altri tentativi, come la &#8220;bandwith detection&#8221;, l&#8217;impostazione di cookie, la &#8220;server-side detection&#8221; o un mix di queste tre. Per quanto mi piacerebbe che i robot risolvessero i miei problemi, queste soluzioni hanno una barriera in ingresso pi\u00f9 alta per il web developer medio: il punto di maggior sofferenza \u00e8 che introducono delle dipendenze server\/cookie, che storicamente hanno sempre presentato dei problemi.<\/p>\n<p>Abbiamo bisogno di una soluzione puramente front-end per le immagini ad alta risoluzione.<\/p>\n<p>Vi suona familiare? \u00c8 perch\u00e9 le immagini ad alta risoluzione e le immagini responsive fanno entrambe riferimento allo stesso problema: come mandare diverse immagini a diversi device e contesti usando lo stesso tag <code>HTML<\/code>?<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>La soluzione: il caro vecchio progressive enhancement<\/h2>\n<p>Quelli tra noi che sono coinvolti nei CSS e negli standard web conoscono bene il concetto di progressive enhancement. \u00c8 importante che facciamo fronte comune su questo punto: i pixel, sia in termini di spazio sul device sia in termini di densit\u00e0 del device, dovrebbero essere trattati come un miglioramento o come una feature che alcuni browser hanno e altri no. Create una baseline solida di <a href=\"http:\/\/bradfrostweb.com\/blog\/mobile\/support-vs-optimization\/\">supporto, poi ottimizzate<\/a> se necessario. In effetti, imparare a costruire in maniera appropriata e migliorare progressivamente un sito web pu\u00f2 far risparmiare molto tempo a voi e al vostro cliente.<\/p>\n<p>Ecco le &#8220;regole della strada&#8221; che abbiamo seguito io e i miei colleghi di Paravel navigando in questo groviglio di immagini ad alta densit\u00e0:<\/p>\n<ul>\n<li>usate i CSS e i web type ovunque sia possibile,<\/li>\n<li>ogni volta che potete farlo, usate SVG e le icone realizzate mediante font,<\/li>\n<li>usate Picturefill per la grafica raster.<\/li>\n<\/ul>\n<p>Vediamoli uno per uno.<\/p>\n<h3>CSS e web font<\/h3>\n<p>CSS3 ci permette di replicare nel browser degli effetti visivi pi\u00f9 particolareggiati con pochissimo sforzo e il numero sempre crescente di web font di alta qualit\u00e0 ci permette di creare siti su una base tipograficamente ricca invece di creare dei collage di immagini. Con le capacit\u00e0 attuali di CSS, stanno diminuendo sempre di pi\u00f9 i buoni motivi per fare affidamento su grafiche raster giganti per l&#8217;impatto visivo.<\/p>\n<p>Quindi, rimane valida la vecchia regola: se potete ottenere il vostro design con HTML\/CSS, fatelo. Se non potete farlo con CSS, allora forse la prima domanda che dovreste farvi \u00e8: perch\u00e9 no? Dopo tutto, se ci consideriamo come parte del business del web design, allora \u00e8 imperativo che i nostri design, innanzitutto, funzionino sul web e nella maniera pi\u00f9 efficiente possibile.<\/p>\n<p>Fate un passo indietro e adottate i materiali grezzi del web: HTML e CSS.<\/p>\n<h3>SVG e le icone realizzate mediante font<\/h3>\n<p>Le immagini <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> sono dei path vettoriali basati su XML progettati in origine come competitor di Flash. \u00c8 come se fossero dei file di Illustrator nel browser: non solo sono indipendenti dalla risoluzione, ma tendono anche a creare dei file estremamente leggeri (pressapoco determinati dal numero di punti nel vettore).<\/p>\n<p>Le icone realizzate mediante font (come ad esempio <a href=\"http:\/\/pictos.cc\/\">Pictos<\/a> o <a href=\"http:\/\/symbolset.com\/\">SymbolSet<\/a>) sono sostanzialmente degli insiemi di grafica vettoriale riuniti in un font dingbat custom, accessibile attraverso i caratteri Unicode in un font inserito mediante <code>@font-face<\/code>. Un piccolo aneddoto: in Paravel abbiamo notato che le piccole grafiche raster, come i bottoni e le icone, tendono a mostrare le loro stranezze soprattutto sugli schermi con risoluzioni maggiori. Le icone realizzate con i font sono un&#8217;ottima alternativa alla frustrazione derivante dagli &#8220;sprite sheet&#8221; e abbiamo gi\u00e0 cominciato ad <a href=\"http:\/\/css-tricks.com\/html-for-icon-font-usage\/\">usare le icone realizzate mediante font<\/a> come sostituti ovunque sia possibile.<\/p>\n<p>Il supporto per <code>@font-face<\/code> \u00e8 grandioso e il supporto per l&#8217;embed di SVG di base sfiora l&#8217;ubiquit\u00e0, eccezion fatta per i soliti vecchi colpevoli: <a href=\"http:\/\/caniuse.com\/#search=svg\">le versioni pi\u00f9 vecchie di IE e Android<\/a>. Nonostante ci\u00f2, possiamo cominciare facilmente ad usare SVG gi\u00e0 oggi e, se necessario, faremo delle concessioni ai vecchi browser usando la feature detection per dare un polyfill o un fallback, o magari usando <a href=\"https:\/\/github.com\/filamentgroup\/unicon\">nuovi progetti che automatizzano gli sprite sheet SVG\/PNG<\/a>.<\/p>\n<p>Ci sono dei casi in cui i formati non sono all&#8217;altezza. Le icone realizzate con i font, ad esempio, possono avere un solo colore. Le immagini SVG si possono ridimensionare all&#8217;infinito, ma ingrandire non significa ottenere pi\u00f9 dettagli o maggiore fedelt\u00e0. Questo \u00e8 il punto su cui occorre ingegnarsi di pi\u00f9.<\/p>\n<h3>Usare Picturefill con grafica raster<\/h3>\n<p>Non estraneo a questa pubblicazione, l&#8217;elemento <code>&lt;picture&gt;<\/code>, proposto dal <a href=\"http:\/\/www.w3.org\/community\/respimg\/\">W3C Responsive Images Community Group<\/a>, \u00e8 una soluzione elegante per caricare una grafica raster molto grande. Con <code>&lt;picture&gt;<\/code> potete specificare progressivamente quale sorgente di immagine volete che il browser usi all&#8217;aumentare dei pixel a disposizione.<\/p>\n<p>L&#8217;elemento <code>&lt;picture&gt;<\/code> non \u00e8 esente da <a href=\"http:\/\/www.italianalistapart.com\/articoli\/66-numero-52-28-maggio-2012\/271-immagini-responsive-e-standard-web-a-punto-di-svolta\">drammi<\/a> e ha anche un concorrente valoroso. L&#8217;attributo di image <code>@srcset<\/code>, portato avanti soprattutto da Apple, si basa sulla propriet\u00e0 proposta di CSS <code>image-set()<\/code>, pensata per mandare risorse ad alta risoluzione come immagini di background. Ecco un esempio della sintassi proposta (con i miei personalissimi commenti):<\/p>\n<p><code><\/p>\n<pre>&lt;img alt=\"Cat Dancing\" src=\"small-1.jpg\"\nsrcset=\"small-2.jpg 2x,  \/\/ this is pretty cool\nlarge-2.jpg 100w,       \/\/ meh\nlarge-2.jpg 100w 2x     \/\/ meh@2x\n\"&gt;<\/pre>\n<p><\/code><\/p>\n<p><code>@srcset<\/code>, come soluzione per le immagini completamente responsive, ha una fastidiosa &#8220;microsintassi&#8221; e non \u00e8 &#8220;feature-complete&#8221; (ovvero, ha delle unit\u00e0 misteriose <code>h<\/code> e <code>w<\/code> basate sul pixel e non supporta le unit\u00e0 <code>em<\/code>). Ma ha delle qualit\u00e0 per cui farsi redimere: in teoria, l&#8217;attributo <code>@srcset<\/code> potrebbe mettere la determinazione della banda tra le mani del browser, il quale, attraverso le impostazioni dell&#8217;utente e\/o aggregando dati sulla velocit\u00e0 di tutte le richieste, potrebbe poi prendere delle decisioni meglio informate su quale risoluzione richiedere.<\/p>\n<p>Tuttavia, <a href=\"http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/embedded-content-1.html#attr-img-srcset\">per come \u00e8 scritta la specifica<\/a>, <code>@srcset<\/code> \u00e8 semplicemente un insieme di suggerimenti per il browser, tra cui deve scegliere oppure ignorarli completamente a sua discrezione. Lasciare il controllo totale al browser mi fa un po&#8217; rabbrividire e immagino che molti di voi si sentano come me.<\/p>\n<p>Non sarebbe bello se ci fosse una via di mezzo?<\/p>\n<p>Notando i punti di forza dell&#8217;attributo <code>@srcset<\/code>, il Responsive Images Community Group ha presentato una proposta chiamata <a href=\"http:\/\/www.w3.org\/community\/respimg\/2012\/06\/18\/florians-compromise\/\">il Compromesso di Florian<\/a>, che fonde i poteri sia di <code>@srcset<\/code> sia dell&#8217;elemento <code>&lt;picture&gt;<\/code>.<\/p>\n<p><code><\/p>\n<pre> \n&lt;picture alt=\"Cat Dancing\"&gt;\n&lt;source media=\"(min-width: 45em)\" srcset=\"large-1.jpg 1x, large-2.jpg 2x\"&gt;\n&lt;source media=\"(min-width: 18em)\" srcset=\"med-1.jpg 1x, med-2.jpg 2x\"&gt;\n&lt;source srcset=\"small-1.jpg 1x, small-2.jpg 2x\"&gt;\n&lt;img src=\"small-1.jpg\"&gt;\n&lt;\/picture&gt;<\/pre>\n<p><\/code><\/p>\n<p>Senza dubbio la sintassi di <code>&lt;picture&gt;<\/code> \u00e8 pi\u00f9 verbosa ma \u00e8 estremamente leggibile e non usa la sintassi abbreviata &#8220;100w&#8221; che crea confusione. Aspettiamoci che le cose cambino con l&#8217;andare del tempo, ma nel frattempo noi stiamo attualmente usando la soluzione <a href=\"https:\/\/github.com\/scottjehl\/picturefill\">Picturefill<\/a> basata sui <code>div<\/code> di Filament Group, che troviamo semplice da usare e che non richiede alcuna architettura server n\u00e9 alcun file <code>.htaccess<\/code>. Semplicemente, usa un polyfill sull&#8217;elemento <code>&lt;picture&gt;<\/code>, come se esistesse gi\u00e0 oggi.<\/p>\n<p>Vediamo cosa succede: la nostra dimostrazione precedente usava due istanze dell&#8217;originale Picturefill per scambiare le sorgenti al ridimensionamento del browser. Ho fatto delle rapide modifiche a questa demo, combinando ora sia la sorgente <code>@1x<\/code> sia quella <code>@2x<\/code> in <a href=\"http:\/\/scottjehl.github.com\/picturefill\/\">una demo Picturefill con una sintassi pi\u00f9 nuova<\/a>.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Tecnica sperimentale l&#8217;hack 1.5x<\/h2>\n<p>Un&#8217;altra cosa che facciamo in Paravel \u00e8 giocare con le medie. La situazione nel vostro caso potrebbe essere diversa, ma ho notato che gli schermi ad alta risoluzione fanno generalmente un ottimo lavoro cercando di ottenere il meglio dai pixel a loro disposizione, come potete vedere nella versione <a href=\"http:\/\/www.italianalistapart.com\/62\/piu-pixel-piu-problemi\/1.5x.html\"><code>@1.5x<\/code> dell&#8217;esperimento della nostra demo.<\/a><\/p>\n<table border=\"0\">\n<thead>\n<tr>\n<th>Dimensione<\/th>\n<th>Piccola<\/th>\n<th>Media<\/th>\n<th>Grande<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>@1x<\/th>\n<td>37kb<\/td>\n<td>120kb<\/td>\n<td>406kb<\/td>\n<\/tr>\n<tr>\n<th>@1.5x<\/th>\n<td>73kb<\/td>\n<td>248kb<\/td>\n<td>835kb<\/td>\n<\/tr>\n<tr>\n<th>@2x<\/th>\n<td>120kb<\/td>\n<td>406kb<\/td>\n<td>1057kb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Se non avete uno schermo ad alta risoluzione, potete aumentare lo zoom del vostro browser al 200% per simulare come apparirebbero gli artefatti di compressione su uno schermo ad alta risoluzione. L&#8217;immagine <code>@1x<\/code> chiaramente ha la peggior fedelt\u00e0 sui monitor ad alta risoluzione e l&#8217;immagine <code>@2x<\/code> ha la pi\u00f9 alta fedelt\u00e0. La versione <code>@1.5x<\/code>, tuttavia, va abbastanza bene, quasi quanto la versione <code>@2x<\/code> e ha un risparmo di carico di circa il 20%. Quale notereste di pi\u00f9 voi come utenti: la differenza in fedelt\u00e0 o la differenza in caricamento della pagina?<\/p>\n<p>In definitiva, l&#8217;utilit\u00e0 della tecnica <code>@1.5x<\/code> dipende dalla situazione. Pi\u00f9 di tutto, penalizza l&#8217;utente <code>@1x<\/code>, ma forse potrebbe fare al caso vostro una via di mezzo con <code>@1.2x<\/code> o <code>@1.3x<\/code>. Attualmente, vediamo dei metodi &#8220;solo un po&#8217; pi\u00f9 grande&#8221; come soluzione fattibile per ottenere un po&#8217; di pi\u00f9 da immagini di media importanza senza aggiungere un altro grado di complessit\u00e0 per i nostri clienti. Se vi trovate in una situazione in cui non potete fare dei cambiamenti drastici, questo potrebbe essere un buon modo per guadagnare un po&#8217; di fedelt\u00e0 senza (relativamente) aumenti a dismisura.<\/p>\n<p><\/a><\/div>\n<p><a href=\"http:\/\/www.italianalistapart.com\/62\/piu-pixel-piu-problemi\/1.5x.html\"> <\/a><\/p>\n<div class=\"paragrafo\"><a href=\"http:\/\/www.italianalistapart.com\/62\/piu-pixel-piu-problemi\/1.5x.html\"><\/p>\n<h2>Ma soprattutto, usate il cervello<\/h2>\n<p><\/a><\/p>\n<p>Recentemente, <a href=\"http:\/\/www.italianalistapart.com\/62\/piu-pixel-piu-problemi\/1.5x.html\">facendo il redesign del sito Paravel<\/a>, abbiamo imparato a sfidare le nostre stesse regole. Dal momento che abbiamo il talentuoso illustratore Reagan Ray nel nostro team, il nostro nuovo sito fa largo uso di SVG. Ma quando abbiamo esportato la nostra amata grafica dei &#8220;Three Amigos&#8221;, abbiamo fatto una rapida indagine e abbiamo notato che la <a href=\"http:\/\/cl.ly\/343n2s0b1i2N\">versione SVG<\/a> era di 140kb. Ci sembrava pesante, cos\u00ec l&#8217;abbiamo esportata in <a href=\"http:\/\/cl.ly\/image\/1i1T0e3f3u13\">una versione PNG 2000&#215;691<\/a> piuttosto grande. Pesava solo 84kb. Non siamo scienziati dell&#8217;UX, ma assumeremo che i nostri visitatori preferiscano immagini che si scaricano cinque volte pi\u00f9 rapidamente, abbiamo deciso per PNG.<\/p>\n<p>Basta usare la testa. Non sono sicuro che il nostro settore lo dica a sufficienza: siete intelligenti, siete voi a creare internet e a prendete delle buone decisioni. Fate attenzione a quello che producete, soppesate i pro e i contro e controllate le vostre assunzioni man mano che procedete.<\/p>\n<p>Siate anche flessibili. Nel nostro settore non ci sono proiettili d&#8217;argento: <a href=\"http:\/\/trentwalton.com\/2010\/02\/18\/position-absolute\/\">il posizionamento assoluto<\/a>, i metodi e i flussi di lavoro tendono ad essere datati da una settimana con l&#8217;altra. Come abbiamo scoperto con il nostro sito, attenersi strettamente alle nostre regole non \u00e8 sempre meglio per i nostri utenti.<\/p>\n<p>Fare bene per gli utenti \u00e8 il fulcro del front-end development e, in realt\u00e0, anche di tutto il resto sul web. La densit\u00e0 di pixel potrebbe cambiare ma, come si dice, quel che va bene per l&#8217;utente va <em>sempre<\/em> bene per il nostro business.<\/p>\n<p>Illustrazioni: {carlok}<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I dispositivi mobili hanno PPI sempre pi\u00f9 alti, seguiti dai desktop computer e dai laptop in questo nuovo trend. Non c&#8217;\u00e8 modo di evitarlo: i display ad alta densit\u00e0 di pixel o Retina stanno diventando mainstream e, come possiamo aspettarci, i nostri siti web appaiono leggermente sfuocati in tutto questo splendore retroilluminato. Ma prima di seguire d&#8217;impulso la direzione che ci spinge a sovradimensionare tutti i nostri siti, dobbiamo identificare quali problemi ci pongono e capire qual \u00e8 il modo pi\u00f9 responsabile di procedere, tenendo in mente prima di tutto i nostri utenti.<\/p>\n","protected":false},"author":818,"featured_media":7000675,"comment_status":"open","ping_status":"open","template":"","categories":[247,279,272,77,274],"tags":[],"coauthors":[378],"class_list":["post-315","article","type-article","status-publish","has-post-thumbnail","hentry","category-html","category-interaction-design","category-layout-and-grids","category-numero-62-16-ottobre-2012","category-responsive-design"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/users\/818"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/comments?post=315"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media\/7000675"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=315"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}