1 novembre 2016

Google Movies, il servizio da cui CinemasBot prendeva i dati, è stato chiuso e, di conseguenza, CinemasBot rimarrà offline finché non troverò un’altra fonte di dati affidabile.

Grazie a tutti i 216.345 utenti che l’hanno utilizzato.


Storia di un’idea e di Telegram che le insegnò a volare

Dal brainstorming alla pubblicazione di un Bot per Telegram.

24 giugno 2015

Telegram, il famoso sistema di messaggistica opensource, rende disponibili le proprie API per lo sviluppo di Bot.

Era dai tempi di IRC che non sentivo la parola “Bot”.

Nei giorni seguenti, ad ogni pausa pranzo, io ed i miei colleghi, ci facevamo sempre la stessa domanda:

“Quale può essere un’azione ricorrente che potremmo semplificare sviluppando un Bot?”

Tra Bot che restituiscono immagini, Bot che ti dicono che tempo fa ed altri che essenzialmente hanno solo lo scopo di farti far due risate, ne mancava uno che semplificava la scelta di un film nei cinema della propria zona.

Ta dan!

La sera stessa, io ed Enrico, decidemmo di iniziare lo sviluppo ma venne subito alla luce un dubbio:

“Come la sviluppiamo?”

Io sono un frontend developer, mastico JavaScript, HTML e CSS.

Enrico è un backend developer, Php, Symfony, mySQL…


Sarebbe stato difficile lavorare insieme con competenze così diverse, così, iniziammo condividendo solo l’idea ed ognuno iniziò a svilupparla per conto proprio.

I quattro “non”

Bene, gli ostacoli parvero subito ovvi:

  1. non ho mai sviluppato un prodotto;
  2. non avevo idea dove trovare le informazioni che mi servivano;
  3. non avevo chiaro lo stack di strumenti da utilizzare;
  4. non sapevo nemmeno da dove iniziare.

Ero decisamente motivato, stavo uscendo dalla mia comfort zone. Non era il classico sitarello per la grande azienda. Era un prodotto che avrei sviluppato prima di tutto per risolvere un “problema” che mi interessava, poi per la community di Telegram.

Le informazioni che servono

Mettiamoci nei panni dell’utente che apre Telegram per utilizzare il Bot. Cosa avrebbe dovuto cercare? Come?

Il flusso era chiaro fin da subito.

  1. L’utente scrive il suo paese o città;
  2. il bot risponde con i cinema nelle vicinanze;
  3. l’utente sceglie il cinema;
  4. il bot restituisce i film in programmazione della serata.

Mancava solamente la fonte di questi dati…

L’informazione gratis non esiste

Dopo giorni di ricerca…

“Non esistono API pubbliche con cinema ed orari dei film”

Anche Enrico, lavorando allo stesso progetto a modo suo, non riuscì a trovare una fonte di informazioni adeguata per continuare.


Entrambi eravamo fermi. Io in realtà non avevo ancora iniziato a scrivere una riga di codice. Come tante altre volte, stavo per cancellare il repository (vuoto) e iniziare a pensare ad un nuovo progetto.

Google sa tutto

Google sa veramente tutto. Come ho fatto a non pensarci?

Cliccate su questo link per capire cosa intendo:

http://www.google.it/movies?near=treviso

Ecco le informazioni che mi servivano. Google faceva proprio quello che volevo facesse il mio Bot.

Sviluppo

Non era proprio la cosa più pulita del mondo ma funzionava.

Iniziai a “tirar fuori” i dati che mi servivano facendo uno scrape della pagina utilizzando un server Node fornito da Heroku. Andava tutto perfettamente (o quasi).

La logica era abbastanza semplice e non starò qua a descriverla (potete vedere il sorgente cliccando qua).


Mancava solamente l’implementazione delle API di Telegram.

Non sviluppo

La documentazione di Telegram è terribile.

Essendo un novizio di Node.js, è stato decisamente arduo capire come riuscire ad usare l’app di Telegram come client e fare in modo che l’utente potesse ricevere le informazioni desiderate.


Ero decisamente fuori dalla mia comfort zone ed iniziai a studiare per superare i miei limiti.

Il primo successo

Il Bot funziona.

I miei test e quelli dei miei colleghi andavano a buon fine. Mancava solo una cosa.

“Come si chiama?”
“CinemasBot”

Essendo un argomento in voga in quel periodo, CinemasBot fu inserito in vari articoli su vari blog sparsi per il mondo. Gli utilizzi, da poche decine, arrivarono a oltre cinquantamila in pochissimo tempo.

Fate cose nuove, fate cose semplici

In questo settore spesso succede che una persona:

  • pensa di avere l’idea geniale almeno una volta al mese;
  • inizia a svilupparla;
  • rinuncia per mancanza di voglia o per un calcolo sbagliato dei tempi.

Quando vi viene un’idea, cercate di semplificarla e mettete su carta gli obiettivi principali. Rendetela semplice ed iniziate a crearla. Alla fine deciderete se è perfetta così o la si può migliorare.


CinemasBot non è stato un enorme successo ma è stata una grandissima esperienza che mi ha fatto migliorare sia nel campo lavorativo che in quello personale. Mi ha fatto scoprire il bellissimo mondo dell’opensource e mi ha fatto capire che chiedere consigli e aiuto a persone con più esperienza di me non è qualcosa da nascondere.

19 aprile 2016

CinemasBot continua a crescere e viene pubblicato su lastampa.it

http://www.lastampa.it/2016/04/19/tecnologia/news/ecco-otto-bot-di-telegram-che-ti-semplificano-la-vita-e-come-usarli


L’hype scompare alla stessa velocità di come arriva, sta a voi decidere come utilizzare questo lasso di tempo.