Realizzazione di moduli applicativi per messaggistica e gestione preferenze nel «carpooling» Università degli Studi del Sannio Dipartimento di Ingegneria Corso di laurea in Ingegneria Informatica Isabella Lombardi
Outline Il carpooling: definizione e vantaggi Il carpooling: stato dell’arte ed applicazioni esistenti L’applicazione «There I Go» per Android Modulo applicativo per la registrazione ed il login degli utenti Modulo applicativo per la gestione delle preferenze di carpooling Scambio di messaggi e Google Cloud Messaging (GCM) Modulo applicativo per le notifiche push e lo scambio di messaggi tra dispositivi Conclusioni
Il carpooling Definizione Modalità di trasporto che consiste nella condivisione di automobili private tra un gruppo di persone che hanno percorsi di strada semi- comuni. Obbiettivi principal i Ridurre i costi di trasporto Incentivare la mobilità sostenibile Vantaggi Riduzione dei costi legati all’auto (manutenzione, tasse, carburante) Riduzione dei problemi di congestione di traffico e di parcheggio Riduzione dell’inquinamento e delle emissioni di CO 2
Il carpooling Funzionamento Un automobilista mette a disposizione il proprio veicolo I passeggeri, per usufruire del servizio, contribuiscono con adeguate somme economiche proporzionali al tragitto condiviso Utilizzo di piattaforme web o applicazioni mobili Con le nuove tecnologie è possibile comunicare in tempo reale con tutti i soggetti e sapere la posizione geografica effettiva di passeggeri e automobilisti Problema Dato un certo numero di offerte di automobilisti e di domande di passeggeri, sorge il problema di come combinare queste richieste in modo efficiente Determinare quali delle diverse opzioni risultano le migliori per ogni singolo soggetto facente parte del sistema
Il carpooling Applicazioni esistenti e tecniche utilizzate Stato dell’arte Supporti virtuali per la gestione di prenotazioni Social network che permettono agli utenti di incontrarsi, pubblicare le loro richieste, scambiare informazioni Limiti per quanto riguarda la funzionalità, l’accessibilità ecc. Funzionamento non in real-time Si basano sul confronto dei tragitti di automobilisti e passeggeri Si determinano i punti comuni ai tragitti di automobilista e passeggeri Metodo poco efficiente al crescere delle lunghezze dei tragitti e del numero di richieste Aumento del tempo di calcolo
L’applicazione Android «There I Go» Permette agli utenti di: offrire un passaggio cercare un passaggio pianificare un viaggio
Descrizione del funzionamento Innovatività dell’applicazione L’algoritmo dell’applicazione deve essere in grado di: elaborare le diverse richieste provenienti dai passeggeri classificarle selezionare le migliori Comunicazione tra smartphone o tablet e GIS interno o esterno, es. «Google Maps» Le richieste dei passeggeri vengono ordinate in modo da massimizzare l’utilità in termini economici sia per l’automobilista che per il passeggero. Algoritmo più efficiente con riduzione dei tempi di calcolo
Modulo applicativo per il login e la registrazione degli utenti Motivazioni L’applicazione “There I Go” non era dotata di schermate autenticazione e registrazione Permette agli utenti : di essere riconosciuti dall’applicazione, di memorizzare dati importanti per la pianificazione dei viaggi, di avere un servizio personalizzato e più sicuro, basato sulle proprie preferenze di viaggio.
Prevede : una schermata di login con campi per e password una schermata di registrazione per la creazione di un account con campi full name (nome e cognome), e password E’ possibile la navigazione ed il passaggio da una schermata all’altra
Motivazioni Realizzato per la scelta delle preferenze di carpooling nell’applicazione “There I Go” Permette agli utenti di personalizzare il proprio viaggio rendendolo più confortevole e sicuro. Preferenze Permette di scegliere fra diverse preferenze di viaggio: musica, fumo, animali a bordo, bambini a bordo, «chiacchiere». E’ possibile scegliere se si desidera o meno viaggiare in un’auto in cui: il conducente ascolta musica si fuma si trasportano animali domestici ci sono bambini a bordo ci sono compagni di viaggio “chiacchieroni”
Preferenze E’ inoltre possibile scegliere : le dimensioni del bagaglio da portare a bordo tra piccolo, medio e grande il numero dei propri compagni di viaggio. se viaggiare con solo uomini, solo donne o con entrambi il tipo di auto Sicurezza Scegliendo l’opzione “solo donne”, è possibile un viaggio riservato solo alle donne
Modulo applicativo per lo scambio di messaggi e notifche push Motivazioni Permette di aggiungere all’applicazione la possibilità di ricevere notifiche o messaggi in tempo reale. Approccio migliore rispetto ad o SMS. Implementazione Le notifiche push: sono implementate utilizzando il servizio GCM (Google Cloud Messaging) consentono all’utente di riceve informazioni in tempo reale ed in modo gratuito
Servizio che consente agli sviluppatori di inviare dati dai server alle loro applicazioni Android. Gestisce tutti gli aspetti di accodamento dei messaggi e di consegna all’applicazione Android in esecuzione sul dispositivo di destinazione. Vantaggi Tempestività con cui le informazioni vengono inviate e ricevute Riduzione del traffico on-line Risparmio del consumo di batteria GCM è gratuito Google Cloud Messaging (GCM)
Funzionamento Il server dell’applicazione invia prima i dati ai server GCM Il server GCM invia una notifica a tutti i terminali Android I terminali Android ricevono il messaggio, si connettono al server, e quindi sincronizzano i dati. Architettura
Comunicazione a scambio di messaggi Tipologie comunicazione asincrona comunicazione sincrona remote invocation Per la realizzazione del modulo per lo scambio di messaggi è stata utilizzata una comunicazione asincrona con server CCS (XMPP) Vantaggi comunicazione asincrona Consente di inviare più messaggi con meno risorse Comunicazione bidirezionale Utilizzo dello stesso collegamento usato per la ricezione, con miglioramento della durata della batteria
Passi seguiti per la realizzazione dell’applicazione: creare un nuovo progetto in Google Developers Console ottenere una API Key per il server scegliere il tipo di GCM Connection Server ottenere l’approvazione da Google per l’accesso API implementare server e client Modulo applicativo per lo scambio di messaggi e notifche push, con server CCS (XMPP) Funzionamento Schermata iniziale con due possibili opzioni: “Register with Google GCM CCS Server”, permette la registrazione al Server CCS e l’ottenimento del RegID. “Send Message to XMPP Server”, consente di inviare un messaggio di notifica al server.
Modulo applicativo per lo scambio di messaggi e notifche push, con server java Motivazioni Non è ancora stata ricevuta alcuna risposta per l’approvazione di Google, necessaria a testare il funzionamento del modulo presentato Struttura dell’applicazione client : verifica la corretta connessione con il server permette la visualizzazione nel LogCat del RegId riceve il messaggio server java: permette la creazione e l’invio di un messaggio al server GCM Funzionamento Una volta che il programma server sarà eseguito, si riceverà sul device una notifica da parte dell’applicazione che ha risposto al messaggio
Conclusioni Nel lavoro proposto è stato descritto il funzionamento di un sistema per il carpooling, facendo riferimento all’applicazione Android “There I Go”. La parte centrale del lavoro ha riguardato la progettazione di moduli applicativi per la registrazione ed il login, per la gestione delle preferenze, per lo scambio di messaggi e notifiche push di supporto alla suddetta applicazione. I moduli realizzati aggiungono all’applicazione importanti funzionalità, permettendo agli utenti di personalizzare la propria esperienza di carpooling. Grazie al modulo per lo scambio di messaggi è stato possibile aggiungere all’applicazione la possibilità di ricevere notifiche in tempo reale e gratuitamente.
Grazie per l’attenzione