Το daily digest είναι ένα σύντομο, προγραμματισμένο μήνυμα που σου στέλνει το ίδιο το σύστημα, είτε το θυμάσαι είτε όχι. Το δικό μου έρχεται κάθε πρωί στο Telegram, χωράει σε μία οθόνη κινητού, και έχει αντικαταστήσει αθόρυβα το dashboard για το οποίο ήμουν τόσο περήφανος.
Το βασικό: αν ένα σύστημα χρειάζεται να θυμηθείς να το ελέγξεις, δεν παρακολουθείται. Ένα βαρετό μήνυμα που έρχεται στην ώρα του κερδίζει μια όμορφη οθόνη που πρέπει να ανοίξεις.
Έφτιαξα εκείνο το dashboard για τον Helios, ένα προσωπικό project που ξυπνάει μόνο του, κάνει τη δουλειά του και μου αναφέρει. Live γραφήματα, σκούρο θέμα στα χρώματα της desktop εφαρμογής, drilldown ανά στοιχείο, όλα. Ήμουν περήφανος γι' αυτό. Το ανοίγω ίσως μία φορά την εβδομάδα.
Αυτό στο οποίο πραγματικά στηρίζομαι είναι το σκέτο μήνυμα κειμένου.
Αυτό το άρθρο είναι για το γιατί, επειδή μου πήρε ντροπιαστικά πολύ καιρό να το παραδεχτώ, και επειδή άλλαξε και τον τρόπο που φτιάχνω monitoring για πελάτες.
Γιατί ένα dashboard παρακολούθησης παύει να δουλεύει;
Το dashboard είναι pull interface. Κάθεται εκεί, σωστό και ενημερωμένο, και περιμένει να σου έρθει η ιδέα να το κοιτάξεις. Αυτό δουλεύει για κάτι που χτίζεις αυτή τη στιγμή. Αποτυγχάνει για κάτι που τρέχει μόνο του, επειδή όλο το νόημα ενός συστήματος που τρέχει μόνο του είναι ότι σταματάς να το σκέφτεσαι.
Κι έτσι προκύπτει ένας πραγματικά χαζός τρόπος αποτυχίας. Όσο πιο αξιόπιστο γίνεται το σύστημα, τόσο πιο σπάνια κοιτάς το dashboard, και τόσο περισσότερο μπορεί ένα πρόβλημα να κάθεται εκεί, να εμφανίζεται τέλεια, σε κανέναν.
Υπάρχει και δεύτερο πρόβλημα, κι αυτό είναι που πόνεσε. Ένα πλούσιο dashboard σε κολακεύει. Τα γραφήματα μοιάζουν με κατανόηση. Μπορούσα να το κοιτάξω ένα λεπτό, να μη δω τίποτα κόκκινο, και να φύγω με μια σιγουριά που δεν είχα κερδίσει. Το «τίποτα κόκκινο» και το «τίποτα στραβό» είναι δύο διαφορετικές προτάσεις, και μόνο η μία ήταν στην οθόνη.
Τι κάνει ένα καθημερινό digest που δεν μπορεί να κάνει ένα dashboard;
Σου μαθαίνει πώς είναι το φυσιολογικό.
Το digest είναι push interface. Έρχεται είτε θυμάμαι ότι υπάρχει το project είτε όχι. Είναι αρκετά σύντομο ώστε να το διαβάσω ολόκληρο με μια ματιά. Αν πιάσω τον εαυτό μου να το διαβάζω διαγώνια, τότε το digest είναι μεγάλο, και αυτό είναι bug του digest, όχι δικό μου.
Η ιδιότητα που δεν σου δίνει κανένα dashboard είναι η σύγκριση. Έρχεται ένα κάθε μέρα, οπότε το μυαλό μου μαθαίνει το σχήμα του φυσιολογικού. Ένα περίεργο μού τραβάει την προσοχή πριν προλάβω να το διαβάσω συνειδητά. Το γράφημα μού δείχνει τα δεδομένα. Το καθημερινό μήνυμα με εκπαιδεύει, ώστε το «κάτσε, αυτή η λίστα είναι μεγαλύτερη απ' ό,τι συνήθως» να χτυπάει πριν από οποιαδήποτε ανάλυση.
Το δικό μου έχει τέσσερα μπλοκ, με αυτή τη σειρά:
- Αν ζει.
- Τι έκανε από χθες.
- Τι έγινε σε αυτό: restarts, σφάλματα, κύκλοι που παραλείφθηκαν.
- Ό,τι περιμένει εμένα.
Χωρίς γραφήματα. Χωρίς χρώμα. Χωράει σε οθόνη κινητού χωρίς scroll, που είναι ο πραγματικός περιορισμός, γιατί ο λόγος που το διαβάζω κάθε μέρα είναι ότι δεν μου κοστίζει τίποτα.
Γιατί Telegram και όχι email;
Επειδή είναι ένα κανάλι που το έχω ήδη ανοιχτό. Δεν έχει τίποτα το ιερό το Telegram. Η απαίτηση είναι ένα μέρος που ήδη διαβάζεις, όχι ένα μέρος που πρέπει να επισκεφτείς.
Το email θα είχε αποτύχει. Έχω χιλιάδες αδιάβαστα emails και ένα εκπαιδευμένο αντανακλαστικό να αρχειοθετώ ό,τι μοιάζει αυτοματοποιημένο. Τα push notifications από δική μου εφαρμογή θα σήμαιναν να φτιάξω και να συντηρώ μια εφαρμογή. Ένα bot που ποστάρει σε ένα chat που έτσι κι αλλιώς διαβάζω όλη μέρα κοστίζει ένα API token, δεν θέλει υποδομή, δουλεύει το ίδιο σε κινητό και σε desktop, και δεν χρειάστηκε ποτέ συντήρηση. Το Telegram Bot API είναι ένα απλό HTTP endpoint, οπότε η αποστολή ενός μηνύματος είναι ένα request από όποια γλώσσα κι αν μιλάει ήδη το σύστημα.
Είναι επίσης αμφίδρομο, κάτι που το υποχρησιμοποίησα για μήνες. Το να μπορώ να απαντήσω με μια εντολή και να πάρω πίσω απάντηση για την κατάσταση, από όπου κι αν είμαι, εξαφάνισε τον τελευταίο λόγο να ανοίξω βιαστικά το dashboard. Η επιφάνεια ελέγχου είναι πλέον το ίδιο μέρος όπου φτάνουν και οι ειδοποιήσεις.
Σε τι χρησιμεύει τελικά το dashboard;
Στη διερεύνηση. Θέλω να είμαι δίκαιος μαζί του, γιατί έχει δουλειά, απλώς όχι αυτή για την οποία το έφτιαξα.
Το digest απαντά στο υπάρχει κάτι στραβό. Το dashboard απαντά στο γιατί. Είναι δύο διαφορετικά εργαλεία, και ζητούσα από το ένα να είναι και τα δύο. Η ροή τώρα: το digest μου τραβάει την προσοχή, ανοίγω το dashboard, ψάχνω, το ξανακλείνω. Το χρησιμοποιώ δέκα συγκεντρωμένα λεπτά τον μήνα αντί για τη διαρκή παρακολούθηση που είχα φανταστεί, και σε αυτά τα δέκα λεπτά είναι πολύ καλύτερο απ' ό,τι θα μπορούσε ποτέ να είναι ένα μήνυμα.
Το λάθος δεν ήταν που το έφτιαξα. Το λάθος ήταν που πίστεψα ότι φτιάχνοντας τη θέα έλυσα το πρόβλημα του να προσέχω. Έχω γράψει ξανά, μιλώντας για τα εργαλεία με τα οποία αυτοματοποιώ τις αγγαρείες του site, ότι έναν αυτοματισμό που δεν τον βλέπεις είτε τον εμπιστεύεσαι υπερβολικά είτε τον ξαναελέγχεις με το χέρι. Το πιστεύω ακόμα. Απλώς δεν θεωρώ πια δεδομένο ότι ο τρόπος να τον βλέπεις είναι μια οθόνη.
Τι πρέπει να παίρνει ο πελάτης αντί για admin dashboard;
Κάτι που φτάνει σε αυτόν χωρίς να το ζητήσει.
Τα περισσότερα sites μικρών επιχειρήσεων που φτιάχνω έχουν κάτι να τρέχει στο παρασκήνιο: φόρμες που πάνε σε ένα CRM, ένα νυχτερινό sync, ένα προγραμματισμένο mailing, μια σύνδεση με σύστημα κρατήσεων. Το προεπιλεγμένο παραδοτέο γι' αυτό είναι μια admin σελίδα με λίστα εκτελέσεων. Που είναι dashboard. Που δεν το ανοίγει κανείς.
Οπότε τώρα κάνω μια άλλη ερώτηση στην αρχή του project. Τι πρέπει να φτάνει στον πελάτη, χωρίς να το ζητήσει, και κάθε πότε; Η απάντηση είναι συνήθως μικρή. Μια εβδομαδιαία σύνοψη με τα leads που ήρθαν. Ένα μήνυμα όταν ένα sync αποτύχει δύο φορές στη σειρά. Σιωπή τις υπόλοιπες μέρες. Είναι λιγότερη δουλειά από το admin panel που θα έφτιαχνα, και είναι η διαφορά ανάμεσα σε έναν πελάτη που ξέρει ότι το site δουλεύει και σε έναν που το υποθέτει.
Αυτή η υπόθεση βγαίνει ακριβή, γιατί ένα site μπορεί να δείχνει άψογο και από κάτω να είναι σιωπηλά χαλασμένο. Είναι το ίδιο κενό για το οποίο έγραψα στο γιατί μια όμορφη ιστοσελίδα μπορεί να είναι άχρηστη, ένα επίπεδο πιο κάτω.
Ο κανόνας στον οποίο κατέληξα: ό,τι έχει σημασία πρέπει να μπορεί να σε διακόψει, και όλα τα υπόλοιπα να μένουν σιωπηλά. Αν ένα σύστημα χρειάζεται κάποιον να θυμηθεί να το ελέγξει, δεν παρακολουθείται. Τα υπόλοιπα που έχω μάθει τρέχοντας πράγματα χωρίς επίβλεψη είναι στο blog.
Έχεις κάτι να τρέχει στο παρασκήνιο και δεν είσαι σίγουρος ότι τρέχει ακόμα; Φτιάχνω και τα βαρετά αξιόπιστα κομμάτια.
