Kodun Günah Keçisi: Kullanıcı Her Zaman Gerçekten Hatalı mı?

Yazılım dünyasında çok eski, çok konforlu ve biraz da kurnaz bir cümle vardır: Kullanıcı yanlış yapmış. Bu cümle, ofis mutfaklarındaki bayat kahve kadar yaygındır. Form çalışmıyorsa kullanıcı yanlış doldurmuştur. Buton bulunamıyorsa dikkat etmemiştir. Sistem çöküyorsa muhtemelen aynı anda fazla şey açmıştır. Yani ortada bir arıza vardır ama suçlu, nedense daima ekranın diğer tarafındaki zavallı fanidir.

Oysa mesele çoğu zaman teknik olmaktan önce psikolojiktir. Psikolojik projeksiyon, insanın kendi kabul edemediği kusuru dışarıya fırlatmasıdır. Yazılımcı veya ürün ekibi, kötü tasarlanmış akışı, eksik hata mesajını, belirsiz arayüzü ya da kırılgan mimariyi görmek yerine şöyle der: Kullanıcı anlamıyor. Bu cümle, kodun karanlık bodrumunda saklanan hatanın üzerine serilen pahalı bir halıdır.

Hata Mesajı mı, Suç Duyurusu mu?

İyi bir sistem kullanıcıya yol gösterir; kötü bir sistem kullanıcıyı azarlar. Lütfen geçerli bir değer giriniz mesajı, çoğu zaman şunu söylemenin kibar yoludur: Ben ne istediğimi doğru anlatamadım ama bununla sen uğraş. Daha da kötüsü, bazı hata mesajları teknik bir hiyeroglif gibidir: Null reference, invalid token, unexpected exception. Kullanıcı, karşısında bir ürün değil, kendisini küçük düşürmek için kurulmuş dijital bir mahkeme bulur.

Burada basit bir ilke devreye girer: Eğer çok sayıda kullanıcı aynı hatayı yapıyorsa, bu artık kullanıcı hatası değildir. Bu bir tasarım sinyalidir. Tek bir kişinin ayağı takılıyorsa dikkatsizlik olabilir; yüz kişinin ayağı aynı basamağa takılıyorsa merdiveni ölçmek gerekir. Yazılımda da durum budur. Kullanıcı davranışı veri üretir. Bu veriyi savunma refleksiyle reddetmek, termometreyi kırıp ateşin düştüğünü sanmaya benzer.

Kötü kodun faturasını kullanıcıya çıkarmak, ekip kültürünü de zehirler. Çünkü sorumluluk dışarı atıldıkça öğrenme içeride kalmaz. Geliştirici kendini geliştirmez, ürün yöneticisi varsayımlarını test etmez, tasarımcı belirsizliği fark etmez. Herkes kendi küçük tahtında haklıdır. Kullanıcı ise hem müşteridir hem sanıktır. Böyle bir kültürde hata raporları altın madeni değil, rahatsız edici gürültü gibi görülür.

Projeksiyonun Teknik Kılığı

Bu eğilimin teknik bir maskesi de vardır: Bizim tarafta çalışıyor. Bu cümle, modern yazılım tarihinin en dramatik savunma mekanizmalarından biridir. Geliştiricinin makinesinde çalışan şeyin gerçek dünyada da çalışacağı varsayılır. Oysa gerçek dünya; eski tarayıcılar, yavaş bağlantılar, titrek parmaklar, yorgun zihinler, küçük ekranlar, beklenmedik alışkanlıklar ve aceleyle tıklanan düğmelerden oluşur. Yazılım, laboratuvar faresi için değil, karmaşık insan için yazılır.

Bu yüzden kullanıcı hatası kavramını tamamen silmek gerekmez; ama onu son çare yapmak gerekir. Evet, kullanıcı bazen yanlış anlar, acele eder, okumaz, dener, bozar. Fakat iyi sistemler bunu bekler. Kullanıcının insan olduğunu varsaymak lüks değil, mühendislik gereğidir. Bir köprü tasarlarken herkesin kusursuz yürüyeceğini varsayamazsınız. Bir arayüz tasarlarken de herkesin dikkatli, dinç ve teknik okuryazar olacağını varsayamazsınız.

