अगर आप एक बटन हैं, तो आपका एक ही काम है

बटन का व्यवहार, बफ़रिंग, और “एक ही काम”

  • कई लोगों का तर्क है कि UI द्वारा स्वीकार किए गए हर टैप (दृश्य/हैप्टिक/ऑडियो) के लिए एक बटन को अपना काम एक बार करना चाहिए। प्रतिक्रिया देना लेकिन फिर क्रिया को अनदेखा करना एक मूल विफलता माना जाता है।
  • आलोचित पैटर्न: ऐसे एनिमेशन जो बाद के टैप्स को संभालने से रोक देते हैं, जिससे रोटेशन बटन पर तेज़ मल्टी-टैप आंशिक या पूरी तरह से “गायब” हो जाते हैं।
  • अन्य लोग नोट करते हैं कि बटनों की अक्सर कई ज़िम्मेदारियाँ होती हैं: यह दिखाना कि वे क्या करेंगे, वर्तमान स्थिति को दर्शाना (टॉगल मोड), इनपुट स्वीकार करना, और कभी-कभी प्रगति दिखाना।
  • इस पर बहस कि इनपुट को अनदेखा करना कब स्वीकार्य है: लेआउट बदलावों के दौरान, शिफ्ट हुए नियंत्रणों पर गलत टैप से बचाने के लिए, या विनाशकारी क्रियाओं के बाद।

डीबाउंसिंग, दोहराए गए टैप, और पहुँच-योग्यता

  • कई लोग दुर्घटनावश होने वाले डबल-टैप, कंपकंपी, या “ओवर-क्लिक” को वास्तविक समस्याएँ मानते हैं; कुछ उपयोगकर्ता चाहते हैं कि इरादा “लॉक” हो जाने के बाद दोहराव अनदेखे किए जाएँ।
  • अन्य इसका प्रतिवाद करते हैं कि यदि आप टैप्स को डीबाउंस/अनदेखा करते हैं, तो आपको उनके लिए सकारात्मक प्रतिक्रिया नहीं देनी चाहिए।
  • सुझाव:
    • किसी इन‑फ्लाइट क्रिया के पूरा होने तक बटन को निष्क्रिय करें या उसे दृश्य रूप से “लैच” करें।
    • iOS के “Ignore Repeats” जैसी सिस्टम-स्तरीय विकल्प दें, बजाय हर ऐप में अलग-अलग heuristics जोड़ने के।
    • त्रुटि स्थितियों (जैसे, गलत पासकोड) को ऐसे कड़े व्यवधान मानें जो बफ़र किया गया इनपुट साफ़ कर दें।

एनिमेशन: मूल्य बनाम हानि

  • यह मज़बूत भावना है कि आधुनिक iOS/Android में एनिमेशन का अत्यधिक उपयोग होता है, जिससे UI धीमा या अनुत्तरदायी लगता है और कभी-कभी इनपुट भी ब्लॉक हो जाता है।
  • कुछ लोग अभी भी वहाँ मूल्य देखते हैं जहाँ एनिमेशन यह स्पष्ट करता है कि क्या बदला है (उदाहरण के लिए, किसी चित्र को घूमते देखना अभिविन्यास को समझने में मदद करता है)।
  • प्रस्तावित सिद्धांत:
    • एनिमेशन इंटरप्टिबल होने चाहिए और कभी भी लॉजिक को गेट नहीं करना चाहिए।
    • वे फ़ंक्शन का समर्थन करने के लिए हैं (स्पष्टता, वास्तविक विलंब को छिपाना), अपने आप में उद्देश्य नहीं।
    • वैश्विक “reduce/disable animations” विकल्प प्रदान करें।

व्यापक UX और डिज़ाइन थीम

  • फ्लैट UI और लगातार रीडिज़ाइन को लेकर शिकायतें: नियंत्रणों को सामग्री से अलग पहचानना कठिन, कम कॉन्ट्रास्ट, उपयोगकर्ताओं को UIs फिर से सीखने के लिए मजबूर होना।
  • प्रत्युत्तर: अगर मूल affordances (स्पष्ट बटन, प्रतिक्रिया, कॉन्ट्रास्ट, निरंतरता) का सम्मान किया जाए तो फ्लैट UI अच्छी तरह काम कर सकते हैं।
  • पुराने सॉफ़्टवेयर और सरल widget sets की प्रशंसा की जाती है क्योंकि वे बाधाओं के तहत अधिक तेज़ और अधिक विश्वसनीय होते हैं।

हार्डवेयर और embedded उपमाएँ

  • भौतिक बटन debouncing, race conditions, और खराब input handling ने कैसे वास्तविक दुनिया की विफलताएँ पैदा की हैं, इस पर लंबा उप-थ्रेड।
  • बार-बार दोहराया गया विषय: प्रतिक्रिया और वास्तविक स्थिति के बीच सख़्त coupling आवश्यक है; अन्यथा उपयोगकर्ता इंटरफ़ेस पर भरोसा नहीं कर सकते।