+ All Categories
Home > Technology > [SCS]Friloc - Scientific Paper

[SCS]Friloc - Scientific Paper

Date post: 07-Nov-2014
Category:
Upload: vlad-petre
View: 461 times
Download: 1 times
Share this document with a friend
Description:
 
5
Reţea de socializare bazată pe geolocalizare în timp real pentru platforma Android™ Vlad Petre Universitatea POLITEHNICA din Bucureşti Facultatea de Automatică şi Calculatoare, Secţia Calculatoare Email: [email protected] Abstract Telefoanele mobile au apărut din nevoia oamenilor de a fi mereu în contact unii cu alţii. Pe măsură ce capabilităţile acestor dispozitive au evoluat, oamenii au început să folosească tot mai mult, prin intermediul aplicaţiilor, servicii de socializare online precum Facebook™ sau Twitter™ pentru a comunica. Lucrarea de faţă îşi propune să prezinte o evoluţie firească a acestui tip de servicii: o reţea de socializare bazată pe geolocalizare în timp real adresata în primul rând celor ce doresc să fie în contact permanent cu cei apropiaţi. Cuvinte cheie: Android, reţea de socializare, geolocalizare, timp real. 1. Introducere În ultimii ani, reţelele de socializare online au cunoscut o evoluţie fulminantă. Acest fenomen se datorează pe de-o parte nevoii umane de a fi mereu în contact unii cu ceilalţi, iar pe de altă parte se datorează evoluţiei tehnologice a terminalelor mobile [1]. Majoritatea reţelelor sociale din ziua de azi sunt orientate pe amiciţiile dintre utilizatori, pe nevoia de a partaja cat mai multe informaţii cu cât mai mulţi utilizatori, pe nevoia de a face publică locaţia utilizatorului la un anumit moment de timp. Prin lucrarea de faţă, doresc să abordez problema diferit. Astfel, lucrarea propune dezvoltarea unei platforme de socializare bazată pe geolocalizare în timp real. Soluţia este orientată pe prieteniile strâns legate şi apropiate dintre utilizatori şi propune ca utilizatorii înscrişi în această reţea să aibă posibilitatea de a interacţiona cu prietenii lor, de a consulta locaţia curentă a acestora pe hartă, precum şi de a partaja propria locaţie în reţea. 2. Analiza soluţiilor existente Există utilizatori de terminale mobile care doresc să fie în contact permanent cu cei apropiaţi (ex: familie, prieteni de-o viaţă). De asemenea, există situaţii temporare în care aparţinem de un grup social şi dorim să ne aflăm în contact permanent cu membrii acestuia (ex: ne aflăm într-o excursie la munte). La ora actuală, principalele reţele de socializare online sunt Facebook, Twitter şi Foursquare [2]. Facebook este o platformă de socializare orientată pe amiciţiile dintre utilizatori, un utilizator fiind încurajat să aibă cât mai mulţi amici. Twitter este o platformă de socializare orientată pe răspândirea de informaţii, un utilizator fiind încurajat să aibă cât mai mulţi urmăritori (în engleză followers). Iar Foursquare este o platformă de socializare orientată pe locaţia utilizatorilor la un anumit moment de timp, aceştia fiind încurajaţi să îşi facă cunoscută prezenţa într-un anumit punct de interes (muzeu, cafenea, campus etc.) pe Facebook şi/sau Facebook.
Transcript
Page 1: [SCS]Friloc - Scientific Paper

Reţea de socializare bazată pe geolocalizare în timp real pentru

platforma Android™

Vlad Petre Universitatea POLITEHNICA din Bucureşti

Facultatea de Automatică şi Calculatoare, Secţia Calculatoare

Email: [email protected]

Abstract

Telefoanele mobile au apărut din nevoia oamenilor de a fi mereu în contact unii cu alţii. Pe

măsură ce capabilităţile acestor dispozitive au evoluat, oamenii au început să folosească tot

mai mult, prin intermediul aplicaţiilor, servicii de socializare online precum Facebook™ sau

Twitter™ pentru a comunica. Lucrarea de faţă îşi propune să prezinte o evoluţie firească a

acestui tip de servicii: o reţea de socializare bazată pe geolocalizare în timp real adresata în