Çözüm, suçu dağıtmak değil, geri bildirimi ciddiye almaktır. Hata günlükleri okunmalı, kullanıcı oturumları izlenmeli, destek talepleri sınıflandırılmalı, arayüz metinleri sadeleştirilmeli, kritik işlemler geri alınabilir olmalı, form doğrulamaları anlık ve açıklayıcı çalışmalıdır. En önemlisi, ekip şu soruyu alışkanlık haline getirmelidir: Kullanıcı neden böyle davrandı? Bu soru suçlamaz; araştırır. Savunmaz; öğrenir.

Yazılım geliştirmek, yalnızca makineye talimat vermek değildir; insanın zihinsel haritasıyla pazarlık etmektir. Kullanıcıyı aptal ilan etmek kolaydır, çünkü egoyu korur. Ama iyi ürünler egoyu değil gerçeği besler. Kötü yazılmış kod, çoğu zaman kendini kullanıcı hatası diye tanıtır. Bilge ekipler bu maskeyi tanır, çıkarır ve aynaya bakar. Çünkü gerçek debug işlemi yalnızca kodda değil, kibirde de yapılır.

Fırça Yerine Değişken: Sanatçı Kodun İçine Girince Ne Olur?

Bir ressamın tuvale yaklaşıp ilk çizgiyi atmasıyla, bir parametrik tasarımcının ekrana eğilip ilk değişkeni yazması arasında tuhaf bir akrabalık vardır. İkisi de boşlukla karşı karşıyadır. Fakat biri boşluğu boya ile ikna ederken, diğeri onu kurallarla baştan çıkarır. Görsel sanatlarda parametrik tasarım, sanat eserini tek bir nihai nesne olmaktan çıkarıp davranan, çoğalan, evrilen bir sisteme dönüştürür. Artık eser yalnızca “neye benziyor?” sorusuyla değil, “hangi koşullarda nasıl değişiyor?” sorusuyla da var olur.

Parametrik tasarımın kalbinde basit ama sarsıcı bir fikir yatar: Form, doğrudan çizilmek yerine parametrelerle tanımlanabilir. Bir çizginin uzunluğu, bir yüzeyin kıvrımı, bir desenin yoğunluğu, renklerin dağılımı ya da öğelerin birbirine uzaklığı sayılarla, oranlarla, olasılıklarla yönetilir. Sanatçı burada sadece görüntü üretmez; görüntü üreten bir düzenek kurar. Bu düzenek bazen bir bahçe gibidir: Tohumu sen seçersin, toprağı sen hazırlarsın, ama her yaprağın tam olarak nereye uzanacağını önceden bilemezsin.

Sanatçı artık yalnızca yapan değil, sistemi kuran kişidir

Klasik yaratım sürecinde sanatçı çoğu zaman doğrudan müdahale eder: çizer, siler, boyar, kazır, keser. Parametrik süreçte ise müdahale daha dolaylı ama daha stratejiktir. Sanatçı bir kurallar evreni inşa eder. “Eğer ışık artarsa renk doygunluğu düşsün”, “merkeze yaklaştıkça şekiller küçülsün”, “rastgelelik olsun ama bütünü bozmasın” gibi kararlar, estetik sezginin matematiksel bir dile tercümesidir. Bu tercüme sanatı soğutmaz; tersine, sezginin iskeletini görünür kılar.

Kod değiştirmek, fırça darbesini geri almak gibi değildir. Bir satırı değiştirdiğinizde yalnızca küçük bir bölgeyi değil, tüm kompozisyonun kaderini dönüştürebilirsiniz. Tek bir sayı, binlerce noktanın yerini oynatır. Bir fonksiyon, desenin ruh halini değiştirir. Rastgelelik oranını biraz artırırsınız; eser birden şehir haritasından mercan resifine dönüşür. İşte parametrik tasarımın büyüsü buradadır: küçük kararların büyük görsel depremler yaratması.

Bu durum yaratıcı süreci daha deneysel hale getirir. Sanatçı, bitmiş bir imgeye doğru yürüyen kişi olmaktan çok, olasılıklar arasında avlanan bir gezgine dönüşür. Kod çalıştırılır, sonuç görülür, parametre değiştirilir, yeniden çalıştırılır. Süreç, bir laboratuvar ile oyun alanı arasında gidip gelir. Hata bile burada düşman değildir. Yanlış yazılmış bir değer, beklenmedik bir estetik keşfe kapı açabilir. Kimi zaman sistem “bozulur” ve tam da o bozulma, sanatçının aradığı gerilimi üretir.

