ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του φοιτητή ΕΜΜΑΝΟΥΗΛ KΑΠΕΛΩΝΗ Α.Μ.: 2025200500020 ΘΕΜΑ: Σύστημα για διαμοιρασμό φωτογραφιών και εμπειριών εμπλουτισμένο με εντοπισμό θέσης και σημασιολογικά χαρακτηριστικά (Where R U) Επιβλέπων καθηγητής: ΒΑΣΙΛΑΚΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Μάιος 2011
Ευχαριστίες Πριν από όλα θα ήθελα να ευχαριστήσω των επιβλέποντα καθηγητή μου κύριο Βασιλάκη Κωνσταντίνο που μου έδωσε τη δυνατότητα να ασχοληθώ με ένα τόσο ενδιαφέρον θέμα. Θα ήθελα επίσης να τον ευχαριστήσω για τη βοήθεια, την καθοδήγηση και τις χρήσιμες συμβουλές που μου παρείχε. Ένα μεγάλο ευχαριστώ χρωστάω και στην οικογένειά μου που με στήριξε με κάθε τρόπο σε όλη τη διάρκεια των σπουδών μου. 1 Πρόλογος Η πτυχιακή εργασία που παρουσιάζω είναι η ολοκλήρωση τμήματος της εργασίας με θέμα «WhereRU: GPS position reporting and a personal ontology as a virtual community utility» των Ηλία Δαραδήμου και Ακριβή Κατηφόρη του τμήματος Πληροφορικής και Τηλεπικοινωνιών Πανεπιστημίου Αθήνας και Κώστα Βασιλάκη του τμήματος Επιστήμης και Τεχνολογίας Υπολογιστών Πανεπιστημίου Πελοποννήσου. Παρουσιάζω όλη την εργασία και αναφέρω πού έχουν γίνει αλλαγές και τί καινούργιες υλοποιήσεις έχουν προστεθεί. 2 Πίνακας περιεχομένων Ευχαριστίες ....................................................................................................................1 Πρόλογος .......................................................................................................................2 Πίνακας περιεχομένων ..................................................................................................3 1 Εισαγωγή................................................................................................................4 2 Σχετικές εργασίες...................................................................................................5 3 Whereru – Γενική περιγραφή συστήματος ...........................................................6 4 Εφαρμογή πελάτη..................................................................................................7 5 Εφαρμογή εξυπηρέτη ..........................................................................................15 6 Εφαρμογή διαδικτύου .........................................................................................16 7 Σύστημα Διαχείρισης Περιεχομένου Διαδικτύου (Content Management Systems‐CMS) ..............................................................................................................27 7.1 Drupal CMS....................................................................................................28 7.1.1 Ιστορική Αναδρομή................................................................................29 7.1.2 Σχεδίαση ................................................................................................29 7.1.3 Μονάδες – Modules ..............................................................................30 8 Συνδυάζοντας φωτογραφικό υλικό.....................................................................32 9 EXIF.......................................................................................................................33 9.1 Δεδομένα GPS ...............................................................................................33 10 WhereRU και προσωπική οντολογία...................................................................34 10.1 Προσωπική οντολογία...............................................................................34 10.2 Προσωπική οντολογία στο WhereRU .......................................................35 11 Επίλογος – Μελλοντική εργασία .........................................................................37 12 Βιβλιογραφία .......................................................................................................38 3 1 Εισαγωγή1 Ένας από τους σημαντικότερους λόγους της τεράστιας επιτυχίας του Παγκόσμιου Ιστού Πληροφοριών (World Wide Web) και της μετατροπής του σε ένα καθημερινό εργαλείο για εργασία και ψυχαγωγία ήταν η νέα και επαναστατική μέθοδος για σύγχρονη και ασύγχρονη επικοινωνία που προσφέρει. Από τα πλέον γνωστά emails, μέχρι και τις λίστες πολλαπλής αποστολής, υπηρεσίες συζητήσεων, forums και blogs, το διαδίκτυο προσφέρει ατελείωτες δυνατότητες για τους χρήστες να επικοινωνήσουν γρήγορα, φθηνά και απευθείας με συναδέλφους, φίλους και αγνώστους, είτε για επαγγελματικούς είτε για ψυχαγωγικούς σκοπούς. Όλο και περισσότεροι χρήστες αισθάνονται έτοιμοι να μοιραστούν προσωπικές πληροφορίες και να ανταλλάξουν απόψεις δημόσια σε εικονικές κοινότητες ή με επιλεγμένες ομάδες χρηστών, οι οποίες μπορεί να περιλαμβάνουν άτομα που να μην έχουν γνωριστεί. Η μεγάλη επιτυχία της ιστοσελίδας MySpace [1] ή του Facebook [2] είναι η απόδειξη ότι ένας συνεχώς αυξανόμενος αριθμός χρηστών απολαμβάνει μία ενεργή «εικονική» κοινωνική ζωή και ενδιαφέρεται για εργαλεία και υπηρεσίες που θα έκαναν τέτοιες «κοινωνικές εφαρμογές» περισσότερο ενδιαφέρουσες. Αυτή η πτυχιακή εργασία παρουσιάζει ένα σύστημα το οποίο προσφέρει τη δυνατότητα σημαντικής ενίσχυσης της εμπειρίας του «ανήκειν» σε μία εικονική κοινωνία, επιτρέποντας στους χρήστες να παρέχουν στο διαδίκτυο σε πραγματικό χρόνο πληροφορίες σχετικά με τη θέση τους, συνδυάζοντάς τις με σχόλια και οπτικές πληροφορίες, καθώς και σημασιολογικές πληροφορίες από την προσωπική οντολογία του χρήστη. Το WhereRU, ως ένα σύστημα αναφοράς θέσης GPS για πολλαπλούς χρήστες, επιτρέπει στους χρήστες να κάνουν τη θέση τους γνωστή και να τη συνδέσουν με πληροφορίες για τοποθεσίες, πρόσωπα, και εκδηλώσεις που μπορεί αργότερα να υπενθυμίζουν εμπειρίες χρηστών από ταξίδια. 1
Ilias Daradimo, Akrivi Katifori, Costas Vassilakis, «WhereRU: GPS position reporting and a personal ontology as a virtual community utility», 1‐1 4 2 Σχετικές εργασίες2 Υπάρχουν καταγεγραμμένες και άλλες προσπάθειες για δημιουργία εφαρμογής εντοπισμού θέσης GPS σε πραγματικό χρόνο και εμφάνισης θέσης σε χάρτη. Το Reperion [3] επιτρέπει στους χρήστες να στείλουν την θέση GPS τους σε πραγματικό χρόνο σε ένα server, όπου η θέση τους εμφανίζεται την ίδια στιγμή στο Google earth διαμέσου ενός συνδέσμου, και σε έναν υψηλής ευκρίνειας χάρτη. Επίσης μπορούν να στείλουν και να λάβουν μηνύματα, να ανεβάσουν ήχους και εικόνες στον server, ή να πάρουν πληροφορίες πλοήγησης. Το GPSed [4] είναι μία υπηρεσία βασισμένη στις θέσεις για παρακολούθηση ταξιδιού από ένα κινητό τηλέφωνο. Τα ίχνη, σε πραγματικό χρόνο, εντοπίζονται στο Google map και τοποθετούνται σε ένα ηλεκτρονικό αρχείο. Με ένα χαρακτηριστικό επισήμανσης θέσης είναι δυνατό να καρφιτσωθούν φωτογραφίες σε ένα χάρτη ακριβώς στη θέση που τραβήχτηκαν. Η προσέγγιση που παρουσιάζεται σε αυτή την πτυχιακή εμπλουτίζει τον εντοπισμό θέσης GPS σε πραγματικό χρόνο με δύο ακόμη χαρακτηριστικά, συνδέοντάς τον: 1. με την υπηρεσία OpenATC για διασύνδεση θέσεων με πληροφορίες πτήσεων και 2. με μία προσωπική οντολογία με σκοπό τη συσχέτιση των ιχνών με σημασιολογικά χαρακτηριστικά. 2
Ilias Daradimo, Akrivi Katifori, Costas Vassilakis, «WhereRU: GPS position reporting and a personal ontology as a virtual community utility», 1‐1 5 3 Whereru – Γενική περιγραφή συστήματος3 To Whereru είναι ένα σύστημα αναφοράς θέσης GPS για πολλαπλούς χρήστες. Είναι σχεδιασμένο για ανθρώπους που ταξιδεύουν και θέλουν να παρέχουν πληροφορίες στο διαδίκτυο για τη θέση και το μέρος που βρίσκονται σε πραγματικό (ή μεταγενέστερο) χρόνο. Επιπλέον, μέσα από τις λειτουργίες σχολιασμού το Whereru προσφέρει τη δυνατότητα αντιστοίχισης περιοχών που έχουν επισκεφτεί με πληροφορίες για τοποθεσίες, πρόσωπα, γεγονότα κ.τ.λ. Όλα αυτά βοηθούν το χρήστη υπενθυμίζοντάς του σημαντικές πληροφορίες για μέρη που έχει επισκεφτεί, όπως ένα ωραίο εστιατόριο ή ένα σημείο που είχε συναντήσει ένα πολύ καλό φίλο, ενώ καθιστούν τις πληροφορίες αυτές διαθέσιμες και σε άλλους χρήστες. Κινητά τηλέφωνα ή PDA που είναι εξοπλισμένα με δέκτες σήματος GPS αναλαμβάνουν να αναγνωρίσουν το σημείο που βρίσκεται ο χρήστης και να στείλουν τα δεδομένα μέσω ασύρματης σύνδεσης WiFi ή GPRS/UMTS. Ο κάθε χρήστης μπορεί να επισυνάψει και ένα μικρό κείμενο σε κάθε αναφορά θέσης παρέχοντας σχόλια για αυτήν. Επιπροσθέτως, υπάρχει και η δυνατότητα εισαγωγής πληροφοριών πτήσεων (αριθμός πτήσης και/ή τον αριθμό καταχώρησης αεροπλάνου). Οι θέσεις και οι πληροφορίες τοποθεσιών που έχουν σταλεί από κάθε χρήστη εμφανίζονται στον ιστοχώρο του Whereru πάνω σε ένα χάρτη της Google. Οι ολοκληρωμένη πλατφόρμα αποτελείται από τρεις εφαρμογές, την εφαρμογή πελάτη (εφαρμογή σε κινητό/PDA) η οποία αναγνωρίζει το στίγμα GPS και φροντίζει για την αποστολή του, την εφαρμογή του εξυπηρέτη η οποία λαμβάνει τις αναφορές και την εφαρμογή διαδικτύου η οποία αναλαμβάνει να δημοσιεύσει τις απεσταλμένες θέσεις στο διαδίκτυο. 3
Ilias Daradimo, Akrivi Katifori, Costas Vassilakis, «WhereRU: GPS position reporting and a personal ontology as a virtual community utility», 1‐2 6 4 Εφαρμογή πελάτη Η εφαρμογή πελάτη είναι το πρόγραμμα που χρησιμοποιεί η φορητή συσκευή και είναι γραμμένη σε C# για Windows Mobile 5 & 6. Είναι υπεύθυνη για την συλλογή των απαραίτητων δεδομένων για την κάθε αναφορά και την αποστολή αυτής στον server. Έχει σχεδιαστεί με τέτοιο τρόπο ούτως ώστε να είναι απλή και εύχρηστη. Αναλυτικότερα, στην κεντρική οθόνη, ξεκινώντας το πρόγραμμα, εμφανίζονται στο πάνω μέρος της οθόνης πληροφορίες που σχετίζονται με το GPS: •
Fix: Δηλώνει το είδος στίγματος GPS. Μπορεί να είναι δύο διαστάσεων (2D), τριών διαστάσεων (3D) ή να μην υπάρχει κανένα στίγμα. •
Last Lon/Lat: Το τελευταίο γεωγραφικό πλάτος και μήκος που καταχωρήθηκε. •
Sat: Ο αριθμός των δορυφόρων που χρησιμοποιούνται για την απόκτηση του γεωγραφικού στίγματος. •
UTC: Τρέχουσα ημερομηνία και ώρα. •
Dst: Απόσταση από το σημείο που έγινε η τελευταία επιτυχής καταχώρηση στον server. •
FA: Ο χρόνος σε δευτερόλεπτα από την τελευταία απόκτηση θέσης Αμέσως μετά υπάρχει ένα πεδίο κειμένου στο οποίο ο χρήστης μπορεί να γράψει τα σχόλιά του για τη θέση που θέλει να στείλει. Στο κάτω μέρος της οθόνης παρέχεται πρόσβαση σε καρτέλες που κάθε μία περιέχει διαφορετικές λειτουργίες που θα περιγραφούν παρακάτω. Επίσης, υπάρχει ένα πεδίο το οποίο εμφανίζει διάφορα μηνύματα ενημέρωσης του χρήστη για την κατάσταση της εφαρμογής (πχ «GPS state: On», «Report submitted» κ.ά.). Αυτό βρίσκεται προς το κάτω άκρο της οθόνης. Στο κάτω μέρος της οθόνης αριστερά είναι το κουμπί «GPS On» το οποίο ενεργοποιεί τον δέκτη GPS. Δεξιά του υπάρχει άλλο κουμπί «Send» το οποίο πατώντας το στέλνει τα δεδομένα στον server. Στην Εικόνα 1 παρουσιάζεται η κεντρική οθόνη του συστήματος Where‐r‐u. 7 Εικόνα 1. Κεντρική οθόνη συστήματος Where‐r‐u Όταν ενεργοποιείται ο δέκτης GPS οι ενδείξεις FA και UTC ενημερώνονται και το κάτω αριστερό κουμπί μετονομάζεται σε «GPS Off» το οποίο απενεργοποιεί το δέκτη GPS. Όταν βρεθεί σήμα GPS ενημερώνονται και οι υπόλοιπες ενδείξεις και το πρόγραμμα είναι έτοιμο να στείλει έγκυρα δεδομένα. Τα παραπάνω αφορούσαν την πρώτη καρτέλα (Main). Η δεύτερη είναι η Flight. Η συγκεκριμένη καρτέλα χρησιμοποιείται για να συνδέσει πληροφορίες πτήσης με το σημείο GPS που στέλνεται από τη φορητή συσκευή. Αναλυτικότερα, υπάρχουν οι επιλογές «No flight» για την περίπτωση που δεν πραγματοποιείται καμία πτήση, «Departure» όταν πρόκειται για αναχώρηση και «Landed» όταν πρόκειται για άφιξη. Στην Εικόνα 2 παρουσιάζεται η διεπαφή για τη συγκεκριμένη λειτουργία. 8 Εικόνα 2. Καρτέλα «Flight» Επιλέγοντας το ραδιοπλήκρτο (radio button) που αντιστοιχεί στην επιλογή «Departure», η επόμενη αναφορά θα σημειωθεί ως αναχώρησης και συσμπληρώνοντας τα πεδία που βρίσκονται στην ίδια καρτέλα η αναφορά θα περιέχει το «Call Sign», τον αριθμό καταχώρησης του αεροπλάνου και τη θέση του επιβάτη. Μόλις γίνει επιτυχής καταχώρηση της αναφοράς επιλέγεται αυτόματα η επιλογή «Landed» ώστε η επόμενη θέση που θα σταλεί να περιέχει την πληροφορία ότι ο χρήστης έχει προσγειωθεί. Όταν η αναφορά προσγείωσης σταλεί με επιτυχία η κατάσταση πτήσης επιστρέφει στην αρχική επιλογή «No flight». Οι πληροφορίες πτήσης χρησιμοποιούνται από τη ιστοσελίδα Whereru για τη δημιουργία ενός υπερσυνδέσμου για την ιστοσελίδα OpenATC. Η OpenATC είναι μία ιστοσελίδα η οποία παρέχει πληροφορίες πτήσεων σε πραγματικό χρόνο. Μία άλλη λειτουργία της εφαρμογής πελάτη είναι αυτή της αυτόματης αποστολής αναφορών. Οι ρυθμίσεις της μπορούν να γίνουν στην τρίτη καρτέλα (Autosend) η οποία απεικονίζεται στην Εικόνα 3. 9 Εικόνα 3. Καρτέλα “autosend” Από τη στιγμή που ενεργοποιηθεί αυτή η λειτουργία, η εφαρμογή στέλνει αυτόματα αναφορές στον sever, βασιζόμενη στις επιλογές του χρήστη, η οποίες μπορούν να είναι οι εξής: •
Απόσταση από την τελευταία αναφορά θέσης: Όταν έχει επιλεγεί το checkbox της απόστασης, κάθε φορά που η απόσταση από το τελευταίο σημείο αναφοράς που έχει σταλεί με επιτυχία ξεπεράσει την ορισμένη από τη χρήστη απόσταση, στέλνεται αυτόματα νέα αναφορά. •
Χρόνος από την τελευταία αναφορά θέσης: Όταν το χρονικό διάστημα που έχει περάσει από τη στιγμή της τελευταίας επιτυχούς αποστολής αναφοράς ξεπεράσει το ορισμένο από το χρήστη χρονικό περιθώριο, αποστέλλεται νέα αναφορά θέσης. Οι δύο επιλογές συνδυάζονται μεταξύ τους και όποια συνθήκη ισχύσει πρώτα (κάλυψη απόστασης/πέρασμα χρονικού περιθωρίου) αποκλείει την άλλη και ξεκινούν οι μετρήσεις από την αρχή. Ο χρήστης μπορεί επίσης να επιλέξει το μέγιστο αριθμό αναφορών που θα σταλούν και να παρακολουθήσει πόσες αναφορές έχουν σταλεί αυτόματα. Ο μετρητής αυτών μπορεί να μηδενιστεί από τον χρήστη ανά πάσα στιγμή. Στην καρτέλα «Settings» υπάρχουν διάφορες επιλογές που καθορίζουν τη λειτουργία της εφαρμογής και της κινητής συσκευής. Αναλυτικότερα, υπάρχει η επιλογή «Prevent Suspend» η οποία αποτρέπει την αναστολή λειτουργίας του 10 κινητού, το κουμπί «GPS Settings» που μεταφέρει το χρήστη σε παράθυρο με ρυθμίσεις του GPS και οι ρυθμίσεις σύνδεσης. Στις ρυθμίσεις σύνδεσης περιλαμβάνονται το όνομα λογαριασμού του χρήστη στον server, ένα κλειδί το οποίο χρησιμοποιείται για την κωδικοποίηση των δεδομένων που στέλνονται και ο τρόπος αποστολής. Ο χρήστης μπορεί επίσης να επιλέξει τους τρόπους αποστολής των δεδομένων που επιθυμεί. Οι διαθέσιμοι τρόποι είναι WiFi, GPRS και SMS. Τέλος, εδώ βρίσκεται και το κουμπί «Exit» για τον τερματισμό της εφαρμογής. Στην Εικόνα 4 απεικονίζεται η διεπαφή της καρτέλας των ρυθμίσεων. Εικόνα 4. Καρτέλα “settings” Η τελευταία καρτέλα είναι για την προσθήκη επιπλέον δεδομένων και σημασιολογικών χαρακτηριστικών στα σημεία GPS προς αποστολή και ονομάζεται «Annotate». Σε κάθε σημείο GPS μπορούν να αντιστοιχιστούν τεσσάρων ειδών διαφορετικές πληροφορίες οι οποίες είναι τα μέρη (Places), τα άτομα (Persons), οι εκδηλώσεις (events) και μία γενική κατηγορία (things). Για κάθε είδος υπάρχει μία λίστα η οποία αποθηκεύει όλα τα σημασιολογικά χαρακτηριστικά που την αφορούν. Πάνω από αυτή τη λίστα υπάρχει ένα πλαίσιο μέσω του οποίου μπορεί ο χρήστης να προσθέσει νέα δεδομένα. Υπάρχουν, επίσης, και τα κουμπιά για τις ενέργειες προσθήκης και αφαίρεσης. Τα περιεχόμενα των λιστών πριν το κλείσιμο της εφαρμογής αποθηκεύονται σε αρχείο XML, ούτως ώστε με την εκκίνησή της να είναι πάλι διαθέσιμα. 11 Στο πάνω μέρος της οθόνης υπάρχει ένα checkbox το οποίο ενεργοποιεί ή απενεργοποιεί αυτή τη λειτουργία. Δίπλα από αυτό υπάρχει ένα κουμπί του οποίου η λειτουργία θα αναφερθεί παρακάτω. Η λειτουργικότητα αυτή φαίνεται στις ακόλουθες εικόνες. Στην Εικόνα 5 φαίνεται ότι ο χρήστης έχει επιλέξει να εισαχθεί πρόσωπο ως επισημείωση, και στη σχετική λίστα εμφανίζονται δύο πρόσωπα που ήδη επιλεγεί από τον χρήστη ως επισημειώσεις. Στην Εικόνα 6 η λειτουργία της επισημείωσης είναι απενεργοποιημένη. Στην Εικόνα 7 έχει εισαχθεί ως επισημείωση μία τοποθεσία. 12 Εικόνα 5. Εισαγωγή προσώπου ως Εικόνα 6. Η επισημείωση επισημείωση απενεργοποιημένη είναι Εικόνα 7. Εισαγωγή τοποθεσίας ως επισημείωση. 13 Όσον αφορά την αποστολή των δεδομένων από τη φορητή συσκευή, αυτή μπορεί να γίνει μέσω ασύρματης σύνδεσης στο διαδίκτυο (Wifi). Επειδή, όμως, δεν είναι παντού διαθέσιμο το ασύρματο Internet η εφαρμογή αποθηκεύει τα δεδομένα προς αποστολή. Όταν συνδεθεί σε κάποιο διαθέσιμο δίκτυο που έχει πρόσβαση στο διαδίκτυο αυτόματα στέλνει τα αποθηκευμένα δεδομένα και ενημερώνει το χρήστη για στη ολοκλήρωση της διαδικασίας. Οι επιλογές αποστολής μέσω GPRS/UMTS και SMS είναι απενεργοποιημένες, λόγω των χρεώσεων που συνεπάγονται για τον χρήστη, ωστόσο είναι άμεσα εφικτό να ενεργοποιηθούν. Ο κύριος κορμός της εφαρμογής ήταν υλοποιημένος. Συγκεκριμένα, η κεντρική οθόνη δεν έχει υποστεί καμία αλλαγή όπως επίσης η λειτουργία και οι ρυθμίσεις πτήσης. Η αυτόματη αποστολή δεδομένων έχει υποστεί κάποιες αλλαγές στην υλοποίηση διότι δεν λειτουργούσε ορθά. Επίσης η ασύρματη επικοινωνία (WiFi) με τον εξυπηρετητή επαναπρογραμματίστηκε διότι δεν λειτουργούσε. Το καινούργιο κομμάτι που προστέθηκε είναι αυτό της προσθήκης σημασιολογικών χαρακτηριστικών (Annotate) και όλες οι λειτουργίες για αυτό. Για να υποστηριχθεί αυτή η λειτουργία έγιναν μετατροπές στην αποστολής αναφοράς. Μία άλλη λειτουργία που προστέθηκε είναι αυτή της αποθήκευσης αναφορών προς αποστολή σε ένα buffer όταν δεν υπάρχει σύνδεση σε διαδίκτυο και της αποστολής αυτών όταν συνδεθεί η συσκευή στο διαδίκτυο. 14 5 Εφαρμογή εξυπηρέτη Η εφαρμογή εξυπηρετητή είναι υπεύθυνη για δύο πράγματα. Το ένα είναι η παραλαβή και αποθήκευση των αναφορών που στέλνονται από τις φορητές συσκευές και το δεύτερο είναι η αποστολή των αποθηκευμένων σημασιολογικών χαρακτηριστικών (πρόσωπα, τοποθεσίες, εκδηλώσεις κτλ) – προσωπική οντολογία (αναλυτικότερα στην εν. 10). Είναι γραμμένη σε PHP. Χρησιμοποιεί πρωτόκολλα http/https για την αποδοχή δεδομένων αναφοράς θέσεων και τα τοποθετεί σε μία βάση δεδομένων MySQL. Κάθε αναφορά περιέχει τις παρακάτω πληροφορίες: •
Username: Το όνομα λογαριασμού του χρήστη στον server ώστε να αναγνωριστεί ποιος στέλνει τα δεδομένα •
UTC: Η ακριβή ημερομηνία που στάλθηκε η αναφορά •
Lat/Lon: Το γεωγραφικό πλάτος και μήκος •
Message: Τα σχόλια που έχει γράψει ο χρήστης για κάθε θέση GPS •
Flight status: Μία από τις επιλογές που δίνει η εφαρμογή πελάτη «No fligth», «Departure», «Landed» •
Flight information: Αριθμός καταχώρησης ή Call sign της πτήσης •
Annotation: Σημασιολογικά χαρακτηριστικά που έχουν προστεθεί σε κάθε θέση GPS (αν υπάρχουν) Έλεγχος ταυτότητας χρήστη πραγματοποιείται με πρωτόκολλο https. Όταν ένας χρήστης εγγραφεί στον εξυπηρέτη καταχωρεί ένα κοινό κλειδί στην εφαρμογή πελάτη και στην εφαρμογή εξυπηρέτη. Η εφαρμογή πελάτη χρησιμοποιεί αυτό το κλειδί για να κωδικοποιεί τις πληροφορίες που πρόκειται να στείλει στον server. Όλα τα δεδομένα κωδικοποιούνται εκτός του «Username» του χρήστη. Αυτό προτιμήθηκε με τη χρήση του πρωτοκόλλου https εξαιτίας του γεγονότος ότι μερικοί πάροχοι Internet ίσως να φιλτράρουν τα https. Η δεύτερη λειτουργία της εφαρμογής όπως προανέφερα είναι η αποστολή των αποθηκευμένων σημασιολογικών χαρακτηριστικών (προσωπική οντολογία). Συγκεκριμένα, η εφαρμογή πελάτη τα ζητάει με ένα αίτημα GET, η εφαρμογή εξυπηρετητή τα εξάγει από τη βάση δεδομένων και τα στέλνει πίσω σε μορφή XML. 15 6 Εφαρμογή διαδικτύου Η εφαρμογή διαδικτύου είναι μία ιστοσελίδα η οποία είναι υλοποιημένη με Drupal CMS [5] και αναλαμβάνει την εμφάνιση της θέσης του κάθε χρήστη πάνω σε ένα χάρτη. Χρησιμοποιεί μία μονάδα (module) του Drupal CMS η οποία είναι σχεδιασμένη για αυτό το σκοπό. Οι χάρτες παρέχονται από τη Google χρησιμοποιώντας το Google Maps API [6]. Η κεντρική σελίδα εμφανίζεται στην Εικόνα 8. Στον κάθε χρήστη αντιστοιχεί ένας χάρτης ο οποίος εμφανίζεται στο κέντρο της κεντρικής σελίδας. Πάνω από το χάρτη υπάρχει μία λεζάντα που αναγράφει τίνος χρήστη είναι ο εμφανιζόμενος χάρτης. Παρακάτω περιγράφονται αναλυτικότερα τα τμήματα της σελίδας. Εικόνα 8. Κεντρική σελίδα του Where‐r‐u 16 Εικόνα 9. Κεντρική σελίδα του Where‐r‐u με αριθμημένα τμήματα Στην Εικόνα 9 εμφανίζονται τα τμήματα της κεντρικής σελίδας αριθμημένα και μεγεθυμένα. Ακολουθεί η περιγραφή του καθενός: 1. Λογότυπο της ιστοσελίδας. Εμφανίζεται σε όλες τις σελίδες και είναι υπερσύνδεσμος της κεντρικής σελίδας. Ο χάρτης που εμφανίζεται είναι γενικός χάρτης. Δεν ανήκει σε κανένα χρήστη. 2. Μήνυμα καλωσορίσματος για τον χρήστη που είναι συνδεμένος. Το όνομα χρήστη είναι υπερσύνδεσμος της κεντρική σελίδα η οποία περιέχει το χάρτη του συνδεμένου χρήστη. 3. Μενού για τον έλεγχο πλοήγησης στην ιστοσελίδα. Περιεχόμενα: •
Whereru Home: Υπερσύνδεσμος για την κεντρική σελίδα. Ο χάρτης που θα περιέχεται στην ιστοσελίδα θα είναι του χρήστη στον οποίο ανήκε ο χάρτης που εμφανίστηκε τελευταία φορά. Αν ήταν γενικός χάρτης, θα παραμένει γενικός. •
View images: Υπερσύνδεσμος προς μία σελίδα ίδιας εμφάνισης με την κεντρική, με τη διαφορά ότι στον χάρτη εμφανίζονται σημεία GPS που έχουν εξαχθεί από εικόνες με δεδομένα EXIF. Θα αναλυθεί αργότερα. Και εδώ, ο χάρτης που θα περιέχεται στην σελίδα θα είναι του χρήστη στον οποίο ανήκε ο χάρτης που εμφανίστηκε τελευταία φορά. Αν ήταν γενικός χάρτης, θα παραμένει γενικός. 17 •
My account: Υπερσύνδεσμος προς τη σελίδα ρυθμίσεων λογαριασμού του συνδεδεμένου χρήστη. •
Upload images: Υπερσύνδεσμος προς τη σελίδα η οποία δίνει τη δυνατότητα σε κάθε χρήστης να ανεβάσει φωτογραφίες που περιέχουν δεδομένα GPS (Εικόνα 11). •
Users: Εμφανίζει ένα παράθυρο στη σελίδα που είναι φορτωμένη, το οποίο περιέχει τα ονόματα χρηστών που επιτρέπουν να εμφανίζονται τα δεδομένα τους στον τρέχων χρήστη. Το κάθε όνομα είναι σύνδεσμος για τη κεντρική σελίδα με τον χάρτη του αντίστοιχου χρήστη. Στην Εικόνα 10 εμφανίζεται ένα παράδειγμα. Αν τα ονόματα είναι πολλά και δε μπορούν να εμφανιστούν όλα στο παράθυρο, δημιουργείται μία μπάρα κύλισης στη δεξιά πλευρά του παραθύρου. •
Log out: Εντολή αποσύνδεσης του χρήστη. Εικόνα 10. Παράθυρο με ονόματα χρηστών 18 Εικόνα 11. Σελίδα Upload images 4. Reminder. Στο σημείο αυτό εμφανίζεται ένα μήνυμα υπενθύμισης και ένας υπερσύνδεσμος για διάφορα γεγονότα που έχουν συμβεί. Αναλυτικότερα, αυτό το block υπενθυμίζει στο χρήστη μέρη που είχε επισκεφτεί ή εκδηλώσεις που είχε μοιραστεί με έναν άλλο χρήστη, κάποια εκδήλωση στην οποία είχε συμμετάσχει ο ίδιος ή κάποιος άλλος χρήστης που επιτρέπει να εμφανίζονται τα δεδομένα του. Το περιεχόμενο του reminder είναι τυχαίας επιλογής. 5. Μπάρα κατάστασης. Ενημερώνει το χρήστη σε ποια σελίδα βρίσκεται. Αν βρίσκεται στην κεντρική ή στην σελίδα προβολής φωτογραφιών, διευκρινίζει επίσης σε ποιον ανήκει ο χάρτης που εμφανίζεται. 6. Χάρτης για την εμφάνιση της θέσης του κάθε χρήστη. Υπάρχουν δύο διαφορετικές κατηγορίες, ο γενικός χάρτης και ο χάρτης ενός συγκεκριμένου χρήστη. Αν είναι φορτωμένη η κεντρική σελίδα με το γενικό χάρτη εμφανίζεται η τελευταία θέση του κάθε χρήστη με τη μορφή πινέζας (Εικόνα 12). Στην περίπτωση που εμφανίζεται ο χάρτης κάποιου χρήστη, προβάλλονται σε αυτόν όλες οι θέσεις του οι οποίες έχουν καταχωρηθεί το τελευταίο χρονικό διάστημα που ορίζει ο ίδιος ο χρήστης. Επιπλέον, μία 19 πράσινη γραμμή ενώνει τις πινέζες με χρονολογική σειρά (Εικόνα 13). H τελευταία θέση απεικονίζεται με μία μεγάλη κόκκινη πινέζα. Σε οποιαδήποτε από τις δύο περιπτώσεις ο χρήστης κάνει κλικ σε κάποια πινέζα του χάρτη ανοίγει ένα συννεφάκι διαλόγου το οποίο αναγράφει πληροφορίες για τη συγκεκριμένη θέση (Εικόνα 14). Αυτές οι πληροφορίες είναι το όνομα χρήστη στον οποίο ανήκει η πινέζα, το γεωγραφικό πλάτος και μήκος της συγκεκριμένης θέσης, η ημερομηνία καταχώρησης, ο χρόνος που έχει περάσει από τη στιγμή της καταχώρησης, ένα μήνυμα που είχε επισυνάψει ο χρήστης και ένα σύνδεσμο για ένα αρχείο kml (για την εμφάνιση της καταχωρημένης θέσης στο Google Earth [7]). Αν υπάρχουν διαθέσιμες πληροφορίες για πτήση εμφανίζονται σύνδεσμοι προς την ιστοσελίδα OpenATC για την παρακολούθηση πτήσεων (Εικόνα 14). Αν ο χρήστης είχε προσθέσει σημασιολογικά χαρακτηριστικά εμφανίζονται κάτω από τις υπόλοιπες πληροφορίες (Εικόνα 14). Όλα αυτά αφορούν το χάρτη που βρίσκεται στην κεντρική σελίδα. Όταν είναι φορτωμένη η σελίδα για την προβολή φωτογραφιών (View images) ο χάρτης που παρουσιάζεται εμφανίζει θέσεις χρηστών οι οποίες είναι συνδυασμένες με μία εικόνα. Κάνοντας κλικ στην πινέζα που αντιπροσωπεύει τη θέση ανοίγει ένα συννεφάκι διαλόγου το οποίο έχει ίδιες πληροφορίες που προαναφέρθηκαν εκτός των πτήσεων και των σημασιολογικών χαρακτηριστικών. Επιπλέον περιέχει μία μικρογραφία της φωτογραφίες η οποία είναι σύνδεσμος για την κανονική φωτογραφία (Εικόνα 15). Και σε αυτή τη σελίδα εμφανίζονται και οι δύο κατηγορίες χαρτών με τις ίδιες ιδιότητες. Η μόνη διαφορά είναι ότι δεν συνδέονται οι πινέζες με γραμμή. Τελειώνοντας με τους χάρτες θα παρουσιαστούν οι πινέζες που εμφανίζονται σε αυτούς. Οι πινέζες έχουν διάφορα σχήματα και χρώματα. Η κάθε μία υποδηλώνει και κάτι διαφορετικό. Στο γενικό χάρτη μπορούν να εμφανιστούν οι παρακάτω: •
Ο χρήστης που έχει στείλει την θέση του στο Where‐r‐u βρίσκεται στο μέρος που είναι η πινέζα τα τελευταία δέκα λεπτά. •
Όμοια με την πράσινη αλλά για χρονικό διάστημα 10‐60 λεπτών 20 •
Όμοια αλλά για χρονικό διάστημα 1‐5 ωρών •
Όμοια αλλά για χρονικό διάστημα 5‐10 ωρών •
Όμοια αλλά για πάνω από 10 ώρες Δηλαδή το χρώμα οπτικοποιεί το χρονικό διάστημα που μεσολάβησε από τη στιγμή που ο χρήστης έστειλε την αναφορά του. Όταν βλέπουμε το χάρτη κάποιου χρήστη, όπου όπως είπαμε εμφανίζεται η τελευταία διαδρομή που έχει διανύσει, εμφανίζονται οι επόμενες πινέζες: •
Πινέζα μονοπατιού για ίχνη που περιέχουν πληροφορίες πτήσεις ή κάποιο μήνυμα του χρήστη ή σημασιολογικά χαρακτηριστικά •
Πινέζα μονοπατιού για ίχνη που δεν περιέχουν καμία πληροφορία (από τις τρεις προηγούμενες) •
Πινέζα μονοπατιού για το τελευταίο ίχνος Εικόνα 12. Γενικός χάρτης (Whereru Home) 21 Εικόνα 13. Χάρτης χρήστη (Whereru Home) Εικόνα 14. Πληροφορίες θέσης (Whereru Home) 22 Εικόνα 15. Πληροφορίες θέσης (View images) 7. Εδώ εμφανίζονται τα ονόματα χρηστών που έχουν πρόσφατα στείλει αναφορά με τη θέση τους. Το συγκεκριμένο block εμφανίζεται παντού. 8. Αυτό το block χρησιμοποιείται για να επιλεγούν και να εμφανιστούν στο χάρτη θέσεις ενός χρήστη που σχετίζονται με κάποια σημασιολογικά χαρακτηριστικά. Στην κορυφή αναφέρεται το όνομα του χρήστη στον ανήκουν τα χαρακτηριστικά (είναι η προσωπική του οντολογία). Το όνομα που εμφανίζεται είναι το όνομα του χρήστη στον οποίο ανήκει και ο χάρτης που απεικονίζεται. Αν εμφανίζεται ο γενικός χάρτης οι επιλογές χαρακτηριστικών αφορούν τον συνδεμένο χρήστη. Κάνοντας κλικ σε κάποια από τις κατηγορίες εμφανίζονται όλα τα δεδομένα της κατηγορίας που έχουν βρεθεί και ανήκουν στο χρήστη (Εικόνα 16). Επιλέγοντας όσα επιθυμεί ο καθένας και πατώντας «Show» φορτώνεται η κεντρική σελίδα και στο χάρτη παρουσιάζονται όλες οι θέσεις που περιέχουν όλα τα χαρακτηριστικά που είχαν επιλεγεί. Δίνεται και η δυνατότητα επιλογής θέσεων που δεν έχουν κανένα σημασιολογικό χαρακτηριστικό. Επιπλέον μπορούν να 23 επιλεγούν θέσεις που καταχωρήθηκαν συγκεκριμένη χρονική περίοδο. Προεπιλογή είναι η περίοδος από τη στιγμή της εγγραφής του χρήστη μέχρι την τρέχουσα ημερομηνία. Εικόνα 16. Annotation tool Ο κάθε χρήστης μπορεί να ρυθμίσει ποιοι χρήστες έχουν πρόσβαση στα δεδομένα και τις πληροφορίες που έχει καταχωρήσει. Συγκεκριμένα, έχει τρεις επιλογές: •
All: Όλοι μπορούν να δουν τα δεδομένα του •
Registered users: Μόνο οι εγγεγραμμένοι χρήστες μπορούν να δουν τα δεδομένα του •
User list: Μόνο οι χρήστες που δηλώνει μπορούν να δουν τα δεδομένα του Αυτό, όπως και άλλες ρυθμίσεις μπορεί να τις κάνει από τη σελίδα My account ‐> Where R U (Εικόνα 17). Μπορεί επίσης να ορίσει τον αριθμό των ωρών (Period) που πέρασαν από την τελευταία αναφορά θέσης που θα προβληθεί στο χάρτη και τον μέγιστο αριθμό των πινεζών που θα εμφανίζονται (Markers). Στην ίδια σελίδα καταχωρείται και το κλειδί κρυπτογράφησης (Encryption Key) δεδομένων το οποίο πρέπει να είναι ίδιο με το κλειδί που έχει καταχωρηθεί στην εφαρμογή πελάτη. 24 Εικόνα 17. Ρυθμίσεις χρήστη – My account Εκτός από τις προσωπικές ρυθμίσεις του κάθε χρήστη, παρέχεται και σελίδα γενικών ρυθμίσεις για την ιστοσελίδα του Where‐r‐u (Εικόνα 18). Σε αυτές έχει πρόσβαση μόνο ο διαχειριστής. Οι ρυθμίσεις αυτές περιλαμβάνουν τα ακόλουθα: •
Current Version: Τρέχουσα έκδοση της εφαρμογής πελάτη. Όταν δημοσιεύεται νέα έκδοση καταχωρείται ο αριθμός έκδοσης και μόλις κάποιος χρήστης στείλει μία νέα αναφορά μέσω της κινητής του συσκευής πληροφορείται για αυτήν εφόσον έχει παλαιότερη εφαρμογή πελάτη. •
API Key: Κλειδί για το API της Google Maps. Για να εμφανιστεί ο χάρτης Google στην ιστοσελίδα χρειάζεται ένα κλειδί το οποίο παρέχεται από την Google. •
Map height: Ύψος του χάρτη σε pixels. •
Time span (Google Maps Settings): Χρονικό διάστημα (σε ώρες) από την τρέχουσα ώρα. Η τελευταία αναφορά του κάθε χρήστη που βρίσκεται μέσα σε αυτό το χρονικό διάστημα θα εμφανίζεται στο γενικό χάρτη. 25 •
Time span (Block Settings): Όμοια με την προηγούμενη ρύθμισης, αλλά με τη διαφορά ότι θα εμφανίζονται ονόματα χρηστών στο block των τελευταίων αναφορών (Εικόνα 9 αριθμός 7) Εικόνα 18. Γενικές ρυθμίσεις για το Where R U Στην εφαρμογή διαδικτύου ήταν υλοποιημένες οι συναρτήσεις που αναλαμβάνουν την δημιουργία του χάρτη και της εμφάνισης των θέσεων και των διαδρομών του κάθε χρήστη. Οι συναρτήσεις αυτές διαμορφώθηκαν ώστε να μπορέσουν να υποστηρίξουν τις νέες λειτουργίες που παρέχει η εφαρμογή, όπως της αναζήτησης παλαιότερων θέσεων βάση των σημασιολογικών χαρακτηριστικών (Εικόνα 9 – αριθμός 8) και την προβολή εικόνων. Οι προσωπικές ρυθμίσεις χρήστη ήταν υλοποιημένες εκτός τον έλεγχο πρόσβασης ο οποίος υλοποιήθηκε. Οι γενικές ρυθμίσεις Where‐r‐u ήταν υλοποιημένες. Η εμφάνιση και η οργάνωση της ιστοσελίδας υλοποιήθηκε, όπως και οι υπόλοιπες λειτουργίες. 26 7 Σύστημα Διαχείρισης Περιεχομένου Διαδικτύου (Content Management Systems‐CMS) Τα Συστήματα Διαχείρισης Περιεχομένου Διαδικτύου (ΣΔΠ, Content Management Systems, CMS) είναι διαδικτυακές εφαρμογές που υποστηρίζουν τη δημιουργία περιεχομένου για τον ιστοχώρο και τη συνεργασία των χρηστών, ενώ παρέχουν και εργαλεία διαχείρισης σχεδιασμένα ώστε να επιτρέπουν σε χρήστες με λίγες γνώσεις γλωσσών προγραμματισμού διαδικτύου ή γλωσσών σημειώσεων (markup languages) να δημιουργούν και να διαχειρίζονται περιεχόμενο ιστοχώρων με σχετική άνεση4. Οι διαχειριστές μέσω του διαδικτύου ενημερώνουν το περιεχόμενο στο Σύστημα διαχείρισης περιεχομένου διαδικτύου, το οποίο είναι εγκατεστημένο σε έναν εξυπηρέτη. Οι αλλαγές αυτές γίνονται αυτόματα διαθέσιμες πάλι μέσω του διαδικτύου, σε όλους τους επισκέπτες και χρήστες του δικτυακού τόπου. Συγκεκριμένα, το CMS δίνει τις παρακάτω δυνατότητες5: •
Επιτρέπει σε μεγάλο αριθμό χρηστών να επεξεργάζονται και να μοιράζονται δεδομένα σχετικά με τον ιστοχώρο που είναι αποθηκευμένα στο διαδίκτυο. •
Ελέγχει την πρόσβαση στα δεδομένα, βασιζόμενο σε ρόλους χρηστών (ορίζοντας ποιες πληροφορίες χρήστες ή ομάδες χρηστών μπορούν να βλέπουν, επεξεργάζονται, δημοσιεύουν κ.τ.λ.). •
Διευκολύνει την αποθήκευση και ανάκτηση δεδομένων. •
Ελαττώνει την επαναλαμβανόμενη πολύπλοκη είσοδο. •
Διευκολύνει την σύνταξη αναφορών •
Βελτιώνει την επικοινωνία μεταξύ χρηστών Σε ένα CMS, δεδομένο μπορεί να θεωρηθεί σχεδόν οτιδήποτε (έγγραφα, ταινίες, εικόνες, αριθμοί τηλεφώνων, επιστημονικά δεδομένα κ.ά.) 4
http://en.wikipedia.org/wiki/Web_content_management_system 5
http://en.wikipedia.org/wiki/Content_management_system 27 Ένα σημαντικό πλεονέκτημα χρήσης Συστήματος Διαχείρισης Περιεχομένου Διαδικτύου είναι ο αυστηρός διαχωρισμός μεταξύ της αισθητικής και της δομής κατασκευής του ιστοτόπου. Εικόνα 19. Λειτουργία ενός CMS 6 7.1
Drupal CMS7 Το Drupal είναι ένα αρθρωτό σύστημα διαχείρισης περιεχομένου (Content Management System, CMS) ανοικτού/ελεύθερου λογισμικού, γραμμένο στη γλώσσα προγραμματισμού PHP. Το Drupal, όπως πολλά σύγχρονα CMS, επιτρέπει στο διαχειριστή συστήματος να οργανώνει το περιεχόμενο, να προσαρμόζει την παρουσίαση, να αυτοματοποιεί διαχειριστικές εργασίες και να διαχειρίζεται τους επισκέπτες του ιστοτόπου και αυτούς που συνεισφέρουν (editors). Παρόλο που υπάρχει μια πολύπλοκη προγραμματιστική διεπαφή, οι περισσότερες εργασίες μπορούν να γίνουν με λίγο ή και καθόλου προγραμματισμό. Το Drupal ορισμένες φορές περιγράφεται ως "υποδομή για εφαρμογές ιστού", καθώς οι δυνατότητές του προχωρούν παραπέρα από τη 6
http://www.ubc.ca/okanagan/itservices/internet/cms/help/how‐it‐works.html 7
http://el.wikipedia.org/wiki/Drupal 28 διαχείριση περιεχομένου, επιτρέποντας ένα μεγάλο εύρος υπηρεσιών και συναλλαγών. Το Drupal μπορεί να εκτελεστεί σε διάφορες πλατφόρμες, συμπεριλαμβανομένων των λειτουργικών συστημάτων Windows, Mac OS X, Linux, FreeBSD, και γενικά οποιασδήποτε πλατφόρμας που υποστηρίζει είτε το διακομιστή ιστοσελίδων Apache HTTP Server (έκδοση 1.3+), είτε το Internet Information Services (έκδοση IIS5+), καθώς επίσης και τη γλώσσα προγραμματισμού PHP (έκδοση 4.3.3+). Το Drupal απαιτεί μια βάση δεδομένων όπως η MySQL και η PostgreSQL για την αποθήκευση του περιεχομένου και των ρυθμίσεών του. 7.1.1 Ιστορική Αναδρομή Το Drupal αρχικά γράφτηκε από τον Dries Buytaert ως σύστημα πίνακα ανακοινώσεων (bulletin board system) και μετατράπηκε σε σχέδιο ανοικτού κώδικα το 2001. Drupal είναι η διατύπωση στην Αγγλική γλώσσα της Ολλανδικής λέξης "druppel", που σημαίνει "σταγόνα". Το όνομα πάρθηκε από το ξεπερασμένο πλέον ιστοτόπο Drop.org, του οποίου ο κώδικας εξελίχθηκε στο Drupal. Ο Dries ήθελε να ονομάσει τον ιστοτόπο "dorp" (στα Ολλανδικά σημαίνει "χωριό", αναφερόμενος στη διάσταση της κοινότητας), αλλά έκανε ένα ορθογραφικό λάθος κατά τη διαδικασία ελέγχου του ονόματος χώρου (domain name) και έτσι γεννήθηκε το CMS Drupal. 7.1.2 Σχεδίαση Το Drupal έχει λάβει επαίνους από τους διαχειριστές ιστοσελίδων, σχεδιαστές και προγραμματιστές για τον αρθρωτό σχεδιασμό του, ο οποίος παρέχει το βασικό του στρώμα, ή "πυρήνα", να παρέχει τα βασικά χαρακτηριστικά του Drupal στην προεπιλεγμένη εγκατάστασή του. Πρόσθετα χαρακτηριστικά λειτουργικότητας και παρουσίασης μπορούν να προστεθούν στον πυρήνα μέσω προσαρτώμενων μονάδων και θεματικών παραλλαγών. Οι μονάδες του Drupal χρησιμοποιούνται για να "υπερβούν" τα ενσωματωμένα χαρακτηριστικά του πυρήνα, επεκτείνοντας έτσι ή και αντικαθιστώντας την εξ ορισμού συμπεριφορά του Drupal, χωρίς την επέμβαση στον αυτούσιο κώδικα των αρχείων του πυρήνα του Drupal. Η δυνατότητα αυτή της τροποποίησης της 29 λειτουργικότητας του πυρήνα έχει επίπτωση στην προσαρμοστικότητα του Drupal καθώς και στην ασφάλειά του, ειδικότερα σε θέματα ασφαλείας, όπως η έγχυση εντολών SQL (SQL injection). Προσαρμοσμένες θεματικές παραλλαγές, που μπορούν να προστεθούν χωρίς να επηρεάζουν τον πυρήνα του Drupal, χρησιμοποιούν προτυποποιημένες μορφές που μπορούν να δημιουργηθούν από μηχανές σχεδίασης θεματικών παραλλαγών τρίτων κατασκευαστών. 7.1.3 Μονάδες – Modules Ο πυρήνας του Drupal [5] έχει σχεδιαστεί βάση ενός συστήματος από hooks, ή callbacks, που επιτρέπει στις γραμμένες από την κοινότητα μονάδες να εισάγουν συναρτήσεις στη διαδρομή εκτέλεσης του Drupal. Επίσης, ο αρθρωτός σχεδιασμός του Drupal επιτρέπει στους χρήστες που γνωρίζουν PHP να γράφουν μονάδες που υλοποιούν πρόσθετα χαρακτηριστικά. Ο ιστοτόπος του Drupal παρέχει εκατοντάδες μονάδες από χρήστες του Drupal που διατίθενται δωρεάν. Οι μονάδες αυτές παρέχουν για παράδειγμα, δυνατότητες συστημάτων e‐commerce, γκαλερί φωτογραφιών, σελίδες ομάδων ατόμων, χάρτες ιστοτόπου για το Google [8], αντικείμενα Amazon [9], διαχείριση λιστών ηλεκτρονικού ταχυδρομείου και ενσωμάτωση με ένα CVS. 8 Οι μονάδες που περιέχονται στον πυρήνα του Drupal παρέχουν στους χρήστες τη δυνατότητα να:9 •
υποβάλλουν, αναθεωρούν και να κατηγοριοποιούν την ύλη •
εκτελούν αναζητήσεις •
υποβάλλουν σχόλια •
λαμβάνουν μέρος σε φόρουμ συζητήσεων •
ψηφίζουν σε ψηφοφορίες •
δουλεύουν σε συνεργατικά συγγραφικά έργα •
τροποποιούν και να βλέπουν προσωπικά προφίλ • επικοινωνούν μεταξύ τους ή και με τους διαχειριστές του ιστοτόπου 8
http://mydrupal.gr/book/export/html/11 9
http://el.wikipedia.org/wiki/Drupal 30 •
αλλάζουν την εμφάνιση του ιστοτόπου με έτοιμες ή φτιαγμένες με το χέρι θεματικές παραλλαγές •
δημιουργούν μενού με πολλαπλά επίπεδα •
βλέπουν τη γραφική διεπαφή και τα μηνύματα στην μητρική τους γλώσσα •
παρέχουν ροές RSS •
συλλέγουν περιεχόμενο από ροές RSS άλλων ιστοτόπων •
εγγράφονται ως χρήστες και να διαχειρίζονται τους λογαριασμούς τους •
καθορίζουν ρόλους χρηστών, με τον ορισμό αδειών (permissions) στους χρήστες για τη χρησιμοποίηση επιλεγμένων χαρακτηριστικών του ιστοτόπου •
χρησιμοποιούν κανόνες πρόσβασης για την άρνηση πρόσβασης στον ιστοτόπο σε συγκεκριμένα ονόματα χρηστών, διευθύνσεις ηλεκτρονικού ταχυδρομείου και διευθύνσεις IP •
λαμβάνουν στατιστικά και αναφορές για τους διαχειριστές •
χειρίζονται θέματα κρυφής μνήμης και απόπνιξης ώστε να βελτιώσουν την απόδοση του ιστοτόπου σε περιόδους μεγάλης κίνησης •
δημιουργούν και καθορίζουν διάφορα φίλτρα εισόδου και μορφότυπους ύλης •
δημιουργούν φιλικές στο χρήστη, εύκολες προς απομνημόνευση, διευθύνσεις URL (πχ. "www.mysite.com/products" αντί για "www.mysite.com/?q=node/432"). 31 8 Συνδυάζοντας φωτογραφικό υλικό Σχεδόν όλες οι σημερινές φορητές συσκευές έχουν τη δυνατότητα λήψης ψηφιακών εικόνων. Στις εικόνες αυτές ενσωματώνονται πληροφορίες για την ακριβή ημερομηνία λήψης τους. Επιπλέον πολλές συσκευές διαθέτουν δέκτη σήματος GPS ή μπορούν να εντοπίσουν την θέση τους με μικρή απόκλιση μέσω δικτύου κινητής τηλεφωνίας. Οι πληροφορίες θέσης μπορούν να ενσωματωθούν στα δεδομένα EXIF της εικόνας. Έχοντας αυτές τις πληροφορίες διαθέσιμες η γεωγραφική θέση του κάθε χρήστη στο σύστημα Where‐r‐u μπορεί να εμπλουτιστεί με εικόνα. Πιο συγκεκριμένα, ο κάθε χρήστης μπορεί να επισκεφτεί την ιστοσελίδα του Where‐r‐u και να ανεβάσει εικόνες (Εικόνα 11) οι οποίες περιέχουν τα δεδομένα που αναφέραμε. Τη στιγμή που ανέβουν οι εικόνες, απομονώνονται οι πληροφορίες θέσης και η ημερομηνίας λήψης και αποθηκεύονται. Οποιαδήποτε στιγμή ο χρήστης μπορεί να δει το μέρος που βρισκόταν όταν τραβούσε κάποια φωτογραφία (Εικόνα 15) μέσα από το σύνδεσμο View images του Where‐r‐u. 32 9 EXIF Το Exchangeable image file formative είναι ένα πρότυπο για την αποθήκευση πληροφοριών που καθορίζουν τη μορφή των εικόνων, των ήχων, και τις βοηθητικές ετικέτες που χρησιμοποιούνται από ψηφιακές κάμερες και διάφορα συστήματα που έχουν να κάνουν με εικόνα και ήχο. Συγκεκριμένα, πρόκειται για μεταπληροφορίες (metadata) οι οποίες αποθηκεύονται ως επέκταση στα αρχεία τύπου JPEG, TIFF και RIFF WAV. Οι πληροφορίες αυτές αφορούν την ανάλυση και άλλες πληροφορίες εικόνας, όπως η ημερομηνία λήψης, τα στοιχεία κάμερας και τις επιλογές λήψης, δεδομένα GPS και πληροφορίες για το αρχείο. 9.1
Δεδομένα GPS10 Τα δεδομένα EXIF έχουν συγκεκριμένες ετικέτες για τις πληροφορίες γεωγραφικής θέσης. Σήμερα, κάμερες και κινητά τηλέφωνα έχουν ενσωματωμένο δέκτη GPS και μπορούν να αποθηκεύσουν τα δεδομένα γεωγραφικής θέσης. Μερικές άλλες κάμερες έχουν ξεχωριστό δέκτη GPS που τοποθετείται στη θέση του φλας. Καταγεγραμμένα δεδομένα GPS μπορούν επίσης να προστεθούν σε οποιαδήποτε ψηφιακή φωτογραφία σε έναν υπολογιστή, είτε με τη συσχέτιση χρόνου λήψης της φωτογραφίας με ένα αρχείο GPS από φορητό δέκτη GPS ή χειροκίνητα με τη χρήση λογισμικού χάρτη ή χαρτογράφησης. Η διαδικασία προσθήκης γεωγραφικών πληροφοριών σε μια φωτογραφία είναι γνωστή ως γεωκωδικοποίηση (geocoding). Κοινότητες διαμοιρασμού φωτογραφιών όπως το Panoramio [10], το locr [11] ή το Flickr [11] επίσης επιτρέπουν στους χρήστες τους να ανεβάσουν γεωκωδικοποιημένες εικόνες. 10
http://en.wikipedia.org/wiki/Exchangeable_image_file_format#Viewing_and_editing_Exif_data 33 10 WhereRU και προσωπική οντολογία Εδώ παρουσιάζεται με περισσότερες λεπτομέρειες η λειτουργία σχολιασμού (Annotate) του Where‐r‐u. Η βάση αυτής της λειτουργίας είναι η προσωπική οντολογία του χρήστη. 10.1 Προσωπική οντολογία11 Σύμφωνα με το [13], μία οντολογία είναι μία ρητή προδιαγραφή της αντίληψης για τον κόσμο. Δηλαδή μίας αφηρημένης, απλοποιημένης όψης του κόσμου η οποία χρειάζεται να αναπαρασταθεί για κάποιο σκοπό. Περιέχει τις έννοιες (κλάσεις ‐ classes) και τα στιγμιότυπά (instances) τους τα οποία θεωρούνται ότι υπάρχουν σε κάποιες περιοχές ενδιαφέροντος, τις ιδιότητές και τις συσχετίσεις τους που τα συνδέουν (slots). Ο όρος «οντολογία» (ontology) έχει δανειστεί από τη φιλοσοφία. Αυτή η ενότητα παρουσιάζει λεπτομέρειες για τη δημιουργία και τη χρήση μίας προσωπικής οντολογίας για εμπλουτισμό των πληροφοριών της θέσης στο Where‐r‐
u με επισημειώσεις λέξεων κλειδί που σχετίζονται με Μέρη (Places), Πρόσωπα (Persons), Εκδηλώσεις (Events) και άλλα σημασιολογικά χαρακτηριστικά ορισμένα από το χρήστη. Η χρήση μίας οντολογίας για την μοντελοποίηση σχετιζόμενων με το όνομα του χρήστη σημασιολογικών χαρακτηριστικών έχει ήδη προταθεί για αρκετές εφαρμογές όπως την αναζήτηση στο διαδίκτυο [14], [15] και την διαχείριση προσωπικών πληροφοριών (PIM) [16], [17]. Οι περισσότερες από αυτές τις προσεγγίσεις χρησιμοποιούν οντολογίες μόνο ως ιεραρχικές έννοιες ή σημασιολογικά δίκτυα (semantics nets), όπως ιεραρχίες ενδιαφερόντων των χρηστών, χωρίς ιδιαίτερη πολυπλοκότητα, ή δεν παρέχουν λεπτομέρειες για την ελλοχεύουσα προσωπική οντολογία. Η προσωπική οντολογία που οραματιζόμαστε δεν είναι απλά γεμάτη με στιγμιότυπα σε μεμονωμένη βάση, αλλά επίσης περιέχει κλάσεις και συσχετίσεις ορισμένες από το χρήστη. Είναι ένα ευέλικτο εργαλείο που επιτρέπει στους χρήστες 11
Ilias Daradimo, Akrivi Katifori, Costas Vassilakis, «WhereRU: GPS position reporting and a personal ontology as a virtual community utility», 4‐5 34 να καταγράφουν πληροφορίες για τοποθεσίες, εκδηλώσεις, πρόσωπα και δραστηριότητες που έχουν μία ξεχωριστή σημασία για αυτούς ως υπενθυμίσεις για περασμένα γεγονότα ή για κοινοποίηση πληροφοριών σε κοινότητες. Αποτελείται από ένα πρότυπο υπερκλάσεων που προσφέρουν ένα σημείο αναφοράς για την ανταλλαγή πληροφοριών μεταξύ χρηστών, καθώς και των εξειδικεύσεών τους, οι οποίες είναι ορισμένες από το χρήστη. Στους χρήστες επιτρέπεται να καταγράφουν, αναζητούν και παρακολουθούν προσωπικές πληροφορίες στην προσωπική οντολογία. Το WhereRU εκμεταλλεύεται αυτές τις πληροφορίες για να παρέχει στους χρήστες μία βελτιωμένη λειτουργικότητα σχολιασμού. 10.2 Προσωπική οντολογία στο WhereRU Η καρτέλα Annotate (Εικόνα 5,6,7) της εφαρμογής πελάτη που βρίσκεται στη φορητή συσκευή κάνει εφικτή την πρόσβαση στην προσωπική οντολογία του χρήστη. Έτσι, ο χρήστης μπορεί να χρησιμοποιήσει δεδομένα από εκεί και να εμπλουτίσει με περισσότερες πληροφορίες τη θέση GPS που σκοπεύει να στείλει στην εφαρμογή εξυπηρέτη. Ο χρήστης μέσω της εφαρμογής πελάτη μπορεί να κατεβάσει την προσωπική του οντολογία σε μορφή XML ή να την ενημερώσει αν υπάρχει ήδη πατώντας το κουμπί «Download yours» (Εικόνα 5). Όταν ο χρήστης επιθυμεί να συσχετίσει μία θέση του με κάποιο σημασιολογικό χαρακτηριστικό μπορεί είτε να χρησιμοποιήσει ένα υπάρχον στιγμιότυπο της οντολογίας είτε να δημιουργήσει ένα καινούργιο. Για να χρησιμοποιήσει κάποιο στιγμιότυπο επιλέγει, από τη λίστα του κατάλληλου combobox, όποιο επιθυμεί και το προσθέτει στην λίστα που βρίσκεται κάτω από το combobox πατώντας το κουμπί «Add…». Μπορεί επίσης να πληκτρολογήσει κάποια γράμματα ώστε να φιλτραριστούν τα στιγμιότυπα της λίστας και να βρει πιο εύκολα αυτό που αναζητά. Αν επιθυμεί να δημιουργήσει νέο, πληκτρολογεί στο κατάλληλο combobox το όνομά του και το προσθέτει στη λίστα με τον ίδιο τρόπο. Μόλις σταλεί επιτυχώς η αναφορά του χρήστη κάθε νέο στιγμιότυπο που δεν υπήρχε στην οντολογία προστίθεται σε αυτή και ολοκληρώνεται η καταχώρηση αναφοράς. 35 Οι πληροφορίες των σημασιολογικών χαρακτηριστικών, μαζί με τις πληροφορίες θέσεων του κάθε χρήστη, τίθενται στην διάθεση του κεντρικού υπολογιστή και συνδέονται έπειτα με τους προσωπικούς κόμβους (nodes) οντολογίας. Μόλις καθιερωθούν αυτές οι συνδέσεις, μπορούν να χρησιμοποιηθούν για την προσφορά πλουσιότερης εμπειρίας περιήγησης στους χρήστες. Αυτό εφαρμόζεται στο block που εμφανίζεται στην Εικόνα 9, αριθμός 4. Οι πληροφορίες σχολιασμού χρησιμοποιούνται επίσης και για τον εμπλουτισμό αναζητήσεων (Εικόνα 9 ‐ αριθμός 8). 36 11 Επίλογος – Μελλοντική εργασία Αυτή η πτυχιακή έχει παρουσιάσει ένα σύστημα αναφοράς θέσης GPS για πολλαπλούς χρήστες, το οποίο επιτρέπει σε αυτούς να καταχωρούν την τρέχουσα θέση τους όταν ταξιδεύουν και να την κάνουν διαθέσιμη στο κοινό καθώς τη συσχετίζουν με πληροφορίες για τοποθεσίες, πρόσωπα και εκδηλώσεις τα οποία μπορούν αργότερα να χρησιμεύσουν ως υπενθύμιση για τις εμπειρίες τους. Η καινοτομία του συστήματος αυτού έγκειται στις βελτιωμένες επιλογές της για σχολιασμό με πληροφορίες που προέρχονται από το Flight Information Services, καθώς και στην προσωπική οντολογία του χρήστη. Η μελλοντική εργασία περιλαμβάνει μια μακροπρόθεσμη αξιολόγηση της εφαρμογής για να πάρει πληροφορίες σχετικά με τις αντιδράσεις των χρηστών στην πραγματική ζωή, την ανάπτυξη της εφαρμογής πελάτη για διαφορετικές πλατφόρμες προκειμένου να καλύπτει περισσότερες συσκευές PDA και φορητούς υπολογιστές και μια αμφίδρομη επικοινωνία μέσω SMS για ανταλλαγή κλειδιών ώστε να βελτιωθεί η χρηστικότητα. 37 12 Βιβλιογραφία [1] MySpace, http://www.myspace.com [2] Facebook, http://www.favebook.com [3] Reperion, http://www.reperion.com/faq_html/ [4] GPSed, http://gpsed.com/ [5] Drupal open source content management platform, http://www.drupal.org [6] Google maps API, http://code.google.com/apis/maps/ [7] Google Earth, http://www.google.co.uk/intl/en_uk/earth/index.html [8] Google, http://www.google.com/ [9] Amazon, http://www.amazon.com/ [10] Panoramio, http://www.panoramio.com/ [11] Locr, http://www.locr.com/index1.php [12] Flickr, http://www.flickr.com/ [13] T. R. Gruber, A Translation Approach to Portable Ontology Specifications, Knowledge Acquisition, Special issue: Current issues in knowledge modelling, Vol 5, Issue 2 (1993) 199‐220 [14] J. Trajkova, S. Gauch,, Improving Ontology‐based User Profiles, Proc. of RIAO 2004, University of Avignon (Vaucluse), France, April 26‐28, (2004), 380‐389 [15] S. Gauch, J. Chaffee, A. Pretschner, Ontology‐Based User Profiles for Search and Browsing, User Modeling and User‐Adapted Interaction: The Journal of Personalization Research, Special Issue on User Modeling for Web and Hypermedia Information Retrieval, (2003). [16] L. Sauermann, The Gnowsis Semantic Desktop for Information Integration, Proceedings of the 3rd Conference Professional Knowledge Management (2005) [17] P.‐A. Chirita, R. Gavriloai, S. Ghita, W. Nejdl, R. Paiu, Activity Based Metadata for Semantic Desktop Search, Proceedings of the 2nd European Semantic Web Conference (2005) [18] ICQ, http://www.icq.com 38 [19] Ilias Daradimos, Akrivi Katifori, Costas Vassilakis, «WhereRU: GPS position reporting and a personal ontology as a virtual community utility», Proceedings of IEEE RCIS 2008 http://el.wikipedia.org/wiki/Σύστημα_διαχείρισης_περιεχομένου http://en.wikipedia.org/wiki/Exchangeable_image_file_format#Viewing_and_editing
_Exif_data 39