Termolab bir ısı sayacı muayene laboratuvarı. Akreditasyonu var, kapsamı belli, kimin ne zaman başvuracağı mevzuatla tanımlı.
Site yenilenirken en kritik parça ana sayfa değildi — talep formuydu. Çünkü form o işin kapısı. Yanlış doldurulan her talep bir telefon görüşmesi ve iki gün gecikme demek.
Yanlış soru
Eski formda ilk soru şuydu:
Muayene tipi: ( ) İlk muayene
( ) Periyodik muayene
( ) Şikâyet muayenesi
( ) Stok muayenesi
Doğru bir soru. Ama yanlış kişiye soruluyor. Bir site yöneticisi ya da tesisatçı, elindeki sayacın hangi kapsama girdiğini bilmek zorunda değil. O sadece “bu sayacın zamanı geldi mi?” diye merak ediyor.
İyi bir form, kullanıcıya bildiği şeyi sorar; bilmediği şeyi hesaplar.
Bildiği şey: üretim yılı
Sayacın üstünde iki şey yazıyor: tipi ve üretim yılı. İkisi de okunabiliyor. Gerisi aritmetik.
Sayaç 2021’de üretildiyse 2025 Ocak–Şubat’ta muayeneye girer. Kullanıcı “2021” yazar, sistem “süresi geçmiş” der ve kutu kırmızıya döner.
Beş adımın sonunda kullanıcı hiçbir mevzuat terimi seçmemiş oluyor. Sistem doğru kapsamı kendisi belirliyor ve üç durumdan birini gösteriyor:
- süresi geçmiş — kırmızı, “hemen başvurun”
- yaklaşıyor — sarı, “pencereniz açılıyor”
- zamanı değil — yeşil, “bir sonraki muayene şu yıl”
Üçüncüsü özellikle önemli: sisteme hayır dedirtebilmek. Gereksiz başvuruyu kapıda eleyen bir form, laboratuvarın da işini kolaylaştırıyor.
Mevzuat koda gömülmez
Bu hesaplar bir if merdiveni olarak yazılmaya çok müsait. Yazmadım.
Sebep: bu kurallar veriden çıkmıyor, politikadan geliyor. Periyot beş yıl, çünkü yönetmelik öyle diyor. Yarın dört olabilir. Akreditasyon kapsamına yeni bir nominal çap girebilir.
Kural koda gömülürse her değişiklik bir sürüm demek. Tabloya yazılırsa bir satır güncellemesi.
Ölçüm veridir: sayacın ne gösterdiği. Politika karardır: ne zaman muayene edileceği. İkincisi asla birincisinden türetilmez. Bu iki şeyi aynı katmana koymak, faturalama tarafında da tekrar tekrar gördüğüm bir hata.
Belgeler misafir değil, ev sahibi
Akredite bir kuruluşun sitesinde belgeler dekorasyon değil, ziyaretçinin oraya gelme sebebi. Yirmi bir PDF — on akreditasyon/yetki belgesi, on bir mevzuat metni — hepsi yerelde barındırıldı, dış bağlantı verilmedi.
Gerekçe: dış bağlantı bir gün kırılır. Kurumsal belgeleri kontrol edemediğin bir sunucunun ayakta kalmasına bağlamak iyi fikir değil.
Ve küçük bir hata
Sayaç animasyonu akreditasyon yılını yerel biçimlendirmeyle yazıyordu: 2021 → “2.021”. Binlik ayracı bir yıl için anlamsız. Animasyonu kaldırdım.
Bir sayıyı hareket ettirmek, onu yanlış göstermeye değmez. Sayıyı biçimlendirirken miktar mı tanımlayıcı mı olduğunu bilmek gerekiyor.
Ne öğrendim
Form tasarımı alan sayısını azaltmakla ilgili değil. Karar sayısını azaltmakla ilgili.
Kullanıcıdan beş veri alıp üç kararı onun yerine vermek, ondan üç veri alıp beş karar sordurmaktan iyidir — form daha uzun görünse bile.