NeoLuoghi - Soluzioni per l esperienza culturale nei luoghi elettivi della surmodernità



Documenti analoghi
Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

NOVITÀ SITI COMMERCIALISTA

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

CP Customer Portal. Sistema di gestione ticket unificato

Cookie Policy per

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Informativa sulla privacy

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Software Servizi Web UOGA

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

SCHEDA PRODOTTO PAG. 1 J O B T I M E W F. Variazioni mensili al cartellino presenze. Versione 6.1. JOBTIME Work Flow

Retail L organizzazione innovativa del tuo punto vendita

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Esempio Cookie Policy

Informativa estesa sull utilizzo dei cookie

Gestione dell account AdWords di Google Guida pratica

COOKIES COSA SONO I COOKIES? COME UTILIZZIAMO I COOKIES?

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

B.P.S. Business Process Server ALLEGATO C10

LA PIATTAFORMA DEL PROGETTO ORIENTAMENTO. Guida per Studente

Registratori di Cassa

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Hub-PA Versione Manuale utente

INFORMATIVA ESTESA SULL USO DEI COOKIE

Database. Si ringrazia Marco Bertini per le slides

Nuova funzione di ricerca del sito WIKA.

Codice di Condotta relativo alla fornitura di servizi di messaggistica aziendale contenenti codici alfanumerici (Alias) come mittenti ( Codice )

Configurazione di Outlook Express

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Le fattispecie di riuso

Università Politecnica delle Marche. Progetto Didattico

WebGis - Piano Comprensoriale di Protezione Civile

Nuovi Flussi Informativi Cooperazione Applicativa Youth Guarantee

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Mac Application Manager 1.3 (SOLO PER TIGER)

L APP PER IPHONE E ANDROID

I cookie sono classificati in base alla durata e al sito che li ha impostati.

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

Database 1 biblioteca universitaria. Testo del quesito

Manuale Servizio NEWSLETTER

Infostat-UIF. Istruzioni per l accesso e le autorizzazioni

Fiat Group Purchasing Supplier Quality SQP Manuale Utente Versione 1, Dicembre 2008

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

Dipartimento per le Libertà Civili e l Immigrazione

Come creare una pagina Facebook e collegarla al sito mosajco

Progettaz. e sviluppo Data Base

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

Il sistema C.R.M. / E.R.M.

PIATTAFORMA DOCUMENTALE CRG

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

CHIUSURE di MAGAZZINO di FINE ANNO

Esercizio data base "Biblioteca"

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Guida ai prodotti DOP, IGT, etc. Proposta per la realizzazione di una App

Dipartimento per le Libertà Civili e l Immigrazione

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

Sistema Informativo di Teleraccolta EMITTENTI

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

Il Sito web usa i cookie per raccogliere informazioni utili a

Comitato territoriale costituzione

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

WorkFLow (Gestione del flusso pratiche)

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

GUIDA UTENTE PRIMA NOTA SEMPLICE

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

Metodo Condomini e MultiDialogo

INFORMATIVA SUI COOKIE

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Cup HiWeb. Integrazione dei servizi del CUP Marche in applicativi di terze parti

SOLUZIONE CRM E CTI PER CALL E CONTACT CENTER

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI SCRIVANIA PER GLI UFFICI SUAP

Omnia Web Timesheet. Manuale utente

Guida alla registrazione on-line di un DataLogger

Guida all accesso al portale e ai servizi self service

INFORMATIVA IN MATERIA DI COOKIE. Digital Dictionary Servizi s.r.l. Milano via Paleocapa 1, (MI) P.IVA/CF: REA: MI

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

SOMMARIO... 3 INTRODUZIONE...

Versione 1. (marzo 2010)

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

4.1 FAX Sollecito consegne via (Nuova funzione)


Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Transcript:

D3. Relazione su modelli di riferimento e specifiche architetturali e funzionali di soluzioni di interazione sociale peer-to-peer per la fruizione emozionale dei NeoLuoghi 1

