इंटरेक्शन डिज़ाइन पैटर्न

इंटरेक्शन डिज़ाइन पैटर्न ह्यूमन कंप्यूटर इंटरेक्शन के संदर्भ में लागू डिजाइन पैटर्न्स हैं, जो ग्राफिकल यूज़र इंटरफ़ेस  के लिए सामान्य डिज़ाइन का वर्णन करते हैं।

एक डिज़ाइन पैटर्न एक सामान्य डिज़ाइन समस्या के समाधान का दस्तावेजीकरण करने का एक औपचारिक तरीका है। यह विचार वास्तुकार क्रिस्टोफर अलेक्जेंडर द्वारा शहरी नियोजन और भवन वास्तुकला में उपयोग के लिए पेश किया गया था और इसे शिक्षण और शिक्षाशास्त्र, विकास संगठन और प्रक्रिया, और सॉफ्टवेयर वास्तुकला और डिजाइन सहित कई अन्य विषयों के लिए अनुकूलित किया गया है। इस प्रकार, इंटरेक्शन डिज़ाइन पैटर्न एक विशिष्ट संदर्भ में सामान्य प्रयोज्यता या पहुंच संबंधी समस्याओं के समाधान का वर्णन करने का एक तरीका है। वे इंटरेक्शन मॉडल का दस्तावेजीकरण करते हैं जो उपयोगकर्ताओं के लिए इंटरफ़ेस को समझना और उनके कार्यों को पूरा करना आसान बनाता है।

इतिहास
पैटर्न की उत्पत्ति क्रिस्टोफर अलेक्जेंडर द्वारा एक डिज़ाइन पैटर्न (वास्तुकला) के रूप में हुई। पैटर्न सर्वोत्तम प्रथाओं का वर्णन करने, अच्छे डिज़ाइन समझाने और अनुभव प्राप्त करने के तरीके हैं ताकि अन्य लोग इन समाधानों का पुन: उपयोग कर सकें।

कंप्यूटर विज्ञान में डिज़ाइन पैटर्न (कंप्यूटर विज्ञान) का उपयोग सॉफ़्टवेयर इंजीनियरों द्वारा वास्तविक डिज़ाइन प्रक्रिया के दौरान और दूसरों को डिज़ाइन संप्रेषित करते समय किया जाता है। डिज़ाइन पैटर्न (पुस्तक)|डिज़ाइन पैटर्न: पुन: प्रयोज्य ऑब्जेक्ट-ओरिएंटेड सॉफ़्टवेयर के तत्व प्रकाशित होने के बाद कंप्यूटर विज्ञान में डिज़ाइन पैटर्न को लोकप्रियता मिली। तब से एक पैटर्न समुदाय उभरा है जो वास्तुशिल्प शैलियों और ऑब्जेक्ट-ओरिएंटेड फ्रेमवर्क सहित समस्या डोमेन के लिए पैटर्न निर्दिष्ट करता है। प्रोग्रामिंग कॉन्फ्रेंस की पैटर्न भाषाएँ (वार्षिक, 1994-) कार्यवाही में डोमेन-विशिष्ट पैटर्न के कई उदाहरण शामिल हैं।

इंटरेक्शन डिज़ाइन के लिए एक पैटर्न भाषा दृष्टिकोण लागू करने का सुझाव सबसे पहले नॉर्मन और ड्रेपर की पुस्तक यूजर सेंटर्ड सिस्टम डिज़ाइन (1986) में दिया गया था। ऐप्पल कंप्यूटर के मैकिन्टोश ह्यूमन इंटरफ़ेस दिशानिर्देश अपने अनुशंसित पढ़ने में क्रिस्टोफर अलेक्जेंडर के कार्यों को भी उद्धृत करते हैं।

