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

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

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

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

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

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