Un sito web per la scuola elementare – il mio vademecum

Lungi dall’essere un rimpiazzo per la teledidattica o le lezioni in presenza, sia chiaro. Eppure la disponibilità di un semplice spazio web per raccogliere materiali e, se serve, gestire l’interazione fra allievi e maestre potrebbe, in questi drammatici tempi, essere di grande aiuto. Ecco come fare…

Gli strumenti

Cose semplici. Un CMS di base, come il WordPress che fa funzionare il sito che state visitando in questo momento. Naturalmente serve anche un servizio di hosting che offra una adeguato spazio di memorizzazione. Diciamo che 40/50GB dovrebbero essere sufficienti per gestire il materiale di un intero anno scolastico.

E’ utile qualche strumento di editing grafico: il mio preferito è GIMP.

Infine serve uno strumento di editing video. Ve ne sono ovviamente moltissimi, soprattutto su OSX. I più famosi (e costosi) sono Final Cut e Adobe Premiere. Ma per i nostri scopi va benissimo un tool a riga di comando, ffmpeg. Sotto ve ne illustro l’utilizzo.

Sito web pubblico o no

Nel caso decidiate di optare per un sito non pubblico, ossia non visibile al di fuori della cerchia di genitori/allievi/insegnanti della classe, potete optare per una soluzione di protezione molto semplice, basata sulle funzionalità standard di Apache: il file .htaccess.

Create nella root del sito web un file denominato .htaccess (attenzione: a seconda della configurazione del vostro provider o del vostro CMS potrebbe già essercene uno, assicuratevi di integrarlo e non sovrascriverlo!). Dentro scriveteci quanto segue:

AuthName "Riservato agli alunni della <vostra classe>"
AuthUserFile /root/sito/web/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user <scegliete uno username>

Il path indicato in corrispondenza di “AuthUserFile” è molto importante: quello è il file nel quale sono definiti gli utenti abilitati a stabilire una connessione con il vostro sito. Il mio suggerimento è quello di scegliere un nome utente semplice (es. “primaClasse” o “secondaD”, da scrivere poi al posto di <scegliete uno username> nel file di cui sopra), attribuirgli una password / passphrase abbastanza lunga e condividere il tutto sulla classica chat della classe.

La password invece non va scritta da nessuna parte. Non in chiaro, per lo meno. Andate invece su questo sito, che indicati username e password vi genererà una stringa tipo questa:

primaClasse:$2y$10$LI5xAJlL5F516Mn8X9JXG.g0PbtCPUPNO8y7B6V6niZEAnz6MWDhq

Questa string andrà poi inserita nel file /root/sito/web/wp-admin/passwd. Il vero path dipende ovviamente dalla configurazione del vostro provider. Idealmente sarebbe preferibile proteggere meglio questo file mettendolo fuori dalla web root, ma non in tutti i provider ciò è possibile.

L’editing dei video

Le bravissime maestre riprenderanno i loro esercizi e le loro lezioni con il telefonino, probabilmente. Quasi sicuramente in FullHD. Ottimo per la risoluzione, meno per la dimensione del file risultante. Ho visto file da 8Mbit/s. Risultato: quasi un gigabyte per 10 minuti di lezione. Purtroppo così non va bene. Ecco dove subentra ffmpeg. Con il semplice comando che segue si può prendere il file di input e trasformarlo, senza distorsioni, in qualcosa di più facilmente fruibile.

ffmpeg -i input.mp4 -b 1024k out.mp4

Il file così ottenuto può essere caricato come contenuto video nella libreria del vostro CMS e quindi pubblicato.

Cambiano le modalità per postare da WordPress a Facebook

A partire dal 1 di Agosto (data di questo post) cambiano le modalità con cui Facebook accetta la pubblicazione automatica di contenuti sulla propria piattaforma.

Nello specifico, cambia un po’ il meccanismo con cui un blog con WordPress (come quello che state leggendo) è in grado di trasmettere il contenuto a Facebook. Tale integrazione è assicurata – per i blog ospitati su WordPress.com e per quelli hosted che usano JetPack – da Publicize.

Chiariamo subito che se il vostro blog è collegato ad una Facebook Page – come dovrebbe essere, da best practice, gli effetti dovrebbero essere marginali.

Se invece avete il feed del blog collegato ad una Profile Page (ad una pagina personale), allora sono necessari alcuni accorgimenti per poter continuare a sfruttare il meccanismo di cross-posting.

Innanzitutto assicuratevi di utilizzare, per la pubblicazione sulla pagina, un’utenza che su quella pagina abbia i permessi di amministratore. Una pagina-account o una pagina gestita con Facebook Business manager non possono essere alimentate con Publicize.

Sul vostro blog, nella sezione Settings->Sharing, ri-effettuate la connessione a Facebook. Per i blog hosted il percorso è Jetpack->Settings->Sharing.

