Rollercoaster.

Για την ομάδα του AthensBook οι τελευταίοι μήνες είναι ένα rollercoaster από πολλές πλευρές. Μια αέναη ακολουθία projects, χτίζοντας υποδομές, λογισμικό, συνεργασίες. Προχθές ανακοινώσαμε τον κύκλο Private Beta για το Android, μια έκδοση για την οποία πλέον λαμβάνουμε πολλαπλά email την εβδομάδα — και ήδη μέσα σε περίπου δυο ημέρες από την ανακοίνωση έχουμε δεκάδες ενδιαφερόμενους! Τις επόμενες ημέρες περιμένουμε να διατεθεί στην αγορά η επόμενη έκδοση της εφαρμογής για iOS μια μια ανακαινισμένη κατηγορία που θα ενθουσιάσει ελπίζουμε τους φίλους οδηγούς στην Αθήνα (όσοι ήσαστε στην — εξαιρετική — ομιλία του Γιώργου στο TEDx Academy πριν από μερικές ώρες ίσως προσέξατε το σχετικό sneak peek).
Ένα από τα σημεία που νομίζω πως ο μέσος χρήστης δεν ‘βλέπει’ όταν χρησιμοποιεί το AthensBook είναι πόση δουλειά υπάρχει από πίσω. Τις υποδομές, τους αλγόριθμους, την αποδοτικότητα του συστήματος, το server-side μέρος που εξασφαλίζει ενημερωμένη και ακριβή πληροφορία. Όταν ξεκίνησε η εφαρμογή είχε μόλις τρείς κατηγορίες· κατηγορίες ‘χρηστικές’ όπως τα ανοιχτά φαρμακεία, τα ανοιχτά πρατήρια με τιμές και τα νοσοκομεία. Κατηγορίες για τις οποίες τα δεδομένα ήταν ημι-‘δημόσια’ και των οποίων την ενημέρωση αυτοματοποιήσαμε γράφωντας δικό μας λογισμικό.
Βασική επιθυμία χρηστών μας ήταν οι κατηγορίες διασκέδασης. Προσθέσαμε πολλές κατηγορίες από την πρώτη εκείνη έκδοση του AthensBook. Τα μουσεία για παράδειγμα με την ένδειξη τιμής εισόδου (το AthensBook ξέρει ακόμη πότε είναι ελεύθερη η είσοδος!), τις δημόσιες υπηρεσίες με τα περίεργα και μη-ντερμινιστικά ωράριά τους (με δεκάδες τηλεφωνήματα και ελέγχους που κάναμε σε ΚΕΠ, δημαρχεία κλπ.), την κίνηση στους δρόμους και τα ΜΜΜ σταθερής τροχιάς (κατηγορία που έχει πάρει ήδη σειρά προτεραιότητας για ανακαίνιση). Προσθέσαμε Ζαχαροπλαστεία, Κάβες, Εστιατόρια και Κινηματογράφους, κατηγορίες διασκέδασης που βασίσαμε σε μεγάλο βαθμό σε user-generated content το οποίο επεξεργαστήκαμε και εμπλουτίσαμε καθώς και συνεργασίες με εταιρίες και συνεργάτες και που από τον Φεβρουάριο συμπεριλαμβάνουν την δυνατότητα εκδήλωσης προτιμήσεων από τους χρήστες (βλ. την καρδούλα στα αριστερά). Μέσα σε ελάχιστους μήνες από την πρώτη κυκλοφορία συλλέξαμε χιλιάδες καρδούλες. Καταστήματα που είχαν αρκετές άρχισαν να έχουν εικονιδιάκια ‘thumbs up’, πρώτα ένα και μετά δυο — μια γρήγορη απεικόνιση του πόσο δημοφιλή είναι.
Πιστεύω ειλικρινά πως παρά τη γερή δόση καινοτομίας και ποιότητας των υπηρεσιών μας, παρά το γεγονός πως οι χρήστες (και οι χρήσεις) της εφαρμογής ανεβαίνουν με τρομακτικούς ρυθμούς (μόνον η κυκλοφορία του iPhone4 τριπλασίασε τον ρυθμό registrations), είναι δύσκολο μια εφαρμογή όπως το AthensBook σήμερα να γίνει καθημερινή ‘συνήθεια’ για σημαντικό μέρος από τους δεκάδες χιλιάδες χρήστες μας. Γιατί;
Η απάντηση είναι πιο σύνθετη απ’ότι φάινεται. Εν μέρει διότι πολλά κομμάτια της υπηρεσίας μας δεν είναι ακόμη ολοκληρωμένα και δεν αντικατοπτρίζουν επαρκώς το όραμα που έχουμε. Ίσως γιατί η αρχική εντύπωση (που προσπαθούμε σκληρά να ξεπεράσουμε) ήταν μιας εφαρμογής που είχε έξυπνη μεν αλλά μόνον ‘χρηστική’ δε πληροφορία και πολύς κόσμος δεν έχει ασχοληθεί με τις νεότερες (και εντυπωσιακότερες) κατηγορίες. Ίσως γιατί ο κόσμος δεν έχει ακόμη μάθει να ψάχνει για πληροφορίες εν κινήσει χρησιμοποιώντας το iPhone του.
Για παράδειγμα, σήμερα μπορεί κανείς να φιλτράρει πολύ γρήγορα και εύκολα όλα τα εστιατόρια/φαγάδικα που κάνουν delivery βάσει κουζίνας και να τα ταξινομήσει βάσει απόστασης, δημοτικότητας ή τιμής. Κι’όμως σε συζήτηση που είχα τις προάλλες με κάποιους γνωστούς και ενώ είχαν εγκατεστημένο και χρησιμοποιούσαν το AthensBook τακτικά δεν είχαν ποτέ αναρωτηθεί τι κάνει αυτό το κουμπάκι στο πάνω δεξιά μέρος της οθόνης. Δεν είχαν ποτέ δει πως μπορούν να δούν όλα τα σημεία στον χάρτη. Πως μπορούν να φιλτράρουν ή να ταξινομήσουν την πληροφορία με διάφορους τρόπους. Πως μπορούν να επιλέξουν να δούν μόνον ανοιχτά σημεία ή όλα τα σημεία κοντά τους.
Ίσως να αποτελώ εξαίρεση, λόγω τρέλας, λόγω επαγγέλματος, λόγω συνήθειας, ίσως να είμαι ‘μπροστά’ απο την εποχή μου ως προς αυτό, όμως το AthensBook με έχει ‘σώσει’ αρκετές φορές. Όχι επειδή χρειάστηκα φαρμακείο τα ξημερώματα (ευτυχώς), αλλά επειδή έψαχνα ένα νεο μέρος να φάω σε μια γειτονιά της Αθήνας που δεν γνώριζα και είχε να μου προτείνει μια καλή λύση. Έχω βρεί έτσι εξαιρετικά μέρη για φαγητό ή για γλυκό και φαντάζομαι πως αν σύχναζα ακόμη σε μπαρ, όπως έκανα μικρότερος θα έβρισκα και ένδιαφέροντα μέρη να βγώ.

