LabLog – IT

Un bot a larga scala per Europe Code Week

Pubblicato il da Lorenz Cuno Klopfenstein
Tag: / / /

Sono passati alcuni giorni dalla chiusura dello Europe Code Week 2016, che ha superato i risultati ottenuti dalle precedenti edizioni con un totale da record di oltre 20,000 eventi organizzati in più di 50 paesi.

All’interno di CodeMOOC, un massive open online course (corso aperto online su larga scala) offerto dall’Università di Urbino ed incentrato sul pensiero computazionale ed il coding, si è pianificato per il 20 ottobre lo svolgimento di un quiz di coding su larga scala. Utilizzando soltanto un client Telegram ed uno scanner di codici QR, i partecipanti hanno avuto la possibilità di partecipare al gioco e di sfidare oltre 900 gruppi di varie località d’Italia.

Continua a leggere…

Una caccia al tesoro guidata da un Bot

Pubblicato il da Alessandro Bogliolo
Tag: /

Il 26 agosto, in occasione della summer school “Coding in your Classroom, Now!”, si è svolta una grande caccia al tesoro nel centro storico di Urbino: 26 gruppi, composti da 139 partecipanti complessivamente, si sono sfidati inseguendo indizi attraverso le strade strette e ripide della città, seguendo gli ordini di un… bot.

Il gioco è stato sviluppato durante la settimana precedente l’evento e l’intero team alle spalle della caccia al tesoro ha impiegato i concitati minuti appena prima dell’inizio sistemando gli ultimi bug. (Beh, la maggior parte di essi.)

La summer school, rivolta agli insegnanti di tutte le classi, ha avuto come obiettivo principale quello di portare il coding nelle scuole, cercando di coinvolgere sia gli insegnanti che i giovani studenti. Pertanto, era logico che la stessa caccia al tesoro, chiamata “Urbino Code Hunting”, si basasse su giochi di coding.

Continua a leggere…

MeteOvunque: da progetto d’esame a bot di utilità quotidiana

Pubblicato il da Pio Mario Jonathan Maiori
Tag: / / / / /

Le piattaforme digitali per la gestione del territorio sono una risorsa preziosa che purtroppo non sono sempre sfruttate e gestite nel migliore dei modi. Esse mirano a compensare gli interessi di uno o più gruppi di utenze distinte, cercando di soddisfare le loro richieste e i loro bisogni inerenti a una data porzione del territorio su cui loro stessi operano, sfruttando il cosiddetto “effetto rete”.

Avendo fatto tesoro di quanto ascoltato durante le lezioni di “Piattaforme Digitali per la Gestione del Territorio”, io e gli altri miei amici e colleghi ci siamo cimentati nella realizzazione di bot per Telegram, impiegati come tecnologia abilitante per la realizzazione delle nostre piattaforme digitali che abbiamo successivamente consegnato come progetti per poter sostenere l’esame.

“MeteOvunque” è il bot da me realizzato, uno di quelli che sono stati valutati nel mese di giugno, la cui realizzazione ha richiesto circa un mese e mezzo di sviluppo per la versione d’esame. Dal nome è facile comprendere che si tratta di un bot che fornisce previsioni meteorologiche; ma perché scegliere la meteorologia come argomento di interesse principale?

Prima di iniziare il suo sviluppo nel mese di Maggio, diedi un’occhiata su Telegram ai bot già presenti e funzionanti e mi accorsi che quelli relativi alle previsioni meteo erano pochi, piuttosto scarni, poco “intelligenti”, con poche funzionalità e addirittura con scarso supporto alla lingua italiana. Ne avevo trovato uno che parlava in parte in italiano e in parte in inglese, nonostante avessi selezionato la bandiera italiana nel menù delle impostazioni!

A parte ciò, la mia scelta sullo sviluppo di una piattaforma di questo tipo è ricaduta sulla meteorologia perché:

