[SCS]Friloc - Scientific Paper

296
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
296
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[SCS]Friloc - Scientific Paper

  1. 1. 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: vlad@vladpetre.com 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 fenomense 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, penevoia de a partaja cat mai multe informaţii cu cât mai mulţi utilizatori, pe nevoia de a facepublică locaţia utilizatorului la un anumit moment de timp.Prin lucrarea de faţă, doresc să abordez problema diferit. Astfel, lucrarea propune dezvoltareaunei platforme de socializare bazată pe geolocalizare în timp real. Soluţia este orientată peprieteniile strâns legate şi apropiate dintre utilizatori şi propune ca utilizatorii înscrişi înaceastă reţea să aibă posibilitatea de a interacţiona cu prietenii lor, de a consulta locaţiacurentă a acestora pe hartă, precum şi de a partaja propria locaţie în reţea.2. Analiza soluţiilor existenteExistă 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 deun 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, unutilizator fiind încurajat să aibă cât mai mulţi amici. Twitter este o platformă de socializareorientată pe răspândirea de informaţii, un utilizator fiind încurajat să aibă cât mai mulţiurmăritori (în engleză followers). Iar Foursquare este o platformă de socializare orientată pelocaţ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.) peFacebook şi/sau Facebook.
  2. 2. VLAD PETRE REŢEA DE SOCIALIZARE BAZATĂ PE GEOLOCALIZARE ÎN TIMP REALSoluţia propusă de mine vine să acopere nevoia neexploatată prezentată în primul paragraf alacestui capitol, se adresează utilizatorilor cu prietenii strâns legate între ei şi se numeşteFriLoc.Platforma FriLoc - friends locations - este o reţea de socializare bazată pe locaţia în timpreal a utilizatorilor. Platforma se adresează utilizatorilor de reţele sociale, care folosesc înmod 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 ainteracţiona cu alţi utilizatori, de a consulta locaţia curentă a acestora pe hartă, precum şi de apartaja propria locaţie în reţea. De asemenea, soluţia mai propune şi posibilitatea utilizatorilorde a consulta anumite locaţii de interes, de a acorda note şi comentarii acestor locaţii, de acrea ş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ă).
  3. 3. 4. Arhitectura platformeiDin punct de vedere tehnic, pentru ca platforma să funcţioneze corespunzător, sunt necesareurmă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 WebServiciu 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 dateBaza de date este una de tip relaţional, iar ca sistem de gestiune al bazei de date am optatpentru 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-uleste optimizat în lucrul cu MySQL.
  4. 4. VLAD PETRE REŢEA DE SOCIALIZARE BAZATĂ PE GEOLOCALIZARE ÎN TIMP REALCa 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 performantdecât driverul standard.4.2.2. Interfaţa cu FacebookAutentificarea 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 permisiunitrebuie 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 clientAplicaţia client este dezvoltată pe platforma mobilă Android 2.1+ şi este optimizată din punctde vedere al bateriei şi al consumului de trafic de date.În background, este pornit un serviciu care rulează permanent şi care trimite regulatactualiză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 cereriModului de procesare al cererilor are rolul de a trata toate cererile adresate serviciului web şide 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 înacest 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.
  5. 5.  Soluţie: după câteva zile, serviciul web învaţă acest obicei al utilizatorului şi nu îl va mai notifica în zona respectivă.5. ConcluziiFriLoc este o platformă de socializare bazată pe geolocaţia în timp real a utilizatorilor, care sedetaş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.

×