Αυτός ο ιστότοπος μεταφράζεται αυτόματα σε πολλές γλώσσες με λογισμικό που ανέπτυξε ο Kohei Koyanagi. Για μεγαλύτερη ακρίβεια, ανατρέξτε στο πρωτότυπο στα αγγλικά .

Το Splync v1.9 μπορεί να ορίσει εξατομικευμένες αναλογίες διαμοιρασμού για κάθε έξοδο

Ανατροφοδότηση χρηστών για το Splync

Περίπου ενάμιση μήνα μετά την κυκλοφορία του Splync v1.5 — η ενημέρωση που επέτρεπε επιτέλους προσαρμοσμένες αναλογίες ανά έργο και κατηγορία — έφτασε ένα νέο κύμα ανατροφοδότησης. Η ενημέρωση v1.5 απαιτούσε εκτεταμένες αλλαγές στην πλευρά του διακομιστή, οπότε εκείνη την εποχή πίστευα ότι η λεπτομέρεια ήταν «αρκετά καλή» για τις περισσότερες περιπτώσεις. Τότε μερικοί νέοι χρήστες έκαναν μια απλή, πολύ λογική ερώτηση: «Μπορούμε να ορίσουμε προσαρμοσμένες αναλογίες ανά μεμονωμένο έξοδο;» Το έργο τους είχε στιγμές όπου μόνο δύο μέλη έπρεπε να μοιραστούν ένα συγκεκριμένο κόστος, και άλλες στιγμές όπου και οι τρεις ήθελαν να μοιραστούν κάτι. Στο Splync v1.8, η απάντηση ήταν δυστυχώς όχι. Εξήγησα ότι θα μπορούσαν να δημιουργήσουν πρόσθετες κατηγορίες με προσαρμοσμένες αναλογίες για αυτές τις ειδικές περιπτώσεις — μια παρακαμπτήριος λύση, όχι μια πραγματική λύση.

Το Fractal Forest Φαινόταν Υπερβολικό

Ήταν λίγο καταπιεστικό να θυμηθώ πόση δουλειά χρειάστηκε για το v1.5. Πρώτα έπρεπε να επιτρέψω στα έργα να έχουν τις δικές τους αναλογίες. Στη συνέχεια, οι κατηγορίες χρειάζονταν τις δικές τους προσαρμοσμένες αναλογίες. Εκείνη τη στιγμή πίστευα ότι είχα καλύψει όλο το δέντρο — μαζεύοντας κάθε καρπό από κάθε κλάδο. Αλλά η εργασία στις αναλογίες ανά έξοδο ήταν διαφορετική. Ένιωθα σαν να ξεπηδούσε ένα νέο δέντρο κάθε φορά που μάζευα έναν καρπό από αυτό το σημείο. Όχι ένα άπειρο φρακταλικό δάσος, αλλά μια καθαρή διώροφη δομή: ένα επίπεδο που γεννά το επόμενο. Στη λογική του v1.5, ένα έξοδο αρχικά κληρονομούσε την αναλογία του έργου. Αν η κατηγορία του είχε προσαρμοσμένες αναλογίες, αυτές αντικαθιστούσαν τις τιμές του έργου. Έτσι, όταν πρόσθεσα τις αναλογίες ανά έξοδο, βρέθηκα να προσπαθώ να προσθέσω μια ακόμη αντικατάσταση πάνω από αυτή την αντικατάσταση. Η δομή έγινε μια σκάλα υπερκαλύψεων — τεχνικά σωστή, αλλά πνευματικά μπερδεμένη. Ήταν δύσκολο να δικαιολογήσω την κατασκευή ενός ακόμη επιπέδου συγκεντρωτικής λογικής.

Αλλαγές Παραδείγματος στο Splync v1.9

Η ανακάλυψη ήρθε τελικά αναστρέφοντας τη δομή. Αντί για «έργο → κατηγορία → έξοδο» και υπερκαλύπτοντας κάθε επίπεδο με το επόμενο, γιατί να μην σκεφτούμε αντίθετα; Αναλογίες ανά έξοδο → αναλογίες ανά κατηγορία → αναλογίες ανά έργο. Αυτή η σειρά αντικατοπτρίζει τον τρόπο σκέψης των ανθρώπων: αν ένα συγκεκριμένο έξοδο έχει τους δικούς του κανόνες, απλώς τους ακολουθεί. Αν όχι, το μοτίβο της κατηγορίας είναι λογικό. Αν ούτε αυτό λειτουργεί, επιστρέφουμε στο προεπιλεγμένο του έργου. Καμία σκάλα υπερκαλύψεων — μόνο μια καθαρή ιεραρχία προτεραιότητας. Όταν είδα τη δομή έτσι, η ομίχλη του ψευδοφρακταλικού δάσους καθάρισε αμέσως. Το μονοπάτι υλοποίησης έγινε προφανές: «Κάθε έξοδο εξετάζεται για προσαρμοσμένες αναλογίες. Αν υπάρχουν, χρησιμοποιούνται. Αν όχι, ελέγχουμε τις αναλογίες ανά κατηγορία. Αν όχι, χρησιμοποιούμε το προεπιλεγμένο του έργου.»