primul rând celor ce doresc să fie în contact permanent cu cei apropiaţi.

Cuvinte cheie: Android, reţea de socializare, geolocalizare, timp real.

1. Introducere

În ultimii ani, reţelele de socializare online au cunoscut o evoluţie fulminantă. Acest fenomen

se datorează pe de-o parte nevoii umane de a fi mereu în contact unii cu ceilalţi, iar pe de altă

parte se datorează evoluţiei tehnologice a terminalelor mobile [1].

Majoritatea reţelelor sociale din ziua de azi sunt orientate pe amiciţiile dintre utilizatori, pe

nevoia de a partaja cat mai multe informaţii cu cât mai mulţi utilizatori, pe nevoia de a face

publică locaţia utilizatorului la un anumit moment de timp.

Prin lucrarea de faţă, doresc să abordez problema diferit. Astfel, lucrarea propune dezvoltarea

unei platforme de socializare bazată pe geolocalizare în timp real. Soluţia este orientată pe

prieteniile strâns legate şi apropiate dintre utilizatori şi propune ca utilizatorii înscrişi în

această reţea să aibă posibilitatea de a interacţiona cu prietenii lor, de a consulta locaţia

curentă a acestora pe hartă, precum şi de a partaja propria locaţie în reţea.

2. Analiza soluţiilor existente

Există utilizatori de terminale mobile care doresc să fie în contact permanent cu cei apropiaţi

(ex: familie, prieteni de-o viaţă). De asemenea, există situaţii temporare în care aparţinem de

un grup social şi dorim să ne aflăm în contact permanent cu membrii acestuia (ex: ne aflăm

într-o excursie la munte).

La ora actuală, principalele reţele de socializare online sunt Facebook, Twitter şi Foursquare

[2]. Facebook este o platformă de socializare orientată pe amiciţiile dintre utilizatori, un

utilizator fiind încurajat să aibă cât mai mulţi amici. Twitter este o platformă de socializare

orientată pe răspândirea de informaţii, un utilizator fiind încurajat să aibă cât mai mulţi

urmăritori (în engleză followers). Iar Foursquare este o platformă de socializare orientată pe

locaţia utilizatorilor la un anumit moment de timp, aceştia fiind încurajaţi să îşi facă

cunoscută prezenţa într-un anumit punct de interes (muzeu, cafenea, campus etc.) pe

Facebook şi/sau Facebook.

Page 2: [SCS]Friloc - Scientific Paper

VLAD PETRE REŢEA DE SOCIALIZARE BAZATĂ PE GEOLOCALIZARE ÎN TIMP REAL

Soluţia propusă de mine vine să acopere nevoia neexploatată prezentată în primul paragraf al

acestui capitol, se adresează utilizatorilor cu prietenii strâns legate între ei şi se numeşte

FriLoc.

Platforma FriLoc - friends locations - este o reţea de socializare bazată pe locaţia în timp

real a utilizatorilor. Platforma se adresează utilizatorilor de reţele sociale, care folosesc în

mod curent un terminal Android şi au un abonament de internet pe mobil.

În primul rând, soluţia propune ca utilizatorii înscrişi în această reţea să aibă posibilitatea de a

interacţiona cu alţi utilizatori, de a consulta locaţia curentă a acestora pe hartă, precum şi de a

partaja propria locaţie în reţea. De asemenea, soluţia mai propune şi posibilitatea utilizatorilor

de a consulta anumite locaţii de interes, de a acorda note şi comentarii acestor locaţii, de a

crea şi administra locaţii de interes, precum şi posibilitatea de a adăuga geonotiţe pe hartă.

3. Trăsături cheie

În cele ce urmează, voi încerca să prezint structurat, câteva trăsături ale platformei.

3.1.1. Din punct de vedere al interacţiunii utilizator-utilizator:

un utilizator va putea să se împrietenească cu alţi utilizatori;

utilizatorul va putea să vadă pe hartă unde sunt prietenii săi în timp real;

utilizatorul va putea să interacţioneze cu prietenii săi prin mesaje;

utilizatorul va putea să recomande locaţii de interes prietenilor săi (ex: o cafenea);

utilizatorul va putea să organizeze un eveniment public, sa îl plaseze pe hartă şi să îl