Ειναι θεμα συνηθειας

Ως μηχανικός μαθαίνει κανείς να σκέφτεται πάντα λίγο παραπέρα. Σκέφτομαι — και ακούω από φίλους — πως, εντάξει, φοβερά όλα αυτά αλλά πόσο συχνά θα συμβουλευθώ το AthensBook για τα εστιατόρια ή ένα μπαρ; “Τελικά είναι μια εξαιρετική εφαρμογή για ‘τον δρόμο’ και σίγουρα κάποιες φορές θα με εξυπηρετήσει αλλά η ανάγκη της πληροφορίας αυτής — όπως παρουσιάζεται σήμερα — δεν είναι καθημερινή.”
Τα δεδομένα που αποκομίζουμε συμφωνούν με αυτό. Πολύς κόσμος δεν έχει στο μυαλό του το AthensBook όταν ψάχνει πληροφορία που σε δευτερόλεπτα μπορεί να αποκομίσει από την εφαρμογή. Και φυσικά, αντίθετα με τους παραδοασιακούς φορείς του χώρου (βλ. πενταψήφια “νούμερα”), εμείς βασιζόμαστε πρωτίστως στο word of mouth και το γεγονός πως μάλλον θα δώσουμε καλύτερη πληροφορία, δωρεάν.
Όταν, για παράδειγμα, δημοσιεύουμε τα τοπ καταστήματα στις ‘κοινωνικές’ κατηγορίες που έχουμε (ζαχαροπλαστεία, κάβες, μπαρ/κλάμπ και εστιατόρια) στο twitter, παρατηρούμε σημαντική αύξηση του αριθμού των ‘likes’ που καταγράφονται μέσω του AthensBook. Αυτό δείχνει πως οι χρήστες που αντιδρούν ‘ψηφίζοντας’ τα αγαπημένα τους σημεία μετά από την υπενθύμιση της λειτουργίας είχαν ενδεχομένως ξεχάσει πως υπάρχει.
Αντίθετα, για παράδειγμα, η κατηγορία των κινηματογράφων που παρουσιάσαμε λίγο πριν το καλοκαίρι γρήγορα έγινε — και παραμένει — μια από τις πλέον δημοφιλείς ίσως γιατί πάντα προσφέρει επίκαιρη πληροφορία με τρόπο που δύσκολα θα βρεί κανείς αλλού εν κινήσει. Τελικώς μια πετυχημένη εφαρμογή — του είδους ‘έξυπνου οδηγού πόλης’ όπως το AthensBook — είναι σε μεγάλο βαθμό θέμα συνήθειας.

“Μια εξυπνη μηχανη προτασεων”

