{"id":807,"date":"2018-04-30T13:27:48","date_gmt":"2018-04-30T11:27:48","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/10-extra-per-ottima-documentazione-api\/"},"modified":"2018-04-30T13:27:48","modified_gmt":"2018-04-30T11:27:48","slug":"10-extra-per-ottima-documentazione-api","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/10-extra-per-ottima-documentazione-api\/","title":{"rendered":"10 extra per un&#8217;ottima documentazione di API"},"content":{"rendered":"<p>Se riuscite a creare una straordinaria documentazione della API e ad assicurarvi che gli sviluppatori abbiano un&#8217;esperienza positiva nell&#8217;implementazione della vostra API, questi tesseranno le lodi del vostro prodotto. Migliorare continuamente la documentazione delle API \u00e8 un investimento, ma pu\u00f2 avere un impatto enorme. Un&#8217;ottima documentazione crea fiducia, vi differenzia dalla concorrenza e fornisce valore di marketing.<\/p>\n<p>Ho condiviso alcune best practice per creare una buona documentazione API nel mio articolo \u201d<a href=\"http:\/\/italianalistapart.com\/articoli\/196-numero-218-22-settembre-2017\/770-dieci-fondamenti-di-ottima-documentazione-di-api\">I dieci fondamenti di un&#8217;ottima documentazione di API<\/a>\u201d. In questo articolo, approfondir\u00f2 alcuni studi di ricerca e mostrer\u00f2 come sia possibile migliorare e perfezionare diversi aspetti della documentazione dell&#8217;API. Alcuni di questi extra, come la leggibilit\u00e0, sono pi\u00f9 vicini all&#8217;essenziale, mentre altri sono pi\u00f9 dei \u201cnice to have\u201d, come la personalit\u00e0. Spero vi diano alcune idee per creare i migliori documenti possibili per il vostro prodotto.<\/p>\n<div class=\"paragrafo\">\n<h2 id=\"section1\">Pagina della panoramica generale<\/h2>\n<p>Chiunque visiti la documentazione della vostra API deve essere in grado di decidere al primo sguardo se valga la pena esplorare oltre. Dovreste mostrare chiaramente:<\/p>\n<ul>\n<li>cosa offre la vostra API (ossia, cosa fanno i vostri prodotti),<\/li>\n<li>come funziona,<\/li>\n<li>come si integra,<\/li>\n<li>come scalarla (ossia, limiti di utilizzo, prezzi, supporto e Service Level Agreements).<\/li>\n<\/ul>\n<div id=\"figure1\" class=\"illustration full\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/spotify-api.jpg\" border=\"0\" alt=\"Screenshot: la homepage della documentazione della API di Spotify.\" width=\"100%\" \/><\/p>\n<p><a href=\"https:\/\/developer.spotify.com\/web-api\/\">La API documentation di Spotify<\/a> dichiara chiaramente cosa fa la API e come funziona e fornisce dei link a guide e API references organizzati in categorie.<\/p>\n<\/div>\n<p>Una pagina di panoramica generale \u00e8 indirizzata a tutti i visitatori, ma pu\u00f2 essere particolarmente utile per i decision-maker. Devono vedere il valore del business: spiegategli direttamente perch\u00e9 un&#8217;azienda dovrebbe usare la vostra API.<\/p>\n<p>D&#8217;altro canto, gli sviluppatori vogliono comprendere lo scopo della API e il suo insieme di feature, quindi tendono a guardare alla pagina della panoramica per delle informazioni concettuali. Mostrate loro l&#8217;architettura della vostra API e la struttura dei vostri documenti. Includete una panoramica di diversi componenti e un&#8217;introduzione al comportamento request-response (ossia, come integrare, come mandare le richieste e come processare le risposte). Fornite informazioni sulle piattaforme su cui gira la API (es., Java) e le possibili interazioni con altre piattaforme.<\/p>\n<p>Come ha scoperto lo studio \u201c<a href=\"http:\/\/ieeexplore.ieee.org\/document\/6070395\/?reload=true\">The role of conceptual knowledge in API usability<\/a>\u201d, senza una conoscenza concettuale, gli sviluppatori hanno delle difficolt\u00e0 nel formulare delle domande efficaci e nel valutare la rilevanza o il significato del contenuto che hanno trovato. Questo \u00e8 il motivo per cui la documentazione della API dovrebbe non solo includere esempi dettagliati sull&#8217;uso della API, ma anche introduzioni accurate ai concetti, agli standard e alle idee nelle strutture dati e sulla funzionalit\u00e0 di un&#8217;API. La pagina della panoramica pu\u00f2 essere una componente importante per adempiere a questo ruolo.<\/p>\n<div id=\"figure2\" class=\"illustration full\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/braintree-overview.jpg\" border=\"0\" alt=\"Screenshot: la pagina overview della API di Braintree ha un'illustrazione che ne mostra il funzionamento.\" width=\"100%\" \/><\/p>\n<p><a href=\"https:\/\/developers.braintreepayments.com\/start\/overview\">La pagina della overview di Braintree<\/a> fornisce una chiara panoramica del loro SDK, insieme a una spiegazione passo-passo visuale di come funziona la loro API.<\/p>\n<\/div>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section2\">Esempi<\/h2>\n<p>Per alcuni sviluppatori, gli esempi giocano un ruolo molto importante nel familiarizzare con una API rispetto alle spiegazioni di call e parametri.<\/p>\n<p>Uno studio recente, \u201c<a href=\"http:\/\/journals.sagepub.com\/doi\/full\/10.1177\/0047281617721853\">Application Programming Interface Documentation\u2014What Do Software Developers Want?<\/a>\u201d, ha esplorato il modo in cui interagiscono gli sviluppatori software con la documentazione di un&#8217;API: quali sono i loro obiettivi, in che modo apprendono, dove cercano informazioni e come giudicano la qualit\u00e0 dei documenti della API.<\/p>\n<h3 id=\"section3\">Il ruolo degli esempi<\/h3>\n<p>Lo studio ha scoperto che dopo aver condotto una panoramica iniziale di quello che fa e come funziona l&#8217;API, i developer affrontano l&#8217;apprendimento della API in due modi distinti: alcuni seguono un approccio top-down, in cui cercano di costruire una comprensione completa della API prima di cominciare a implementare degli specifici use case, mentre altri preferiscono seguire un approccio bottom-up, in cui cominciano subito a scrivere codice.<\/p>\n<p>Questo ultimo gruppo ha una strategia di apprendimento code-oriented: cominciano a imparare cercando ed estendendo degli esempi di codice. Immergersi in un&#8217;API nella maggior parte dei casi \u00e8 collegato a un task specifico. Cercano un esempio che abbia il potenziale di servire come base per risolvere il loro problema, ma una volta che hanno trovato la soluzione che cercavano, di solito smettono di imparare.<\/p>\n<p>Gli esempi sono essenziali per i principianti code-oriented, ma tutti gli sviluppatori ne traggono beneficio. Lo studio ha mostrato che spesso i developer si fidano pi\u00f9 degli esempi che della documentazione perch\u00e9, se funzionano, non possono essere datati o sbagliati. Spesso gli sviluppatori lottano per trovare da dove cominciare e in che modo cominciare con una nuova API: in questo caso, gli esempi possono diventare un ottimo punto d&#8217;ingresso. Molti sviluppatori possono afferrare le informazioni pi\u00f9 facilmente dal codice che dal testo e possono riutilizzare il codice negli esempi per le loro implementazioni. Gli esempi giocano anche altri ruoli che sono ben lontani dall&#8217;ovvio: forniscono automaticamente delle informazioni su dipendenze e prerequisiti, aiutano ad identificare le sezioni rilevanti nella documentazione quando gli sviluppatori scorrono la pagina e mostrano agli sviluppatori in maniera intuitiva in che modo dovrebbe apparire il codice che usa l&#8217;API.<\/p>\n<h3 id=\"section4\">Migliorate i vostri esempi<\/h3>\n<p>Dal momento che gli esempi sono dei componenti cos\u00ec cruciali nella documentazione della API, esempi migliori implicano documenti migliori.<\/p>\n<p>Per assicurare la qualit\u00e0 dei vostri esempi, essi dovrebbero essere completi, programmati professionalmente e funzionare in maniera corretta. Dal momento che gli esempi convogliano molto di pi\u00f9 del solo use case in considerazione, assicuratevi di seguire le linee guida di stile delle rispettive community e mostrate gli approcci best practice. In breve, spiegazioni informative: sebbene gli esempi possano essere auto-spieganti, i commenti inclusi negli esempi di codice aiutano la comprensione.<\/p>\n<p>Aggiungete degli esempi concreti, reali, ogni volta che potete. Se non avete degli esempi reali, assicuratevi che almeno appaiano tali: usate dei nomi di variabile e funzioni realistici invece di nomi astratti.<\/p>\n<p>Quando includete degli esempi, avete una variet\u00e0 di formati e approcci tra cui scegliere: esempi auto-generati, applicazioni tipo, client libraries ed esempi in pi\u00f9 linguaggi.<\/p>\n<h4 id=\"section5\">Esempi auto-generati<\/h4>\n<p>I tool di auto-documentazione come <a href=\"https:\/\/github.com\/swagger-api\/swagger-codegen\">Swagger Codegen<\/a> e <a href=\"https:\/\/apiblueprint.org\/tools.html\">API Blueprint<\/a> generano automaticamente la documentazione dal vostro codice sorgente e la mantengono aggiornata man mano che il codice cambia. Usateli per generare delle librerie di riferimento e delle snippet di codice tipo, ma siate coscienti che quello che producete in questo modo \u00e8 solo un&#8217;ossatura, non una documentazione completa. Dovrete ancora aggiungere le spiegazioni, le informazioni concettuali, le guide quick-start e i tutorial e dovrete ancora prestare attenzione ad altri aspetti come la UX e il copy di buona qualit\u00e0.<\/p>\n<p>Sul blog Readme, si esplorano <a href=\"https:\/\/blog.readme.io\/why-you-should-let-robots-help-you-write-your-api-documentation\/\">i tool di auto-doc e i loro limiti<\/a> in maggiore dettaglio attraverso un paio di esempi tratti dal mondo reale.<\/p>\n<h4 id=\"section6\">Applicazioni campione<\/h4>\n<p>Le applicazioni funzionanti che usano la API sono un ottimo modo per mostrare come tutto funzioni nel suo insieme e in che modo l&#8217;API si integri con diverse piattaforme e tecnologie. Sono diverse dalle snippet di codice di esempio, perch\u00e9 sono soluzioni stand-alone che mostrano il quadro generale. Come tali, sono utili agli sviluppatori che vorrebbero vedere in che modo funziona un&#8217;implementazione completa e avere una comprensione generale del modo in cui tutto si lega nella API. D&#8217;altro canto, sono dei prodotti reali che mostrano i servizi e la qualit\u00e0 della vostra API ai decision makers. <a href=\"https:\/\/developer.apple.com\/library\/content\/navigation\/#section=Resource%20Types&amp;topic=Sample%20Code\">L&#8217;iOS Developer Portal di Apple<\/a> offre degli esempi sorgenti buildable ed eseguibili di come portare a termine un task usando una tecnologia particolare in un&#8217;ampia variet\u00e0 di categorie.<\/p>\n<h4 id=\"section7\">Client libraries<\/h4>\n<p>Le client libraries sono pezzi di codice che gli sviluppatori possono aggiungere ai propri progetti di sviluppo. Solitamente sono disponibili in vari linguaggi di programmazione e coprono le funzionalit\u00e0 base di un&#8217;applicazione per essere in grado di interagire con la API. Fornirli \u00e8 una feature extra che richiede un investimento continuo da parte del provider dell&#8217;API, ma farle aiuta i developer a partire di slancio con l&#8217;uso della API. GitHub segue l&#8217;approccio pratico di offrire client libraries per i linguaggi che sono pi\u00f9 comunemente usati con la loro API, mentre mettono dei link a librerie non supportate, create dalla community, scritte in altri linguaggi meno popolari.<\/p>\n<h4 id=\"section8\">Esempi in pi\u00f9 linguaggi<\/h4>\n<p>Per loro natura, le API sono indipendenti dalla piattaforma e dal linguaggio. Gli sviluppatori possono usare i servizi di un&#8217;API con il linguaggio di loro scelta, ma questo significa che una buona documentazione dovrebbe coprire almeno i linguaggi pi\u00f9 popolari usati con quella particolare API (e.g., C#, Java, JavaScript, Go, Objective-C, PHP, Python, Ruby e Swift). Non solo dovreste fornire del codice di esempio e delle applicazioni di esempio in diversi linguaggi, ma questi esempi dovrebbero anche riflettere l&#8217;approccio best-practice per ogni linguaggio.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section9\">Usabilit\u00e0<\/h2>\n<p>La documentazione dell&#8217;API \u00e8 uno strumento che aiuta sviluppatori e altri stakeholder a fare il proprio lavoro. Dovreste adattarla al modo in cui le persone la usano e renderla il pi\u00f9 semplice da usare possibile. Considerate i seguenti fattori:<\/p>\n<ul>\n<li><strong>Copy and paste:<\/strong> Gli sviluppatori fanno copia e incolla degli esempi di codice per usarli come punto di partenza per le loro implementazioni. Rendete pi\u00f9 semplice questo processo o con un pulsante \u201ccopy\u201d vicino alle sezioni importanti o rendendo semplice evidenziare e copiare le sezioni.<\/li>\n<li><strong>Sticky navigation:<\/strong> Se ben implementato, fissare l&#8217;indice o un&#8217;altra navigazione nella visualizzazione della pagina pu\u00f2 far s\u00ec che gli utenti non si perdano e abbiano controllo quando ritornano verso l&#8217;alto.<\/li>\n<li><strong>Click:<\/strong> Minimizzate i click tenendo vicini gli uni agli altri gli argomenti correlati.<\/li>\n<li><strong>Selettore del linguaggio:<\/strong> I developer dovrebbero essere in grado di vedere gli esempi nel linguaggio che hanno scelto. Mettete un selettore del linguaggio sopra alla sezione degli esempi di codice e assicuratevi che la pagina ricordi il linguaggio selezionato dall&#8217;utente.<\/li>\n<li><strong>URL:<\/strong> Le viste singola pagina possono risultare in pagine molto lunghe, quindi assicuratevi che le persone possano mettere dei link a certe sezioni della pagina. Se, tuttavia, una visualizzazione a pagina singola non funziona per i vostri doc, non agitatevi: semplicemente, separate le diverse sezioni su pagine separate.\n<div class=\"illustration full\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/stripe-urls.jpg\" border=\"0\" alt=\"Screenshot: una sezione specifica dei documenti della Stripe API con la location bar che mostra che l'URL \u00e8 cambiato.\" width=\"100%\" \/><\/p>\n<p>Grande usabilit\u00e0: <a href=\"https:\/\/stripe.com\/docs\/api\/python#balance_object\">La documentazione della API di Stripe<\/a> cambia l&#8217;URL dinamicamente man mano che si scorre lungo la pagina.<\/p>\n<\/div>\n<p>Altra best practice da Stripe: anche il selettore del linguaggio cambia l&#8217;URL, cos\u00ec che gli URL portino nella giusta posizione nel giusto linguaggio.<\/p>\n<\/li>\n<li><strong>Collaborazione:<\/strong> Considerate di permettere agli utenti di contribuire ai vostri doc. Se vedete che i vostri utenti fanno delle modifiche alla vostra documentazione, indica che ci potrebbe essere spazio per un miglioramento, in quelle parti della vostra documentazione o addirittura nel vostro codice. Inoltre, i vostri utenti vedranno che le questioni sono gestite e la documentazione viene aggiornata frequentemente. Un modo per facilitare la collaborazione \u00e8 quello di avere la documentazione su GitHub, ma tenete presente che questo limiter\u00e0 le vostre opzioni di interattivit\u00e0, dal momento che GitHub ospita file statici.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section10\">Interattivit\u00e0<\/h2>\n<p>Fornire un&#8217;opzione per gli utenti per interagire con la vostra API attraverso la documentazione migliorer\u00e0 moltissimo l&#8217;esperienza dello sviluppatore e dar\u00e0 un&#8217;accelerata all&#8217;apprendimento.<\/p>\n<p>Per prima cosa, fornite una API key funzionante per fare dei test, o, ancora meglio, permettete agli utenti di fare il login sul sito della vostra documentazione e fate inserire loro la loro API key in dei comandi e in del codice di esempio. In questo modo possono copiare, incollare e far girare subito il codice.<\/p>\n<p>Come passo seguente, permettete ai vostri utenti di fare delle API call direttamente dal sito stesso. Per esempio, fategli fare delle query a un database di esempio, fategli modificare le loro query e vedere i risultati di questi cambiamenti.<\/p>\n<p>Un modo pi\u00f9 sofisticato per rendere pi\u00f9 interattiva la vostra documentazione \u00e8 quello di fornire una sandbox: un ambiente controllato in cui gli utenti possono testare call e funzioni con risorse note, manipolando dati in tempo reale. Gli sviluppatori imparano attraverso l&#8217;esperienza ad interagire con la vostra API nella sandbox, piuttosto che passando dalla lettura della documentazione a provare loro stessi gli esempi di codice. Nordic APIs <a href=\"http:\/\/nordicapis.com\/the-end-of-api-documentation-as-we-know-it\/\">spiega il vantaggio del sandboxing<\/a>, discute il ruolo della documentazione in un ambiente sandboxed e mostra una possibile implementazione. Per vedere una sandbox in azione, provate quella sul <a href=\"https:\/\/developers.dwolla.com\/\">developer site di Dwolla<\/a>.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section11\">Aiuto<\/h2>\n<p><a href=\"http:\/\/journals.sagepub.com\/doi\/full\/10.1177\/0047281617721853\">Lo studio che esplorava il modo in cui i software developer interagiscono con la API documentation<\/a> ha anche esplorato il modo in cui i developer cercano aiuto. In un ambiente di lavoro naturale, solitamente, chiedono prima ai propri colleghi. Poi, comunque, molti di loro tendono a cercare sul web delle risposte invece di consultare la documentazione ufficiale del prodotto. Questo significa che dovreste essere sicuri che la vostra documentazione della API sia ottimizzata per i motori di ricerca e che ritorni dei risultati rilevanti nelle query di ricerca.<\/p>\n<p>Per essere sicuri di avere i contenuti necessari disponibili per l&#8217;auto-aiuto, includete le FAQ e una knowledge base ben organizzata. Per un aiuto rapido e per un&#8217;interazione umana, fornite una form di contatto e, se ne avete la possibilit\u00e0, una soluzione help desk direttamente dai vostri doc, per esempio, una live chat con uno staff di supporto.<\/p>\n<p>Tale studio ha anche evidenziato il ruolo significativo giocato da <a href=\"https:\/\/stackoverflow.com\/\">Stack Overflow<\/a>: la maggior parte degli sviluppatori intervistati ha citato il sito come fonte affidabile di auto-aiuto. Potete anche supportare il lavoro di auto-aiuto dei vostri sviluppatori e il senso di community aggiungendo un vostro developer forum al vostro developer portal o fornendo un canale IRC o Slack.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section12\">Changelog<\/h2>\n<p>Come con tutto il software, le API cambiano e vengono regolarmente aggiornate con nuove feature, bug fix e miglioramenti della performance.<\/p>\n<p>Quando esce una nuova versione della vostra API, dovete informare dei cambiamenti gli sviluppatori che ci lavorano cos\u00ec che possano reagirvi di conseguenza. Un changelog, chiamato anche \u201cnote di rilascio\u201d, include le informazioni riguardanti le versioni attuali e quelle precedenti, solitamente ordinate per data e per numero di versione, insieme ai cambi associati.<\/p>\n<p>Se ci sono dei cambiamenti in una nuova versione che possono rompere l&#8217;utilizzo di una vecchia versione dell&#8217;API, mettete dei warning in cima ai changelog rilevanti, addirittura in cima alla vostra pagina delle note di rilascio. Potete anche portare attenzione a questi cambiamenti sottolineandoli o evidenziandoli in maniera permanente.<\/p>\n<p>Per tener aggiornati gli sviluppatori, offrite un feed RSS o la sottoscrizione a una newsletter, in cui possano essere notificati gli aggiornamenti alla vostra API.<\/p>\n<p>Oltre all&#8217;aspetto pratico, un changelog serve anche come segnale di fiducia che la API e la sua documentazione sono attivamente mantenuti e che le informazioni incluse sono aggiornate.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section13\">Statistiche e feedback<\/h2>\n<p>Potete fare un po&#8217; di ricerca conoscendo i vostri attuali clienti e quelli potenziali, parlando con le persone alle conferenze, esplorando i vostri competitor e perfino facendo dei questionari. Ciononostante, dovrete fare ancora molte supposizioni quando costruirete per la prima volta la documentazione della API.<\/p>\n<p>Comunque, una volta che i documenti saranno caricati, potrete cominciare a raccogliere dei dati sul loro utilizzo e del feedback per capire come poterli migliorare.<\/p>\n<p>Scoprite attraverso le statistiche quali sono i casi d&#8217;uso pi\u00f9 popolari. Osservate quali endpoint vengono usati maggiormente e assicuratevi di dare loro la priorit\u00e0 quando lavorerete sulla documentazione. Prendete spunto per dei tutorial e osservate quali casi d&#8217;uso non avete ancora coperto con un walkthrough step-by-step da siti di community di sviluppatori come Stack Overflow o i vostri forum per sviluppatori. Se una domanda che riguarda la vostra API salta fuori in questi canali e vedete delle persone che discutono dell&#8217;argomento attivamente, dovreste controllare se \u00e8 qualcosa che dovete spiegare nella documentazione.<\/p>\n<p>Raccogliete le informazioni dal vostro team di supporto. Quando vengono contattati dagli utenti? Ci sono delle domande ricorrenti a cui non riescono a trovare risposta nella vostra documentazione? Migliorate la documentazione in base al feedback da parte del team di supporto e verificate se avete avuto successo: gli utenti hanno smesso di fare le domande a cui avete risposto?<\/p>\n<p>Ascoltate il feedback e valutate come potete migliorare la vostra documentazione basandovi su di esso. Il feedback pu\u00f2 arrivare da molti canali diversi: workshop, training, blog post e commenti riguardanti la vostra API, conferenze, interviste con i clienti o studi di usabilit\u00e0.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section14\">Leggibilit\u00e0<\/h2>\n<p>La leggibilit\u00e0 \u00e8 la misura di quanto facilmente un testo scritto possa essere compreso da un lettore: include fattori visuali come l&#8217;aspetto dei font, i colori e il contrasto, e fattori contestuali come la lunghezza delle frasi, la scelta delle parole e il gergo. Si consulta la documentazione per imparare qualcosa di nuovo o per risolvere un problema. Non rendetegli il processo pi\u00f9 difficile con del testo difficile da comprendere.<\/p>\n<p>Mentre in generale dovreste avere come obiettivo la chiarezza e la brevit\u00e0 fin dal principio, ci sono alcuni aspetti specifici su cui potete lavorare per migliorare la leggibilit\u00e0 della documentazione dell&#8217;API.<\/p>\n<p><strong>Audience:<\/strong> aspettatevi che non tutti i vostri utenti saranno sviluppatori e che anche gli sviluppatori avranno delle skill e delle conoscenze pregresse sulla vostra API e sul business domain molto differenti. Per soddisfare i vari bisogni dei vari gruppi nel vostro pubblico target, spiegate tutto nei dettagli, ma fornite dei modi per chi ha gi\u00e0 familiarit\u00e0 con la funzionalit\u00e0 di trovare rapidamente quello che stanno cercando, per esempio, aggiungete una quick reference organizzata in maniera logica.<\/p>\n<p><strong>Formulazione:<\/strong> spiegate tutto <a href=\"http:\/\/plainlanguagenetwork.org\/plain-language\/what-is-plain-language\/\">il pi\u00f9 semplicemente possibile<\/a>. Usate frasi brevi e assicuratevi di essere consistenti con etichette, nomi nel menu e altro contenuto testuale. Includete una spiegazione chiara e diretta per ogni call. Evitate il gergo se possibile e, se non si pu\u00f2, mettete dei link alle definizioni relative al dominio la prima volta che lo usate. In questo modo sarete sicuri che le persone che non hanno familiarit\u00e0 con il vostro business domain possano ottenere l&#8217;aiuto di cui necessitano per comprendere la vostra API.<\/p>\n<p><strong>Font:<\/strong> sia la dimensione del font sia il tipo di font influenzano la leggibilit\u00e0. Usate titoli brevi per le sezioni e usate il title case per rendere pi\u00f9 semplice scorrerli. Per il testo pi\u00f9 lungo, usate i font sans serif. Nella stampa, i font serif rendono pi\u00f9 semplice la lettura, ma online, i caratteri serif possono confondersi. Optate per font come Arial, Helvetica, Trebuchet, Lucida Sans, o Verdana, che \u00e8 stato disegnato apposta per il Web. Anche il contrasto gioca un ruolo importante: <a href=\"https:\/\/leaverou.github.io\/contrast-ratio\/\">pi\u00f9 alto il contrasto<\/a>, pi\u00f9 facile da leggere sar\u00e0 il testo. Prendete in considerazione l&#8217;uso di un font di dimensione leggermente pi\u00f9 grande e caratteri diversi per il codice e il testo per aiutare gli utenti a orientarsi con la vista quando vanno avanti e indietro tra il loro editor di codice e la vostra documentazione.<\/p>\n<p><strong>Struttura:<\/strong> la documentazione della API dovrebbe soddisfare i bisogni sia dei nuovi visitatori che di quelli che ritornano (es., gli sviluppatori che fanno il debug la loro implementazione). Una struttura logica che sia semplice da navigare e che permetta una quick reference funziona per entrambe. Dotatevi di un indice chiaro e di una lista organizzata di risorse e create sezioni, sottosezioni, error case e display state direttamente collegabili.<\/p>\n<div id=\"figure3\" class=\"illustration full\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/stripe-anchors.jpg\" border=\"0\" alt=\"Screenshot: Quando il cursore passa sopra a specifici argomenti nella API di Stripe, appare un'icona linkata.\" width=\"80%\" \/><\/p>\n<p>Grande usabilit\u00e0: linkabilit\u00e0 dimostrata nella <a href=\"https:\/\/stripe.com\/docs\/api#update_coupon-coupon\">documentazione della API di Stripe<\/a>.<\/p>\n<\/div>\n<p><strong>Scorrevolezza:<\/strong> come sostiene Steve Krug nel suo libro sull&#8217;usabilit\u00e0 web, <a href=\"https:\/\/www.amazon.com\/Think-Common-Sense-Approach-Usability\/dp\/0789723107\"><em>Don\u2019t Make Me Think<\/em><\/a>, uno dei fatti pi\u00f9 importanti \u00e8 che gli utenti web non leggono, scorrono. Per rendere pi\u00f9 semplice la scansione del testo, usate paragrafi brevi, sottolineate le parole importanti e usate liste ogni volta che potete.<\/p>\n<p><strong>Accessibilit\u00e0:<\/strong> sforzatevi di rendere la vostra documentazione API accessibile a tutti gli utenti, inclusi gli utenti che accedono alla vostra documentazione tramite tecnologia assistiva (es., screen reader). Siate coscienti del fatto che gli screen reader potrebbero spesso avere dei problemi nella lettura del codice e potrebbero gestire la navigazione in maniera diversa, quindi esplorate <a href=\"http:\/\/webaim.org\/techniques\/screenreader\/\">come leggono il contenuto gli screen reader<\/a>. Imparate di pi\u00f9 sull&#8217;<a href=\"https:\/\/www.w3.org\/standards\/webdesign\/accessibility\">accessibilit\u00e0 web<\/a>, studiate le <a href=\"https:\/\/www.w3.org\/standards\/techs\/wcag#w3c_all\">Web Content Accessibility Guidelines<\/a> e fate del vostro meglio per aderirvi.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section15\">Personalit\u00e0<\/h2>\n<p>Avete lavorato sodo per cercare di conoscere il vostro pubblico e seguire le best practice per lasciare una buona impressione con la vostra documentazione della API. Ora, come tocco finale, potete assicurarvi che i vostri doc \u201csuonino\u201d e appaiano in sintonia con il vostro brand.<\/p>\n<p>Sebbene la documentazione di una API e i testi tecnici in generale non lascino molto spazio per gli esperimenti di tono e stile, potete ancora instillare della personalit\u00e0 nei vostri doc:<\/p>\n<ul>\n<li>Usate il vostro brand book e assicuratevi che i vostri API doc lo seguano alla lettera.<\/li>\n<li>Un tono amichevole e uno stile semplice possono fare meraviglie. Ricordate, le persone sono qui per studiare la vostra API e risolvere un problema. Aiutateli parlandogli in maniera naturale e facile da capire.<\/li>\n<li>Aggiungete delle illustrazioni che aiutino i vostri lettori a comprendere ogni parte della API. Mostrate la relazione fra le varie parti, visualizzate i concetti e i processi.<\/li>\n<li>Selezionate attentamente i vostri esempi cos\u00ec che riflettano il vostro prodotto nel modo in cui volete. Implementazioni giocose della vostra API creeranno un&#8217;impressione diversa rispetto agli use case pi\u00f9 seri o aziendali. Se il vostro brand lo permette, potete anche aggiungere un po&#8217; di divertimento con degli esempi (es., esempi e nomi di variabile divertenti), ma non esagerate.<\/li>\n<li>Potete inserire alcune immagini (oltre alle illustrazioni) dove possibile, ma assicuratevi che aggiungano qualcosa ai vostri documenti e che non distraggano il lettore.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragrafo\">\n<h2 id=\"section16\">Pensate al developer portal e oltre<\/h2>\n<p>Sebbene si stia ancora discutendo su dove tracciare la linea di confine tra la documentazione API e il developer portal, la maggior parte delle persone che lavorano nella comunicazione tecnica sembra essere d&#8217;accordo che un developer portal \u00e8 un&#8217;estensione della documentazione della API. In origine, la documentazione della API significava strettamente solo documenti di riferimento, ma poi sono entrati a far parte del pacchetto anche gli esempi, i tutorial e le guide per cominciare. Tuttavia, li chiamiamo ancora API doc. Al crescere del mercato per la developer communication, i fornitori si sforzano di estendere la developer experience oltre la documentazione della API a un developer portal a pieno titolo.<\/p>\n<p>In effetti, alcune delle idee discusse prima, come un developer forum o delle sandbox, puntano gi\u00e0 nella direzione della creazione di un developer portal. Un developer portal \u00e8 il passo successivo nella developer communication, dove oltre a dare ai developer tutto il supporto di cui necessitano, si comincia a costruire una community. I developer portal possono includere il supporto oltre i doc, come un blog o dei video. Se rientra nel business model, possono anche contenere un app store dove i developer inviano le loro implementazioni e lo store fornisce loro un framework per gestire l&#8217;intero processo di vendita. I portali connessi a un&#8217;API spesso contengono anche un&#8217;area separata con delle landing page e mostrano dove potete parlare direttamente ad altri stakeholder, quali vendite e marketing.<\/p>\n<p>Anche se avete gi\u00e0 iniziato a costruire il vostro developer portal, potete ancora trovare dei modi per imparare di pi\u00f9 ed estendere la vostra portata. Partecipate e presentate a conferenze quali <a href=\"https:\/\/devrel.net\/\">DevRelCon<\/a>, <a href=\"http:\/\/www.writethedocs.org\/\">Write The Docs<\/a> o <a href=\"http:\/\/apithedocs.org\/\">API The Docs<\/a> per essere coinvolti nelle developer relation. Usate i social media: twittate, unitevi a gruppi di discussione o create una newsletter. Esplorate l&#8217;annuale <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2017#overview\">Stack Overflow Developer Survey<\/a> per saperne di pi\u00f9 sul vostro pubblico target principale. Organizzate dei code and documentation sprint, dei training e dei workshop. Zapier ha un&#8217;<a href=\"https:\/\/zapier.com\/engineering\/api-resources\/\">ottima collezione di blog e altre risorse<\/a> che potete seguire per stare aggiornati con l&#8217;economia in continuo cambiamento delle API: vi troverete sicuramente anche le vostre fonti di ispirazione.<\/p>\n<p>Spero che \u201c<a href=\"http:\/\/italianalistapart.com\/articoli\/196-numero-218-22-settembre-2017\/770-dieci-fondamenti-di-ottima-documentazione-di-api\">I dieci fondamenti di un&#8217;ottima documentazione di API<\/a>\u201d e questo articolo vi abbiano dato delle informazioni di valore per la creazione e il miglioramento della documentazione della vostra API e vi ispirino a cominciare o a proseguire.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In questo follow-up del suo primo articolo sui fondamenti di una buona API, Diana Lakatos esplora attentamente degli utili extra che porteranno la documentazione della vostra API a un nuovo livello. I suoi consigli vi aiuteranno a rendere pi\u00f9 usabile e leggibile la vostra API, permeandola con personalit\u00e0 ed esplorando oltre le basi.<\/p>\n","protected":false},"author":818,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","categories":[270,210],"tags":[],"coauthors":[515],"class_list":["post-807","article","type-article","status-publish","hentry","category-il-server-side","category-numero-232-14-novembre-2017"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/807","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=807"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=807"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}