web-gelistirme-sc.com

Aşamalı Doğrulama ve İfşa

Aşamalı geçerliliğin bir örneğini bulmaya çalışıyorum. Görsel bir editör için kullanıcı arayüzümüz var, burada kullanıcının boyutları piksel veya yüzde olarak belirtmek gibi şeyler yapıyor.

Düzenleyici özellikleri sekmeler halinde bulunur, bu nedenle tüm alanlar aynı anda görünmez. Bu kullanıcı arayüzünde nasıl ve nasıl doğrulama yapılacağımızı tartışıyoruz.

Ben şu bakış açısıyla gelirim: a) Doğrulama yararlıdır, çünkü kullanıcının yazılımın beklentilerini öğrenebileceği ve gerekli olduğunda "daha iyi olabileceği" bir iletişim kanalı oluşturacaktır. b) Giriş alanlarındaki doğrulama hatalarını doğrudan belirtmek (başka bir yerde bir özet kullanılsın veya kullanılmasın) her zaman daha iyidir, böylece kullanıcılar neyin değiştirilmesi gerektiğine dair görsel bir ipucu elde eder.

En büyük saygıdan başka bir şeyim olmayan meslektaşım aynı fikirde değil. Mantığı şu şekildedir: a) Belirli giriş türlerini önlemek ya da bazı girişlerde geçersizse daha uygun bir değere değiştirmek daha uygun olacaktır. Örneğin, birisi 100'den büyük bir yüzde değeri kullanırsa, kullanıcı arabirimi, kaybolan bir odak olayında değeri 100'e sıfırlar. b) Bir sekme ortamında olduğumuz için, bazı hatalar kullanıcı tarafından görülmez. Doğrulama hatalarının "çok fazla" olması muhtemel olduğundan, bir özet kullanmak boşuna olur.

Ben bu konuda bir çözüm geçersiz değerlerin aşamalı bir açıklama olabilir düşündüm. Bir kullanıcı yanlış olabilecek değerleri girerken bir tür özetle işaretlenir. Özet, kullanıcıların söz konusu alanlara görünür olmadan da gitmelerine olanak tanır.

Keşke orijinal bir insan olsaydım ama eminim burada emsaller var. Sorularım aşağıdaki gibidir:

  1. Benim veya meslektaşımın bakış açılarına eklenecek bir şey var mı?

  2. Aşamalı doğrulama yapan karmaşık girişli böyle bir kullanıcı arayüzü örneği var mı?

11
David in Dakota

Şu anda sekme tabanlı olmasa da bir masaüstü uygulaması için aynı sorunla uğraşıyoruz. Böyle bir yaklaşımı deneyebilirsiniz:

alt text

kullanıcının dikkatini gerektiren bir şey varsa küçük bir simge görünür. Belki de iki renk kullanın: uyarılar için sarı ve kullanıcı daha ileri gitmeden önce zorunl düzeltilecek şeyler için kırmızı.

7
Hisham

Bu karmaşık durumda yapabileceğiniz en iyi şey, olabildiğince fazla kullanıcı arayüzünün bir prototipini oluşturmak ve ne olacağını görmek için kullanıcı tabanınızda test edin . HTML'i jQuery UI gibi bir şeyle birlikte hızlı bir şekilde kullanıma hazır ve hızlı bir şekilde teste hazır hale getirmek için kullanabilirsiniz.

Sekme sisteminiz karmaşık geliyor, bu yüzden basitleştirmek için birkaç şey önermek zorundayım:

  • Durumun yalnızca kullanıcının şu anda görebildiği özellikler için kaydedilebilmesi için her sekmede "uygula" düğmeleri oluşturun. Bu durum geçersiz bir uygulama durumuna yol açacaksa, sekmelerinizi, kullanıcıların can birbirinden bağımsız olarak kaydedilecek özelliklere sahip olacak şekilde yeniden tasarlayın.
  • Bunu yapamazsanız, "geçersiz" simgesine sahip sekmeleri ve söz konusu sekmedeki özelliklerin dikkat edilmesi gerektiğini belirten bir rengi vurgulayabilirsiniz. Herhangi bir sekme geçersiz olsa da, "uygula" düğmesi devre dışı bırakılır. Hala hatalar olduğunu belirten bir mesaj görüntülemek için tıklanırsa düğmeye bir bildirim eklemeyi düşünebilirsiniz. Neyin yanlış olduğuna dair özetler, kapsamlı bir özetin aksine her sekmede görüntülenecektir.
  • Global bir özet işe yarayabilir, ancak bunu koymak için hemen hemen açık bir yer olmayacak gibi görünüyor ve bu durumda olmadığı sürece kullanıcılar fark edecek mi?
  • Özellikler nasıl gruplanır? Muhtemelen işlevsel mi? Onlara farklı bir açıdan bakmayı deneyin, örneğin kullanım olasılığı gibi. Bu, Microsoft'un Office 2007 ürünleri için Şerit tasarımına yaklaşımının bir parçasıdır. Sekmelerinizi, çoğu kullanıcının yalnızca ilk veya hemen görünür sekmedeki özelliklerle uğraşması gereken şekilde tasarlayabilirsiniz ve diğer sekmeler "gelişmiş" veya bağlamsal olarak kabul edilebilir.

