Skip to article
Görkem Yıldız, home
Available for October

Defensive Tasarım: Kullanıcı Hatalarını Öngören ve Önleyen UI/UX Stratejileri

Kullanıcılarınız hata yaptığında ne olur? Bu yazıda, en kötü senaryoları bile kusursuz bir deneyime dönüştüren defensive tasarım yaklaşımını inceliyoruz.

· 4 min readTürkçe

Merhaba arkadaşlar, bu makalede genellikle göz ardı edilen ama aslında kullanıcı deneyiminin bel kemiğini oluşturan bir konudan bahsedeceğim: Defensive Tasarım. Hepimiz bir formu doldururken girdiğimiz tüm bilgilerin tek bir tıklamayla silindiği veya anlamsız bir hata koduyla karşılaştığımız o sinir bozucu anları yaşamışızdır. İşte bu gibi durumların yaşanmaması için bir kalkan görevi gören bu yaklaşımı masaya yatıracağız.

Eğer bu alana yeni başlıyorsanız veya temel bilgilerinizi tazelemek isterseniz, Temel Tasarım Prensipleri yazıma da göz atmanızı öneririm. Şimdi, kullanıcıyı nasıl koruyacağımızı öğrenelim.

Defensive Tasarım Nedir?

Defensive tasarım, en basit tanımıyla, kullanıcıların hata yapmasını engellemeye, hata yaptıklarında ise onlara nazikçe yol göstermeye odaklanan bir tasarım stratejisidir. Yani sadece "mutlu sonla" biten senaryoları değil, olası tüm olumsuz senaryoları da düşünerek tasarım yapmaktır. Amacımız, kullanıcının kafasının karışmasını, hayal kırıklığına uğramasını ve en sonunda uygulamayı terk etmesini önlemektir.

Burada kilit nokta proaktif olmaktır. Sorun ortaya çıktıktan sonra bir yara bandı yapıştırmak yerine, sorunun hiç ortaya çıkmamasını sağlamaya çalışırız. Bu, kullanıcıya aptal muamelesi yapmak değil, tam tersine onlara saygı duymak ve yolculuklarını olabildiğince pürüzsüz hale getirmektir.

Neden Bu Kadar Önemli?

İyi bir defensive tasarım stratejisi, sıradan bir arayüzü unutulmaz bir deneyime dönüştürebilir. Peki ama neden bu kadar kritik?

  • Güven Oluşturur: Kullanıcı, uygulamanın kendisini düşündüğünü ve olası hatalara karşı koruduğunu hissettiğinde markaya olan güveni artar.
  • Bilişsel Yükü Azaltır: Belirsizlikleri ortadan kaldırarak ve net yönlendirmeler sunarak kullanıcının düşünme ve karar verme yükünü hafifletir. Bu konuyla ilgili daha fazla detayı Bilişsel Yük ve UI/UX Tasarımı yazımda bulabilirsiniz.
  • Terk Etme Oranını Düşürür: Karşılaştığı ilk engelde pes edip giden kullanıcı sayısını ciddi oranda azaltır. Özellikle e-ticaret siteleri için bu, doğrudan ciroya etki eden bir faktördür.
  • Desteğe Olan İhtiyacı Azaltır: Kullanıcılar sorunlarını kendi başlarına çözebildiklerinde, müşteri hizmetleri departmanınızın yükü de azalır.

Etkili Defensive Tasarım Stratejileri

Peki, bu kalkanı nasıl inşa edeceğiz? İşte size günlük çalışmalarınızda hemen uygulayabileceğiniz bazı temel defensive tasarım stratejileri.

1. Hataları Proaktif Olarak Önleyin

En iyi hata mesajı, hiç gösterilmeyen hata mesajıdır. Kullanıcıyı hataya sürüklemek yerine, doğru yolda kalmasını sağlayın.

  • Kısıtlamalar Kullanın: Gerekli alanlar doldurulmadan "Gönder" butonunu pasif hale getirin. Bu, kullanıcının eksik bilgiyle formu göndermesini en başından engeller.
  • Akıllı Varsayılanlar Sunun: Ülke seçimi gibi alanlarda kullanıcının konumuna göre varsayılan bir değer atayın. Bu, hem zamandan kazandırır hem de olası bir hatayı önler.
  • Affordance ve Signifier'ları Doğru Kullanın: Bir düğmenin tıklanabilir olduğunu, bir metin alanının ise yazı girilebilir olduğunu görsel olarak belli edin. Bu konuda daha fazla bilgi için Görünmez Kılavuzlar yazıma bakabilirsiniz.
  • Formatlamaya Yardımcı Olun: Telefon numarası veya IBAN gibi verileri kullanıcı girdikçe otomatik olarak formatlayın. Bu, hem görsel olarak düzen sağlar hem de yanlış formatta girişleri engeller.