Kontrol ile sürpriz arasındaki dans

Parametrik sanatın en heyecan verici yanı, kontrol ve belirsizlik arasında kurduğu dengedir. Geleneksel sanatçı da rastlantıyla karşılaşır elbette; boya akar, kâğıt emer, el titrer. Fakat kodla üretilen görsel dünyada rastlantı bile tasarlanabilir. Sanatçı, kaosun kapısını tamamen açmaz; kapının aralığını belirler. Bu nedenle parametrik tasarım, insan iradesi ile algoritmik özerklik arasında yapılan bir pazarlık gibidir.

Burada sık sorulan soru şudur: “Eseri kim yaptı, sanatçı mı algoritma mı?” Bu soru cazip ama biraz tembeldir. Çünkü algoritma kendi başına niyet taşımaz. O, sanatçının kurduğu bir düşünme makinesidir. Ancak bu makine çalışmaya başladığında sanatçıya da karşılık verir; ona beklemediği varyasyonlar, ritimler ve biçimler sunar. Yaratıcı süreç böylece tek yönlü bir üretim değil, insan ile sistem arasında kurulan canlı bir diyaloğa dönüşür.

Parametrik tasarım ayrıca “tek ve kutsal eser” fikrini de sarsar. Aynı koddan yüzlerce, binlerce farklı sonuç doğabilir. Hangisi asıl eserdir? Kod mu, çıktı mı, yoksa tüm olasılıklar uzayı mı? Belki de cevap, çağımızın ruhuna uygundur: Eser artık sabit bir heykel değil, potansiyel bir ekosistemdir. Sanatçı bir görüntü değil, görüntülerin doğabileceği bir evren tasarlar.

Bu yaklaşım görsel kültürümüzü de değiştiriyor. Mimarlıktan dijital enstalasyonlara, veri görselleştirmeden generatif illüstrasyona kadar pek çok alanda formlar artık elle çizilmiş izlerden çok, ilişkiler ağından doğuyor. Estetik, yalnızca gözün beğenisi değil; sistemin davranışını okuma becerisi haline geliyor. Güzel olan, sadece görünen şey değil, görünenin nasıl oluştuğudur.

Sonuçta parametrik tasarım, sanatı mekanikleştirmez; yaratımı başka bir bilinç katmanına taşır. Fırça hâlâ vardır, ama bazen bir değişkenin içinde saklanır. Renk hâlâ titreşir, ama bazen bir fonksiyonun sonucudur. Sanatçı hâlâ merkezde durur, fakat artık tek başına kahraman değildir; kurduğu sistemle birlikte düşünen, onunla güreşen, ondan öğrenen biridir. Kod değiştikçe eser değişir; daha önemlisi, sanatçının yaratma fikri değişir. Ve belki de gerçek devrim tam burada başlar: Sanat, yalnızca yapılan bir şey olmaktan çıkıp, davranan bir düşünceye dönüşür.

Eski Hataların Yeni Sürümleri: Kodda Geçmişi Taşımanın Laneti

Geriye dönük uyumluluk, yazılım dünyasının en kibar görünümlü hayaletlerinden biridir. Dışarıdan bakınca olgunluk, güvenilirlik ve kullanıcıya saygı gibi görünür. İçeriden bakınca ise bazen kırık bir sandalyeyi müzede sergilemek değil, hâlâ toplantı odasında kullanmak zorunda kalmaktır. Bir zamanlar aceleyle yazılmış, kimsenin tam anlamadığı, fakat milyonlarca sistemin üzerine bina edildiği bir karar; yıllar sonra mimarinin kutsal taşı haline gelir. Çünkü onu kaldırırsanız sadece bir fonksiyonu değil, bir ekosistemi düşürürsünüz.

Programlamada geriye dönük uyumluluk şu basit vaadi verir: Dün çalışan şey bugün de çalışacak. Bu vaat, kullanıcı için huzurdur; geliştirici içinse omuzlara asılmış görünmez bir çuval. İçinde eski API kararları, yanlış isimlendirilmiş parametreler, tuhaf varsayılan değerler, mantıksız veri formatları ve birinin 2009’da cuma akşamı saat 17.43’te yaptığı küçük bir kestirme vardır. O kestirme artık ürünün anayasasına dönüşmüştür.

