Splync v1.5 umožňuje prispôsobenie pomerov rozdelenia podľa projektu a kategórie
16. septembra 2025 bol vydaný Splync v1.5 — len štyri dni po tom, čo naše medzinárodné manželstvo bolo konečne prijaté mestom. Pred touto aktualizáciou nemohol Splync vôbec prispôsobiť pomery rozdelenia; každá výdavok sa delil rovnomerne. S v1.5 môžu používatelia nastaviť vlastné pomery pre projekty aj kategórie. Táto zmena umožňuje párom a priateľom deliť si spoločné náklady tak, ako to lepšie odráža ich skutočné životy, nie len jednoduchý pomer 50:50. Môžete začať nový účtovný projekt s pomerom 60:40 pre každodenné výdavky od októbra, pričom nájom bytu zostane na rovnakom 50:50, ak je to pre oboch spravodlivé. A ak sa potraviny cítia viac vyvážené pri 70:30, zatiaľ čo služby lepšie pri 62:38, teraz môžete tieto pomery priradiť samostatne — kategória po kategórii — v rámci toho istého projektu.
Ako nastaviť vlastné pomery
Najviditeľnejšou zmenou vo v1.5 je nová sekcia Členovia a Predvolené podiely, kde môžete pridať členov projektu a priradiť každému predvolený podiel. Ak má projekt dvoch členov, pomer môže byť 50:50, 40:60 alebo akýkoľvek pocitovo správny. Pri troch členoch to môže byť 33.33:33.33:33.34, 50:25:25 alebo akákoľvek preferovaná kombinácia. Toto sa stane predvoleným rozdelením projektu. Pod tým môžete rolovať nadol a upraviť podiel každej kategórie, ak chcete, aby sa líšil od predvoleného projektu. Keď priradíte kategórii vlastný pomer, jej modrý pomerový znak sa zmení na oranžovú — malá vizuálna pomôcka, že kategória používa vlastné pravidlo namiesto všeobecného projektového. Táto zmena prináša oveľa viac flexibility do nastavení projektu, ale tiež robí pohľad na vytváranie/úpravu projektu trochu zložitejším. Na pomoc som pridal informačné tlačidlá do každej sekcie, takže sa na ne môžete klepnúť a vidieť malé Q&A nápovede.
Ako Splync implementuje vlastné pomery
Implementácia tejto zmeny bola zložitejšia, ako som očakával. Splync vždy predpokladal čistý svet 50:50 — jedno číslo, uplatnené všade, a matematika bola hotová. Keď som sa rozhodol podporiť vlastné pomery, celá vnútorná štruktúra musela byť prepracovaná. Projekt sa už nemohol spoliehať na jeden spoločný percentuálny podiel. Každá kategória potrebovala svoj vlastný pomer a každý výdavok musel odkazovať na predvolený pomer projektu i na prepis kategórie. Aby to fungovalo, prepracoval som logiku výpočtu od základov. Každý výdavok teraz nesie malý rozhodovací strom: "Má táto kategória vlastný pomer? Ak áno, použite ho. Ak nie, použite projektový pomer." Znie to jednoducho, keď to vysvetľujete, ale udržať dátový model konzistentný naprieč aplikáciou — zobrazeniami v iOS, backendom FastAPI a schémami MariaDB — vyžadovalo viac starostlivého dolaďovania, než som očakával.
Zmeny na serveri
Každá aktualizácia, ktorá sa dotýka serverskej strany, musí byť riešená s extrémnou opatrnosťou. Ak náhodou zmeníte existujúci serverový kód, používatelia stále na v1.4 okamžite narazia na chyby alebo systémové chyby. Napríklad, serverový program pre v1.5 očakáva, že nastavenia projektu budú obsahovať dáta o pomere, ale aplikácia v1.4 posiela nastavenia projektu bez akýchkoľvek pomerov. Keď sa pokúsia tieto dve verzie komunikovať, žiadosť zlyhá — jednoducho preto, že hovoria trochu odlišnými "jazykmi". Vývojári môžu, samozrejme, robiť zmeny bezpečne v testovacom prostredí. Náročná časť začína po odoslaní novej verzie na recenziu od Apple, zatiaľ čo existujúci používatelia sú stále na v1.4. Počas celého obdobia od odoslania do vydania musí server podporovať obe verzie súčasne, aby recenzenti Apple mohli testovať v1.5 a existujúci používatelia mohli pokračovať v používaní v1.4 bez prerušenia.
Správa koncových bodov počas aktualizácií verzií
V vývoji aplikácií je „koncový bod“ miesto, kde aplikácia posiela svoje požiadavky na server — trochu ako špecifické okienko na mestskom úrade. Jedno okienko rieši registrácie manželstiev, iné evidenciu obyvateľov a ďalšie pasy. Aplikácie fungujú rovnako: každý koncový bod je vyhradené okno, kde server prijíma konkrétny typ požiadavky, ako je prihlásenie, vytvorenie projektu, úprava výdavkov, žiadosť o priateľstvo atď. Keď Splync v1.4 pošle požiadavku, ide na „staré“ okno, ktoré rozumie staršiemu formátu. Splync v1.5 posiela svoju požiadavku na „nové“ okno, ktoré rozumie dátam o pomere. Ak by server zatvoril staré okno príliš skoro, používatelia v1.4 by nemali kde „odovzdať“ svoje dáta. Preto sa počas aktualizácie server potrebuje udržiavať obe okná otvorené — oba koncové body —, kým sa každý používateľ bezpečne nepresunie na novšiu verziu. Úprimne, spravovanie týchto dvoch okien naraz pôsobilo ako myslenie v extra dimenzii.
A čo pomery rozdelenia podľa výdavkov
Splync v1.5 umožňuje prispôsobiť rozdelenia podľa projektu a kategórie, ale zatiaľ nie podľa výdavkov. Na podporu pomerov podľa výdavkov potrebujeme ďalšiu štrukturálnu vrstvu — v podstate hlbšie prepracovanie toho, ako každý výdavok ukladá a počíta svoje podiely. Musíme tiež dbať na to, aby rozhranie aplikácie nebolo náhle komplikované len kvôli pridaniu väčšej moci. Je to väčšia aktualizácia, než sa zdá. Prosím, dajte nám ešte trochu času, aby sme sa tam dostali. Je to na našom horizonte — a dosiahneme to. Dovtedy preskúmajme, ako nové pomery podľa projektov a kategórií už teraz robia spoločné výdavky oveľa flexibilnejšími.