• Quasi tutti, in singolo o in gruppo, richiedono le condizioni meteorologiche del posto in cui ci si ritrova o in cui si andrà;
• Il territorio di interesse per un servizio di informazione meteorologica è potenzialmente l’intero pianeta Terra.

Avendo fra le mani una tipologia di richiesta, un’utenza e un territorio di portata mondiale, non è stato così difficile capire che tutto ciò avrebbe rappresentato un ottimo esempio applicativo per il mio progetto universitario sulle piattaforme digitali.

Dopo aver sostenuto l’esame, presi la decisione di continuare a sostenere lo sviluppo del bot, semplificando l’approccio con gli utenti ed arricchendolo di nuove funzionalità. Dall’inizio del suo sviluppo sono trascorsi già 4 mesi!

Cito qui alcune delle sue funzionalità che lo rendono interessante, oltreché utile e versatile:

• Include Program-O, un’interprete PHP per intelligenze artificiali (IA) che interpreta i messaggi di testo in italiano che riceve dagli utenti e fornisce loro una risposta sulla base di ciò che è presente nel suo “frasario”;
• Dà la possibilità di consultare le previsioni su mappa come siamo abituati a vedere in tv dopo il telegiornale;
• Fornisce una lista di 5 località preferite gestibile e personalizzabile da ogni singolo utente a seconda delle specifiche esigenze;
• Gestisce un sistema di advertising (sarà attivo prossimamente) tramite il quale può inviare gif animate di sponsor locali che vogliono comparire nella piattaforma, sulla base della città di interesse in cui sono collocati;
• Possiede una tastiera accessoria che compare in chat dal layout intuitivo e risponde con messaggi esplicativi e facili da comprendere grazie alle emoticons;
• È in grado di registrare la segnalazione di guasti e di consigli sulla piattaforma direttamente all’interno delle chat con gli utenti;
• Permette agli utenti di impostare le notifiche, il livello di dettaglio delle info meteorologiche e il proprio livello di protezione della privacy;
• Salva le foto e i video che gli utenti possono inviargli per poterli condividere con gli altri utenti della piattaforma e per poterli pubblicare sulla pagina Facebook e sul profilo Instagram di “MeteOvunque”;
• Fornisce le proprie funzionalità anche all’interno di chat di gruppo e mediante l’uso di richieste inline-mode di Telegram.

Da pochi giorni è presente anche la lingua inglese!

Invito tutti a dare un’occhiata a quanto è stato realizzato, augurandomi che possiate apprezzare il lavoro compiuto fino ad oggi.

INFO E LINKS UTILI:

– Username Telegram: @meteovunque_bot
– Telegram: https://telegram.me/meteovunque_bot

– Pagina Facebook: https://www.facebook.com/meteovunque/
– Profilo Instagram: https://www.instagram.com/meteovunque/

– Email: jonathan.maiori@libero.it

ConvComp2016: implementare un Bot di crowdsensing

Pubblicato il da Lorenz Cuno Klopfenstein
Tag: / / / /

Dopo aver discusso di Bot come autentiche piattaforme, al pari di applicazioni mobili o siti web, ed aver argomentato che un Bot non necessariamente debba fungere da fornitore di informazioni—ma può benissimo essere lo strumento per raccogliere dati e quindi essere parte di un meccanismo di intelligenza collettiva—è giunto il momento di metterci all’opera per realizzarne uno.

Come descritto precedentemente, per l’occasione dell’evento ConvComp2016 del 24 giugno, abbiamo realizzato un semplice Bot che permettesse di raccogliere pensieri, emozioni e stati d’animo geolocalizzati, in modo da dare un’idea del sentimento generale in un’area. Il Bot è online su Telegram come @wordcloud_bot ed è possibile utilizzarlo da subito per vederlo in azione.

Continua a leggere…

ConvComp2016: intelligenza collettiva e Bot

Pubblicato il da Lorenz Cuno Klopfenstein
Tag: / / /

