Offline-first geçişinde ilk kazanım hızlı görünür: uygulama ağ olmadan çalışır. Ancak kritik eşik, birden fazla cihaz aynı veri üzerinde farklı niyetle değişiklik yaptığında başlar. Burada kaybedilen şey milisaniye değil kullanıcı güvenidir.
Conflict’i istisna değil normal olay olarak ele alıyoruz. Her çatışmayı çözüm olayı olarak kayıt altına almak hem ürün davranışını görünür kılıyor hem de politika hatalarını ölçülebilir hale getiriyor.
Tek bir kural tüm alanlarda çalışmıyor. Last write wins bazı metin alanlarında kabul edilebilirken finansal veya iş-kritik alanlarda tehlikeli. Bu yüzden alan bazlı politika tanımlıyoruz: birleşebilir alanlar, öncelik bazlı alanlar ve kullanıcı onayı gerektiren alanlar.
Saat damgasına aşırı güvenmek de yaygın hata. Cihaz saati kayabiliyor, ağ gecikmesi sıralamayı bozabiliyor. Bu nedenle intent metadata taşıyoruz: değişikliği kim yaptı, hangi akış içinde yaptı, hangi bağlamda yaptı? Niyet bilgisi çatışma çözümünde çok daha güvenilir sonuç veriyor.
UI katmanı bu işin yarısı. Kullanıcıya “hata oluştu” demek yerine “iki değişiklik çakıştı, önerilen birleştirme burada” dili kullanıyoruz. Şeffaflık güveni artırıyor; panik dili ise terk oranını yükseltiyor.
Operasyonel tarafta conflict oranı, çözüm süresi ve manuel müdahale yüzdesini düzenli izliyoruz. Bu metrikler bozulursa taşıma altyapısından önce kural setini sorguluyoruz.
Offline-first başarısı, uygulamanın internetsiz açılması değildir. Başarı, eşzamanlı niyetleri veri kaybı yaratmadan uzlaştırabilmek ve kullanıcıya kontrol duygusunu kaybettirmemektir.



