Descrizione
Prima le BBS, poi il Web, poi gli smartphone e ora? Semplice: i chatbot. Le interfacce conversazionali rappresentano il futuro dell’interazione con i servizi online.
Designing Bots: Creating Conversational Experiences - Amir Shevat
https://amzn.to/3kNVy6v
——————————————
Sito ufficiale di Pensieri in codice - https://pensieriincodice.it
Attrezzatura:
Microfono Blue Yeti* - https://amzn.to/3kSE35f
Filtro anti-pop* - https://amzn.to/3baPMsh
Filtro anti-pop* - https://amzn.to/2MH0Wf1
Schermo fonoassorbente* - https://amzn.to/3sOZE0P
- Link affiliato: il costo di un qualsiasi acquisto non sarà maggiore per te, ma Amazon mi girerà una piccola parte del ricavato.
I miei progetti social:
Pensieri in codice - https://pensieriincodice.it
Canale Twitch - https://valeriogalano.it/twitch
Daredevel blog - https://valeriogalano.it/daredevel
Newsletter - https://valeriogalano.it/newsletter
Per essere aggiornati sulle novità:
Canale Telegram - https://pensieriincodice.it/canaletelegram
Profilo Instagram - https://valeriogalano.it/instagram
Profilo Twitter - https://valeriogalano.it/twitter
Per partecipare alla discussione:
Gruppo Telegram - http://bit.ly/joinPicTelegram
Servizi professionali:
Lezioni private su Docety - https://valeriogalano.it/docety
Consulenza professionale - https://valeriogalano.it
Sostieni il progetto
Sostieni tramite SatispaySostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, Readwise Reader, Satispay
Partner
GrUSP (Codice sconto per tutti gli eventi: community_PIC)Schrödinger Hat
Crediti
Montaggio - Daniele Galano - https://www.instagram.com/daniele_galano/Voce intro - Costanza Martina Vitale
Musica - Kubbi - Up In My Jam
Musica - Light-foot - Moldy Lotion
Cover e trascrizione - Francesco Zubani
Mostra testo dell'episodio
Quella che segue è una trascrizione automatica dell'episodio.
Pensieri in codice. Idee dal mondo del software, a cura di Valerio Galano. Salve a tutti e ben ritrovati su Pensieri in codice. Oggi parliamo di chatbot, cioè quei piccoli software, e in certi casi nemmeno tanto piccoli, con i quali chattiamo e parliamo ogni giorno, e molto spesso senza nemmeno rendercene conto. Prima di addentrarci nell’argomento di oggi, lasciatemi fare un paio di ringraziamenti. Innanzitutto ci tengo a ringraziare Giuseppe Pugliese del podcast Glitch per via del supporto tecnico che mi sta dando nell’ultimo periodo. Avrete infatti notato che l’audio di Pensieri in codice è molto migliorato nelle ultime 4-5 puntate. Il merito è di Giuseppe, che mi ha dato vari consigli su come migliorare i vari step della produzione del podcast. Prossimamente passeremo anche a migliorare l’attrezzatura in modo da poter portare una qualità sempre maggiore. In secondo luogo, poi, vorrei anche ringraziare un’altra persona senza la quale varie puntate di questo podcast non sarebbero mai venute fuori. Lui è Alex Racuia ed ha un podcast, in realtà ha molti podcast, ma quello che io preferisco è TechnoPeels, nel quale racconta, oltre ad una marea di cose interessanti, anche l’evoluzione dei suoi vari side-projects. Beh, ascoltare TechnoPeels semplicemente mantiene sempre alta la mia voglia di fare e questo mi aiuta a produrre podcast, a portare sempre avanti i miei side-project e di conseguenza a trovare nuovi argomenti di cui parlare. Ho avuto il piacere di conoscere Alex e sua moglie Miki quest’estate e devo dire che sono delle persone stupende. Quindi, molto semplicemente, ciao Alex e grazie. Bene, detto questo, passiamo al tema dell’episodio di oggi. I chatbot. È da un bel po’ che sto facendo esperimenti creando chatbot su Telegram. Come al mio solito modus operandi, ho iniziato subito mettendo le mani in pasta per capire a grandi linee come funzionasse il tutto dal punto di vista tecnico. Poi, dopo aver creato alcuni bot in PHP e in Node.js che funzionavano poco e male, devo dire, ho cominciato pian piano a migliorare l’approccio tecnologico fino a raggiungere un grado di consapevolezza sufficiente per scrivere un po’ di codice solido e farlo girare su varie piattaforme. Raggiunto quindi un livello sufficiente ad estreggiarmi tra linguaggi, framework, servizi di hosting, deploy, ho iniziato un vero e proprio studio proprio riguardante la progettazione di questo genere di software. E allora mi sono convinto del fatto che i bot rappresenteranno molto probabilmente una grossa fetta del futuro delle interazioni tra software e umani. Ho pensato allora di provare a riassumere un po’ di quello che ho imparato in questi mesi, sperando che possa risultare interessante per voi e anche per il futuro me stesso che magari potrebbe decidere di riascoltare questo episodio fra qualche anno. Dal punto di vista programmatico, i chatbot non sono altro che dei software, così come un sito web o un’app per cellulare, ma si differenziano da questi per il tipo di interfaccia grazie alla quale gli utenti possono interagire con essi. Tale interfaccia viene definita conversazionale ed è, in due parole, un qualsiasi metodo grazie al quale noi possiamo sottoporre al software le nostre richieste in forma di frasi di testo. In alcuni casi le richieste possono perfino essere dettate, l’interfaccia vocale infatti trasforma le nostre parole in testo e le elabora come se le avessimo scritte, e le risposte, in modo speculare, vengono poi lette da un sintetizzatore vocale. Un chatbot è quindi in grado di interagire tramite app di messaggistica, tramite email, tramite i social e tramite interfacce appositamente progettate o addirittura tramite microfono e casse. I maggiori esempi che abbiamo tutti i giorni sotto gli occhi sono sicuramente i bot dei grandi attori di internet, chi di noi non ha mai provato uno speaker di Alexa, o chi non chiede a Siri o a Google di ricordargli una scadenza o di comporre un numero. Beh, questo tipo di assistenti personali rappresenta perfettamente la categoria di chatbot cosiddetti generalisti o superbot, degli automi cioè che sono stati progettati per soddisfare una grande serie di necessità molto comuni e per interagire con vari servizi di utilizzo generico, ad esempio navigatori GPS, previsioni meteo, calendari, eccetera. Questi pochi esempi però rappresentano solo la punta dell’iceberg, perché in realtà su moltissime piattaforme l’uso dei bot con le più disparate funzioni è già una realtà che si sta disfondendo a macchia d’olio. Uno degli esempi più interessanti in questo senso è sicuramente Slack, il sistema di messaggistica ampiamente diffuso in ambito professionale, presso il quale è possibile trovare bot che forniscono ad esempio informazioni su altri sistemi, o bot che aiutano a gestire le attività e gli appuntamenti, o addirittura bot che facilitano la richiesta di ferie, l’ordine del pranzo e molto altro. Ma non sono certo questi gli unici casi. Amy, ad esempio, è un bot in grado di concordare appuntamenti con i clienti via email. Basta collegarla al proprio calendario, mettere il suo indirizzo in copia in un’email e lei si occuperà di discutere con il cliente fino a trovare un accordo su data e ora dell’appuntamento. RemindMeTweet, invece, è un bot che serve a ricordare ad un utente un certo tweet in una certa data. Basta infatti rispondere al tweet che ci interessa taggando il bot e specificando una data o un lasso di tempo, e lui si occuperà di segnalarci nuovamente quel tweet al momento giusto. Ma la cosa non finisce qui. Esistono infatti bot anche per Facebook, per Instagram, per WhatsApp e per Telegram e perfino bot che funzionano via SMS e via telefono. Qualsiasi sia l’interfaccia, se permette l’interazione tra esseri umani, allora essa è conversazionale e quindi è possibile sviluppare dei chatbot che ne facciano uso. CREARE UNA UTILITÀ Definito quindi cosa sia un bot e per quali piattaforme può essere sviluppato, il passo successivo sta nel capire che utilità possa avere crearne uno. E qui il discorso si fa davvero ampio. A costo di sembrare banale mi viene da dire che l’unico limite è la fantasia di chi lo progetta, il bot intendo. Quello che possiamo provare a fare è elencare un po’ di funzionalità tipiche dei chatbot raggruppandole magari per tipologie di utilizzatori. E ragionando proprio in questo modo, la prima idea che mi viene in mente è un chatbot che possa essere ad esempio di supporto per il rapporto tra l’azienda e i clienti. Tale supporto potrebbe essere infatti presente sulle piattaforme preferite dai clienti di tale azienda e offrire servizi di risposta alle domande più frequenti. O in aggiunta potrebbe integrare un sistema di customer care di primo livello, per gestire le richieste più semplici prima di mettere in contatto con un operatore. O ancora potrebbe offrire servizi di e-commerce e offerte speciali, magari interagendo anche con il sistema di pagamento della specifica piattaforma, per rendere così gli acquisti più semplici. Cambiando poi ambito, si potrebbe pensare ad un bot che implementa un sistema di prenotazione per le attività come ristoranti, uffici, parrucchieri, dentisti, eccetera. O in casi completamente differenti si può pensare a servizi erogati internamente ad un’azienda, che possano essere di supporto per i dipendenti, come non lo so, la revisione automatica dei documenti ad esempio, o la richiesta di ferie, l’apertura di segnalazioni, e così via. Se invece ragioniamo a livello personale, si può pensare ad un bot che non lo so, aiuti la produttività, ricordando all’utente le cose da fare. O un chatbot per lo svago, che suggerisca film, che permetta addirittura di avviare veri e propri minigiochi. E ancora si potrebbe implementare un bot che notifica specifici eventi, o che aiuta la gestione dei gruppi. Insomma, come dicevo poc’anzi, le possibilità sono veramente infinite e sta ai progettisti individuare quelle più adatte ai propri scopi. Io ad esempio sto sviluppando un bot che possa essere d’aiuto a podcaster e youtuber per la gestione dei propri gruppi, dei propri canali telegram. Ma di questo magari parleremo in un prossimo episodio. Ora, io sono sicuro che molti di voi si staranno chiedendo per quale motivo uno sviluppatore o un’azienda dovrebbe impiegare risorse per sviluppare un bot che faccia sostanzialmente cose che può fare con un’app o con un sito web. Beh, io sono convinto che nei prossimi anni tantissima dell’interazione tra uomo e software si sposterà verso i chatbot, e ciò per un semplice motivo. Potremmo definirlo come l’evoluzione dell’utenza, e mi riferisco soprattutto a quella non tecnica. Se ci pensiamo, infatti, durante il boom di internet e del web, le persone hanno iniziato a scoprire e apprezzare i siti web. Con un po’ di sforzo e un po’ di spirito di adattamento, essi potevano infatti fornire informazioni, servizi e prodotti in modo spesso più rapido ed efficiente rispetto ai metodi tradizionali. Le persone hanno quindi iniziato ad aspettarsi che aziende, professionisti, enti, eccetera, avessero il proprio sito web e offrissero tutta una serie di servizi correlati alle proprie attività. Quando poi, dopo qualche anno, sono arrivati gli smartphone, pian piano l’utenza si è spostata dal sito web tradizionale a quello mobile, o nel migliore dei casi, alle app direttamente installate sul dispositivo. Anche in questo caso, il mondo dei produttori di software ha un po’ spinto e un po’ seguito, diciamo così, il trend. E oggi ci ritroviamo con una ampissima scelta di servizi e prodotti pensati per essere utilizzati direttamente dal nostro smartphone. Ma proprio per questo il mercato mobile è ormai enorme. Quante app abbiamo già installate nel nostro smartphone? Quante pensiamo di poterne installare ancora? Quanti aggiornamenti dobbiamo scaricare ogni giorno? Beh, per i bot tutte queste domande semplicemente non sono necessarie. In effetti, se ci pensiamo, le app e i servizi ai quali maggiormente le persone sono legate sono proprio gli stessi che sono in grado di ospitare i bot. Le app di messaggistica e i social, nella maggior parte dei casi, sono già installati nei nostri smartphone e ci permettono di accedere contemporaneamente ai vari bot senza bisogno di ulteriori installazioni o aggiornamenti e senza preoccuparci della memoria occupata. Esatto, un chatbot non si installa, lo si contatta direttamente tramite Telegram, Facebook, Whatsapp o quello che è. E così l’aggiornamento di un bot, non essendo esso installato sul device, è un problema del solo gestore, non dell’utilizzatore. Un bot può anche inviarci notifiche, contattandoci direttamente sull’app della piattaforma che lo ospita, senza bisogno di installare altro o di dare permessi speciali. E oltre a tutto questo, un chatbot interagirà con noi nello stesso identico modo in cui noi interagiamo con i nostri contatti. Potremo poi bloccarlo, silenziarlo, contattarlo esattamente come facciamo con le persone reali e non sarà necessario imparare un nuovo menu o una nuova schermata o un nuovo paradigma. L’interazione arriverà nello stesso identico modo in cui noi scriviamo o inviamo foto o video ai nostri amici e conoscenti. Ora, tutte le potenzialità di cui abbiamo parlato però saranno tali solo se chi sviluppa un chatbot sarà in grado di progettarlo nel modo corretto. Così come per la transizione da BBS a Web e poi da Web a Mobile, anche per il passaggio da Mobile ai chatbot sarà necessario capire e studiare le dinamiche del mezzo. I bot designer dovranno progettare correttamente i percorsi di interazione, la gestione degli errori e dovranno persino implementare una specifica personalità per ciascuno dei loro prodotti. Dato infatti che questo nuovo canale di interazione è utilizzato dagli umani per comunicare con gli umani, i chatbot dovranno, pur rimanendo visibilmente degli automi, essere però in grado di comportarsi come degli umani in modo sufficiente da non disturbare la percezione dei propri utenti. E in questo discorso potrebbero, ma non è obbligatorio attenzione, rientrare anche i concetti di Machine Learning e Natural Language Understanding. Insomma, si parla di un nuovo e interessante mondo da esplorare. Per quel che mi riguarda io mi ci sto divertendo moltissimo. Sono del parere che per uno sviluppatore di back-end come me questo sia sicuramente il campo d’azione dei prossimi anni. Infatti, dal punto di vista tecnico, i chatbot sono delle vere e proprie API, in grado di gestire i messaggi che vengono loro inoltrati dalle piattaforme. Ma questo magari è un altro discorso ed è anche abbastanza ampio e lo vorrei approfondire in un prossimo episodio. Ora, se avete voglia di sviluppare un chatbot per la vostra attività o per risolvere uno specifico problema, trovate tutti i miei contatti in descrizione. Io, come al solito, vi chiedo di condividere l’episodio se vi è piaciuto o se conoscete qualcuno a cui possa interessare l’argomento. Per curiosità vi avviso anche che se vi unite al gruppo Telegram di Pensieri in Codice, di cui trovate sempre il link in descrizione, sarete accolti da uno dei miei bot che vi darà il benvenuto. Così, se lo volete provare. E ora non mi resta che salutarvi e ricordarvi che un informatico risolve problemi, a volte anche usando il computer.Nascondi