Social Network : Programming on FACEBOOK Συντελεστές: Παύλος Τούλουπος Ευθυμία Παπαδοπούλου Ξάνθη Μάρκου Κοινωνικά Δίκτυα Κοινωνικό δίκτυο προέρχεται από την ψυχολογία αφορά μια κοινωνική δομή ατόμων τα οποία συνδέονται στη βάση κοινών σχέσεων ή ενδιαφερόντων απεικόνιση σαν γράφος (sociograms) Ιστοσελίδες κοινωνικής δικτύωσης ηλεκτρονικό κοινωνικό δίκτυο δημιουργία προσωπικού profileαπό κάθε χρήστη δυνατότητα αναζήτησης άλλων ατόμων ( profile) σύνδεση μαζί τους μέσω κάποιου είδους σχέσης
Facebook FACEBOOK η δημοφιλέστερη ιστοσελίδα κοινωνικής δικτύωσης 300 εκατομμύρια εγγεγραμμένους χρήστες χιλιάδες νέοι προστίθενται καθημερινά στον αριθμό αυτό προβλέψεις αναφέρουν ότι ο αριθμός αυτός θα φτάσει το μισό δισεκατομμύριο μέσα στο 2010 FACEBOOK applications δυνατότητα δημιουργίας εφαρμογών μέσω της πλατφόρμας του Facebook Δομικά Στοιχεία Facebook Platform Facebook Application Programming Interface (API) δυνατότητα πρόσβασης σχεδόν σε όλες τις πληροφορίες στο profileκάθε χρήστημέσω συναρτήσεων. κλήσεις συναρτήσεων με αποστολή HTTP Get ή Post requests στον API FACEBOOK SERVER
ΕΥΡΕΣΗ ΑΝ ΔΥΟ ΧΡΗΣΤΕΣ ΕΙΝΑΙ ΦΙΛΟΙ PHP CODE RESULT ΕΥΡΕΣΗ ΟΛΩΝ ΤΩΝ ΦΙΛΩΝ ΕΝΟΣ ΧΡΗΣΤΗ PHP CODE RESULT
Δομικά Στοιχεία Facebook Platform Facebook Mark-up Language (FBML) Γλώσσα σήμανσης του Facebook(προέκταση της HTML) προδιαγραφή για το πώς οι servers του Facebookθα αποκωδικοποιήσουν το περιεχόμενό και θα το δημοσιεύσουν χρήση των δικό της tags (markup και procedural tags) fb:dashboard, fb:action, fb:help, fb:name tags FBML CODE <fb:dashboard> <fb:action href= URI">Create a new photo album</fb:action> <fb:help href= URI">Help Me! </fb:help> </fb:dashboard> <fb:name uid="100000378238356"/> <br/> <fb:name uid="100000378238356" useyou="false"/> <br/> <fb:name uid="100000378238356" useyou="false" lastnameonly="true" /> RESULT
Δομικά Στοιχεία Facebook Platform Facebook JavaScript (FBJS) παραλλαγή της κλασσικής Java Script Facebook Query Language (FQL) παρόμοια με την SQL υποστηρίζει άμεση εκτέλεση ερωτημάτων (queries), πάνω στα δεδομένα του Facebook υπάρχουν απαγορεύσεις όσον αφορά την χρήση της FQL ΕΥΡΕΣΗ ΟΝΟΜΑΤΟΣ ΚΑΙ ΦΩΤΟΓΡΑΦΙΑΣ ΠΡΟΦΙΛ ΕΝΟΣ ΧΡΗΣΤΗ PHP CODE RESULT
MySQLκαι PHP MySQL σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανάκτηση πληροφορίες από μια βάση δεδομένων, πάντοτε με τη χρήση από πλευράς του εξυπηρετητή μιας γλώσσας συγγραφής σεναρίων στην πλευρά του εξυπηρετητή, όπως είναι η PHP PHP γλώσσα συγγραφής σεναρίων στην πλευρά του εξυπηρετητή PHP scripts Callback URL Το URL της εφαρμογής (πάνω στον δικό μας εξυπηρετητή). Canvas Page URL Το URL της εφαρμογής στο Facebook (προφανώς θα είναι μοναδικό).
Αρχιτεκτονική Facebook Platform CANVAS PAGE Περιγραφή Εφαρμογής εφαρμογή Find Roommate προσπαθήσει να επιλύσει το κλασσικό πρόβλημα της εύρεσης του κατάλληλου συγκάτοικου κάθε ενδιαφερόμενος θα πρέπει να απαντήσει σε ένα κατάλληλα σχεδιασμένο τεστ προσωπικότητας τα στοιχεία αυτά θα αποθηκεύονται και θα αποτελούν τον τρόπο με τον οποίο θα γίνεται η σύνδεσή του με άλλους ενδιαφερόμενους. κομβικό σημείο αποτελεί η εύρεση κοινών γνωστών και φίλων ανάμεσα στους ενδιαφερόμενων. (εκμετάλλευση της υπάρχουσας δομής του Facebook σαν ένα κοινωνικό δίκτυο ) Το τελικό αποτέλεσμα για κάθε ενδιαφερόμενο θα είναι μια λίστα με τα προτεινόμενα για συγκατοίκηση άτομα.
FACEBOOK API USER UID USER DATE OF BIRTH USER GENDER USER PROFILE PICTURE USER FRIENDS UID
Αλγόριθμος ταιριάσματος 1. Επιλογή συνόλου ατόμων βάση χώρας, πόλης φοίτησης, φύλου και θρησκείας 2. Αν το σύνολο δεν είναι κενό πήγαινε στο 3, αλλιώς πήγαινε στο 7 3. Επιλογή ατόμου από το σύνολο 4. Υπολογισμός matching rateγια το άτομο αυτό και αποθήκευση αποτελέσματος σε πίνακα 5. Αν υπάρχει και άλλο άτομο στο σύνολο πήγαινε στο 2 6. Ταξινόμηση πίνακα βάση του matching rate 7. Εμφάνιση αποτελεσμάτων
Επιλογή ατόμων που θα φοιτήσουν στην ίδια χώρα και πόλη Επιλογή όλων των ανδρών
USERID =1 USERID =2 USERID =3 smoking = 0.2 Pet = 1 Sleep = 0.3.. Common friends = 0.2 TOTAL 46,5 smoking = 1 Pet = 1 Sleep = 0.7.. Common friends = 0.7 TOTAL 86,5 46,5 1 smoking = 1 Pet = 0.2 Sleep = 0.6.. Common friends = 0.6 TOTAL 74,6 86,5 2 86,5 2 74,6 3 74,6 3 46,5 1 Υπολογισμός matching rate για κάθε ένα υποψήφιο συγκάτοικο Αξιολόγηση εφαρμογής Ομάδα 10 ατόμων χρησιμοποίησαν την εφαρμογή και έδωσαν feedback Πρόβλημα στην διατύπωση των ερωτήσεων ( ερώτηση 8 ) Δεν καθορίζεται το είδος του κατοικίδιου (συγκάτοικοι με σκύλο και γάτα??? ) Αχρείαστοι υπολογισμοί (ΑΛΓΟΡΙΘΜΟΣ) Αχρείαστοι υπολογισμοί (ΑΛΓΟΡΙΘΜΟΣ) Ο υπολογισμός των matching rates γίνεται κάθε φορά που ο χρήστης επιθυμεί να βρει συγκάτοικο (δηλ ένας υπολογισμός γίνεται πολλές φορές ) Πιθανή Λύση :Να φυλάγουμε τους υπολογισμούς στη βάση και να υπολογίζουμε τα matching rates μόνο για τους νέους χρήστες.
Αξιολόγηση εφαρμογής Η εφαρμογή παρουσιάζει σχετικά καλά αποτελέσματα. Μπορεί να αποτελέσει επιχειρηματική πρόταση. (χρήση της δημοφιλέστερης ιστοσελίδας κοινωνικής Δικτύωσης, διαφημίσεις διαμερισμάτων επίπλων και βιβλίων) Η εφαρμογή αυτή είναι ήδη στο facebook. http://apps.facebook.com/roommatematching/ Enjoy it! ΑΠΟΡΙΕΣ; Ευχαριστούμε για την προσοχή σας.