Come visto nel precedente articolo, le app di instant messaging offrono una nuova piattaforma per l’offerta di servizi che ha dalla sua—come lo era stato per la nascita della piattaforma del web—la presenza di un vastissimo numero di utenti già attivi, già abituati all’esperienza d’uso della piattaforma e che sfruttano già i servizi della piattaforma con profitto.

L’interesse per i Bot e le interfacce conversazionali sfruttati all’interno delle applicazioni di messaggistica testimoniano in qualche modo la naturale tendenza a non re-inventare la ruota: in presenza di un sistema esistente e con un grande valore dato dalla presenza di utenti e servizi—come può esserlo una piattaforma di messaggistica—vale sempre la pena sfruttarla per costruirci qualcosa sopra.

Continua a leggere…

ConvComp2016: la piattaforma dei bot

Pubblicato il da Lorenz Cuno Klopfenstein
Tag: / / /

Il 24 giugno si è tenuto a Milano il ConvComp2016, il primo evento italiano dedicato alla “computazione conversazionale”. In questa occasione il prof. Alessandro Bogliolo ha fatto un intervento incentrato sul mondo dei Bot visti come piattaforma di sviluppo ed il loro legame con quella che è l’intelligenza collettiva (l’intervento inizia al tempo 2:08:33).

Nell’ultimo periodo le interfacce conversazionali, in particolare quelle usate da Bot ed agenti automatici che sfruttano canali di conversazione prevalentemente testuali nell’interagire con utenti umani, stanno suscitando sempre più interesse e sono sempre più al centro di sviluppo ed innovazione.

Continua a leggere…

Usability game: sapete cliccare in ogni angolo dello schermo?

Pubblicato il da Silvia Malatini
Tag: / / /

Quanto sono facili da usare le app?

Esistono app per ogni scopo, ne usiamo decine diverse, con interfacce e funzionamento diversi, ogni giorno, nelle situazioni più disparate. Alcune sono semplici e piacevoli da usare, altre meno. E questo è uno degli aspetti principali che può determinare il successo di un’app rispetto ad un altro: l’usabilità di un’app incide fortemente sulla sua diffusione.

Per sviluppare un’app che sia ‘usabile’ si possono seguire delle linee guida che vengono redatte in base a studi condotti insieme agli utenti. Queste linee guida però, non sono fisse, ma cambiano a seconda della tecnologia e dell’evoluzione dell’utilizzo dei nostri device.

Nell’ambito del mio progetto di Dottorato abbiamo deciso di contribuire alla definizione di linee guida per interfacce multitouch, valutando la raggiungibilità delle varie zone dello schermo dei dispositivi mobili. Per farlo abbiamo pensato di sviluppare un semplice gioco per piattaforma Android, Usability game, che ci permetta di raccogliere dati sull’usabilità delle interfacce delle app in modo più divertente per gli utenti.

Nel primo dei giochi proposti avete 30 secondi per cliccare il maggior numero possibile dei cerchi che compaiono in posizioni a caso dello schermo. Ad ogni click ricevete dei punti, a seconda del livello che avete giocato: ci sono infatti 5 livelli di difficoltà crescente, con cerchi via via più piccoli e difficili da cliccare.

Il gioco ha 4 versioni diverse tra loro: nella prima, al click di un cerchio ne compare subito un altro; nella seconda, la comparsa del cerchio successivo è ritardata; nella terza invece i cerchi restano visibili solo per un certo ammontare di tempo e poi scompaiono se non cliccati; nella quarta si devono usare il doppio click o il swipe per far scomparire i cerchi.

A seconda del vostro punteggio totale, vi vengono assegnate delle medaglie e guadagnate posizioni nella classifica generale: potete utilizzare sia uno username, registrandovi e facendo login all’apertura dell’app, per sapere sempre in che posizione della classifica siete, oppure giocare in forma anonima.