Indice generale 1 Introduzione... 4 2 Scenario applicativo e casi d'uso... 5 3 Funzioni del modulo SN... 6 4 Architettura... 8 5 Raccomandazioni social... 11 6 Aggregazione di Social Network e Social Login... 14 6.1 Funzione di Aggregazione di Social Network... 14 6.2 Funzione di Social Login... 14 2

Indice delle illustrazioni Figura 1... 9 Figura 2... 15 Indice delle tabelle Tabella 1: Struttura dati del profilo social dell utente di NeoLuoghi...7 3

1 Introduzione Non puoi evitare la riprogettazione. È una parte naturale della progettazione. Eberhardt Rechtin Definire un architettura per il sistema NeoLuoghi, in conformità con l approccio Unified Process (UP) adottato per lo sviluppo del software del progetto NeoLuoghi, significa definirne: 1. il contesto in cui il sistema si colloca (catturato e descritto negli scenari d uso di NL) 2. l organizzazione interna del sistema, identificandone i componenti principali e relative specifiche funzionalità, concentrandosi sulla visione d insieme del sistema e astraendo dai dettagli implementativi del componente (black box), 3. le modalità con le quali i componenti del sistema interagiscono tra di loro per fornire le funzionalità complessive (i casi d uso) del sistema, 4. le tecnologie software usate per l implementazione dei componenti, 5. le risorse hardware utilizzate per l esecuzione. L architettura costituisce il fondamento tecnico del progetto; il consolidamento dell architettura avviene solo quando si è certi (tipicamente, tramite sperimentazioni) della sua fattibilità tecnica. L architettura dunque evolve durante lo sviluppo del sistema, per cui il processo di definizione dell architettura è tipicamente evolutivo e iterativo. Le attività di definizione dell architettura iniziano con una definizione ad alto livello dell organizzazione del sistema stesso (vista architettura di alto livello), che, partendo da quanto già realizzato per il punto (i) si focalizza sui punti (ii) e (iii) del processo di sviluppo. A tale scopo, si parte dalla definizione dei principali casi d uso, passando poi alla identificazione delle funzioni principali del componente o modulo di Social Network (nel seguito modulo SN) e le interazioni previste tra questo e gli altri componenti del sistema. Nel presente documento vengono affrontati in dettaglio i primi tre aspetti sopra elencati, riferibili ad attività di progettazione, ed accennati brevemente gli ultimi due aspetti, attinenti alla implementazione. Maggiori dettagli riguardo alla descrizione dei punti (iv) e (v) sono forniti nel deliverable SC5, Prototipo di componente software interfacciabile via web services per le funzioni di profilazione utente, a corredo del prototipo della componente software denominata modulo Social Network. 4

2 Scenario applicativo e casi d'uso Il modulo SN è un applicazione software realizzata nella forma di un server 1 che implementa il Social Network di NeoLuoghi, un SN turistico geolocalizzato. Il modulo SN registra il comportamento del visitatore durante la fruizione del NeoLuogo ed elabora semplici raccomandazioni inerenti le attività degli utenti sul SN. Inoltre, colloquia con i più comuni SN di terze parti (ad es. Foursquare, Twitter, Tripadvisor, etc.) per i quali l utente visitatore concede esplicitamente l'accesso, estraendone le informazioni necessarie al completamento del profilo utente, nonché eventuali raccomandazioni, se rilevanti. L utente finale impiega il tablet, su cui opera l applicazione Player, per interagire con la SN, ad esempio per dare un like ad un contenuto. Poi il Player notifica questo evento al modulo SN che gestisce appunto la SN di NeoLuoghi (oltre a fare crawling sui SN terzi per ottenere il profilo social dell utente). Quindi l interazione con il tablet da parte del modulo SN è indiretta. Con riferimento allo scenario applicativo completo e conseguente workflow generale di NeoLuoghi, si può definire un semplice caso d uso riferito al modulo SN estraendo dallo scenario generale le interazioni che questo compie con gli altri attori di NeoLuoghi (altri componenti del sistema NL). In fase di registrazione, il Profiler invia al modulo Social Network i dati ricevuti dal Player per accedere ai social network esterni ed estrarre informazioni sulle preferenze dell utente. I dati estratti dal Modulo Social Network vengono memorizzati dal Profiler associandoli al profilo creato sul sistema NeoLuoghi e resi disponibili al Recommender. Durante la visita, il Player raccoglie informazioni dinamiche e le invia alla Sensor Network (in particolare, una traccia della posizione geografica dell utente). Il modulo Social Network, interrogando la Sensor Network, riceve ed utilizza queste informazioni integrandole con dati originati da altre sorgenti (SN esterni ad es. o dati storici) per elaborare raccomandazioni di tipo social, ed inviarle al Recommender, che a sua volta le inoltrerà al Player, insieme ad altre. Il modulo Social Network monitora inoltre lo stato dei social network esterni, e nel caso ci siano feedback da parte di altri utenti circa attività (inerenti la visita al parco: esempio, posta una foto, scrive un commento, ecc) compiute dall utente sui propri profili, rileverà queste attività, le comunicherà al Recommender che le visualizzerà sul Player. Nelle seguente sezione Architettura verranno dati dettagli aggiuntivi relativamente alle interazioni previste dal workflow tra modulo SN e gli altri attori (componenti del sistema NeoLuoghi, componenti esterne). 1 Il modulo SN è precisamente un web engine (un web server che espone dei servizi tramite API). 5

