Umpan Balik Pengguna tentang Splync
Sekitar satu setengah bulan setelah merilis Splync v1.5 — pembaruan yang akhirnya memungkinkan rasio pemisahan khusus per proyek dan per kategori — gelombang umpan balik baru tiba. Pembaruan v1.5 memerlukan perubahan besar pada sisi server, jadi saat itu, saya yakin bahwa detail tersebut sudah “cukup baik” untuk sebagian besar kasus penggunaan. Lalu beberapa pengguna baru menanyakan pertanyaan yang sederhana dan masuk akal: “Bisakah kami menetapkan rasio berbagi khusus untuk setiap pengeluaran?” Proyek perjalanan mereka kadang-kadang hanya memerlukan dua anggota untuk berbagi biaya tertentu, dan di lain waktu, semua tiga anggota ingin berbagi sesuatu. Di Splync v1.8, jawabannya sayangnya tidak. Saya menjelaskan bahwa mereka dapat membuat kategori tambahan dengan rasio khusus yang disesuaikan untuk kasus tersebut — solusi sementara, bukan solusi sejati.
Hutan Fraktal Terlihat Membingungkan
Rasanya sedikit membingungkan mengingat betapa banyak pekerjaan yang dilakukan untuk v1.5. Pertama saya harus memungkinkan proyek memiliki rasio pemisahan sendiri. Kemudian kategori juga memerlukan rasio khusus mereka. Pada titik itu saya pikir saya telah menutup seluruh pohon — mengumpulkan setiap buah dari setiap cabang. Namun, bekerja pada rasio per-pengeluaran berbeda. Rasanya seperti setiap kali saya memetik buah, pohon baru tumbuh dari tempat itu. Bukan hutan fraktal yang tak terbatas, tetapi struktur dua lantai yang jelas: satu lapisan melahirkan yang berikutnya. Dalam logika v1.5, sebuah pengeluaran pertama-tama mewarisi rasio proyek. Jika kategorinya memiliki rasio khusus, itu akan menimpa nilai proyek. Jadi ketika menambahkan rasio per-pengeluaran, saya mendapati diri saya mencoba menambahkan penimpaan lain di atas penimpaan itu. Strukturnya menjadi tangga penimpaan — secara teknis benar, tetapi secara mental berantakan. Sulit membenarkan membangun lapisan logika tambal sulam lainnya.
Perubahan Paradigma di Splync v1.9
Terobosan akhirnya datang dari membalikkan struktur. Alih-alih melakukan “proyek → kategori → pengeluaran” dan menimpa setiap lapisan dengan yang berikutnya, mengapa tidak berpikir ke arah sebaliknya? Berbagi per-pengeluaran → berbagi per-kategori → berbagi per-proyek. Urutan itu mencerminkan cara berpikir orang sesungguhnya: jika sebuah pengeluaran memiliki aturannya sendiri, cukup ikuti itu. Jika tidak, pola kategori lebih masuk akal. Jika itu pun gagal, kembali ke default proyek. Tidak ada lagi tangga penimpaan — hanya hierarki prioritas yang jelas. Begitu saya melihat strukturnya seperti ini, kabut hutan pseudo-fraktal segera hilang. Jalur implementasi menjadi jelas: “Setiap pengeluaran diperiksa untuk berbagi khusus per-pengeluaran. Jika ada, gunakan. Jika tidak, periksa berbagi per-kategori. Jika tidak, gunakan default proyek.”
Berjalan di Bawah Langit
Logika baru ini terasa sederhana, dapat diprediksi, dan secara matematis sound. Untuk mendukung sistem prioritas ini, kami menambahkan tabel MariaDB khusus untuk pemisahan per-pengeluaran, semacam cermin dari tabel untuk pemisahan per-kategori. Tabel detail pengeluaran juga perlu diperluas, seperti halnya tabel detail kategori pada v1.5. Begitu desain “dua lantai” yang mendasar ini jelas, sisanya hanya coding yang hati-hati — baik di aplikasi maupun di server. Namun, jalannya terasa berisiko di beberapa tempat, seperti berjalan melalui hutan gelap tanpa peta. Saya ingin menyegarkan pikiran saya dan melangkah keluar. Udara tajam dan bersih. Saat berjalan melalui lingkungan saya, saya melihat Gunung Fuji menjulang di kejauhan, biru kristal di bawah langit biru sempurna. Hampir 100 km jauhnya, namun tampak begitu dekat untuk disentuh. Momen itu terasa seperti pengingat: meskipun saya merasa sedang berjalan di hutan, sebenarnya saya berjalan di bawah langit terbuka.
Apa yang Dapat Dilakukan dengan Splync v1.9 — Pemisahan Khusus untuk Setiap Pengeluaran
Splync v1.9 lahir dari momen kejernihan itu. Saya kembali ke rumah, menyelesaikan penyambungan endpoint baru, menyiapkan logika server baru, mengatur antarmuka terkait, mengajukan v1.9 ke Apple, dan akhirnya tertidur. Tinjauan selesai lebih awal dari biasanya. Saat saya bangun, Splync v1.9 telah disetujui dan dirilis otomatis di App Store. Mulai versi ini, pemisahan menjadi jauh lebih fleksibel. Jika Anda bepergian dengan John dan Kate, Anda dapat berbagi pengeluaran dasar secara merata di antara kalian bertiga. Tetapi untuk makanan, Anda mungkin beralih ke pemisahan “25% : 50% : 25%” karena John biasanya makan dua kali lebih banyak. Dan jika John melewatkan satu makan malam—misalnya, di restoran tiram—Anda dapat mengatur makanan khusus itu menjadi “50% : 0% : 50%” sehingga dia tidak membayar untuk apa yang tidak dia makan. Dengan v1.9, Splync kini mendukung rasio per-proyek, per-kategori, dan per-pengeluaran dalam logika yang seragam. Fondasinya stabil dan secara matematis sound. Tantangan selanjutnya adalah antarmukanya: beberapa aplikasi pembagian lain menawarkan cara yang lebih halus dan lebih gaya untuk menyesuaikan rasio tersebut. Splync kini memiliki kekuatan backend untuk mendukung perbaikan semacam itu. Kami akan mengerjakannya satu per satu.