Per guadagnare più punti poi, alla fine di ogni livello, se pensate di aver giocato bene, potete confrontare i vostri risultati con quelli medi degli altri utenti e se i vostri tempi medi di reazione sono più bassi della media, guadagnate punti extra, ma se avete fatto peggio, li perdete.

Ogni volta che giocate poi vi viene chiesto di indicare come impugnate il vostro smartphone: questa informazione è utile solo per controllare la coerenza dei dati raccolti, ma non influisce sul vostro punteggio.

I vostri dati di gioco vengono salvati sul vostro smartphone e sono poi inviati in forma anonima ad un server, che li elabora e li visualizza su un grafico colorato, indicando con colori diversi le aree a seconda del tempo medio di click (calcolato valutando i dati prodotti da tutti gli utenti) in quell’area. Inizialmente il grafico ha 5 righe e 5 colonne, ma potete scegliere di aumentare i riquadri o filtrare i dati in base a uno dei criteri a disposizione: grandezza del monitor, tipo di impugnatura utilizzata, livello ecc…

Potete vedere qui i risultati dei dati raccolti fino ad ora.

Quando avremo una quantità di dati sufficiente saremo in grado di ragionare sulle linee guida per l’usabilità e potremo capire meglio come sviluppare app sempre più piacevoli da usare.

Quindi cosa aspettate? Giocando potrete anche migliorare i vostri riflessi e passare qualche minuto di relax tra una pagina da studiare e l’altra, oltre ad aiutarci nel nostro progetto.

Potete scaricare il gioco dal Google Play store: https://play.google.com/store/apps/details?id=com.sissy.game1

Silvia

Due giorni al DroidCon Torino 2015

Pubblicato il da Lorenz Cuno Klopfenstein
Tag: / / / /

Anche quest’anno, alcuni intrepidi eroi del nostro laboratorio (Lorenz e Saverio nella fattispecie) hanno partecipato all’annuale conferenza italiana dedicata al mondo di Android. L’edizione 2015 è stata segnata da una partecipazione maggiore rispetto all’anno precedente (alla quale abbiamo ugualmente partecipato, ovviamente), raggiungendo oltre 700 partecipanti di oltre 21 paesi diversi. (Torino e frazioni, insomma.)

Quest’anno l’evento si è svolto nell’imponente centro conferenze Lingotto a Torino, illuminato da un piacevole clima sereno e solare a differenza dell’anno scorso.

droidcon-2015-01
Saverio e Lorenz dopo il ritiro dei badge. Come vedete, badge = felicità.

Il DroidCon dell’anno scorso si era presentato subito con un’epidemia incontrollata di vari modelli di Google Glass, indossati da una buona percentuale degli speaker, l’edizione 2015 si è rivelata ugualmente modaiola con lo spostamento abbastanza massiccio dagli imbarazzanti occhiali ai più discreti orologi basati su Android Wear. Un chiaro passo in avanti sul fronte della classe.

In virtù di questo, ugualmente marcata era la presenza di Android Wear e Android Auto, le due nuove frontiere del robottino verde, come tema principale di diversi talk tenuti durante le due intense giornate di conferenza. Interessanti pure i temi legati all’intersezione tra Android ed Internet of Things, con interessanti presentazioni come quella sullo sfruttamento di iBeacon e (sconfortanti) esperimenti sulle tecniche di monitoraggio della prossimità di Matteo Gazzurelli.

Oltre allo sviluppo software, uno dei maggiori temi trattati era la cura per l’esperienza utente (la cosiddetta “UX”): Lydia Selimalhigazi e Roberto Orgiu hanno presentato come designer e sviluppatori devono necessariamente collaborare per ottenere un risultato di successo. Il tema, dal punto di vista del branding, è stato trattato poi anche in una stimolante presentazione di Marie Schweiz proprio sull’influenza di elementi caratterizzanti di un marchio sull’esperienza d’uso e la percezione di un app da parte degli utilizzatori.