3 Funzioni del modulo SN In questa sezione si definiscono le funzioni principali del componente o modulo di Social Network e le interazioni previste tra questo e gli altri componenti del sistema. In particolare, il modulo SN ha il compito di: 1.Realizzare e gestire il Social Network di NeoLuoghi, un SN turistico geolocalizzato (simile a Foursquare/Swarm) che permette all utente di accedere durante il percorso narrativo anche a momenti di interazione sociale, così come di gioco competitivo, possibilità di postare foto, commenti e di individuare persone con cui incontrarsi durante l esperienza, 2.Raccogliere i dati sui comportamenti ed attività dell utente nei Social Network (dati social, necessari alla definizione delle raccomandazioni), sia dalla SN di NeoLuoghi che dai principali Social Network di terze parti (ad es. Foursquare, Twitter, Tripadvisor, recuperati tramite rispettive API o tramite aggregatori di Social Network, come gnip, LoginRadius o Hootsuite). 3.Normalizzare i dati social, che hanno formati e significati diversi, ed inviarli al sistema che gestisce e mantiene il profilo utente, Profiler, dove potranno in seguito essere prelevati dal Recommender ed usati come tracce di input per la definizione delle raccomandazioni principali (raccomandazioni pure). 4.Elaborare semplici raccomandazioni inerenti le attività degli utente sui SN (raccomandazioni social) ed inviarle al modulo UI Storytelling Player (trovare persone vicine/affini per incontri e condivisione; trovare attività comuni di interesse, come la presenza di un evento/gioco nella zona). 5.Raccogliere le raccomandazioni provenienti da Social Network esterni ed inoltrarle al modulo UI Storytelling Player che le visualizza opportunamente (ad es. tramite lista scorrevole laterale non intrusiva) ed eventualmente cercando di collegarle al POI / percorso che l'utente sta visitando). In fase di registrazione, l utente che desidera una maggiore personalizzazione dell esperienza di visita, può fornire accesso ai propri account Social Network (Foursquare/Swarm, Google+,, Facebook, Tripadvisor, etc.). Le credenziali dei SN esterne vengono memorizzate nel modulo Profiler. In alternativa si può implementare un meno intrusivo meccanismo di social login nel Player, in modo da minimizzare le operazioni di autorizzazione necessarie, come descritto nel seguito. Le raccomandazioni social sono calcolate dal modulo SN e sono dedicate all utente finale (e quindi devono arrivare in ultima istanza al modulo Player). Sono semplici raccomandazioni, di secondaria importanza rispetto alle raccomandazioni pure, perchè basate su uno spettro di dati molto più limitato (potrebbero anche essere omesse). Gli algoritmi e gli input di calcolo delle raccomandazioni social sono diversi da quelli delle raccomandazioni che abbiamo definito pure (es. raccomandazioni relative ai contenuti dei POI), che sono generate dal modulo Recommeder. 6

