Condividere la connessione dati mobile con Wind

20141018-WindOpenInternetSto usando da un po’ una nuova offerta di connettivita’ dati in mobilita’ che, ancora una volta, porta Wind diverse spanne avanti rispetto ai concorrenti. La nuova Open Internet, infatti, mi ha permesso di risolvere un problema non banale che avevo: tablet e cellulare entrambi connessi alla Rete, senza pagare un doppio canone dati, uno per ogni SIM.

In pratica, sulla SIM dello smartphone ho abilitato l’opzione Open Internet (che si abbina a una delle varie tariffe voce e messaggi, non ne richiede nessuna specifica) e ho poi esteso Open Internet al numero della SIM che ho nel tablet tramite l’opzione di Condivisione Internet. In questo modo, il tablet naviga come se avesse la sua connessione dati sulla sua SIM, ma il traffico viene tutto conteggiato sulla SIM dello smartphone.

Sembra incredibile? E invece non e’ neanche finita: si possono associare fino a 4 SIM a quella dov’e’ abilitata Open Internet, sia dello stesso intestatario, sia di intestatari diversi. Quindi potrei far consumare il mio traffico dati ad un mio amico / parente / partner.

Prezzo esorbitante? Canone mensile per ogni SIM? Niente di tutto questo: Open Internet parte da un prezzo base di 9 euro al mese per 3 GB di traffico, e l’associazione costa 3 euro a SIM una tantum. Stop. In piu’, se 3 GB non sono abbastanza, si puo’ scegliere una soglia maggiore di traffico, 6 o 12 GB.

Nell’offerta, poi, tutti i soliti benefici della connettivita’ dati di Wind: riduzione della velocita’ di navigazione se si supera la soglia di traffico mensile, possibilita’ di teethering, nessun filtraggio del traffico VoIP (ma viene fatto, ad esempio, sul traffico Torrent).

Direi un bell’affare visto che, dopo piu’ di un mese di utilizzo, non sono ancora incappato in costi nascosti o prerequisiti-trabocchetto necessari a far funzionare tutto. Non mi pare altri operatori si avvicinino minimamente a questo rapporto offerta / servizio.

CodeTheFuture @ Frog Milano, NinjaBoo e un altro hackathon nello zaino

NinjaBooSperimentare, stupirsi, scoprire nuovi tool ed esplorare scenari innovativi e divertenti anche se un po’ strampalati. Questo il mio approccio quando partecipo ad un hackathon, e CodeTheFuture, organizzato da Frog Design a Milano, non ha fatto eccezioni.

Su cosa mi sono divertito stavolta? Grazie a Fiorenza che ha portato un MindWave (e che ci ha messo l’idea di base), ci siamo giuggiolati nel creare una specie di nascondino mind-powered. Ambientato in un dojo dove si addestrano i ninja, lo scopo del gioco di tutti i giocatori e’ quello di scovare gli altri e fare un bel “Boo” alle spalle per farli spaventare e fargli perdere una vita (spavento rilevato appunto attraverso il MindWave). Ma attenzione, perche’ se si e’ troppo agitati mentre si va alla ricerca degli altri, il proprio smartphone inizia a suonare ed illuminarsi, rendendo piu’ facile essere trovati. Insomma, occorre essere calmi e letali nel fare “Boo”, controllo che solo i veri ninja sanno avere. Cosi’ e’ nato NinjaBoo.

Tecnologicamente parlando, io e Fiorenza ci siamo occupati di creare l’app Android che gestiva il gioco e leggeva i dati del MindWave, Christian ha realizzato il backend in PHP per raccogliere i giocatori partecipanti e tenere aggiornata la classifica delle morti di ognuno durante il match (rilevate e trasmesse dallo smarthphone) e poi ho creato un’app su Android Wear per avere sotto controllo le proprie morti e il tempo mancante alla fine del match con un semplice gesto del polso. Tutte le lodi del mondo a Laura che, da brava visual designer, ha saputo rendere la nostra idea bella, presentabile e usabile!