Hatanın Kültüre Dönüşmesi

Bir bug tek başına teknik bir olaydır; ama yıllarca korunursa kültür olur. Yazılım tarihindeki pek çok gariplik bu yüzden yaşamaya devam eder. Bir alanın adı yanlış yazılmıştır ama düzeltilemez, çünkü müşterinin entegrasyonu ona bağlıdır. Bir fonksiyon mantıksız sonuç döndürür ama değiştirilemez, çünkü bazı sistemler o mantıksızlığa göre davranmayı öğrenmiştir. Hata artık hata değildir; protokoldür. Tıpkı eski bir şehirde yanlış açılmış bir yolun zamanla ana caddeye dönüşmesi gibi.

Burada problem yalnızca teknik borç değildir. Teknik borç, ödenebilir bir borçtur; faizini hesaplar, taksit planı yaparsınız. Geriye dönük uyumluluk ise bazen miras hukukuna benzer: Borcu siz yapmadınız ama tapu sizin üzerinize geçti. Üstelik alacaklılar da haklıdır. Kullanıcı çalışır sistemi sever. Şirket kırılmayan sözleşmeleri sever. Ekosistem istikrar ister. Geliştirici ise temiz, zarif, akılcı bir tasarım hayal eder. İşte çatışma burada başlar: Estetik ile sadakat, doğruluk ile süreklilik, gelecek ile geçmiş aynı kod tabanında kavga eder.

Kırmadan Yenilemenin Sanatı

İyi mühendislik, her şeyi yıkıp yeniden yapmak değildir. Bu, bazen genç geliştiricinin romantik yanılgısıdır. Eski kodu görünce kılıcı çeker: Bunu komple atalım. Fakat gerçek sistemler laboratuvar faresi değildir; canlı organizmadır. İçlerinde müşteriler, veri akışları, alışkanlıklar, sözleşmeler, raporlar, otomasyonlar ve kimsenin dokunmaya cesaret edemediği cron işleri yaşar. Bir şeyi değiştirmek istiyorsanız önce onu kimin neden kullandığını anlamalısınız.

Bu yüzden geriye dönük uyumluluk, disiplin ister. Versiyonlama, açık kullanım dışı bırakma politikaları, geçiş rehberleri, uyarı mekanizmaları, adaptör katmanları ve ölçümleme şarttır. Bir API değiştirilecekse önce eski davranış gözlemlenir. Kim kullanıyor, nasıl kullanıyor, ne kadar kritik kullanıyor? Sonra yeni yol sunulur. Eski yol hemen yakılmaz; üzerine tabela asılır: Bu köprü yaşlandı, lütfen yeni köprüyü kullanın. En sonunda, yeterince zaman ve iletişimden sonra kapatılır. Medeni yazılım budur.

Fakat her şeyi sonsuza dek uyumlu tutmak da erdem değildir. Bazen geriye dönük uyumluluk adı altında sistemin geleceğini rehin alırız. Kimse kırılmasın diye her garip davranışı koruruz; sonra yeni özellik eklemek mayın tarlasında bale yapmaya döner. Kod, geçmiş kullanıcıların anıt mezarlığına dönüşür. Her satırın başında şu yazılıdır: Buraya dokunma, biri bir yerde ağlayabilir.

Cesaret ve Nezaket Dengesi

Sağlıklı yaklaşım iki uçtan da kaçınır. Ne geçmişi kutsallaştırmak gerekir ne de geçmişe savaş açmak. Geriye dönük uyumluluk bir ahlaki sorumluluktur; ama sonsuz itaat yemini değildir. Kullanıcının güvenini korumak önemlidir, fakat sistemin evrim hakkı da vardır. Eski hatayı taşımak bazen merhamettir, bazen korkaklık. Aradaki farkı ölçen şey niyet değil, plandır.

Bir yazılım ekibi kendine şu soruları sormalıdır: Bu uyumluluk kime hizmet ediyor? Eski davranışı korumanın maliyeti nedir? Yeni tasarım gerçekten daha mı iyi, yoksa sadece daha mı yeni? Kullanıcıya geçiş için yeterli araç verdik mi? Kırılma kaçınılmazsa bunu dürüstçe duyurduk mu? Bu sorular cevaplanmadan yapılan her devrim, prod ortamında patlayan bir havai fişektir.