पुस्तकालय
अलेक्जेंडर ने एक पैटर्न भाषा की कल्पना एक संरचित प्रणाली के रूप में की थी जिसमें पैटर्न के बीच शब्दार्थ संबंध एक संपूर्ण बनाते हैं जो इसके हिस्सों के योग से अधिक होता है, ठीक उसी तरह जैसे शब्दों के बीच व्याकरणिक संबंध भाषा को सार्थक बनाते हैं। जबकि पैटर्न के कुछ संग्रह एक भाषा बनाने के लिए आवश्यक संरचनात्मक संबंध बनाने का प्रयास करते हैं, वहीं कई अन्य केवल पैटर्न का एक संयोजन हैं (और इस प्रकार अधिक उचित रूप से पैटर्न लाइब्रेरी कहलाते हैं।)

मोबाइल इंटरेक्शन पैटर्न लाइब्रेरी
स्मार्टफोन और टैबलेट जैसे मोबाइल उपकरणों की लोकप्रियता ने मोबाइल इंटरेक्शन डिज़ाइन पैटर्न की लाइब्रेरी की आवश्यकता को जन्म दिया है।

यह आवश्यकता निम्न से प्रेरित है:
 * मोबाइल उपकरणों पर उपयोगकर्ता के व्यवहार और इंटरैक्शन में अंतर, जैसे स्वाइप और टैप जेस्चर, डेस्कटॉप जीयूआई पर इंटरेक्शन, जो माउस से संचालित होता है
 * मोबाइल और डेस्कटॉप डिवाइस के बीच भौतिक विशेषताओं में अंतर। स्क्रीन का आकार, टच स्क्रीन, आदि।
 * मोबाइल ओएस द्वारा अनुशंसित डिज़ाइन दिशानिर्देश उदा. आईओएस, एंड्रॉइड

तत्व
डिज़ाइनरों और डेवलपर्स के लिए उपयोगी होने के लिए जो पैटर्न उनका उपयोग करेंगे, उन्हें खोजने योग्य और पढ़ने योग्य होना चाहिए।

सामान्य तत्व
हालाँकि पैटर्न विवरण कुछ हद तक भिन्न होते हैं, कई पैटर्न लाइब्रेरी में कुछ सामान्य तत्व शामिल होते हैं:


 * पैटर्न नाम: एक स्पष्ट और वर्णनात्मक नाम चुनने से लोगों को पैटर्न ढूंढने में मदद मिलती है और डिज़ाइन चर्चा के दौरान टीम के सदस्यों के बीच स्पष्ट संचार को बढ़ावा मिलता है।
 * पैटर्न विवरण: क्योंकि वन-विंडो ड्रिलडाउन जैसे संक्षिप्त नाम कभी-कभी पैटर्न का वर्णन करने के लिए पर्याप्त नहीं होते हैं, स्पष्टीकरण की कुछ अतिरिक्त पंक्तियाँ (या एक कैनोनिकल स्क्रीनशॉट) यह समझाने में मदद करेंगी कि पैटर्न कैसे काम करता है।
 * समस्या कथन: उपयोगकर्ता-केंद्रित भाषा में लिखा गया, यह बताता है कि उपयोगकर्ता क्या हासिल करना चाहता है या अंतिम उपयोगकर्ता के लिए चुनौती क्या है।
 * कब उपयोग करें: उपयोग का संदर्भ डिज़ाइन पैटर्न का एक महत्वपूर्ण घटक है। यह तत्व लोगों को उन स्थितियों को समझने में मदद करता है जब डिज़ाइन पैटर्न लागू होता है (और जब नहीं होता है।)
 * समाधान: समाधान में यह बताया जाना चाहिए कि समस्या को कैसे हल किया जाए, और इसमें अनुदेशात्मक जांच सूची, स्क्रीनशॉट, या कार्रवाई में पैटर्न का प्रदर्शन करने वाले लघु वीडियो भी शामिल हो सकते हैं।
 * तर्क: पैटर्न क्यों काम करता है इसका कारण बताने से समाधान मजबूत होगा, हालांकि समय की कमी के कारण डेवलपर्स इस स्पष्टीकरण को नजरअंदाज करना पसंद कर सकते हैं।
 * उदाहरण: प्रत्येक उदाहरण दिखाता है कि पैटर्न को सफलतापूर्वक कैसे लागू किया गया है। इसके साथ अक्सर एक स्क्रीनशॉट और एक संक्षिप्त विवरण होता है।
 * टिप्पणियाँ: पैटर्न के उपयोग पर चर्चा करने के लिए टीम के सदस्यों के लिए जगह शामिल करने से एक सक्रिय संसाधन बनाए रखने में मदद मिलती है और टीम व्यस्त रहती है।