Vi si aprirà una pagina che vi chiede di confermare l’autorizzazione.

Da questo momento in poi (se lo volete, naturalmente) i vostri nuovi post saranno pubblicati direttamente sulla corrispondente pagina.

Per ulteriori informazioni (e lamentele del caso!) potete rivolgervi direttamente alla community su Facebook, mentre per un approfondimento sulla gestione delle pagine con Facebook Business Manager potete andare alla pagina della relativa assistenza.

L’Ultima Trasferta

[Re-Edit di un post datato 18/5/2018]

No, non proprio l’ultima, ne sono abbastanza certo.

Sicuramente l’ultima per un po’.

Scrivo questo post sul volo di ritorno da Bucarest, dove ho salutato – con un discreto livello di emotività – il mio (secondo) team. Lo lascio nelle mani di un manager bravo quanto me, probabilmente di più.

La prossima sarà la mia ultima settimana in questa magnifica azienda, prima di mettere a disposizione le mie competenze per la Pubblica Amministrazione.

Seguiranno aggiornamenti.

TIM Mobile, i servizi a pagamento, ed il CRM senza valore aggiunto

Sono stato indeciso fino all’ultimo momento sul titolo da dare a questo post. Tralasciando qualunque velleità acchiappaclick, mi sembrava utile – vista anche la mia professione – focalizzarmi sulla carenza di valore aggiunto del servizio CRM che mi è stato offerto. Ma andiamo con ordine.

Cosa è successo?

Una cosa abbastanza comune, a quanto pare. Il 26/7 clicco involontariamente su un link che mi porta all’attivazione di un servizio a pagamento offerto da un’azienda spagnola (la Premium Digi Rates SMS).

L’azienda ha, presumo, un accordo commeriale con i 4 operatori italiani, ai cui clienti offre un acccesso al loro mobile-site al poco economico costo di 5 € (5,08 o 5,09 per alcuni operatotri) a settimana.

Benvenuto un cas...
Benvenuto?!?

Alle 16.49 mi arriva il seguente SMS, che conferma l’attivazione.

 

Disattivazione
Certo, virgola, certo, tornerò a trovarvi…

Chiamo subito il numero, e disdico immediatamente. Alle 16.55 (6 minuti dopo) mi arriva questo altro messaggio.

 

Fiuu…rischio scampato. Ma neanche per sogno!

Il 16 agosto (3 settimane dopo) mi accorgo dell’ennesimo addebito di 5 e rotti euro. Allora accedo alla sezione “Servizi in Abbonamento” della pratica (ancorchè imperfetta) applicazione myTIM, e trovo il servizo, con mia sorpresa ancora attivo. Lo disattivo immediatamente, dopodichè avvio una sessione di chat con l’operatore, che mi risponde in tempi ragionevoli.

Tralasciando i dettagli, l’operatore è molto fermo sulla sua posizione. Niente rimborso, ma gentilmente mi assiste nel inserire il blocco per la mia utenza per evitare future attivazioni. Siccome è lunga da spiegare via chat, decido di mettermi in contatto con un operatore al telefono, tramite il 119. Anche qui, non risulta altra disattivazione se non quella fatta da me un’ora prima. Propongo di mandare lo screenshot con la conferma della disattivazione che a TIM non risulta, ma loro non hanno modo per riceverlo. Rinuncio, ma non prima di aver scritto un post velatamente polemico su twitter.

Twitter Social Care TIM
Dopo pochissimo mi risponde il social care di Tim Mobile, che prende in carico la mia richiesta. Mi si aprono gloriose prospettive…subito disattese. L’operatore del social care di TIM riesce, in brevissimo tempo a dirmi, nell’ordine:

  1. “So che è stato già servito dal 119, la saluto” (cosa che gli avevo già scritto io via DM)
  2. “Vedo che risulta la disattivazione in data odierna, la saluto” (Grazie a…)
  3. “…i servizi a contenuto offerti dai Provider, comportano automaticamente l’attivazione degli stessi in abbonamento, pertanto ti invito a fare attenzione a non cliccare sui bunner di pubblicità che spesso appaiono durante la navigazione (anche sui social)” (Ma che davero?)

Fallimento su tutti i fronti. Devo dirlo, la gentilezza, almeno quella, non è mancata (quasi) mai.

Cosa non ha funzionato?

Tante, troppe cose.

I servizi in abbonamento di questo tipo sono il male, e andrebbero, secondo me, aboliti per legge. Non conosco una sola persona che li abbia attivati (o che li usi e paghi) volontariamente. Non una. E questo è un male sistemico. Gli operatori purtroppo guadagnano da questi servizi a pagamento, quindi non hanno interesse a bloccarli (anzi). Ma qui andiamo fuori tema.