Sempre sul fronte “user experience”, ma da un punto di vista totalmente diverso: Kentaro Takiguchi nella sua presentazione “Improving UX through Performance” ha dato un’idea molto approfondita e viva di tutte le piccole ottimizzazioni che si possono introdurre, sia sul lato app che sul lato server, per rendere l’utilizzo di un’applicazione più fluido, affidabile e responsivo, dovendo fare i conti con risorse limitate e connettività lenta o spesso assente. Molti trucchi interessanti, per uno scenario in cui anche tagliare 4 KB di trasferimento dati può avere conseguenze drastiche.

droidcon-2015-02

Come ci ha ricordati puntualmente Benjamin Augustin nel suo talk “RxFy All The Things!”, sviluppare codice può essere spesso una sofferenza infernale. Ma proprio per alleviare le pene dello sviluppatore ci sono sempre più librerie e strumenti che vale la pena sperimentare e conoscere: uno di questi è appunto RxJava, la versione Java delle Reactive extensions concepite su .NET, un modo molto interessante per “invertire” l’approccio delle applicazioni, che adottano quindi un paradigma “reattivo” che molto bene si adatta per l’interazione tra interfaccia grafica e un backend lento o inaffidabile (come ad esempio delle richieste remote).

Alla stessa maniera Maciej Górski ha presentato una varietà di sistemi interessanti per ridurre, soprattutto grazie all’utilizzo di plug-in per Gradle (il nuovo sistema di build utilizzato da Android Studio), la necessità di scrivere molto codice “boilerplate”, ossia ripetitivo senza alcun effettivo valore (come ad esempio metodi getter e setter per le proprie classi Java). Molto interessante anche la sessione “Holy Sync!” di Eugenio Marletti, sui metodi di sincronizzazione cross-platform dei dati, in questo caso utilizzando CouchBase.

“Test, test, test!” questo è stato uno dei mantra più ripetuti in quasi tutte le sessioni di questa edizione e, in particorale, sono stati i due sempre spumeggianti Ali Derbane e Wiebe Elsinga (non provate neanche a pronunciare il suo nome, fallireste) che con il talk “The hitchhiker’s guide to functional testing” hanno fatto una panoramica sui principali strumenti per il testing funzionale delle nostre app. Mentre Stephan Linzner ha mostrato le meraviglie dei nuovi strumenti cucinati con amore da mamma Google per i suoi sviluppatori mobile.

Inoltre, a mezzogiorno del primo giorno, sospinto più dal desiderio di raggiungere il buffet che altro, Lorenz ha presentato “The love child of Android and .NET: using Xamarin for app development” facendo riferimento alle nostre esperienze di sviluppo Android utilizzando la piattaforma Xamarin durante lo scorso anno, con tutti i vantaggi e problemi del caso. Le slide presentate possono essere scaricate in formato PPTX.

droidcon-2015-03
Ci ha energizzati durante le sessioni: la bevanda preferita di Amedeo Avogadro!

Dopo due giornate intense siamo ripartiti da Torino esausti per l’incessante successione di presentazioni, ma stimolati da tante nuove cose da sperimentare, tecnologie da esplorare e dettagli da tenere a mente durante lo sviluppo per Android (e non solo)!

SmartRoadSense in due settimane

Pubblicato il da Alessandro Bogliolo
Tag: /

Sono trascorse esattamente due settimane dal rilascio di SmartRoadSense.

SRSmap

In queste due settimane sono bastati 150 utenti per percorrere 3,000 km di strada, misurare ed elaborare più di 200 milioni di valori di accelerazione, raccogliere 700.000 rilevazioni della qualità del manto stradale, rappresentarle su mappe interattive e rendere disponibili 14MB di open data.

Il risultato è sorprendente e dimostra le potenzialità dello strumento e la forza della partecipazione attiva dei cittadini nel monitoraggio di beni pubblici.