Περπατώντας κάτω από τον ουρανό

Η νέα λογική ήταν απλή, προβλέψιμη και μαθηματικά σωστή. Για να υποστηρίξουμε αυτό το σύστημα προτεραιότητας, προσθέσαμε μια ειδική πίνακα MariaDB για τις διαιρέσεις ανά έξοδο, καθρεφτίζοντας τον πίνακα για τις διαιρέσεις ανά κατηγορία. Ο πίνακας λεπτομερειών εξόδων χρειαζόταν επίσης επέκταση, όπως συνέβη και με τον πίνακα λεπτομερειών κατηγορίας στο v1.5. Μόλις η υποκείμενη «διώροφη» σχεδίαση έγινε σαφής, το υπόλοιπο ήταν απλώς προσεκτικός προγραμματισμός — τόσο στην εφαρμογή όσο και στον διακομιστή. Παρόλα αυτά, η διαδρομή φαινόταν επικίνδυνη σε μερικά σημεία, σαν να περπατάς σε ένα σκοτεινό δάσος χωρίς χάρτη. Ήθελα να ξεκαθαρίσω το μυαλό μου και βγήκα έξω. Ο αέρας ήταν καθαρός και κοφτερός. Καθώς περπατούσα στη γειτονιά, είδα το όρος Fuji να υψώνεται στον ορίζοντα, καταγάλανο κάτω από έναν τέλεια μπλε ουρανό. Ήταν σχεδόν 100 χλμ μακριά, αλλά φαινόταν τόσο κοντά που μπορούσες να το αγγίξεις. Η στιγμή έμοιαζε με υπενθύμιση: ακόμα κι αν νομίζω ότι περπατώ σε ένα δάσος, στην πραγματικότητα περπατώ κάτω από τον ανοιχτό ουρανό.

Τι μπορείτε να κάνετε με το Splync v1.9 — Εξατομικευμένη διαίρεση για κάθε έξοδο

Το Splync v1.9 γεννήθηκε από εκείνη τη στιγμή διαύγειας. Επέστρεψα σπίτι, ολοκλήρωσα τη σύνδεση των νέων σημείων πρόσβασης, προετοίμασα τη λογική του νέου διακομιστή, οργάνωσα τις σχετικές διεπαφές, υπέβαλα το v1.9 στην Apple και τελικά κοιμήθηκα. Η αναθεώρηση τελείωσε νωρίτερα από το συνηθισμένο. Όταν ξύπνησα, το Splync v1.9 είχε ήδη εγκριθεί και αυτόματα κυκλοφορήσει στο App Store. Από αυτήν την έκδοση και μετά, η διαίρεση γίνεται πολύ πιο ευέλικτη. Αν ταξιδεύετε με τον John και την Kate, μπορείτε να μοιραστείτε βασικά έξοδα ισόποσα μεταξύ σας. Αλλά για το φαγητό, μπορείτε να αλλάξετε σε μια διαίρεση «25% : 50% : 25%» γιατί ο John συνήθως τρώει διπλάσια ποσότητα. Και αν ο John παραλείψει ένα δείπνο —ας πούμε σε ένα εστιατόριο με στρείδια— μπορείτε να ορίσετε εκείνο το γεύμα σε «50% : 0% : 50%» ώστε να μην πληρώσει για κάτι που δεν έφαγε. Με το v1.9, το Splync τώρα υποστηρίζει αναλογίες ανά έργο, ανά κατηγορία και ανά έξοδο σε μια ενοποιημένη λογική. Τα θεμέλια είναι σταθερά και μαθηματικά σωστά. Η επόμενη πρόκληση είναι η διεπαφή: μερικές άλλες εφαρμογές διαιρέσεων προσφέρουν πιο ομαλές, πιο στιλάτες τρόπους να προσαρμόσουν αυτές τις αναλογίες. Το Splync έχει πλέον την υποδομή να υποστηρίξει τέτοιες βελτιώσεις. Θα δουλέψουμε πάνω σε αυτές μία-μία.