28 aprile 2016

Una maschera ci dice di più di una faccia (cit.)


Qualche anno fa sul Web impazzava IRC.

Ancora oggi è utilizzato da una nicchia di utenti, ma la vecchia gloria del passato è pian pianino scemata in favore dei social network o -recentemente- di applicazioni di messaggistica istantanea. Oppure di Slack...

Una delle funzionalità che apprezzavo davvero tanto era quella di poter avere con noi, connessi in chat, alcuni utenti "fittizi" con i quali era possibile interagire in vario modo. Solitamente vi ci si comunicava con messaggi privati e, tramite delle hotwords, era possibile far compiere loro determinati comandi. Altri, invece, scansionavano il flusso comune dei messaggi, catturando le famose parole chiave, e comportandosi di conseguenza.

Non erano particolarmente intelligenti ed eseguivano fedelmente ciò per cui erano stati programmati. Tali scripts erano conosciuti amichevolmente con il nomignolo di IRC bots.

Sono passati 10 anni (o forse più?) da quando smisi di accedere all'Internet Relay Chat, ed oggi il concetto di agente in grado di interagire autonomamente o di rispondere ai nostri comandi è più in voga che mai!

Benvenuti nell'era dei bot e del mondo delle non-apps.



Una leggenda (o forse è un dato di fatto?) vuole che qualsiasi social network (o applicazione affine) cresca per un certo periodo di tempo fino a quando non arrivi ad integrare un sistema di chat. Una volta raggiunto quel livello non ci saranno più evoluzioni di rilievo.
Che sia vero oppure no, una cosa è certa: attualmente ogni rete sociale degna di tale nome offre una modalità di interazione istantanea tra i propri utenti.

Ma se provassimo a ribaltare la frittata?

L'idea alla base della tanto-decantata-rivoluzione dei bot è proprio quella di invertire i ruoli: non si parla più di una app o sistema che va ad integrare la messaggistica ma, al contrario, si parte dalla chat e si fa in modo di inserire in essa tutta una serie di funzionalità esterne. Tali funzioni possono interagire con gli utenti tramite esplicita sollecitazione (esattamente come si faceva con i bot di IRC), oppure sono in grado di prendere decisioni in modo arbitrario in base al contesto.

Ecco, questa seconda caratteristica è la vera novità. E ci sono voluti anni, evoluzione delle grandi infrastrutture di rete e -soprattutto- tanta ricerca in svariati campi del mondo IT.


Il contesto è oggi uno tra i dati più preziosi esistenti, poiché ci identifica nello spazio, nel tempo, nell'azione che stiamo compiendo e con chi -o su cosa- la stiamo eseguendo.
Non è un caso se Facebook, Twitter, Google Now o qualsiasi altro strumento che siamo soliti utilizzare nel quotidiano cerchino di accedere alla nostra posizione, ai nostri dati, ai nostri contatti, alle azioni che abbiamo eseguito o a ciò che prevediamo di fare nell'immediato futuro...

Il nostro contesto fa sì che agenti esterni al nostro operato riescano ad operare in modo autonomo, così da prendere determinate decisioni. E più essi imparano da ciò che facciamo, più riescono ad essere precisi ed utili.

Il concetto di utilità va un po' oltre quello di cui volevo parlare, perché ci sarebbe da definire anche chi è che effettivamente trae giovamento da tutto ciò: che sia l'utente che ha compiuto l'azione? Che sia l'entità che c'è dietro al dato servizio? Che sia una figura di terze parti? E la sicurezza dei dati e la privacy dove le mettiamo?
Si potrebbe continuare a lungo, perciò -al momento- tenderei a lasciarlo in secondo piano.



Tornando in argomento, grazie all'espansione delle funzioni offerte dai vari servizi di messaggistica (vedi Kik, WeChat o Telegram, oppure -ultimamente- Messenger e Skype), i bot sono tornati alla carica.

Questa volta le cose sembrano essere state fatte "per bene", con API da sfruttare cosicché gli sviluppatori di terze parti possano integrare funzionalità aggiuntive pressoché illimitate.

Insomma, nonostante numeri enormi di crescita previsti per l'ecosistema app, una parte dei developer sta passando dallo sviluppare applicazioni dedicate per i sistemi operativi (che siano mobili o "tradizionali") ad implementare i propri servizi direttamente all'interno delle app di messaggistica istantanea.

