Käyttäjäpalautetta Splyncistä
Noin puolitoista kuukautta Splync v1.5:n julkaisun jälkeen – päivityksen, joka vihdoin mahdollisti mukautetut jakosuhteet projektin ja kategorian mukaan – saimme uuden palauteryöpyn. V1.5-päivitys vaati suuria palvelinpuolen muutoksia, joten silloin uskoimme, että yksityiskohtaisuus oli ”riittävän hyvä” useimpiin tarpeisiin. Sitten muutamat uudet käyttäjät esittivät yksinkertaisen ja järkevän kysymyksen: ”Voimmeko asettaa mukautetut jakosuhteet yksittäisille kuluilla?” Heidän matkakohteessaan oli hetkiä, jolloin vain kahden jäsenen tarvetta jakaa tietty kustannus, ja muita hetkiä, jolloin kaikki kolme halusivat jakaa jotain. Splync v1.8:ssa vastaus oli valitettavasti ei. Selitin, että he voisivat luoda lisäkategorioita mukautetuilla suhteilla juuri näitä tapauksia varten – kiertotie, ei todellinen ratkaisu.
Fraktaalimetsä tuntui ylivoimaiselta
Tuntui hieman ylivoimaiselta muistaa, kuinka paljon työtä v1.5 vaati. Ensin piti antaa projekteille omat jakosuhteet, sitten kategorioille omat mukautetut suhteensa. Silloin ajattelin, että olin kerännyt kaikki hedelmät kaikista oksista. Mutta työskennellessäni kulukohtaisten suhteiden parissa tuntui, kuin joka kerta kun poimin hedelmän, samasta paikasta kasvoi uusi puu. Ei loputonta fraktaalimetsää, vaan selkeä kaksikerroksinen rakenne: yksi kerros synnytti seuraavan. V1.5-logiikassa kulu peri ensin projektin suhteen. Jos sen kategoriassa oli mukautettuja suhteita, ne korvasivat projektin arvot. Joten lisätessäni kulukohtaisia suhteita, löysin itseni yrittämässä lisätä toista korvausta korvauksen päälle. Rakenne muuttui korvausten portaikoksi – teknisesti oikein, mutta henkisesti sekavaksi. Oli vaikea perustella uuden kerroksen luomista paikkauslogiikkaan.
Paradigman muutos Splync v1.9:ssä
Läpimurto tuli lopulta rakenteen kääntämisestä ylösalaisin. Sen sijaan, että tehtäisiin ”projekti → kategoria → kulu” ja korvattaisiin jokainen kerros seuraavalla, miksei ajateltaisi päinvastoin? Kulukohtaiset osuudet → kategoriakohtaiset osuudet → projektikohtaiset osuudet. Tämä järjestys heijastaa ihmisten ajattelua: jos tietylle kululle on omat säännöt, ne yksinkertaisesti noudatetaan. Jos ei, kategorian malli on järkevä. Jos sekään ei toimi, palataan projektin oletukseen. Ei enää korvausten portaikkoa – vain selkeä prioriteettihierarkia. Kun näin rakenteen näin, pseudo-fraktaalimetsän sumu katosi välittömästi. Toteutuspolku tuli ilmeiseksi: ”Jokaiselle kululle tarkistetaan kulukohtaiset mukautetut osuudet. Jos on, käytä niitä. Jos ei, tarkista kategoriakohtaiset osuudet. Jos ei, käytä projektin oletusta.”
Kävelemässä taivaan alla
Uusi logiikka tuntui yksinkertaiselta, ennakoitavalta ja matemaattisesti kestävältä. Tämän prioriteettijärjestelmän tukemiseksi lisäsimme oman MariaDB-taulun kulukohtaisille jaoille, ikään kuin peilaamalla kategoriakohtaisten jakotaulun. Myös kuluyksityiskohtien taulu tarvitsi laajentamista, aivan kuten kategorian yksityiskohtien taulu v1.5:ssä. Kun taustalla oleva ”kaksikerroksinen” suunnittelu tuli selväksi, loppu oli vain huolellista koodausta – sekä sovelluksessa että palvelimella. Silti polku tuntui paikoitellen riskialttiilta, kuin kävelisi pimeässä metsässä ilman karttaa. Halusin selkeyttää mieltäni ja astuin ulos. Ilma oli terävä ja puhdas. Kun kävelin naapurustossani, näin Fuji-vuoren kohoavan kaukana, kristallinsinisenä täydellisen sinisen taivaan alla. Se oli lähes 100 km:n päässä, mutta näytti olevan lähellä koskettaa. Hetki tuntui muistutukselta: vaikka luulen käveleväni metsässä, kuljenkin taivaan alla.
Mitä voit tehdä Splync v1.9:llä — mukautettu jakosuhde jokaiselle kululle
Splync v1.9 syntyi tuosta kirkkauden hetkestä. Palasin kotiin, viimeistelin uusien päätepisteiden kytkennät, valmistelin uuden palvelinlogiikan, järjestin liittyvät käyttöliittymät, lähetin v1.9:n Applelle ja lopulta nukahdin. Tarkistus valmistui nopeammin kuin tavallisesti. Kun heräsin, Splync v1.9 oli jo hyväksytty ja julkaistu automaattisesti App Storessa. Tästä versiosta eteenpäin jakaminen on paljon joustavampaa. Jos matkustat Johnin ja Katen kanssa, voit jakaa peruskulut tasan kolmelle. Mutta ruoan kohdalla voit vaihtaa ”25 % : 50 % : 25 %” jakoon, koska John yleensä syö kaksinkertaisesti. Ja jos John jättää yhden illallisen väliin – esimerkiksi osteriravintolassa – voit asettaa kyseiselle aterialle ”50 % : 0 % : 50 %”, jotta hän ei maksa siitä, mitä ei syönyt. V1.9:n myötä Splync tukee nyt projektikohtaisia, kategoriakohtaisia ja kulukohtaisia suhteita yhtenäisessä logiikassa. Perustukset ovat vakaat ja matemaattisesti kestävät. Seuraava haaste on käyttöliittymä: jotkut muut jakosovellukset tarjoavat sujuvampia, tyylikkäämpiä tapoja säätää näitä suhteita. Splyncilla on nyt taustajärjestelmän vahvuus tukea tällaisia parannuksia. Työskentelemme niiden parissa yksi kerrallaan.