Maoni ya Watumiaji kuhusu Splync
Takriban mwezi mmoja na nusu baada ya kuachia Splync v1.5 — sasisho lililoruhusu hatimaye uwiano wa mgawanyo maalum kwa kila mradi na kila kitengo — maoni mapya yalifika. Sasisho la v1.5 lilihitaji mabadiliko makubwa upande wa seva, kwa hivyo wakati huo, nilidhani ubainifu huo ulikuwa “mzuri vya kutosha” kwa matumizi mengi. Kisha watumiaji wapya wakauliza swali rahisi na la busara: “Je, tunaweza kuweka uwiano wa mgawanyo wa kibinafsi kwa gharama ya kila mmoja?” Mradi wao wa safari ulikuwa na wakati ambapo wanachama wawili tu walihitaji kugawanya gharama fulani, na wakati mwingine wote watatu walitaka kushiriki kitu. Chini ya Splync v1.8, jibu lilikuwa la kusikitisha hapana. Nilieleza kuwa wangeweza kuunda vitengo vya ziada na uwiano maalum vilivyotengenezwa kwa hali hizo maalum — suluhisho la muda, sio la kweli.
Msitu wa Fractal Ulikuwa wa Kutisha
Ilionekana kuwa ya kutisha kukumbuka kazi nyingi zilizowekwa kwenye v1.5. Kwanza nilihitaji kuruhusu miradi kuwa na uwiano wa mgawanyo wao wenyewe. Kisha vitengo vilihitaji uwiano maalum pia. Wakati huo nilidhani nilikuwa nimefunika mti mzima — kukusanya kila tunda kutoka kila tawi. Lakini kufanya kazi juu ya uwiano wa kila gharama ilikuwa tofauti. Ilionekana kama kila wakati nilipovuna tunda, mti mpya ulikua kutoka mahali hapo hapo. Sio msitu wa fractal usio na mwisho, lakini muundo wa wazi wa ghorofa mbili: safu moja ikileta nyingine. Katika mantiki ya v1.5, gharama kwanza ilirithi uwiano wa mradi. Ikiwa kitengo chake kilikuwa na uwiano maalum, hizo zingefuta thamani za mradi. Kwa hivyo nilipoongeza uwiano kwa kila gharama, nilijikuta nikijaribu kuongeza uondoaji mwingine juu ya uondoaji huo. Muundo ukawa ngazi ya uondoaji — sahihi kiufundi, lakini ngumu kisaikolojia. Ilikuwa vigumu kuelezea kujenga safu nyingine ya mantiki ya kiraka.
Mabadiliko ya Mtazamo katika Splync v1.9
Hatimaye mafanikio yalikuja kwa kugeuza muundo kichwa chini. Badala ya kufanya “mradi → kitengo → gharama” na kufuta kila safu kwa inayofuata, kwa nini usifikirie kwa mwelekeo kinyume? Mgawanyiko wa kila gharama → mgawanyiko wa kila kitengo → mgawanyiko wa kila mradi. Mpangilio huo unadhihirisha jinsi watu wa kawaida wanaweza kufikiria: ikiwa gharama maalum ina sheria zake, inapaswa kuzifuata tu. Ikiwa hapana, mifumo ya kitengo ina maana. Ikiwa hata hiyo haitoshi, rejea kwenye chaguo msingi la mradi. Hakuna tena ngazi ya uondoaji — ni safu ya wazi ya kipaumbele. Mara tu nilipoona muundo kwa njia hii, ukungu wa msitu wa pseudo-fractal uliondoka mara moja. Njia ya utekelezaji ikawa wazi: “Kila gharama inachunguzwa kwa mgawanyiko maalum wa kila gharama. Ikiwa ipo, zitumie. Ikiwa hapana, angalia mgawanyiko wa kila kitengo. Ikiwa hapana, tumia chaguo msingi la mradi.”
Kutembea Chini ya Anga
Mantiki mpya ilionekana rahisi, inayotabirika, na sahihi kihisabati. Ili kusaidia mfumo huu wa kipaumbele, tuliongeza jedwali la MariaDB maalum kwa mgawanyiko wa kila gharama, kama picha ya jedwali la mgawanyiko wa kila kitengo. Jedwali la maelezo ya gharama pia lilihitaji upanuzi, kama ilivyofanya jedwali la maelezo ya kitengo huko nyuma katika v1.5. Mara tu muundo wa msingi wa “ghorofa mbili” ulipokuwa wazi, kilichobaki ilikuwa ni uandishi wa makini — ndani ya programu na kwenye seva. Hata hivyo, njia ilihisi kuwa hatari kwa baadhi ya sehemu, kama kutembea kwenye msitu wenye giza bila ramani. Nilihitaji kusafisha akili yangu na nikatoka nje. Hewa ilikuwa kali na safi. Nilipokuwa nikitembea kwenye vitongoji vyangu, niliona Mlima Fuji ukiinuka kwa mbali, wa buluu wazi chini ya anga buluu kabisa. Ulikuwa karibu kilomita 100 mbali, lakini ulionekana karibu vya kutosha kuugusa. Wakati huo ulijisikia kama ukumbusho: hata kama nafikiria natembea kwenye msitu, kwa kweli natembea chini ya anga wazi.
Unachoweza Kufanya na Splync v1.9 — Mgawanyo Maalum kwa Kila Gharama
Splync v1.9 ilizaliwa kutoka wakati huo wa uwazi. Nilirudi nyumbani, nikamaliza kuweka alama mpya, nikatayarisha mantiki mpya ya seva, nikaandaa miingiliano inayohusiana, nikawasilisha v1.9 kwa Apple, na hatimaye nililala. Ukaguzi ulimalizika mapema kuliko kawaida. Nilipoamka, Splync v1.9 tayari ilikuwa imeidhinishwa na kutolewa moja kwa moja kwenye App Store. Kuanzia toleo hili, mgawanyo unakuwa rahisi zaidi. Ikiwa unasafiri na John na Kate, unaweza kushiriki gharama za msingi kwa usawa kati yenu watatu. Lakini kwa chakula, unaweza kubadilisha hadi mgawanyo wa “25% : 50% : 25%” kwa sababu John kawaida hula mara mbili zaidi. Na kama John atakosa chakula cha jioni kimoja—kama katika mgahawa wa oyster—unaweza kuweka mlo huo maalum kwa “50% : 0% : 50%” ili asilipe kwa kile ambacho hakukula. Kwa v1.9, sasa Splync inaunga mkono uwiano wa kila mradi, kila kitengo, na kila gharama katika mantiki iliyounganishwa. Misingi ni thabiti na sahihi kihisabati. Changamoto inayofuata ni kiolesura: programu zingine za mgawanyo zinatoa njia laini na za mitindo zaidi za kurekebisha uwiano huo. Sasa Splync ina nguvu ya nyuma ya kukimu maboresho hayo. Tutayafanyia kazi moja baada ya nyingine.