2. Anlaşılır ve Yardımcı Geri Bildirimler Sağlayın

Tüm önlemlere rağmen kullanıcı yine de hata yapabilir. İşte bu noktada onlara nasıl yaklaştığınız çok önemlidir.

  • İnsan Gibi Konuşun: "Error 500: NullReferenceException" yerine, "Sunucuya bağlanırken bir sorun oluştu. Lütfen birkaç dakika sonra tekrar deneyin." gibi net ve anlaşılır bir dil kullanın. Mikro-kopyanın gücü burada devreye girer.
  • Sorunu ve Çözümü Belirtin: Sadece neyin yanlış olduğunu değil, kullanıcının bunu nasıl düzeltebileceğini de söyleyin. Örneğin, "Şifre en az 8 karakter olmalı." demek yerine, "Şifreniz çok kısa. Lütfen en az 8 karakterden oluşan bir şifre belirleyin." demek çok daha yol göstericidir.
  • Hatanın Yerini Gösterin: Uzun bir formda hata varsa, sadece en üste "Formda hatalar var" yazmak yerine, hatalı alanı belirgin bir renkle işaretleyin ve hatayı tam o alanın yanına yazın.

3. Kullanıcıya Bir Güvenlik Ağı Sunun

Kullanıcıların geri dönülmez hatalar yapma korkusu olmadan arayüzünüzde rahatça gezinebilmelerini sağlayın.

  • Onay Mekanizmaları Ekleyin: Özellikle "Sil", "Vazgeç" veya "Hesabı Kapat" gibi kritik ve geri döndürülemez işlemler için bir onay kutusu (modal) gösterin. "Bu öğeyi silmek istediğinizden emin misiniz?" gibi bir soru, birçok kazayı önleyebilir.
  • 'Geri Al' (Undo) Seçeneği Sunun: Bir e-postayı sildikten veya bir dosyayı arşivledikten sonra kısa bir süreliğine "Geri Al" seçeneği sunmak, kullanıcı için hayat kurtarıcı olabilir. Bu, onlara kontrolün kendilerinde olduğu hissini verir.
  • Otomatik Kaydetme: Uzun metinler yazılan alanlarda (blog yazısı, e-posta taslağı vb.) içeriği periyodik olarak otomatik kaydedin. Bu, tarayıcının çökmesi veya internetin gitmesi gibi durumlarda kullanıcının emeğini korur.

Son Söz

Kısacası, defensive tasarım bir lüks değil, kullanıcı odaklı her projenin temel bir gerekliliğidir. Mükemmel bir arayüz tasarlamak sadece her şey yolunda gittiğinde değil, işler ters gittiğinde de kullanıcıya kendini güvende ve desteklenmiş hissettirmektir. Unutmayın, kullanıcıyı suçlamak yerine onlara rehberlik eden, hatalarını bir felaket gibi değil, düzeltilebilir küçük adımlar olarak sunan tasarımlar her zaman kazanır. Bir sonraki projenizde, "Kullanıcı burada ne gibi bir hata yapabilir?" sorusunu kendinize sormayı unutmayın. Bu basit soru, tasarımınızın kalitesini bambaşka bir seviyeye taşıyacaktır.

Görkem Yıldız

Helmlab, a family of perceptual color spaces for UI design systems (arXiv:2602.23010)

I'm Görkem, a UI/UX designer and engineer based in Ankara, leading the design team at [PushBrands](https://pushbrands.app/en), a Saudi UGC marketplace. I've spent over eight years designing and building digital products, and lately the systems underneath them: Helmlab, a color space trained on 64,000 human color judgments that now ships in Color.js; open-source tools for icons, sound and the terminal; and, as Orbit Design, Figma plugins with more than 100,000 users.

Book a call

Talk about color, design systems or Helmlab.

Saturdays 19:00–21:00 Istanbul time, on Google Meet.

Book a call