Sonuçta geriye dönük uyumluluk, kodun hafızasıdır. Hafıza olmadan kimlik olmaz; ama travmayı sonsuza dek tekrar etmek de iyileşme değildir. Usta geliştirici, geçmişin hatasını inkâr etmez; onu belgeler, sınırlar, izole eder ve mümkünse onurlu bir emekliliğe gönderir. Çünkü iyi yazılım yalnızca çalışmakla kalmaz; zaman içinde yaşlanmayı da bilir. Asıl mesele, geçmişin kamburunu geleceğin omurgası sanmamaktır.

Kod Yazarken Zen’e Yakalanmak: Tepki Veren Zihin Neden Daha Akıllı Çalışır?

Programcıların eski bir alışkanlığı vardır: Evreni önce masaya yatırmak, sonra kodlamak. Kullanıcı şuna tıklarsa şu olacak, ağ gecikirse bu olacak, veri gelmezse şöyle kıvrılacağız, buton iki kez basılırsa paniklemeyeceğiz… Kısacası yazılım geliştirici, küçük bir kader tanrısı gibi davranır. Fakat modern sistemler bu tanrıcılık oyununa pek saygı duymaz. Kullanıcı sabırsızdır, ağ kaprislidir, sensörler gevezedir, mikroservisler bazen yogaya gitmiş gibi sessizleşir. İşte burada tepkisel programlama, Zen felsefesine göz kırpar: Her şeyi önceden kontrol etmeye çalışma; olanı duy, akışı anla, uygun anda doğru tepkiyi ver.

Tepkisel programlama, temelde veri akışları ve değişimlerin yayılması üzerine kurulu bir düşünme biçimidir. Bir değer değiştiğinde, ona bağlı olan sistem parçaları da bu değişime otomatik olarak tepki verir. Kullanıcı arayüzlerinde, gerçek zamanlı veri sistemlerinde, oyun motorlarında, finans uygulamalarında veya IoT dünyasında bu yaklaşım hayat kurtarır. Çünkü mesele artık tek bir çizgide yürüyen komutlar değildir; mesele aynı anda akan, çarpışan, birleşen ve bazen kaybolan olay nehirleridir.

Zen’in Kod Editörüne Girişi

Zen, çoğu zaman yanlış anlaşıldığı gibi sadece sakin müzik, bambu ve dağ manzarası değildir. Zen, zihnin olaylara fazladan hikâye eklemeden temas edebilme disiplinidir. Bir şey olur; sen onu görürsün. Gereksiz direnç, beklenti ve kuruntu azalır. Tepkisel programlama da benzer biçimde sisteme şunu söyler: Olayları tek tek kontrol etmeye çalışma, onları akış olarak gözlemle. Değişim geldiğinde, ona bağlanmış yapıların kendi cevabını üretmesine izin ver.

Geleneksel programlama çoğu zaman emir kipindedir: Bunu yap, sonra şunu yap, sonra şu koşulu kontrol et. Tepkisel yaklaşım ise daha çok ilişki kurar: Bu veri değişirse şu görünüm güncellensin; bu sinyal gelirse şu süreç başlasın; bu hata oluşursa akış alternatif kanala yönelsin. Yani sistem, sabit bir planın askeri olmaktan çıkıp çevresine duyarlı bir organizmaya dönüşür.

Kontrol Takıntısından Akış Zekâsına

Buradaki felsefi kırılma önemlidir. Yazılımda da hayatta da kontrol ile uyum aynı şey değildir. Kontrol, geleceği bugünün korkularına göre dondurmaya çalışır. Uyum ise geleceğin belirsizliğini kabul eder ve buna karşı çevik kalır. Reactive Extensions, RxJS, Reactor, Akka Streams veya benzeri araçlar bize yalnızca teknik bir kolaylık sunmaz; zihinsel bir model de verir. Olayları koleksiyon gibi düşünebiliriz, ama zaman boyutu olan koleksiyonlar olarak. Filtreleriz, dönüştürürüz, birleştiririz, geciktiririz, iptal ederiz. Tıpkı bir Zen ustasının düşünceleri bastırmak yerine gelip geçmelerini izlemesi gibi, programcı da olayları yakalamaya değil, onların akışını anlamlı biçimde yönlendirmeye çalışır.