वैकल्पिक तत्व
पैटर्न लाइब्रेरी में वैकल्पिक तत्व भी शामिल हो सकते हैं, जो उनका उपयोग करने वाली टीम की जरूरतों पर निर्भर करता है। इनमें शामिल हो सकते हैं:
 * कार्यान्वयन विशिष्टताएँ: फ़ॉन्ट आकार, पिक्सेल आयाम, रंग और संदेशों और लेबलों के लिए शब्दों के बारे में विस्तृत जानकारी वाला एक स्टाइल गाइड डेवलपर्स के लिए सहायक हो सकता है।
 * प्रयोज्य अनुसंधान: प्रयोज्य परीक्षण या अन्य उपयोगकर्ता प्रतिक्रिया से किसी भी सहायक अनुसंधान को लिया जाना चाहिए। इसमें डेवलपर्स, ग्राहक सेवा या बिक्री टीम की प्रतिक्रिया भी शामिल हो सकती है।
 * संबंधित पैटर्न: पैटर्न लाइब्रेरी में समान पैटर्न शामिल हो सकते हैं, या इसे माता-पिता और बच्चे के पैटर्न के पदानुक्रम में व्यवस्थित किया जा सकता है।
 * समान दृष्टिकोण: चूंकि इस समस्या के कई संभावित समाधान होने की संभावना है, टीमें समान विकल्पों को पकड़ने के लिए एक जगह चाह सकती हैं।
 * स्रोत कोड: यदि कोड पुन: उपयोग के लिए पर्याप्त मॉड्यूलर है, तो इसे लाइब्रेरी में भी शामिल किया जा सकता है।

डिज़ाइन पैटर्न का उपयोग करने के कारण
इंटरेक्शन डिज़ाइन पैटर्न का उपयोग करने के लाभों में शामिल हैं:
 * नौसिखियों को कुछ सर्वोत्तम अभ्यास और सामान्य दृष्टिकोण सिखाना
 * कई उपयोगों और परिदृश्यों में डिजाइनरों के सामूहिक ज्ञान को कैप्चर करना
 * टीमों को एक समान भाषा देना, विभिन्न शब्दावली से उत्पन्न होने वाली गलतफहमियों को कम करना
 * डिज़ाइन और विकास जीवनचक्र में समय और लागत को कम करना
 * उपयोगी डिज़ाइनों को कम से कम प्रतिरोध का मार्ग बनाना
 * पहिए को दोबारा बनाने में बर्बाद होने वाले समय को हटा दें
 * यह सुनिश्चित करना कि उपयोगकर्ताओं को किसी एप्लिकेशन या सेवा के भीतर सुसंगत और पूर्वानुमानित अनुभव मिले

