Ta strona jest automatycznie tłumaczona na wiele języków za pomocą oprogramowania stworzonego przez Kohei Koyanagi. Dla najwyższej dokładności zajrzyj do oryginału w angielskim .

Splync v1.9 umożliwia ustawienie niestandardowych proporcji podziału dla każdego wydatku

Opinie użytkowników o Splync

Półtora miesiąca po wydaniu Splync v1.5 — aktualizacji, która umożliwiła wreszcie niestandardowe proporcje podziału na projekt i kategorię — pojawiła się nowa fala opinii. Aktualizacja v1.5 wymagała dużych zmian po stronie serwera, więc wtedy uważałem, że taka szczegółowość jest „wystarczająca” dla większości przypadków. Wtedy kilku nowych użytkowników zadało proste, ale rozsądne pytanie: „Czy możemy ustawić niestandardowe proporcje podziału dla pojedynczego wydatku?” Ich projekt wyjazdowy miał momenty, gdy tylko dwóch członków musiało podzielić konkretny koszt, a w innych chwilach wszyscy trzej chcieli się czymś dzielić. W Splync v1.8 odpowiedź niestety była nie. Wyjaśniłem, że mogą tworzyć dodatkowe kategorie z niestandardowymi proporcjami dostosowanymi do tych konkretnych przypadków — obejście, nie prawdziwe rozwiązanie.

Fraktalowy las przytłaczał

Przypomnienie sobie, ile pracy włożono w v1.5, było nieco przytłaczające. Najpierw musiałem umożliwić projektom posiadanie własnych proporcji podziału. Następnie kategorie również potrzebowały własnych niestandardowych proporcji. W tym momencie myślałem, że pokryłem całe drzewo — zbierając każdy owoc z każdej gałęzi. Ale praca nad proporcjami dla pojedynczych wydatków była inna. Czułem, jakby za każdym razem, gdy zbierałem owoc, wyrastało nowe drzewo z tego samego miejsca. Nie nieskończony fraktalowy las, ale wyraźna dwupoziomowa struktura: jedna warstwa rodziła następną. W logice v1.5, wydatek najpierw dziedziczył proporcję projektu. Jeśli jego kategoria miała niestandardowe proporcje, to one nadpisywały wartości projektu. Więc przy dodawaniu proporcji dla wydatków próbowałem dodać kolejne nadpisanie na to nadpisanie. Struktura stała się drabiną nadpisywań — technicznie poprawnie, ale mentalnie chaotycznie. Trudno było uzasadnić budowanie kolejnej warstwy prowizorycznej logiki.

Zmiany paradygmatu w Splync v1.9

Przełom nastąpił, gdy odwróciłem strukturę do góry nogami. Zamiast działać „projekt → kategoria → wydatek” i nadpisywać każdą warstwę następną, dlaczego nie myśleć w odwrotnym kierunku? Udziały dla wydatków → udziały dla kategorii → udziały dla projektów. Taka kolejność odzwierciedla sposób myślenia ludzi: jeśli konkretny wydatek ma swoje zasady, powinien po prostu nimi podążać. Jeśli nie, wzorzec kategorii ma sens. Jeśli nawet to zawiedzie, wracamy do domyślnych ustawień projektu. Koniec z drabiną nadpisywań — tylko czysta hierarchia priorytetów. Gdy zobaczyłem strukturę w ten sposób, mgła pseudo-fraktalowego lasu natychmiast się rozwiała. Ścieżka implementacji stała się oczywista: „Każdy wydatek jest sprawdzany pod kątem niestandardowych udziałów. Jeśli są, używamy ich. Jeśli nie, sprawdzamy udziały dla kategorii. Jeśli nie, używamy domyślnego projektu.”

Spacer pod niebem

Nowa logika wydawała się prosta, przewidywalna i matematycznie poprawna. Aby wspierać ten system priorytetów, dodaliśmy dedykowaną tabelę MariaDB dla podziałów wydatków, niejako odzwierciedlając tabelę dla podziałów kategorii. Tabela szczegółów wydatków również wymagała rozszerzenia, podobnie jak tabela szczegółów kategorii w v1.5. Gdy podstawa „dwupoziomowego” projektu stała się jasna, reszta była tylko uważnym kodowaniem — zarówno w aplikacji, jak i na serwerze. Mimo to, ścieżka wydawała się ryzykowna w niektórych miejscach, jak spacer przez ciemny las bez mapy. Chciałem się zresetować i wyszedłem na zewnątrz. Powietrze było ostre i czyste. Podczas spaceru przez okolicę zobaczyłem górę Fuji w oddali, krystalicznie błękitną pod idealnie błękitnym niebem. Była niemal 100 km dalej, a wyglądała, jakby można ją było dotknąć. Ten moment przypomniał mi: nawet jeśli myślę, że idę przez las, to faktycznie idę pod otwartym niebem.

Co można zrobić z Splync v1.9 — niestandardowy podział dla każdego wydatku

Splync v1.9 narodził się z tej chwili jasności. Wróciłem do domu, dokończyłem integrację nowych punktów końcowych, przygotowałem nową logikę serwera, zorganizowałem interfejsy, przesłałem v1.9 do Apple i wreszcie zasnąłem. Przegląd zakończył się szybciej niż zwykle. Gdy się obudziłem, Splync v1.9 został już zatwierdzony i automatycznie wydany w App Store. Od tej wersji podział staje się znacznie bardziej elastyczny. Jeśli podróżujesz z Johnem i Kate, możesz dzielić podstawowe wydatki równo między was troje. Ale na jedzenie możesz przełączyć na „25% : 50% : 25%”, bo John zazwyczaj je dwa razy więcej. A jeśli John pominie jeden obiad — powiedzmy, w restauracji z ostrygami — możesz ustawić ten konkretny posiłek na „50% : 0% : 50%”, aby nie płacił za coś, czego nie zjadł. W wersji v1.9, Splync obsługuje teraz proporcje per-projektowe, per-kategorii i per-wydatkowe w ujednoliconej logice. Fundamenty są stabilne i matematycznie poprawne. Następnym wyzwaniem jest interfejs: niektóre inne aplikacje do podziału oferują płynniejsze, bardziej stylowe sposoby dostosowywania tych proporcji. Splync ma teraz siłę zaplecza, aby wspierać takie ulepszenia. Będziemy nad nimi pracować jeden po drugim.