Elbette bu yaklaşım büyülü bir asa değildir. Tepkisel sistemler kötü tasarlanırsa, kod bir anda görünmez iplerle bağlanmış kukla tiyatrosuna dönüşebilir. Kim kime tepki veriyor, hangi akış nerede başlıyor, hata nerede yutuluyor, bellek neden şişiyor; bunlar dikkat ister. Zen burada ikinci dersini verir: Akışa bırakmak, dağınıklık demek değildir. Gerçek sadelik, disiplinli sadeliktir. Bir dere yatağı olmadan suyun akması sel felaketidir. Reaktif tasarımda da sınırlar, abonelik yönetimi, hata stratejileri ve geri basınç gibi kavramlar bu dere yatağını oluşturur.

Olay Olmadan Önce Değil, Olay Olurken Uyanık Olmak

Tepkisel programlamanın en güçlü yanı, bizi şu soruya zorlamasıdır: Sistemim değişime nasıl cevap veriyor? Bu soru teknik olduğu kadar varoluşsaldır. Çünkü modern yazılım, durağan bir makineden çok yaşayan bir çevredir. Kullanıcı davranışı değişir, veri hızı artar, servisler düşer, ekran boyutları çoğalır, beklentiler evrim geçirir. Böyle bir dünyada en zeki sistem, en çok tahmin yapan değil, en iyi uyum sağlayandır.

Zen ile tepkisel programlama arasındaki akrabalık tam da burada parlar. İkisi de geleceği yok saymaz; fakat geleceği mutlak planlarla hapsetmeye çalışmaz. İkisi de dikkati merkeze alır. Programcı için bu dikkat, olay akışlarını doğru modellemek, yan etkileri sınırlamak, sistemi gözlemlenebilir kılmak ve değişime hazırlıklı olmaktır. İnsan içinse bu dikkat, düşünceler, duygular ve olaylar karşısında otomatik tepkiler yerine bilinçli cevaplar üretebilmektir.

Sonuçta iyi reaktif kod, iyi bir Zen pratiği gibi görünür: Gereksiz gürültüyü azaltır, değişimi düşman değil veri kabul eder, tepkiyi panik değil tasarım haline getirir. Belki de geleceğin programcısı yalnızca algoritma bilen kişi değil, akışı okuyabilen kişidir. Çünkü bazen en iyi plan, her şeyi planlamak değil; olay geldiğinde orada, uyanık ve esnek olabilmektir.

Parmağın Ucundaki Tuzak: Sonsuz Kaydırma Zihnimizi Nasıl Rehin Alıyor?

Sonsuz kaydırma masum görünür: Parmağını biraz aşağı indirirsin, dünya yenilenir. Bir fotoğraf, bir tartışma, bir felaket haberi, bir kedi videosu, birinin kusursuz kahvaltısı… Sonra bir tane daha. Ekran, modern çağın büyülü kuyusu gibi dibini asla göstermez. Fakat mesele yalnızca zaman kaybı değildir; burada insan iradesiyle mühendislik arasında sessiz bir bilek güreşi vardır. Ve çoğu zaman, bileğimizi büken şey kendi zayıflığımız değil, zayıflıklarımızı ezbere bilen bir tasarımdır.

Dopamin ödül değil, beklenti kimyasıdır

Popüler kültür dopamini genellikle haz molekülü diye anlatır; oysa daha kurnaz bir oyuncudur. Dopamin, çoğu zaman hazzın kendisinden çok, hazzın geleceğine dair beklentiyi ateşler. Beyin, ödülün ne zaman geleceğini bilmediğinde daha uyanık, daha aç, daha takıntılı hale gelir. Kumar makinelerinin sırrı da budur: Her çekişte kazanmazsın, ama belki bu sefer kazanırsın. Sonsuz kaydırma da dijital kumarhanenin cebimize sığdırılmış halidir. Bir sonraki içerik sıkıcı olabilir; ama belki de seni güldürecek, öfkelendirecek, onaylanmış hissettirecek ya da varoluşsal boşluğunu beş saniyeliğine örtecek şey tam oradadır.