Un paio di considerazioni sul MindWave sono d’obbligo: Collegabile via bluetooth, l’aggeggio legge le onde celebrali, fa i suoi calcoli e restituisce tre valori: livello di emotivita’, livello di attenzione (entrambi su una scala discreta da 0 a 100) e occhi chiusi o aperti, una o due volte al secondo circa. Questi due valori hanno andamenti direi “un po’ bizzarri”, pero’ in situazioni abbastanza stabili sono accettabilmente veritieri. Ad esempio, ascoltando una canzone che piace, il livello di emotivita’ e’ quasi sempre a fondoscala e quello di attenzione quasi sempre vicino allo zero, perche’ l’azione e’ qualcosa che facciamo con piacere e quasi distrattamente. Se invece cantiamo la stessa canzone, anche l’attenzione sale di molto, visto che cantare impegna molte risorse (seguire il testo, ricordarsi le parole, modulare la voce, cantare ecc). Anche pensare a certi concetti felici fa salire l’emotivita’ e mantiene bassa l’attenzione, ma pensarci troppo fa salire quest’ultima. Insomma, due valori sono pochini per fare grandi “letture del pensiero”, ma quando si considera il contesto, allora qualche deduzione e’ possibile. Con questo approccio abbiamo “intervistato” dei volontari scelti mettendoli a loro agio, facendo domande facili e tranquille, e poi spaventandole improvvisamente per registrare come variavano i loro livelli (come valori nel tempo), e alla fine abbiamo trovato un modello accettabilmente preciso che rilevasse questo picco di paura. Divertentissimo, per noi sicuramente, per gli intervistati forse un po’ meno ;).

Pur essendo ancora troppo invasivo per passare inosservato, gli scenari che si aprono sul suo utilizzo sono comunque molteplici. Interessante pensare ad un prof o un relatore che riceve feedback immediati sul livello di attenzione (e di occhi chiusi) durante la propria lezione direttamente da MindWave indossati dall’audience, cambiando stile di presentazione oppure rompendo gli schemi quando questo scende troppo. Inoltre una sessione di laser game (o soft air) offre il perfetto scenario dove indossarli, dovendo gia’ portare un casco. Che dire: siamo agli inizi, ma la percezione che ne vedremo delle belle ed interessanti e’ davvero forte.

PartecipantiParlando dell’hackathon in se’, giudizio piu’ che positivo, esperienza da consigliare! Cercando il pelo nell’uovo, c’e’ qualcosina che avrei organizzato diversamente. Piccole migliorie nella cura dell’ambiente soprattutto. Ad esempio con musica durante l’evento: vero che si possono sempre usare le cuffie, ma mettersele automaticamente ti isola. E in un hackathon contaminazione e condivisione sono tutto. Inoltre, nonostante pranzo e cena siano stati davvero di qualità, avrei aggiunto qualche snack, delle barrette, un po’ di frutta e paninetti sparsi per calmare i morsi della fame durante il resto del tempo. E magari anche l’orario: con lo stop al codice alle 21 e proclamazione dei vincitori alle 23.15, chi doveva tornare a casa lontano da Milano non ha avuto vita facile. Infatti dei ragazzi di Roma sono dovuti scappare appena fatta la loro demo (tutto il mio rispetto per essere venuti), io ho preso l’ultimissimo treno utile per Pavia e i ragazzi di Bologna anche avevano almeno un paio d’altre ore davanti per tornare a casa. Comunque puntigli, niente di piu’.

Pensando invece a cosa e’ andato magnificamente, direi su tutto il numero di partecipanti: avere 5 team a presentare gli hack realizzati ha permesso di scendere nel dettaglio delle idee, *giocare con i prototipi realizzati* (e non con 3 slide a team da mostrare in rapida successione nel mezzo di un susseguirsi ininterrotto di altre presentazioni), fare domande, discutere. Sorridere e non sbadigliare. Ed ha anche permesso ai design di Frog di seguire i vari team, fornire supporto e cultura dalla fase di brainstorming a quella di presentazione, a me di scoprire gli hack degli altri team durante la giornata, un po’ dando una mano con qualche problema da risolvere, un po’ curiosando. Tutto ossigeno per la mia mente!

NinjaBoo, the winner team of CodeForFuture Come dicevo all’inizio, adoro gli hackathon perche’ sono il vero (e direi anche unico) momento creativo di un team (dev e designer) libero da ogni vincolo di obiettivo necessariamente significativo. Puoi tentare un’idea, disegnarla e codarla perche’ ti piace, sperimentando nuovi tool (ma dove ero io quando hanno pubblicato Retrofit per Android? Tutte le librerie dovrebbero essere fatte cosi’ bene!!) per il solo gusto di metterci le mani sopra. E’ il momento magico del dev per uscire dalla propria zona di comfort ed esplorare. Rischiando solo un po’ del proprio tempo, ma ricevendo in cambio sensazioni positive, cultura e, soprattutto, un sacco di nuove e utilissime interazioni sociali. E no, non devono essere necessariamente l’occasione per “fare una startup”, ci sono altri eventi per quello.

Vabbe’, puoi quando vinci anche, allora “Everything is awesome“! ;)

Intervista per la Droidcon Torino

Dato che non sono stati i primi a farmi queste domande, riporto un pezzo di intervista fatta per la Droidcon di Torino, il 6 e 7 Febbraio 2014. Magari sono riuscito a spiegare meglio il mio attuale lavoro e perche’ mi appassiona.