डिज़ाइन दिशानिर्देशों पर लाभ
दिशानिर्देश आम तौर पर आवश्यकताओं का वर्णन करने के लिए अधिक उपयोगी होते हैं जबकि पैटर्न उन लोगों के लिए उपयोगी उपकरण होते हैं जिन्हें आवश्यकताओं को विशिष्ट सॉफ़्टवेयर समाधानों में अनुवाद करने की आवश्यकता होती है। कुछ लोग डिज़ाइन दिशानिर्देशों को इंटरेक्शन डिज़ाइन पैटर्न का एक उदाहरण मानते हैं क्योंकि वे इंटरेक्शन डिज़ाइन में अनुभव को कैप्चर करने का सामान्य दृष्टिकोण भी हैं। हालाँकि, इंटरेक्शन डिज़ाइन पैटर्न में आमतौर पर डिज़ाइन दिशानिर्देशों की तुलना में निम्नलिखित फायदे होते हैं:


 * 1) सार दिशानिर्देश, जैसे श्नाइडरमैन द्वारा इंटरफ़ेस डिज़ाइन के आठ सुनहरे नियम, यह सुझाव नहीं देते हैं कि कई इंटरैक्शन डिज़ाइन पैटर्न जैसी समस्या को कैसे हल किया जाए, और अंतःविषय संचार के लिए इसका उपयोग नहीं किया जा सकता है। इसके अलावा, दिशानिर्देश यह स्पष्टीकरण नहीं देते कि कोई विशेष समाधान क्यों काम करता है।
 * 2) ठोस दिशानिर्देश, जैसे मैकिन्टोश ह्यूमन इंटरफ़ेस दिशानिर्देश, एक विशिष्ट इंटरफ़ेस के अनुरूप होते हैं, और इसलिए अन्य इंटरफ़ेस (विशेष रूप से गैर-मैकिंटोश इंटरफ़ेस) पर लागू होने पर उतने प्रभावी नहीं होते हैं।
 * 3) दिशानिर्देशों के साथ अन्य समस्याएं यह हैं कि वे बहुत अधिक हैं जिससे डिजाइनरों के लिए सही दिशानिर्देश लागू करना मुश्किल हो जाता है। इसके अलावा दिशानिर्देश पूर्ण वैधता मानते हैं जबकि आमतौर पर उन्हें केवल एक विशेष संदर्भ में ही लागू किया जा सकता है। इसका एक परिणाम यह भी है कि दिशानिर्देश अक्सर केवल इसलिए विरोधाभासी हो जाते हैं क्योंकि उनमें संदर्भ का वर्णन नहीं होता है।

दिशानिर्देश और पैटर्न आवश्यक रूप से परस्पर विरोधी नहीं हैं, और दोनों का उपयोग समस्या की पहचान करने और फिर एक वैध समाधान बनाने के लिए संयोजन में किया जा सकता है।

यह भी देखें

 * डिज़ाइन पैटर्न
 * गेमप्ले
 * डिज़ाइन के तत्व
 * सूचना आर्किटेक्चर
 * पारस्परिक प्रभाव वाली डिज़ाइन
 * अन्तरक्रियाशीलता
 * अंतरफलक प्रारूप
 * मोबाइल इंटरेक्शन
 * सोनिक इंटरेक्शन डिज़ाइन
 * प्रयोज्यता
 * उपयोगकर्ता-केंद्रित डिज़ाइन

अग्रिम पठन

 * A Pattern Approach to Interaction Design, by Jan Borchers, ISBN 0-471-49828-9
 * A Pattern Language for Web Usability, by Ian Graham, ISBN 0-201-78888-8
 * Interaction Design Patterns für NFC-basierte Electronic Data Capture Anwendungen by Andreas Prinz, Prinz Publishing, Dieburg 2014, ISBN 978-3-9816875-0-7.
 * The Design of Sites: Patterns for Creating Winning Websites (Second Edition), by Douglas K. van Duyne, James A. Landay, and Jason I. Hong, ISBN 0-13-134555-9
 * Designing Interfaces: Patterns for Effective Interaction Design, by Jenifer Tidwell, ISBN 0-596-00803-1
 * Designing Social Interfaces: Principles, Patterns, & Practices for Improving the User Experience, by Christian Crumlish and Erin Malone, ISBN 0-596-15492-5
 * Interaction Design for Complex Cognitive Activities with Visual Representations: A Pattern-Based Approach, by Kamran Sedig and Paul Parsons, AIS Transactions on Human-Computer Interaction 5(2), 84-133.

बाहरी संबंध

 * 10 Great Sites for UI Design Patterns at Interaction Design foundation
 * Yahoo Design Pattern Library