Bu belirsiz ödül düzeni psikolojide değişken oranlı pekiştirme olarak bilinir. İnsan davranışını en güçlü biçimde sabitleyen mekanizmalardan biridir. Çünkü beyin düzenli ödüle alışır, ama düzensiz ödül karşısında tetikte kalır. Sonsuz kaydırma, bu ilkeyi arayüzün dokusuna işler. Ne zaman biteceğini bilmediğin bir akışta, durmak için doğal bir işaret yoktur. Kitapta sayfa biter, filmde jenerik akar, yemekte tabak boşalır. Akışta ise final yoktur. Sadece sen yorulana, suçluluk duyana ya da pil bitene kadar süren bir mikro-trans hali vardır.

Arayüz tarafsız değildir

Bir arayüz yalnızca düğmelerden, ikonlardan ve piksellerden oluşmaz; insan davranışı hakkında verilmiş felsefi kararların görünür yüzüdür. Sonsuz kaydırma, kullanıcıya şunu fısıldar: Seçmene gerek yok, ben senin yerine akıtırım. Burada özgürlük hissi korunur, fakat yön tayini yavaşça algoritmaya devredilir. Kişi hala kendi parmağıyla kaydırdığı için fail olduğunu sanır; oysa sahne, ışık, müzik ve sürprizlerin sırası çoktan ayarlanmıştır.

Jungiyen bir gözle bakarsak, sonsuz akış kolektif gölgenin lunaparkıdır. Bastırılmış meraklarımız, kıskançlıklarımız, öfkemiz, teşhir arzumuz ve onay açlığımız tek bir besleme kanalında sıraya girer. Algoritma bizi tanımaz; bizi ölçer. Ama bazen ölçmek, tanımaktan daha etkilidir. Neye baktığını, nerede durduğunu, hangi öfkeye geri döndüğünü, hangi bedene, hangi başarıya, hangi skandala takıldığını kaydeder. Sonra sana seni geri verir; ama biraz karikatürleştirerek, biraz keskinleştirerek, biraz bağımlı kılarak.

Dikkat ekonomisinin av sahası

Modern platformların çoğu için dikkat, çıkarılan bir madendir. Kullanıcı deneyimi denilen şey bazen gerçekten hayatı kolaylaştırır; bazen de sürtünmeyi azaltarak kaçışı zorlaştırır. Sonsuz kaydırmanın tehlikesi tam burada başlar: Durma anını tasarımdan siler. O küçük karar anı, yani yeter artık deme eşiği, insanın iç disiplin kasını çalıştırdığı yerdir. Bu eşik kaldırıldığında irade sürekli sınanmaz; usulca baypas edilir.

Elbette bütün sorumluluğu tasarımcılara ya da şirketlere yıkmak kolaycı olur. İnsan zihni zaten hikaye, yenilik ve sosyal işaretler arayan bir organdır. Fakat etik soru şudur: Bir zaafı bilmek, onu sömürme hakkı verir mi? Aç birinin önüne yemek koymak başka, doyma hissini devre dışı bırakan bir sofra tasarlamak başkadır. Sonsuz kaydırma ikinciye yaklaşır. Bize içerik sunmaz yalnızca; doygunluk duygumuzu sabote eder.

Çıkış: Parmağı değil, ritmi geri almak

Çözüm teknolojiyi şeytan ilan etmek değil, ritüeli yeniden kurmaktır. Uygulamalara zaman sınırı koymak, bildirimleri kapatmak, akışı gri tona almak, belirli saatlerde sosyal medya kullanmak basit ama etkili hamlelerdir. Daha derin çözüm ise şu soruyu sormaktır: Şu anda gerçekten ne arıyorum? Eğlence mi, kaçış mı, temas mı, uyuşma mı? Çünkü bağımlılık çoğu zaman nesneye değil, nesnenin örttüğü yaraya bağlanır.

Sonsuz kaydırma çağında özgürlük, her içeriğe ulaşabilmek değil; her çağrıya cevap vermemeyi öğrenmektir. Ekran aşağı doğru sonsuza uzanabilir, ama insan ruhu ancak yukarı doğru bakınca genişler. Bazen en radikal tasarım tercihi, parmağı durdurup boşluğun sesini duymaktır. Çünkü o sessizlikte algoritmanın değil, kendimizin ne istediğini ilk kez ayırt ederiz.