Ciao Alfredo, raccontaci qualcosa di te: dalla tua esperienza accademica a quella lavorativa.
Lo confesso, non sono un ingegnere. Ho iniziato a nutrire la mia passione per l’informatica dalla quarta elementare, quando i miei mi regalarono un computer, un glorioso Intel 8080. Finite le superiori, sono subito andato a lavorare come sviluppatore, laureandomi nel frattempo in Scienze della Comunicazione perché pensavo, e penso ancora, che la consapevolezza delle nostre abilità sociali e comunicative sia indispensabile nel bagaglio delle conoscenze che ognuno dovrebbe avere. In Google, poi, ho trovato il connubio ideale tra queste mie due inclinazioni. Tra le due, però, vince ancora la programmazione.

Siamo molto curiosi di sapere di cosa ti occupi in questo momento in Google: puoi parlarci brevemente delle tue mansioni?
Sono nel team Developer Relation, e il mio compito è rendere quanto più divertente possibile la vita degli sviluppatori italiani che usano le tecnologie dev di Google. Seguo le community sul territorio, organizzo eventi, faccio formazione nelle università, mi tengo aggiornato sul mondo delle startup nel nostro paese e cerco di far capire ai miei colleghi in America che anche l’Italia vale la loro considerazione e perché.

Com’è lavorare direttamente per il colosso di Mountain View? Data la tua vasta esperienza lavorativa, trovi ci siano differenze di mentalità rispetto alle aziende Italiane?
E’ bello sicuramente, ma impegnativo. Tutti sanno quanto Google tenga alla qualità del posto di lavoro dei propri dipendenti e questo, assieme a dei buoni colleghi e alla possibilità di lavorare su ciò di cui sono appassionato, non condiziona con inutili pesantezze la mia giornata, ma anzi! Di differenze ce ne sono, ma niente che non si possa importare e adattare al proprio contesto. Occorre però essere disposti a mettersi un po’ in gioco: tutta l’azienda, non solo una sua parte.

Che consiglio puoi dare a chi spera un giorno di poter entrare in una grande azienda all’avanguardia come Google che non segue l’innovazione, ma la crea?
Penso che in Google non si assumano persone per far fare loro qualcosa, ma piuttosto per farli continuare in quello che stanno già facendo con successo. Quindi mi sento di consigliare di credere nelle proprie passioni, quelle vere che costruiscono qualcosa d’innovativo, in qualunque campo. Di non pensare a cosa ci ferma, ma focalizzarsi al cosa invece ci aiuta ad andare nella direzione in cui ci vediamo proiettati e felici. Di essere il cambiamento che si vorrebbe vedere intorno a se’. Prima o poi, una Google arriva. E se non arriva, se ne può sempre creare una.

Ubuntu Touch su Galaxy Nexus, installazione e impressioni

Lock Screen

Lock Screen

Canonical ha annunciato una versione 1.0 del suo Ubuntu Touch per Ottobre, quindi perchè non provarla direttamente sul campo, per capire a che punto reale e’ lo sviluppo? Grazie quindi alla documentazione ufficiale, ho installato Ubuntu Touch su un Galaxy Nexus e ho iniziato a giocarci un po’.

 

Installazione

Il processo di installazione fila via liscio e senza intoppi (l’importanza di avere un bootloader sbloccato e’ sempre da apprezzare). La guida accompagna sia nell’installazione facile, con script che fa tutto da solo, sia nella “old way”, in cui prima si carica una recovery image tramite fastboot e poi, grazie a questa recovery, si carica il sistema.

Piccola nota, dato che avevo gia’ una recovery installata nel telefono (CWM): durante l’installazione mi e’ apparso il messaggio:
“ROM may flash stock recovery on boot. Fix? THIS CAN NOT BE UNDONE.”
Seguendo quanto detto qui, ho risposto no e sono andato avanti. Primo boot del sistema, emozione.

 

Configurazione di base del sistema

Ho subito fatto un bell’aggiornamento del sistema. Siccome sono un purista, mi sono collegato dal mio pc con adb shell e poi ho lanciato un classico
# apt-get update && apt-get dist-upgrade -y
Se non si vuole usare un pc, basta lanciare gli stessi comandi dall’app Terminal del device, preceduti da sudo (pwd phablet).

In teoria ci sono un paio di applicazioni per gestire l’aggioramento del sistema, System Settings -> Updates, oppure l’app updatemanager, ma in nessun caso mi hanno dato nuovi aggiornamenti presenti, mentre apt-get mi dava pletore di nuovi pacchetti. L’aggiornamento OTA e’ supportato, ma magari vengono rilasciati solo snapshot piu’ stabili del sistema, non so.

In System Settings -> Accounts ho inserito i miei account Twitter, Facebook e Google. Adesso Friends e’ in grado di mostrare il mio stream Twitter e Facebook, le foto possono essere condivise su Facebook direttamente dalla Gallery, ma purtroppo, se lancio l’app di Facebook o Twitter o Gmail, devo inserire nuovamente i miei dati nello schermo di login. Anche le notifiche di nuove email in Gmail non ci sono.