promoveze; participanţii vor afla astfel mult mai uşor de locaţia unui eveniment (ex:

http://patinoar.cs.pub.ro/ ).

3.1.2. Din punct de vedere al interacţiunii utilizator-telefon:

utilizatorul va fi anunţat printr-un semnal sonor daca un alt prieten de-al său se află

în aceeaşi zonă cu el;

un utilizator va putea să îşi pună reminder pe zonă, iar în momentul în care trece prin

acea zonă, telefonul să înceapă să sune (ex: nu e urgent, dar când o să am drum pe

strada Maica Domnului, aş vrea să îmi cumpăr un tranzistor);

utilizare intuitivă şi facilă a aplicaţiei (ex: printr-o simpla scuturare a telefonului,

chiar daca acesta este blocat, utilizatorul să vadă preţ de câteva secunde ce interese

sunt în zona curentă).

3.1.3. Din punct de vedere al interacţiunii utilizator-locaţie:

utilizatorul va putea să vadă locaţiile de interes pe hartă (ex: muzee, cafenele,

cinematografe);

utilizatorul va putea să vadă ce locaţii de interes sunt în zona sa (muzee, cafenele,

etc.), precum şi câteva informaţii de actualitate (în timp real) legat de respectivele

locaţii (ex: ofertele zilei - ideea e ca unele locaţii pot avea şi un administrator);

utilizatorul va putea să acorde o notă unei locaţii de interes precum şi să vadă

ratingul actual al locaţiei de interes;

utilizatorul va putea să filtreze locaţiile de pe hartă în funcţie de orar (daca e deschisă

sau nu la ora respectivă), de card-urile studenţeşti acceptate (ISIC, EURO<26), de

tipul locaţiei (culturale, comerciale, entertainment);

un utilizator va putea să îşi ia geonotiţe (ex: mă duc prima dată la un prieten şi aş vrea

ca data viitoare când mă mai duc să îmi aduc aminte repede unde stă).

Page 3: [SCS]Friloc - Scientific Paper

4. Arhitectura platformei

Din punct de vedere tehnic, pentru ca platforma să funcţioneze corespunzător, sunt necesare

următoarele componente:

serviciu web (alcătuit din baza de date şi modulele interne de comunicaţie);

aplicaţie client pentru platforma Android ce va fi instalată pe terminalele compatibile

ale utilizatorilor.

În cele ce urmează, voi detalia specificaţiile tehnice ale fiecărei componente.

4.1. Diagrama de arhitectură

4.2. Serviciul Web

Serviciu web este de tip RESTful (Representational State Transfer) şi este scris în PHP 5.

Serviciul web este alcătuit din patru module:

modulul de comunicaţie cu baza de date;

modulul de comunicaţie cu API-ul Facebook;

modulul de comunicaţie cu clienţii;

modulul de procesare a cererilor.

4.2.1. Baza de date

Baza de date este una de tip relaţional, iar ca sistem de gestiune al bazei de date am optat

pentru MySQL, deoarece pe de-o parte este cel mai popular SGBD open source la ora actuală,

iar pe de altă parte, serviciul web fiind scris în PHP, am luat în considerare faptul că PHP-ul

este optimizat în lucrul cu MySQL.

Page 4: [SCS]Friloc - Scientific Paper

VLAD PETRE REŢEA DE SOCIALIZARE BAZATĂ PE GEOLOCALIZARE ÎN TIMP REAL

Ca driver de interfaţare PHP - MySQL, am optat pentru MySQLi (MySQL Improved),

deoarece API-ul este orientat pe obiecte, oferă suport pentru tranzacţii şi este mai performant

decât driverul standard.

4.2.2. Interfaţa cu Facebook

Autentificarea cu serviciul Facebook se realizează prin protocolul OAuth 2.0.

Confidenţialitatea datelor este asigurată prin utilizarea protocolului HTTPS.

Pentru a exploata la maximum API-ul Facebook în cazul de faţă, următoarele permisiuni

trebuie să fie obţinute:

offline_access

o permisiune necesară pentru a primi din partea Facebook, prin protocolul

OAuth 2.0, un jeton de acces (access token) care nu expiră;

email

o permisiune necesară pentru a avea acces la adresa de e-mail a utilizatorului;

read_friendlists

o permisiune necesară pentru a putea avea acces la lista de prieteni a

utilizatorului;

publish_stream

o permisiune necesară pentru cazul în care utilizatorul doreşte să publice

anumite informaţii în profilul sau public (pe wall);

publish_checkins

o permisiune necesară pentru cazul în care utilizatorul doreşte să facă public,

locul unde se află la un anumit moment (checkin Facebook Places);

create_event

o permisiune necesară pentru cazul în care un utilizator doreşte să creeze un

eveniment Facebook şi să îl plaseze pe harta FriLoc.

rsvp_event

o permisiune necesară pentru ca un utilizator să poată raspunde invitaţiei unui

eveniment din clientul Android.

4.2.3. Aplicaţie client

Aplicaţia client este dezvoltată pe platforma mobilă Android 2.1+ şi este optimizată din punct

de vedere al bateriei şi al consumului de trafic de date.

În background, este pornit un serviciu care rulează permanent şi care trimite regulat

actualizări către serviciu web cu privire la locaţia curentă a utilizatorului.

Locaţia este obţinută prin triangulare GSM, cu o eroare acceptabila de 100m în oraşe. [3]

4.2.4. Modul de procesare cereri

Modului de procesare al cererilor are rolul de a trata toate cererile adresate serviciului web şi

de a le oferi un răspuns. De asemenea, modulul poate iniţia la rândul său alte cereri către API-

ul Facebook.

Modulul de procesare al cererilor conţine şi o serie de algoritmi inteligenţi. Un exemplu în

acest sens este următorul:

Caracteristică a platformei: un utilizator este notificat atunci când un prieten se

regăseşte în aceeaşi zonă cu el.

Problemă: utilizatorul, ducându-se la serviciu/facultate, va fi asaltat zilnic cu astfel de

notificări.

Page 5: [SCS]Friloc - Scientific Paper

Soluţie: după câteva zile, serviciul web învaţă acest obicei al utilizatorului şi nu îl va

mai notifica în zona respectivă.

5. Concluzii

FriLoc este o platformă de socializare bazată pe geolocaţia în timp real a utilizatorilor, care se

detaşează de principalele reţele sociale actuale, datorită funcţionalităţilor pe care le are,

precum:

orientare pe utilizatori, dar mai ales pe relaţiile strânse dintre aceştia, cu puternic

accent pe interfaţa cu utilizatorul, pe gesturi şi pe simplitatea în utilizare;

integrarea cu API-ul Facebook;

trăsături originale: geonotiţe şi hartă free-for-all (etichetare locuri gen

wikimapia.org);

algoritmi inteligenţi de sugestie a locaţiilor de interes;

filtrarea locaţiilor de interes în funcţie de ora deschiderii acestora;

posibilitatea creării şi administrării locaţiilor de interes de către utilizatori;

posibilitatea creării de grupuri temporare de utilizatori (ex: pentru excursii);

posibilitatea notificării utilizatorilor de către aplicaţie (când telefonul e în buzunar),

pe baza anumitor filtre specificate de utilizator, asupra: locaţiilor de interes din zona

curentă, a prietenilor din zona curentă, a geonotiţelor, etc.

Referinţe

[1] Facebook. http://www.facebook.com/blog.php?post=297879717130/, preluat pe 8

mai 2011.

[2] Gorumors. http://gorumors.com/crunchies/most-accessed-social-network-from-

mobile-phones/, preluat pe 8 mai 2011.

[3] Daniel Plohmann, Paul Imhoff. Localization (GPS, GSM, WLAN). XP Course,

Universitaet Bonn, 2007.

[4] Daniele Quercia, Neal Lathia, Francesco Calabrese, Giusy Di Lorenzo and Jon

Crowcroft. Recommending Social Events from Mobile Phone Location Data. 2010.

[5] Stéphane Distinguin, Pierre-Yves Platini and Amaury de Buchet. Social network

websites: best practices from leading services. Fabernovel Consulting, 2007.

[6] P. Mitra and K. Baid. Targeted advertising for online social networks. Department

of Computer Science & Engineering, Indian Institute of Technology, 2009.


Recommended