Perché?
Beh, da un lato c'è il problema della discoverability (cioè della capacità di attrarre l'attenzione e spingere l'utente al download della propria app) nonché quello della difficoltà di interazione tra le app stesse. Dall'altro lato, gli IM (le app di instant messaging) sono immediati e permettono di accedere rapidamente e con precisione al nostro contesto; e poi sono dannatamente diffusi ed utilizzati: molti di essi contano ormai basi d'utenza decisamente vaste e, solitamente, la maggior parte di essi è già multi-piattaforma!

Letture consigliate:



A fine Marzo si è tenuta la conferenza //build/, edizione 2016 dell'annuale incontro per gli sviluppatori legati al mondo Microsoft.
Proprio in quella occasione, tra le tante cose presentate (e la bash su Windows10...! 0.o), la casa di Redmond ha decisamente spinto sui bot.

Microsoft ha accettato di aver perso la battaglia delle apps, e per questo sta cercando di muovere in nuove direzioni: unificare le proprie piattaforme verso un servizio unico ed universale, sfruttare l'esistenza di ecosistemi competitor per rafforzare i propri prodotti, ma soprattutto invogliare gli sviluppatori a puntare sul paradigma dei bot.

Questo perché, nonostante gli sforzi, Windows 10 Mobile non è riuscito a decollare (tutt'altro: è un morto che cammina), e Windows 10 non sta riuscendo a spingere le vendite di nuovi computer... Tant'è che perfino Intel prevede un taglio di 12.000 posti di lavoro (11% della sua forza) a causa della deludente situazione del mercato PC (ed inizia a scommettere in nuovi settori).



 

Al contrario di Microsoft, Facebook si trova in una situazione decisamente più "agiata". Anche il gigante dei social network ha recentemente tenuto la propria conferenza per sviluppatori, F8, durante la quale è stata rivelata la road-map da qui a 10 anni.

I bot, tra i tanti annunci, anche in questo caso sono stati al centro dell'attenzione (così come l'apertura di M al loro uso). E considerando che l'azienda controlla due tra le applicazioni di messaggistica più diffuse ed utilizzate al mondo (Messenger e Whatsapp), ed il social network più grande, non è difficile capire che volenti o nolenti l'andazzo sarà quello (anche se c'è ancora parecchio su cui lavorare).

Nota: qui potete trovare una lista dei bot già disponibili per Messenger.



Se anche Facebook come Microsoft, oggi, continua a piegarsi al mondo delle app (fornendo tool cross-platform per facilitarne lo sviluppo), la corsa ai bot da parte dei due big può essere letta come un approccio per fuggire proprio da quel mondo fatto di applicazioni: essa è ormai -forse- l'unico attacco possibile al duopolio Google/Apple.

Tra gli altri player, un approccio differente (ma sotto certi versi simile) è quello intrapreso da Cyanogen.inc, che sta integrando la propria piattaforma MOD direttamente all'interno di Cyanogen OS (basato su Android).
L'idea è anche qui quella di andare oltre al vecchio concetto di app: tramite API dedicate gli sviluppatori potranno integrare i propri servizi direttamente in diverse aree dell'OS sottostante, senza la necessità di sviluppare applicazioni.


Come la prenderanno Google ed Apple? Al momento è difficile prevederlo.

Per come la vedo io, gli scenari possibili sono tre:
  1. se ne staranno ad osservare senza far nulla nel breve termine
    rischioso, ma per un po' sostenibile
  2. implementeranno bot o affini sulle proprie piattaforme di messaggistica (Hangouts ed iMessage), o ne creeranno di apposite
    strada percorribile, ma non necessariamente la soluzione migliore o efficace per combattere i competitor
  3. implementeranno nuove API direttamente a livello core dei rispettivi OS (Android ed iOS) che permettano agli sviluppatori di avere gli stessi potenziali vantaggi decantati dalle app di messaggistica istantanea
    costoso, di difficile realizzazione e ad alto rischio di insuccesso
Basandomi sul passato, per me Google si avvicinerà allo scenario due (senza ignorare la possibilità di realizzare anche il tre), mentre Apple dapprima resterà ferma sul primo e poi si muoverà in direzione del terzo.

Ma queste sono solo ipotesi e occorrerà attendere il Google I/O 2016 ed il WWDC 2016 per saperne (speriamo) di più...!



E voi come la pensate?
I bot ed il cosiddetto Conversations as a Platform saranno davvero il futuro?

Vi aspetto nei commenti! :-)