Manca ancora un’app per  sincronizzare i contatti del device con quelli di un qualunque servizio cloud. Per fortuna, grazie a SyncEvolution e con un po’ di sana riga di comando, e’ comunque possibile gestire la sicronizzazione per i servizi da questo supportati. Nel mio caso, avendo tutto nel cloud di Google, si e’ trattato di semplici passi. Dal terminale del dispositivo (o adb shell):
sudo apt-get install syncevolution
su – phablet
syncevolution –configure –sync-property “username=email@gmail.com” –sync-property “password=secret” Google_Contacts
syncevolution –sync one-way-from-server Google_Contacts addressbook
Purtroppo vengono importati 50 contatti alla volta, ma basta eseguire l’ultima riga piu’ e piu’ volte fino a quando tutti i contatti presenti sul server sono stati importati nel dispositivo. La modalita’ one-way-from-server copia i contatti dal cloud al vostro dispositivo, ma esiste anche un modo per tenerli sincronizzati bidirezionalmente. Personalmente, dato lo stato ancora sperimentale del tutto, ho deciso di eseguire sporadicamente una one-way-from-server, in modo da non rischiare di corrompere i dati nel cloud.

 

Installazione altre applicazioni e rifiniture varie

Si possono anche installare alcune applicazioni addizionali (non core) che sono presenti nel Collection PPA, seguendo la guida Ubuntu Touch apps. Sempre dal terminale del telefono digitare:
sudo add-apt-repository ppa:ubuntu-touch-coreapps-drivers/collection
sudo apt-get update
e poi installare le app desiderate, come ad esempio
sudo apt-get install xkcd-viewer

Risorse utili per rimanere aggiornati: la community ufficiale del progetto e alcuni blog come The Raving Rick, I me mine, Stephane Graber’s website, NotYetThere.org, Popey.com,

 

Impressioni finali

Il lavoro svolto dal team di Ubuntu Touch e’ fin qui monumentale. Se ripenso alle prime discussioni sull’interfaccia, alle core-app gia’ disponibili, alla velocita’ con cui il progetto si sta evolveno, non posso che stupirmi davanti a Canonical e alla community, per essersi imbarcata in un’impresa cosi’ complessa e per portarla avanti con cosi’ tanta energia e determinazione. Vi stimo davvero! Purtroppo pero’, dopo qualche giorno di utilizzo, penso che Ubuntu Touch non sia ancora un sistema operativo pronto per avere una versione 1.0 nel giro di un mese (e neanche 2 o 3, a dirla tutta).

Ci sono molte, troppe,  cose ancora da sistemare: innanzitutto la stabilita’ del sistema e’ una chimera: se lancio qualche app, inevitabilmente devo eseguire un reset dopo un po’ visto che mi si blocca tutto. Anche la responsivita’ dell’interfaccia e’ accettabile solo per poco tempo dopo il reset. Aspettiamo con ansia che il merge tra Mir e Unity 8 e altre sostanziose ottimizzazioni migliorino le cose. Tra l’altro lo sto provando su un Galaxy Nexus, quindi neanche l’ultimo dei terminali in quanto a performance. Di sicuro su un Nexus 4 andrebbe meglio, ma questo fuga ogni dubbio che Ubuntu Touch possa essere un sistema operativo per device low/mid-end, almeno allo stato attuale.

C’e’ poi il fattore delle applicazioni, cruciale per il successo di ogni sistema operativo: le core-app offerte sono carine, ma poche e lungi dall’essere complete e pienamente usabili.  Senza contare la mancanza di applicazioni complementari a quelle di sistema ad un mese dal lancio. Questi fattori, sempre secondo me, non rendono la piattaforma appetibile, forse, neanche ai geek piu’ smaliziati. Certo, tutti i siti web ottimizzati per mobile possono essere considerati “first class citizen” di Ubuntu Touch, ma ad oggi sono davvero pochi quei servizi che hanno un sito web performate e usabile al pari un’app nativa per Android, iOS o Windows Phone. Senza contare che, con questo paradigma, la fruzione del servizio offline deve essere gestita dal sito stesso, e sinceramente non so qual’e’ il livello di supporto offerto dal browser della piattaforma, o quanto in profondita’ sia affrontato questo scenario dalle specifiche HTML5.

In definitiva, ancora tifo per vedere Ubuntu Touch come sistema operativo sul mio secondo telefono (il primato va ad Android, inutile dirlo), ma ci riprovero’ tra qualche mese. Purtroppo all’oggi rischio addirittura di perdere le telefonate, dato un sistema cosi’ instabile (prove fatte, ve l’assicuro). Nonostante tutto, Go Canonical, go, io aspetto fiducioso ancora un po’!