Πέμπτη 19 Απριλίου 2012

AJAX with Bookmarks and History

Αποφασίσαμε να προχωρήσουμε ένα βήμα παραπέρα από το απλό full-AJAX implementation και να συμπεριλάβουμε bookmarking και history. Βάζοντας απλά AJAX δεν θα έκανε refresh η σελίδα αλλά θα άλλαζαν μόνο συγκεκριμένα κομμάτια. Επομένως αν ο χρήστης θέλει να κάνει bookmark κάποιο σημείο της ιστοσελίδας (π.χ. το προφίλ ενός φίλου του) δεν θα μπορούσε. Επίσης δεν θα μπορούσε να πατήσει το πλήκτρο back και να μεταφερθεί σε μια προηγούμενη "κατάσταση" της ιστοσελίδας. Όμοια δεν θα αποθηκεύεται και στο ιστορικό η "πλοήγηση" του μέσα στην ιστοσελίδα. Επομένως θεωρούμε ότι είναι σημαντικό να υπάρχει τέτοια δυνατότητα και όχι απλό full-ajax implementation καθώς θα μειώσει το user experience αντί να το αυξήσει και αυτός είναι ο στόχος μας. Για να το πετύχουμε αυτό θα χρησιμοποιήσουμε τη βιβλιοθήκη jQuery-BBQ η οποία προφανώς στηρίζεται στην jQuery.

Τρίτη 3 Απριλίου 2012

Model Dependency Diagram

Αυτό είναι το διάγραμμα των μοντέλων του project, δηλαδή των αντικειμένων. Δεν περιέχει τους controllers οι οποίοι κάνουν λειτουργίες πάνω στα αντικείμενα.Για να το δείτε σε μεγαλύτερη ανάλυση μπορείτε να το κατεβάσετε από εδώ!


Κυριακή 1 Απριλίου 2012

Up And Running


Επιτέλους κατάφερα να ρυθμίσω το laptop μου να τρέχει το website του Diaspora. Ακόμα καλύτερα θα ήταν να ρυθμίσω πλήρως το site να τρέχει μέσω του Thin application server πάνω σε έναν Nginx web server όμως δεν χρειάζεται αυτό σε development mode παρά μόνο σε production mode όπου η ταχύτητα και η απόδοση μας ενδιαφέρει.

Τώρα που όλα είναι έτοιμα αρχίζει το πιο δύσκολο κομμάτι. Let the coding begin!

Δευτέρα 19 Μαρτίου 2012

Some Statistics

Όσον αφορά το μέγεθος του έργου το RoR (Ruby on Rails) framework μας δίνει ένα έτοιμο εργαλείο το οποίο ονομάζεται rake stats. Λόγω των ρυθμίσεων που έχουν γίνει στον κώδικα από τους developers το εργαλείο δεν έτρεχε επομένως χρειάστηκε λίγο επεξεργασία πρώτα από θέμα κώδικα... το output λοιπόν είναι το παρακάτω

+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers | 2607 | 2031 | 36 | 179 | 4 | 9 |
| Helpers | 921 | 740 | 0 | 98 | 0 | 5 |
| Models | 4531 | 3364 | 82 | 450 | 5 | 5 |
| Libraries | 4030| 2806 | 53 | 451 | 8 | 4 |
| Views | 446 | 385 | 0 | 0 | 0 | 0 |
| Static HTML | 433 | 342 | 0 | 0 | 0 | 0 |
| Static CSS | 9554 | 9160 | 0 | 0 | 0 | 0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 22522 | 18828 | 171 | 1178 | 6 | 13 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 18828 Test LOC: 0 Code to Test Ratio: 1:0.0

Diaspora Project

Δεν χρειάστηκε να ψάξουμε και πάρα πολύ να βρούμε ένα καλό open source project καθώς μόλις πέσαμε πάνω στο diaspora ξέραμε ότι έχουμε βρει το ιδανικότερο project για να ασχοληθούμε. Ποιος άλλωστε δεν θα ενδιαφερόταν για το πρώτο open source κοινωνικό δίκτυο. Και μάλιστα ένα δίκτυο το οποίο σου δίνει την δυνατότητα να είσαι ο μοναδικός κύριος των προσωπικών σου στοιχείων και να μην χρειάζεται να τα "θυσιάσεις" με αντάλλαγμα την δυνατότητα να χρησιμοποιήσεις το site.

Όσον αφορά την συνεισφορά μας στο project υπάρχουν πολλές επιλογές. Το project αυτή τη στιγμή βρίσκεται σε alpha phase το οποίο σημαίνει ότι υπάρχουν πολλά bugs καθώς και out-of-date gems που χρειάζονται διόρθωση, καθώς και πολλές ακόμα βελτιώσεις όσον αφορά τη λειτουργικότητα!

Επίσης στόχος μας είναι να στήσουμε ένα pod στο πανεπιστήμιο μας ώστε να έχουμε το δικό μας κοινωνικό δίκτυο (όπου τα προσωπικά δεδομένα θα είναι αποθηκευμένα σε server του πανεπιστημίου) και μέσω του diaspora network θα είναι συνδεδεμένο με όλο τον υπόλοιπο κόσμο! Περιμένουμε και το δικό σας feedback σχετικά με την ιδέα και αν θα σας ενδιέφερε!

Φιλικά,
Θωμάς Ασίκης και Κωνσταντίνος Σταύρου