Non ha funzionato la trasparenza di questo provider di servizi, che mi ha scritto per SMS di aver disattivato, e invece non lo ha fatto. Ma anche qui, ho poco da aggiungere.

Quello che non mi va giù è il (poco o nullo) valore che il servizio CRM di TIM, una grande azienda con una grande storia e una grande presenza sul mercto, è riuscita ad offrirmi. Nessuna attenzione, nessun approfondimento, risposte tutte molto standard che – poco ci manca – a breve pure un bot potrebbe fornire. Non so se questo dipenda dall’eccessivo numero di case che gli operatori seguono in contemporanea, se dipenda da una limitata preparazione o invece da specifiche indicaizoni aziendali. In estrema sintesi, dipende sicuramente da una scarsa cultura del valore, che dovrebbe essere, per la funzione CRM, il vero driver. Non basta presidiare i canali, se poi gli operatori non sono committati all’erogazione dei valori aziendali verso i clienti.

Conclusioni

Cosa possono fare le aziende per assicurarsi di offrire un adeguato servizio di assistenza ai clienti? Semplice: misurare il valore di ogni interazione. Dunque, pianificare e progettare il CRM in modo che ogni customer interaction abbia un risultato misurabile. Queato implica anche intercettare le interazioni a valore nullo, ed evitarle, rimuoverle dai processi aziendali, aggiustare le cose in modo che quelle situazioni non si verifichino nuovamente.

Ho pagato questa lezione 15 Euro, ma ne farò tesoro, e farò in modo che i miei clienti possano trarne insegnamento.

Nota a margine: disattivate la possibilità di attivare servizi a pagamento sul vostro conto telefonico. Ci vuole un secondo e vi risparmiate potenzialmente delle rogne.

Di #VeryBello non c’era bisogno

No, davvero non avevamo bisogno dell’ennesimo sito di promozione turistica, dal nome quantomeno improbabile, e dal formato probabilmente poco innovativo. I commenti di Fabio Lalli e Paolo Iabichino sono accurati ed esaurienti.

L’ironia scatenata sui social (seguite l’hashtag #verybello su twitter) ne è la dimostrazione.

Ci sono già siti che collezionano in maniera egregia gli eventi sul nostro territorio, a cominciare da WeeKeep / finesettimana.it.

 

Tempo di bilanci

Tempo di bilanci.

Espressione a dir poco abusata, specialmente in questo periodo dell’anno.

In fondo male non fa, tirare una riga di quando in quando. Allora perchè non cogliere la Gregoriana occasione offertaci.

Un anno da papà. Non ho dubbi che questa sia la cosa più importante, la più gioiosa, la più impegnativa. E certamente è anche ciò che ha condizionato di più tutto il resto, soprattutto le attività non core come il golf e la vela. Ecco, la vela, per esempio. Credo non capitasse davvero da tanto tempo, ma gli ultimi 365 giorni sono passati senza che io mettessi piede in barca, né per una regata né per una piccola uscita giornaliera. Chissà se quest’estate ci decideremo a fare la prima, con la pupa poco più che unenne.

Nel bilancio non può mancare ovviamente il lavoro. Bilancio positivo, per una nuova posizione che ho fortemente voluto, e che ricopro da dodici mesi esatti. Bilancio positivo, decisamente, nonostante non sia riuscito ad ottenere tutti gli obiettivi che personalmente mi ero prefissato.

Con un occhio al passato, ed uno, non troppo fiducioso, al futuro – al futuro di questo paese, intendo – guarderò gli ultimi 5 giri di orologio di questo 2014.

E poi si riparte.

Regression Testing

Test di Regressione, ovvero la pratica di eseguire una intera serie di test sul codice pre-esistente, in occasione di ogni nuova modifica apportata, alla ricerca di un potenziale errore introdotto con la modifica stessa. Sistemo il nuovo, rompo il vecchio. Capita più spesso di quanto possiate immaginare.

La pratica della Continuous Integration, e soprattutto dell’esecuzione automatica dei test aiuta molto, ed è ormai diffusa nelle software house anche di piccola o media dimensione.

Allora proprio non mi spiego perché questo errore nel codice del Google Reader ricompaia periodicamente.

Errore di Regressione
Errore di Regressione

Controlli HTML disabilitati ed accessibilità

Lo sapevate che i controlli disabled o readonly, grazie anche al comportamento abbastanza insano di MSIE, mandano letteralmente a ………..  l’accessibilità? Questo perchè il browse disegna testo grigio su sfondo sempre grigio. Addio contrasto epr gli ipovedenti.

Fortunatamente basta qualche furbo selettore CSS per riprendere il controllo.

input[disabled], input[readonly], select[disabled], 

select[readonly], checkbox[disabled], checkbox[readonly],

textarea[disabled], textarea[readonly]

{
  background-color: #dcdcdc;
  color: #000000;
  cursor: default;
}