Nella tabella seguente è schematizzata la struttura dei dati del profilo social. Tabella 1: Struttura dati del profilo social dell utente di NeoLuoghi. dati profilo social user ID NL dati registrazione NeoLuoghi Facebook Twitter Foursquare Interessi Post Like Twit Venues Like Raccomandazioni Raccomandazioni 1 Gennaro Esposito, studente POI1, POI3, 10-set-2014 17:30, proiezione 3D, PO1 storia medioevale, armi storiche, pizza 10-set- 2014 18:30, bello questo monumento, 1-set-2014 10:30 è meglio la baestra o la fionda? Castello dell ovo Maschio angioino 2 3 7

4 Architettura Considerando la funzionalità del modulo SN e quelle di tutti gli altri componenti del sistema NeoLuoghi, ed i casi d uso e workflow definiti, possiamo sintetizzarne le modalità di interazione, identificando le interfacce di comunicazione con gli altri componenti, sia quelli interni al sistema NeoLuoghi che quelli esterni. In particolare, il modulo SN interagisce con: Social Network esterni a NeoLuoghi, ricevendone dati social utili alla comprensione dei comportamenti dell utente e quindi al completamento del profilo, Componente Profiler, al quale l utente invia i dati social raccolti, per completare ed affinare il profilo utente con questo aspetto 2, Componente Recommender, al quale il modulo SN invia le raccomandazioni social internamente definite o ricevute da SN esterni, Componente UI Storytelling Player, con il quale c è una interazione bidirezionale: (a) a questo componente vengono inviati, su richiesta, i dati relativi alle raccomandazioni social, e (b) si raccolgono da questo i dati relativi ai comportamenti dell utente durante la visita riferibili agli aspetti di social interaction (il player invia al modulo SN tutte le richieste relative ai SN (ad es. post, messaggi e notifiche, sia su SN interno di NeoLuoghi che su SN esterni). Componente Sensor Network, per la ricezione della posizione dell utente (coordinate geografiche e timestamp). Le principali interazioni tra il modulo di SN ed il mondo esterno avvengono tramite comunicazioni con gli altri componenti del sistema NeoLuoghi. In questo caso, l utente del sistema non è una persona ma è un software client esterno (UI Storytelling Player, Profiler, Sensor Network) che interagisce attraverso chiamate a servizi web del Linked Data Layer del sistema NeoLuoghi, per cui il compito del livello dati è ridotto alla sola trasformazione dei dati richiesti nel formato di scambio definito. L interfaccia di comunicazione del modulo SN con l esterno verrà quindi implementata da un Web Server che attraverso chiamate API invierà secondo il paradigma REST i dati al client in formato JSON. Il modulo SN invia al Profiler i dati social cioè l aspetto social del profilo utente. Questi dati sono recuperati dal modulo SN in due modi diversi. Il primo modo è il crawling su social network esterni (ad es. like sulle pagine Facebook dell utente, twit dell utente, etc.). Il secondo modo ha lo scopo di ottenere i dati relativi ai comportamenti dell utente durante la visita e riferibili agli aspetti di social interaction. Queste interazioni si verificano sul tablet e pertanto possono essere registrate e 2 Una parte del profilo utente sarà caratterizzato da aspetti social, sia provenienti da fonti esterne (altri social network, sezioni social di sistemi esterni non social, es. amazon) sia rilevati dal modulo SN stesso (social network di NL locale agli utenti del NeoLuogo, raccomandazioni fatte, post etc). A completare la descrizione, nel profilo utente ci saranno ovviamente altri dati, ed in particolare dati dinamici raccolti dal UI Storytelling Player, come la posizione geografica, gli interessi dimostrati, le preferenze, i percorsi, l'interazione con i POI dei neoluoghi. 8

notificate al modulo SN. Le raccomandazioni social, inclusi i messaggi dai social esterni sono inviati al Recommender. A sua volta il Recommender le invia al Player, che le visualizza opportunamente nell interfaccia utente. Questo per unificare il generatore di raccomandazioni in modo da ridurre le interazioni, in modo che ci sia un solo produttore di raccomandazioni nel sistema NeoLuoghi, che le notifica al modulo consumatore Player. Ogni raccomandazione social generata è assegnata ad un codice di priorità, un timestamp ed espressa con brevi testi (e.g. 140 caratteri). La figura seguente schematizza le modalità di interazione appena discusse, identificando le interfacce di comunicazione (rappresentate con un cerchio/ellisse) ed i flussi informativi verso i componenti esterni al modulo SN (rappresentati con frecce, indicanti il verso della comunicazione, dello stesso colore del componente esterno che le origina). Figura 1: Schema delle interazioni tra il modulo SN e le altre componenti, interne ed esterne, del sistema NeoLuoghi. 9

Considerando funzionalità ed interazioni, il modulo SN di colloca quindi al secondo livello del l architettura Three-tiers definita per il sistema NeoLuoghi (ed avrà a sua volta un architettura a tre livelli, come dettagliato nel seguito). Tale livello contiene la Business Logic del sistema in cui, tramite web service REST e tecnologia JSON, si interfacciano i moduli che la compongono per fornire le informazioni richieste dal livello superiore Spingendosi ad un livello di dettaglio maggiore, si definiscono, partendo dalle funzionalità del modulo SN e dalle interazioni con l esterno appena descritte, i componenti interni al modulo SN stesso, risolvendo in parte il punto (iv) del processo di sviluppo precedentemente descritto. In particolare, il modulo SN sarà composto dai seguenti sotto-componenti: - Gestore del Social Network di NeoLuoghi, attraverso la realizzazione di una rete sociale georeferenziata, nella quale gioca un ruolo centrale l informazione sulla posizione geografica dell utente, dei suoi pari e dei POI. I Geo Social Network, o reti sociali georeferenziate, possono essere sinteticamente definiti come location-based social services, - Sistema di raccomandazioni social, che fornisce semplici raccomandazioni relative ai SN, partendo dalla posizione geografica dell utente, sulla base di semplici criteri di similarità. Le raccomandazioni potranno essere fornite nella forma di utenti "vicini" (posizionati in un raggio predefinito rispetto all utente che riceve la raccomandazione) e di lista di POI visitati o valutati come preferiti (liked, recensiti con voto alto, ecc.) da utenti "affini" (cioè con interessi simili). - SN crawler, che ha il compito di recuperare i dati disponibili dai SN esterni per i quali l'utente si è connesso 3, normalizzarli e renderli disponibili in un formato universale al Profiler. Il modulo SN ha necessità di conoscere, con timing opportuno (ad es. 30 sec), la posizione geografica dell utente sia per fornire raccomandazioni social, sia per gestire la social network di NL. Questo implica una interazione tra il modulo SN ed il modulo sensor network, per ottenere la georeferenziazione dell utente rispetto al NeoLuogo. In alternativa si potrebbe usare il sistema GPS sul tablet, per cui il Player invia periodicamente le coordinate al modulo SN. 3 Da Foursquare si possono ottenere informazioni georeferenziate e quindi, per il nostro obiettivo, più adatte perchè facilmente collegabili ai POI. Stesso discorso vale (indirettamente) anche per Tripadvisor. Per gli altri SN le informazioni recuperabili attraverso le varie API sono eterogenee in formato e significato. 10

5 Raccomandazioni social Come anticipato nelle precedenti sezioni, il modulo SN ha anche il compito di elaborare semplici raccomandazioni inerenti le attività degli utente sui SN (raccomandazioni social) ed inviarle al modulo UI Storytelling Player. Queste raccomandazioni hanno l obiettivo di trovare persone vicine/affini per condivisione dei contenuti della visita e di trovare attività di interesse comune, come la presenza di un evento nella zona del parco gestito da NeoLuoghi. Esempi di raccomandazioni possibili sono le seguenti: Raccomandazione di una visita di un luogo vicino di interesse dello specifico utente (cioè attinente al contenuto del suo profilo social); Raccomandazione di una visita di un POI o della fruizione di un contenuto di interesse (implementato nel Recommender, raccomandazione pura); Indicazione di un altro utente di NL con interessi affini (cioè con profilo social simile a quello dell utente destinatario della raccomandazione); Notifica di un evento di interesse (attinente al profilo social). In fase di registrazione, l utente che desidera una maggiore personalizzazione dell esperienza di visita, può fornire accesso ai propri account Social Network (Foursquare/Swarm, Google+, Facebook, tripadvisor, etc.). Le credenziali dei SN esterne vengono memorizzate nel modulo Profiler. In alternativa si può implementare un meno intrusivo meccanismo di social login nel Player, in modo da minimizzare le operazioni di autorizzazione necessarie, come descritto nel seguito. Le raccomandazioni social sono calcolate dal modulo SN e sono dedicate all utente finale (e quindi devono arrivare in ultima istanza al modulo Player). Sono semplici raccomandazioni, di secondaria importanza rispetto alle raccomandazioni pure, perché basate su uno spettro di dati molto più limitato (potrebbero anche essere omesse). Gli algoritmi e gli input di calcolo delle raccomandazioni social sono diversi da quelli delle raccomandazioni che abbiamo definito pure (es. raccomandazioni relative ai contenuti dei POI). Le raccomandazioni social (es. segnalazione all utente di presenza di altro utente affine nelle vicinanze) sono dati diversi dall aspetto social del profilo utente (cioè dai dati che il modulo SN invia al Profiler, ad es. interessi dichiarati, like di pagine Facebook etc). Le raccomandazioni social sono il risultato dell elaborazione da parte del modulo SN, dei dati social (e di altri dati). Inoltre, le raccomandazioni social hanno valenza temporanea in quanto potenzialmente e tipicamente legate ad una caratteristica dinamica dell utente (ad es. la posizione geografica). Al contrario i dati social del Profiler sono, in questo contesto, statici, rappresentano la fotografia che condensa la storia passata dell utente nei SN al fine di carpirne i potenziali interessi, ottenuta attraverso il crawling. Ovviamente i dati social sono periodicamente aggiornati ma con tempi sicuramente superiori alla dinamica delle raccomandazioni social. 11

L algoritmo di raccomandazione social parte dall analisi del profilo social di un utente (cioè dall insieme dei data points, o campi di record, di tutti i social network che sono stati collegati dall utente stesso in fase di registrazione a NeoLuoghi). Tramite query avanzate implementate attraverso strumenti di data mining (come ad esempio ElasticSearch, MongoDB, Mahout, strumenti di test analysis/mining) si estraggono un insieme di parole chiave, o tag, che sintetizzano il profilo social (ad es. vino, pesca sportiva, storia medioevale, iphone 6), una sorta di hash o sintesi del profilo SN. Ai tag sono associati anche dei pesi che tentano di stimare la rilevanza dei tag identificati. In sintesi, possiamo identificare una funzione f SN che associa al testo non strutturato estratto dai SN esterni un insieme di parole chiave, o tag, ad ognuna delle quali è associato un valore [0,1] che ne rappresenta il peso (rilevanza). f SN : testo > tag (parole chiave nel testo), peso (rilevanza) Indipendentemente dallo strumento adottato per l implementazione del motore di raccomandazione, i risultati delle query, ed i pesi associati, devono tenere conto dei seguenti aspetti: Il numero di volte in cui compare il concetto identificato; Il contesto anche se non viene espressamente menzionato il tag (ad es. associare al profilo social di un utente il tag storia medioevale anche se mai, o raramente, menzionato nei contenuti delle conversazioni, ma dove sono frequenti riferimenti ad es. a templari, crociate, monaci ; La rilevanza del tag per il sistema NeoLuoghi (rafforzamento dei pesi per i tag che corrispondono alle categorie e metadati dei contenuti di NeoLuoghi). Successivamente i tag identificati vengono trasformati in raccomandazioni. Anche in questo caso, ci sono varie possibilità: Usare i tag identificati per eseguire una query a Foursquare per recuperare i luoghi (venue) rilevanti in un intorno dell user; Usare i tag per eseguire una query alla Digital Library di NeoLuoghi (per trovare match con le categorie NeoLuoghi); Trovare un subset di tag sovrapposti tra due utenti, per raccomandare utente con interessi affini. A livello di architettura del sistema, per ottimizzare le comunicazioni tra i vari moduli e le interfacce, sono state effettuate le seguenti scelte implementative: 12

Le raccomandazioni social ed i messaggi (ad esempio post, like, commenti 4 ) dai social network (sia esterni che di NeoLuoghi) vengono inviate al modulo Recommender opportunamente formattati. Il modulo Recommeder provvederà poi ad inoltrare questi messaggi al modulo Player (mobile app che lavora sul Tablet), che le visualizzerà in una opportuna sezione della interfaccia utente; Il modulo Player invia al modulo SN tutti i messaggi (ad es. i post inviati dall utente) e le richieste relativi ai SN (interno NL ed esterni); Le risposte dai SN (ad es. i commenti o i post destinati all utente) sono inviate dal Player al modulo Recommender. 4 Inclusi i post/like provenienti da SN esterni e relativi al tema NeoLuoghi (menzione di NeoLuoghi, eventualmente anche menzione di POI, titoli dei contenuti di NL). 13

6 Aggregazione di Social Network e Social Login Nel seguito vengono descritti i vantaggi e l implementazione delle funzioni di Aggregazione di Social Network e di Social Login, mentre le specifiche di comunicazione vengono date nella sezione successiva. Queste funzioni sono state inizialmente implementate, nelle prime versioni dei prototipi del modulo SN (che è stato sviluppato secondo l approccio Unified Process), attraverso l integrazione del prodotto di terze parti LoginRadius. Durante l evoluzione dello sviluppo, nelle versioni finali del prototipo del modulo SN, si è preferito riportare in-house lo sviluppo di queste funzionalità, per motivi strategici (mantenimento del know-how e del vantaggio competitivo) e di efficienza dei costi. 6.1 Funzione di Aggregazione di Social Network Questa funzione consente di ottenere l'accesso ad oltre 200 User Profile Data Points, come la anagrafica, il nome, l'istruzione, indirizzo di posta elettronica verificato e molti altri, al fine di capire meglio le preferenze degli stessi utenti e di personalizzare l esperienze degli utenti e quindi migliorare la fruizione dei contenuti di NeoLuoghi. Questo permette di avere accesso completo on-demand dati del profilo degli utenti, attraverso la creazione automatica del profilo social: non appena un utente si è connesso con l ID del proprio account social, si crea automaticamente il suo profilo individuale con il nome, la data di nascita, luogo, genere ed altri data points rilevanti. Occorre comunque definire criteri riduttivi per identificare i campi che servono realmente, tenendo presente che non tutti i SN hanno gli stessi campi, e che on tutti i campi hanno valore per tutti gli utenti (tipicamente pochi campi e ripetitivi). 6.2 Funzione di Social Login Il social login permette ad un utente la registrazione ad un sito tramite la connessione ad un account esistente di un social network di terze parti, quali Facebook, LinkedIn, Twitter, Google e altre 30 social network. Questo meccanismo riduce le barriere che gli utenti devono affrontare quando tentano di registrarsi su un sito web, consentendo loro una esperienza più fluida, eliminando la necessità compilare un modulo, creare e ricordare un nuovo nome utente ed una nuova password. Tipicamente, i tassi di registrazione ai siti web aumentano significativamente dopo aver abilitato il social login (sino al 63% secondo alcune ricerche 5 ). Il social login fornisce inoltre l'accesso autorizzato ai dati del profilo degli utenti in modo da poter creare un'esperienza utente completamente personalizzata. login unico con social login associazione connessione account social network. 5 Secondo indagini di mercato realizzate dalla società Gartner per LoginRadius. 14

La figura seguente mostra un esempio di interfaccia per il social login. Figura 2: Interfaccia di esempio per il Social Login 15