Per chi non lo sapesse, il Sommario Quotidiano, è una caratteristica di Alexa (l'assistente vocale di Amazon) che consente di aggregare, in un unico "briefing" giornaliero, tutti gli aggiornamenti forniti dalle testate giornalistiche preferite. Questo è possibile grazie all'uso di "skill" che svolgono il ruolo di interfaccia tra i "feed" delle notizie e il proprio dispositivo Alexa-compatibile. Chiunque può creare questo tipo di skill a patto che, naturalmente, possieda i diritti per lo sfruttamento delle notizie in questione. Vediamo come.
Registrarsi come "Amazon Developer"
Per creare una skill per Alexa è necessario un account sviluppatore Amazon. La registrazione è gratuita e non comporta nessun costo aggiuntivo per la creazione di skill. Si può creare un nuovo account sviluppatore Amazon a questo indirizzo: https://developer.amazon.com/alexa/console/ask
Il formato del feed RSS
L'ingrediente successivo è un feed di tipo RSS da cui Alexa andrà ad attingere le notizie da annunciare vocalmente. I campi del file XML relativo possono essere svariati, ma ce ne sono alcuni la cui presenza è obbligatoria per garantire il corretto funzionamento della skill:
- title - il titolo della notizia,
- link - l'indirizzo (URL) a cui è disponibile la notizia completa,
- description - il testo introduttivo della notizia,
- pubDate - la data di pubblicazione della notizia: questo valore determina l'ordine con cui verranno elencate le notizie; inoltre Alexa ignorerà tutte le notizie che hanno questa data più vecchia di una settimana,
- guid - un codice che identifichi la notizia in modo univoco.
Tutti questi tag obbligatori, devono essere contenuti in uno o più tag item, uno per ogni notizia, fino ad un massimo di cinque (possono essere anche di più, ma Alexa ignorerà tutti quelli successivi al quinto). Ecco un esempio di feed compatibile con Alexa:
Fortunatamente la maggior parte dei feed RSS contiene già i tag in questione (in particolare i tag "title" e "description" sono obbligatori per lo standard). Ma come fare se il feed che vogliamo proporre ad Alexa non è direttamente compatibile?
Se il feed RSS non è compatibile
In questo caso diventa necessario creare un'applicazione web da interporre tra il feed originale e la skill di Alexa. Prendiamo, ad esempio, il feed RSS con le notizie di TurboLab Italia (che potete trovare qui: https://turbolab.it/feed ):
Come si può vedere, il feed contiene già tutti i tag che abbiamo visto nel paragrafo precedente (title, link, description, pubDate e guid) e questa è una buona notizia (tutti i tag in più verranno semplicemente ignorati da Alexa). Ma nel tag "description" sono presenti contenuti HTML, mentre Alexa si aspetta una normalissima stringa di testo: quella che ho evidenziato nella figura precedente.
Quindi dobbiamo creare un'applicazione web che funzioni da "filtro" per togliere dal feed originale quello che non ci interessa. Se ne avete la possibilità, scriverla in PHP è sicuramente il modo più semplice. I dettagli su come realizzare quest'applicazione, vanno al di là dello scopo di questo articolo, ma potete trovare lo script PHP utilizzato per la skill di TurboLab Italia qui: https://pastebin.com/N9tP6VpR
Una volta che abbiamo a disposizione un feed RSS compatibile con le specifiche fornite da Alexa (trovate tutti i dettagli qui: https://developer.amazon.com/it/docs/flashbriefing/flash-briefing-skill-api-feed-reference.html#details), possiamo finalmente procedere con la creazione della skill.
Creare la skill
Prima di tutto bisogna accedere alla Alexa Developer Console usando l'account per sviluppatori creato all'inizio di questo articolo: https://developer.amazon.com/alexa/console/ask e premere il tasto "Create skill".
A questo punto possiamo assegnare un bel nome alla nostra skill (sarà comunque possibile modificarlo successivamente), selezionare il tipo "Flash Briefing" e cliccare "Create Skill".
Nella schermata successiva abbiamo la possibilità di inserire un messaggio che verrà annunciato da Alexa nell'indesiderabile eventualità che il nostro feed non sia raggiungibile e di aggiungere l'URL del nostro feed con il pulsante "add new feed". Ogni skill del tipo Sommario Quotidiano può contenere fino ad un massimo di 3 feed RSS differenti: il primo viene attivato di default, gli altri due possono essere aggiunti opzionalmente a discrezione dell'utente.
- Preamble - Una frase che Alexa pronuncerà prima del feed. Deve iniziare con una preposizione semplice ("da", "in", "per", ecc.). La lunghezza massima è di 70 caratteri.
- Name - Il titolo del feed.
- Content update frequency - E' importante notare che Alexa non andrà a recuperare il feed tutte le volte che la skill viene invocata, ma, per motivi di prestazioni, utilizza una cache memorizzata sui server di Amazon. Questa impostazione indica la frequenza con cui Alexa andrà a verificare se ci sono nuove versioni del feed. Le alternative sono: "ogni ora", "ogni giorno" oppure "ogni settimana".
- Content type - Indica se le notizie contenute nel feed sono in formato testo o in formato audio.
- Content genre - Il tipo di notizie contenute nel feed.
- Feed - L'URL del feed. IMPORTANTE: deve essere protetto da crittografia SSL (https), altrimenti la skill si rifiuterà di funzionare.
- Feed icon - Un'icona in formato PNG o JPG di 512 x 512 pixel.
A questo punto la skill è già disponibile esclusivamente per il vostro account e potrete usarla tutte le volte che vorrete: semplicemente scegliendo la voce "Test" della Console e abilitando la modalità di test per sviluppatori.
Potete decidere se fermarvi qui (ad esempio se avete utilizzato un feed RSS di cui non disponete dei diritti d'uso) oppure procedere con la pubblicazione nello store di Amazon.
Pubblicare la skill nello store di Amazon
Per procedere con la pubblicazione si usano le due voci successive della console: "Distribution" e "Certification". I campi da compilare sono abbastanza intuitivi e, una volta completati, consentono di dare il via al processo di certificazione. Processo che richiede due fasi: una automatica, per evidenziare e scremare gli errori più comuni e l'altra manuale effettuata da membri dell'Alexa Certification Team. Quest'ultima fase può richiedere uno o due giorni lavorativi, a seconda del carico di lavoro a cui è sottoposto il team.
Le statistiche
Se siete stati abbastanza abili da superare lo scoglio della certificazione, finalmente potete ammirare la vostra skill nello store di Amazon!
Alla voce "Analytics" della console, poco alla volta, i grafici delle statistiche cominceranno a popolarsi e potrete misurare il gradimento che gli utenti dimostrano per il vostro lavoro.
Ben fatto!
In conclusione
Con questo semplice articolo spero di aver acceso la scintilla della curiosità per l'affascinante tecnologia degli assistenti vocali. Ci sono tantissime altre possibilità da esplorare... vedremo se questo argomento susciterà interesse.
Come sempre, se avete dubbi o consigli relativi a questo articolo, scrivete un commento qui sotto. Grazie!