Partecipare è semplicissimo. Basta scaricare l’app Android, installarla e lanciarla ogni volta che si viaggia in macchina con lo smartphone fissato al cruscotto. Le app per iOS e Windows Phone saranno rilasciate a breve.

SmartRoadSense: crowdsensing civico e ricerca

Pubblicato il da Alessandro Bogliolo
Tag: / / / / / / /

Come avevamo annunciato, sabato scorso abbiamo presentato ufficialmente il progetto SmartRoadSense, rendendo disponibile l’applicazione Android, pubblicando il portale e rendendo disponibili online i risultati delle elaborazioni.

La data (21 febbraio) e il luogo (sala del Consiglio Comunale di Pesaro) scelti per la presentazione rappresentano al meglio lo spirito dell’iniziativa. SmartRoadSense è infatti un’applicazione per smartphone che senza intralciare il normale utilizzo del telefono usa gli accelerometri interni (presenti in ogni smartphone di ultima generazione) per giudicare il livello delle irregolarità della strada su cui viaggiamo in macchina. I dati elaborati dagli smartphone vengono inviati a un server che li elabora, li aggrega e li rende disponibili a tutti mostrandoli su una mappa interattiva o permettendo di scaricarli per farne altri usi.

Il 21 febbraio si è celebrata la giornata mondiale dei dati aperti. Il Comune di Pesaro è stato il primo in Italia a sperimentare e ad adottare questa tecnologia, presentandosi alla conferenza stampa con il 70% delle strade già classificate. L’Assessore Biancani, che ha aperto l’incontro mostrando con orgoglio la mappa con il fitto reticolo di strade colorate dal verde al rosso in base alle vibrazione rilevate dagli smartphone che le avevano percorse nei giorni precedenti, ha spiegato cosa significa per il Comune adottare SmartRoadSense: 1. farlo usare ai dipendenti incaricati della gestione e delle strade, 2. invitare i cittadini ad usarlo per contribuire al monitoraggio continuo, 3. prevederne l’uso nel capitolato delle gare d’appalto per la manutenzione.

Oltre ai giornalisti erano presenti all’incontro due gruppi di studenti del Liceo Scientifico Marconi di Pesaro e dell’ITIS Mattei di Urbino. Al termine della presentazione i ragazzi mi hanno letteralmente sommerso di domande e di suggerimenti straordinariamente pertinenti, spingendo la discussione su aspetti tecnici e sviluppi futuri (compensazione degli errori, porting su iOS e Windows Phone, gamification, stime di qualità dei dati, storicizzazione,  ecc) ad un livello di dettaglio degno di un convegno scientifico.

L’applicazione Android e il portale sono a disposizione di tutti!

Possono essere adottati da altri Comuni che intendano seguire la strada aperta dal Comune di Pesaro, o possono essere utilizzati spontaneamente dai cittadini. In ogni caso chiunque la usi contribuirà a costruire una mappa completa dello stato delle strade che percorre in macchina. Ogni 6 ore vedrete la mappa arricchirsi con i dati che voi stessi avete fornito.

Da sabato gli utenti di SmartRoadSense hanno già percorso e classificato più di 700 km di strade italiane!

SmartRoadSense è il risultato di un progetto di ricerca condotto dalla Scuola di Scienze e Tecnologie dell’Informazione dell’Università di Urbino e da NeuNet a partire dal 2012. Negli anni ha coinvolto numerosi docenti, ricercatori, dottorandi e studenti del Corso di Laurea in Informatica Applicata, offrendo spunti di ricerca nel campo del crowdsensing, dell’elaborazione dei segnali, della modellazione di fenomeni fisici, delle applicazioni mobili, della comunicazione wireless, del cloud computing, della cartografia digitale, dei big data e delle applicazioni distribuite. L’attività in corso mette in campo ulteriori competenze nell’ambito dello sviluppo multi-piattaforma, della gamification, delle reti sociali, della privacy, della crittografia e della rappresentazione dei dati.