Sonuçta, ben zaten bunu söyledim, tasarımınızı test edin! :-)

İşleme hataları giderildikçe, benim deneyimim, belirli girdileri önlerseniz kullanıcıların kafasının karışacağıdır. Örneğin, bir giriş alanından sadece sayılara izin verildiği açık değilse, ancak yine de başka karakterlere izin vermiyorsanız, bu kullanıcı için sinir bozucu olacaktır - bunu onlara yardım etmeye çalışan akıllı bir form olarak deneyimlemezler . Bu yüzden, olayları otomatik olarak düzeltmek için giriş algılama ve giriş algılama yolunda ilerlemeye karar verirseniz, net mikrokopi kullanmanızı öneririz.

Ama bütün bunlar fıkra - bu alanda hiçbir araştırma yapmadım. Sözümü bunun yerine almak yerine, Luke Wroblewski'nin kitabına bakın, Web Formu Tasarımı: Boşlukları Doldurma ve bunun gibi durumlarla nasıl başa çıkılacağı hakkında bazı yararlı bilgiler için hata işleme konusundaki araştırmasına bakın ( Örneğin, bu Apple'ın ödeme formunun yeniden tasarlanmasına ilişkin yayın hataları nasıl ayrıntılı olarak ele aldıklarını tartışır).

4
Rahul

Geçenlerde benzer bir sorunla karşılaşan bir proje üzerinde çalıştım. Geçen yılki " Karmaşıklığı En Aza İndiriyor " makalemde nasıl çözdüğümüzün bir ekran görüntüsünü görebilirsiniz.

1
Tyler Tate

Belki bir çok hatanın özetinin ve bir çeşit çalışmanın kullanıldığı bir durum düşündüm.

Herhangi bir IDE gibi Visual Studio, kod yazarken herhangi bir statik analiz aracı oluştururken veya kullanırken sonsuz miktarda hata potansiyeli vardır. Genellikle düzinelerce veya yüzlerce dosya vardır ve bunların çoğu aynı anda bir veya iki tane görünen sekmeler,

Daha sonra hatalar, ana kullanıcı arayüzünün altında kayan (varsayılan olarak) kaydırılabilir yeniden boyutlandırılabilir bir listede listelenir. Bu, bir hata sıkışır kapanmaz yapılabilir. Bir hata tıklandığında veya çift tıklandığında, doğru yere götürür ve düzeltmek için odaklanır - ve artık geçerli olmadığında hata listeden kaybolur.

(Gerçekte, bu hataların çoğunun yeniden değerlendirilmesi için kullanıcı tarafından başlatılan bir işlem gerekir, ancak bunu arka planda yapan ve kodu düzenlerken hata listesini dinamik olarak güncelleyen çok sayıda statik analiz eklentisi vardır) .

0
Oskar Duveborn

a) Örneğin, birisi 100'den büyük bir yüzde değeri kullanırsa, kullanıcı arabirimi, kaybolan bir odak olayında değeri 100'e sıfırlar.

İyi bir nokta, ama sonra emin olmanız gerekir:

  1. Kullanıcı girdisinin düzeltildiğini fark eder.
    Örneğin, değeri düzeltirseniz alanın bir saniye yanıp sönmesini sağlayın.

  2. Kullanıcının gerçekten ne anlama geldiğini makul bir şekilde tahmin edebilirsiniz.
    Örneğin, dün güreştiğim renk seçiciyi ele alalım. Başka bir siteden bunlarla eşleşmesi için birkaç öğe istedim, bu yüzden kendime onaltılık değerleri aldım ve kopyaları küçük geçici metin kutularına yapıştırdım. İlk değer #202040 İdi, ancak bazı nedenlerden dolayı #20204 Olarak derhal "sabit" olan #020204 Yapıştırdım. Yaptığım ikinci değer de #BCD (#BBCCDD İçin kısayol) idi ve bu da ... #000BCD İçin "sabit" idi. İç çekmek.
0
badp