Η πλέον καινοτόμα — θαρρώ — λειτουργία είναι η μηχανή προτάσεων που ετοιμάζουμε για το AthensBook (και φυσικά το ThessBook). Χρησιμοποιώντας έναν αρκετά σύνθετο αλγόριθμο το AthensBook βρίσκεται σε θέση να κάνει εξατομικευμένες προτάσεις στους χρήστες της εφαρμογής, βασισμένες στις μέχρι στιγμής προτιμήσεις τους και μια σειρά άλλων παραμέτρων. Ο αρχικός αλγόριθμος και η υποδομή ολοκληρώθηκαν νωρίς το καλοκαίρι που μας πέρασε και η λειτουργία θα συμπεριληφθεί τους επόμενους μήνες σε προσεχή έκδοση του AthensBook.
Υπάρχουν διάφοροι τρόποι να αξιολογήσεις τις προτιμήσεις των χρηστών και εμείς χρησιμοποιήσαμε αρκετές από τις τυπικές πλέον προσεγγίσεις, τροποποιώντας τον αλγόριθμο για να διορθώσουμε outliers που προέκυπταν λόγω της διαφορετικής φύσης των δεδομένων αλλά και να τον κάνουμε περισσότερο ακριβή. Ο αλγόριθμος — βασισμένος κατά βάση σε k-nearest neighbours (k-NN) — λαμβάνει διάφορες επιπλέον παραμέτρους για να προτείνει σημεία που λογικά θα αρέσουν στον χρήστη και ανανεώνεται τακτικά.
Στο μέλλον λοιπόν θα μπορεί κανείς όχι μόνον να δεί τι είναι ‘δημοφιλές’ αλλά και τι του προτείνει η εφαρμογή, μια λειτουργία που νομίζω θα βρεί μεγάλη ανταπόκριση (κατά την διάρκεια των δοκιμών το καλοκαίρι, έμαθα αρκετά μέρη που δεν γνώριζα και που μάλλον δύσκολα θα μάθαινα χωρίς το AthensBook).
Προφανώς υπάρχουν πολλά επιπλέον πράγματα που θα μπορούσαμε να κάνουμε σε ότι αφορά την δομή και την σύνθεση των ‘προτάσεων’ — κάποια από αυτά είναι στο pipeline. Το πρώτο βήμα θα είναι να εξετάσουμε την αποδοτικότητα του αλγορίθμου μετά την γενική διάθεσή του και να κάνουμε fine tuning στις παραμέτρους του. Έπειτα, μια πρώτη διάσταση αλγοριθμικής βελτίωσης είναι τα μετα-κριτήρια που λαμβάνει ο αλγόριθμος υπόψη του (όπως π.χ. η επιλογή συγκεκριμένων σημείων από τον χρήστη κατά την διάρκεια της χρήσης, η σημαντική διάσταση της θέσης — τοποθεσία στην οποία ο χρήστης επιλέγει να μάθει πληροφορίες για την εκάστοτε κατηγορία και το δυναμικό ‘προφίλ’ της περιοχής, η στιγμή της αναζήτησης, κλπ) ενώ μια δεύτερη θα ήταν ο συνδυασμός κάποιων πιο πρόσφατων τεχνικών όπως π.χ. τα Restricted Boltzmann Machines (RBMs), διάφορα Regression Models και άλλες τεχνικές καθώς και τις πιο σύνθετες ιδέες στις οποίες εκτίθεται κανείς μελετώνας το έργο αρκετά πετυχημένων προσπαθειών — όπως π.χ. το Netflix Prize· βλ. την δημοσίευση της νικήτριας πρότασης για το Netflix Grand Prize το 2009, ‘Big Chaos’, εδώ.
Έγραψα εδώ — και όχι στο blog του AthensBook — γιατί ήθελα να μεταφέρω κάποια πιο προσωπικά σχόλια αλλά και να επεκταθώ, στον μικρό βαθμό που το έκανα, στην τεχνική διάσταση των ‘προτάσεων’. Παρ’ότι μόλις τελείωσε άλλος ένας κύκλος ανάπτυξης — περίοδος εξοντωτική όπως γνωρίζουν όσοι ασχολούνται — και ετοιμαζόμαστε για την ολοκλήρωση της πρώτης έκδοσης του AthensBook για το Android, είμαι ενθουσιασμένος με όσα ετοιμάζουμε για το μέλλον. Μέχρι σήμερα η αποδοχή του AthensBook από τους χρήστες του ήταν πέραν από κάθε προσδοκία μας· το ‘άνοιγμα’ σε μια νεα πλατφόρμα και η συνεχώς πλουσιότερη παλέττα πληροφορίας που προσφέρουμε, προφανώς επιφυλάσσει νέες προκλήσεις, νέες κοινότητες χρηστών και νέες απαιτήσεις, τόσο από τον χρόνο μας όσο και από το επίπεδο των υπηρεσιών μας. Έχουμε πολύ δρόμο μπροστά μας και είμαι ευτυχής που μέχρι στιγμής χαίρουμε της εκτίμησης της μεγάλης πλειοψηφίας των ανθρώπων που έχουν δεί το έργο μας.
Θα χαρώ πολύ να ακούσω τα δικά σας σχόλια και τις εμπειρίες σας, τόσο σε ό,τι αφορά τα παραπάνω όσο και γενικότερα από την εφαρμογή μέχρι σήμερα.