Interfaccia vs linguaggio (1)

La storia di come siamo arrivati a questo punto la conosciamo tutti, chi come utente, chi come sviluppatore sappiamo cosa sono le app e le interfacce.

Non tutti però sanno la complessità che c’è dietro allo sviluppo di un’applicazione per smartphone, le tecnologie necessarie, gli skill delle persone coinvolte, le problematiche tecniche che in base alla complessità dell’applicazione vanno risolte. Ma senza dilungarci troppo possiamo affermare che fare un app su Android o Apple è e sarà, sempre complicato e costoso.

Ma anche con un team e con un budget adeguato c’è sempre in agguato il rigetto dell’utente quando inizierà ad usare l’interfaccia. Dinamiche complesse o semplici modifiche di elementi possono causare frustrazione negli utenti finali con giudizi negativi e rimozione dell’applicazione dal proprio dispositivo.

Le cose però stanno cambiando. Il linguaggio naturale tende a semplificare alcuni di questi punti critici.

Come per le persone, che apprendono e migliorano la propria capacità di relazionarsi, anche i software possono arrivare ad un miglioramento senza incappare nella regressione.

Satya Nadella, CEO di Microsoft, durante una conferenza dedicata ai developer ha sottolineato come intenda portare in ogni casa l’intelligenza artificiale introducendo i servizi per creare Bot o integrarli in Cortana.

Un annuncio simile è stato fatto dal CEO di Facebook, Mark Zuckemberg, annunciando tecnologie per l’introduzione dei bot nella sua applicazione di messaggistica.

Google a Amazon hanno realizzato dei dispositivi che comprendono il linguaggio e rispondono alle domande interagendo anche con altri dispositivi. Entrambi le aziende stanno rilasciando le API per lo sviluppo terze parti.

I BOT sono le APP del futuro

Queste aziende hanno interesse a creare un nuovo ecosistema in concorrenza a quello, oramai consolidato, di Apple e Google. E’ comunque innegabile che l’introduzione di sistemi e servizi per semplificare la comunicazione uomo-macchina aprirà un nuovo fronte di sviluppo.


Per capire la differenza tra una interfaccia e una conversazione possiamo usare la UI di un’agenda per appuntamenti. Se l’utente vuole vedere gli appuntamenti del giorno è necessario costruire un percorso per arrivare ad una schermata di questo tipo :

Appuntamenti di oggi

Con una conversazione è sufficiente scrivere : mostrami gli appuntamenti di oggi, appuntamenti oggi, appuntamenti di oggi.

Non dobbiamo pensare che “capire il linguaggio umano” sia semplice, anzi è molto complicato, ma la disponibilità di software che migliorano costantemente possono semplificarci il lavoro. Algoritmi di NLP ( Natural language processing) e di machine learning sono disponibili sia come SDK che come servizi. Alcuni sono gratuiti e utilizzabili per la lingua italiana.

Utilizzando questi software si potranno capire varianti di frasi complesse, ma che dicono la stessa cosa, estrarre entità ( nomi, date, azioni) e interagire con l’utente in una sorta di discorso.

Alcuni esempi :

  • appuntamenti di domani
  • attività della prossima settimana
  • messaggi da Mario Rossi
  • attività di oggi

>>> non ci sono

>>> e di domani ?

Facebook ha inoltre introdotto degli elementi grafici nel Messenger che ha ulteriormente semplificato l’interazione. Pulsanti a scelta rapida, pannelli, gallery semplificano e indirizzano l’utente verso la comprensione della sua richiesta per fornirgli il più rapidamente possibile una risposta.

Bot — Facebook Messanger

Come fare tutto questo ? lo vedremo nei prossimi post in cui mostrerò come realizzare dei BOT su Facebook messenger utilizzando “quello che c’è in rete” e credetemi, c’è già molto.