These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
Prostate cancer is among the leading causes of cancer death among American men, second only to lung cancer. Learn more about prostate cancer and how New Jersey CyberKnife's noninvasive treatment may work for you.
SIM Project: Optimizing a Benchmarking ToolVlad Petre
Prezentare a proiectului de semestru, ce a constat in incercarea de a paraleliza un tool de benchmarking, sustinuta in ianuarie 2011, in cadrul laboratorului final al materiei Arhitecturi si Prelucrari Paralele (Facultatea de Automatica si Calculatoare - Universitatea Politehnica Bucuresti).
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
The document describes the software architecture of Voicenger, an application for structured group communication. It uses a peer-to-peer architecture with client and server components to allow high quality voice chatting. The client has interfaces for the user interface, peer communication, and profile storage on the server. Key high-level modules include the GUI, file processing, sound, messaging, and interfaces to the JXTA peer network and backend database. Use cases cover user registration, chat, file sharing, and integrating with social networks. Appendices provide more details on data transfer and message rendering.
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
Prostate cancer is among the leading causes of cancer death among American men, second only to lung cancer. Learn more about prostate cancer and how New Jersey CyberKnife's noninvasive treatment may work for you.
SIM Project: Optimizing a Benchmarking ToolVlad Petre
Prezentare a proiectului de semestru, ce a constat in incercarea de a paraleliza un tool de benchmarking, sustinuta in ianuarie 2011, in cadrul laboratorului final al materiei Arhitecturi si Prelucrari Paralele (Facultatea de Automatica si Calculatoare - Universitatea Politehnica Bucuresti).
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
The document describes the software architecture of Voicenger, an application for structured group communication. It uses a peer-to-peer architecture with client and server components to allow high quality voice chatting. The client has interfaces for the user interface, peer communication, and profile storage on the server. Key high-level modules include the GUI, file processing, sound, messaging, and interfaces to the JXTA peer network and backend database. Use cases cover user registration, chat, file sharing, and integrating with social networks. Appendices provide more details on data transfer and message rendering.
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
Conține lucrările atelierului de lucru privind interacțiunea neconvențională dintre om și calculator, avându-i ca autori pe Ciprian Amariei, Sabin Buraga, Ștefan Ceriu, Sorin Damian, Anca-Paula Luca, Eduard Moraru, Ștefan Negru, Lucian Pricop, Ștefan Prutianu, Radu Sârghie (Facultatea de Informatică a Universității "A.I. Cuza" din Iași, România). Extras din volumul de lucrări ale Conferinței Naționale de Interacțiune Om-Calculator -- RoCHI 2009: http://rochi2009.utcluj.ro/
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Un articol despre SSD-uri scris in octombrie 2010 pentru o revista, pe nume Console, al carui prim numar nu a mai reusit sa vada niciodata lumina zilei.
Bibliografie:
http://www.anandtech.com/show/2738
http://www.anandtech.com/show/2829
http://www.anandtech.com/show/2614
http://en.wikipedia.org/wiki/Solid-state_drive
The document discusses the 3-D Secure protocol, which was created by Visa in 2001 to add security to online credit card transactions. It does this through an authentication step where the cardholder authenticates themselves with their card-issuing bank during the transaction. The protocol uses XML messages over SSL and a three-domain model including the issuer, acquirer, and interoperability domains. It provides advantages like reduced fraud and increased customer satisfaction but also has disadvantages like potential for phishing and incompatibility with some mobile browsers. Overall, the 3-D Secure protocol has become an industry standard despite some limitations.
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
[Curs Android] C04 - User Interface (IPW 2011)Vlad Petre
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
Conține lucrările atelierului de lucru privind interacțiunea neconvențională dintre om și calculator, avându-i ca autori pe Ciprian Amariei, Sabin Buraga, Ștefan Ceriu, Sorin Damian, Anca-Paula Luca, Eduard Moraru, Ștefan Negru, Lucian Pricop, Ștefan Prutianu, Radu Sârghie (Facultatea de Informatică a Universității "A.I. Cuza" din Iași, România). Extras din volumul de lucrări ale Conferinței Naționale de Interacțiune Om-Calculator -- RoCHI 2009: http://rochi2009.utcluj.ro/
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
Prelegere din cadrul materiei "Tehnologii Web" predată de Dr. Sabin Buraga.
Resurse suplimentare la https://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html
Un articol despre SSD-uri scris in octombrie 2010 pentru o revista, pe nume Console, al carui prim numar nu a mai reusit sa vada niciodata lumina zilei.
Bibliografie:
http://www.anandtech.com/show/2738
http://www.anandtech.com/show/2829
http://www.anandtech.com/show/2614
http://en.wikipedia.org/wiki/Solid-state_drive
The document discusses the 3-D Secure protocol, which was created by Visa in 2001 to add security to online credit card transactions. It does this through an authentication step where the cardholder authenticates themselves with their card-issuing bank during the transaction. The protocol uses XML messages over SSL and a three-domain model including the issuer, acquirer, and interoperability domains. It provides advantages like reduced fraud and increased customer satisfaction but also has disadvantages like potential for phishing and incompatibility with some mobile browsers. Overall, the 3-D Secure protocol has become an industry standard despite some limitations.
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
[Curs Android] C04 - User Interface (IPW 2011)Vlad Petre
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
These slides are part of the Android Development Course which I taught to 10 students, while participating in the IP Workshop Summer School 2011.
http://www.scoaladevara.info/2011/?page_id=39
The document describes a team from Politehnica University of Bucharest called Team Bucharest, consisting of 4 members, that is participating in the Suceava Hard&Soft 2011 competition. Their project involves creating an off-grid home automation system that monitors available energy from alternative sources, uses smart plugs and light dimmers to adjust automatically based on the energy levels, and aims to use energy efficiently with low-power components and profile-based settings. A system diagram is also included.
This document provides an overview of the Voicenger software, which allows groups of friends to communicate and make decisions together. It uses a peer-to-peer architecture to allow for high quality voice conversations without overloading a central server. The application consists of client and server components, uses various technologies like JXTA for networking and a database for profile storage. It provides features for chat, voice calls, conferencing, polling, file sharing and social media integration to support organized discussion and decision making.
Voicenger - System Requirements SpecificationVlad Petre
The document is a system requirements specification for an application called Voicenger. It describes the problem the application aims to solve, which is a lack of structured communication tools for planning and decision making between friends. The solution proposed is a software application that combines features of chat, voice, and social networking applications. It allows users to register, add friends, participate in group chats, call friends, and update their social media statuses. The functional requirements define the user profiles and describe use cases. The system architecture has client and server components. Non-functional requirements address the interface, performance, availability and testing.
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 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.
2. 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ă).
3. 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.
4. 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.
5. 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.