मुझे यकीन है कि आपने स्ट्रीक्स के बारे में सुना होगा या उसके साथ किसी ऐप का इस्तेमाल किया होगा। लेकिन क्या आपने कभी सोचा है कि धारियाँ इतनी लोकप्रिय और शक्तिशाली क्यों हैं? खैर, यह स्पष्ट है कि ऐप्स आपका यथासंभव अधिक ध्यान चाहते हैं, लेकिन इसके अलावा, क्या आप जानते हैं कि जब लोकप्रिय शिक्षण ऐप डुओलिंगो ने स्ट्रीक्स प्रदर्शित करने के लिए iOS विजेट पेश किया, तो उपयोगकर्ता की प्रतिबद्धता 60% बढ़ गई। साठ प्रतिशत व्यवहार में एक बड़ा बदलाव है और यह दर्शाता है कि जुड़ाव बढ़ाने और उपयोग को बढ़ाने के लिए "स्ट्रीक" पैटर्न का उपयोग कैसे किया जा सकता है। सबसे बुनियादी रूप में, एक स्ट्रीक लगातार दिनों की वह संख्या है जिसे उपयोगकर्ता एक विशिष्ट गतिविधि पूरा करता है। कुछ लोग इसे "गेमिफ़ाइड" आदत या लगातार उपयोग को प्रोत्साहित करने के लिए डिज़ाइन की गई मीट्रिक के रूप में भी परिभाषित करते हैं। लेकिन धारियाँ किसी ऐप में मीट्रिक या रिकॉर्ड होने से कहीं आगे निकल जाती हैं; यह उससे कहीं अधिक मनोवैज्ञानिक है। मानव प्रवृत्ति को सही कारकों से प्रभावित करना आसान है। इन तीन कारकों को देखें: प्रगति, गर्व, और छूट जाने का डर (आमतौर पर इसे FOMO कहा जाता है)। इन सबमें क्या समानता है? कोशिश। जितना अधिक प्रयास आप किसी चीज़ में करते हैं, उतना ही अधिक यह आपकी पहचान को आकार देता है, और इसी तरह से व्यवहार मनोविज्ञान की दुनिया में धारियाँ पार हो जाती हैं। अब, महान शक्ति के साथ बड़ी जिम्मेदारी भी आती है, और उसके कारण, लकीरों का एक स्याह पक्ष भी है। इस लेख में, हम एक प्रभावी स्ट्रीक सिस्टम के निर्माण के पीछे मनोविज्ञान, यूएक्स और डिजाइन सिद्धांतों पर चर्चा करेंगे। हम देखेंगे (1) क्यों हमारा दिमाग लगभग सहज रूप से स्ट्रीक गतिविधि पर प्रतिक्रिया करता है, (2) स्ट्रीक को इस तरह से कैसे डिज़ाइन किया जाए जो वास्तव में उपयोगकर्ताओं की मदद करता है, और (3) स्ट्रीक पैटर्न के निर्माण में शामिल तकनीकी कार्य। धारियों के पीछे का मनोविज्ञान एक प्रभावी स्ट्रीक सिस्टम को डिज़ाइन करने और बनाने के लिए, हमें यह समझने की ज़रूरत है कि यह हमारे दिमाग की कार्यप्रणाली के साथ कैसे संरेखित होता है। जैसे, ऐसा क्या है जो इसे इतना प्रभावी बनाता है कि हम अपनी लकीरों की रक्षा के लिए इतना गहन समर्पण महसूस करते हैं? तीन दिलचस्प, अच्छी तरह से प्रलेखित मनोविज्ञान सिद्धांत हैं जो उस चीज़ का समर्थन करते हैं जो स्ट्रीक्स को इतना शक्तिशाली और व्यसनी बनाती है। हानि टालना यह शायद लकीरों के पीछे की सबसे मजबूत ताकत है। मैं ऐसा इसलिए कह रहा हूं क्योंकि ज्यादातर बार, आप जीवन में इससे बच नहीं सकते। इसे इस तरह से सोचें: यदि कोई मित्र आपको $100 देता है, तो आप खुश होंगे। लेकिन अगर आपने अपने बटुए से 100 डॉलर खो दिए हैं, तो यह बहुत अधिक नुकसान पहुंचाएगा। उन स्थितियों का भावनात्मक भार समान नहीं है। जितना लाभ अच्छा लगता है उससे कहीं अधिक नुकसान हानि पहुंचाता है। चलिए इसे आगे बढ़ाते हैं और कहते हैं कि मैं तुम्हें 100 डॉलर देता हूं और तुमसे एक जुआ खेलने के लिए कहता हूं। 50% संभावना है कि आप एक और $100 जीतेंगे और 50% संभावना है कि आप मूल $100 खो देंगे। क्या आप इसे लेंगे? मैं नहीं करूंगा अधिकांश लोग ऐसा नहीं करेंगे। वह हानि से घृणा है। यदि आप इसके बारे में सोचें तो यह तर्कसंगत है, यह समझने योग्य है, यह मानवीय है। हानि से बचने के पीछे की अवधारणा यह है कि हम किसी चीज़ को खोने का दर्द, समान मूल्य की किसी चीज़ को प्राप्त करने की खुशी से दोगुना महसूस करते हैं। मनोवैज्ञानिक दृष्टि से, लाभ की तुलना में हानि अधिक रहती है। आप शायद देखेंगे कि इसका धारियों से क्या संबंध है। ध्यान देने योग्य लकीर बनाने के लिए प्रयास की आवश्यकता होती है; जैसे-जैसे एक लकीर बढ़ती है, उसके पीछे की प्रेरणा ख़त्म होने लगती है; या अधिक सटीक रूप से, यह गौण होने लगता है। यहां एक उदाहरण दिया गया है: मान लीजिए कि आपके मित्र ने अपने ऐप्पल वॉच पर "मूव रिंग्स" को बंद करने के लिए तीन दिन का सिलसिला चलाया है। अपने लक्ष्य को हासिल करने और लगातार बने रहने की इच्छा के अलावा उनके पास खोने के लिए लगभग कुछ भी नहीं है। साथ ही, आपके पास 219 दिनों की प्रभावशाली श्रृंखला चल रही है। संभावना यह है कि आप इसे खोने के डर से फंस गए हैं। आप संभवतः इस बिंदु पर उपलब्धि के बारे में नहीं सोच रहे हैं; यह आपके निवेशित प्रयास की सुरक्षा के बारे में है, और वह है हानि से बचना। डुओलिंगो बताता है कि कैसे नुकसान से बचने की भावना उपयोगकर्ता की लंबी लकीर को तोड़ने की अनिच्छा में योगदान करती है, यहां तक ​​​​कि उनके सबसे आलसी दिनों में भी। एक तरह से, जब नुकसान की आशंका घर कर जाती है तो एक सिलसिला आदत में बदल सकता है। फॉग व्यवहार मॉडल (बी = एमएपी) अब जब हम लंबी स्ट्रीक में निवेश किए गए प्रयास को खोने के डर को समझते हैं, तो एक और सवाल यह है: स्ट्रीक बड़ी होने से पहले ही, दिन-ब-दिन, हमें वह काम सबसे पहले करने के लिए क्या प्रेरित करता है? फॉग बिहेवियर मॉडल इसी बारे में है। यह अपेक्षाकृत सरल है. एक व्यवहार (बी) केवल तब होता है जब तीन कारक - प्रेरणा (एम), क्षमता (ए), और संकेत (पी) - एक ही क्षण में संरेखित होते हैं। इस प्रकार, समीकरण B=MAP. यदि इनमें से कोई भी कारक, यहां तक ​​कि एक भी, उस समय गायब है, तो व्यवहार नहीं होगा। इसलिए, एक स्ट्रीक प्रणाली के कुशल और आवर्ती होने के लिए, सभी तीन कारक मौजूद होने चाहिए: प्रेरणा यह नाजुक है और ऐसी चीज़ नहीं है जो लगातार मौजूद रहती है। ऐसे भी दिन होते हैं जब आप होते हैंस्पैनिश सीखने के लिए प्रेरित होते हैं, और ऐसे दिन जब आप भाषा सीखने के लिए थोड़ी सी भी इच्छाशक्ति महसूस नहीं करते हैं। आदत बनाने की प्रेरणा अपने आप में अविश्वसनीय है और पहले दिन से ही हारी हुई लड़ाई है। योग्यता प्रेरणा की सीमाओं की भरपाई के लिए क्षमता महत्वपूर्ण है। इस संदर्भ में, क्षमता का अर्थ है कार्य में आसानी, यानी प्रयास इतना आसान है कि यह कहना अवास्तविक है कि यह संभव नहीं है। ज्यादातर ऐप्स जानबूझकर इसका इस्तेमाल करते हैं। Apple फ़िटनेस को अपने स्टैंड लक्ष्य की ओर टिक अर्जित करने के लिए बस आपको एक घंटे में एक मिनट के लिए खड़े रहने की आवश्यकता है। डुओलिंगो को केवल एक पूर्ण पाठ की आवश्यकता है। इन कार्यों में उतनी अधिक मेहनत की आवश्यकता नहीं होती। बाधा इतनी कम है कि आपके सबसे बुरे दिनों में भी, आप इसे कर सकते हैं। लेकिन चल रही स्ट्रीक का संयुक्त प्रयास ही वह जगह है जहां उस स्ट्रीक को खोने का विचार जन्म लेता है। संकेतयही वह है जो समीकरण को पूरा करता है। मनुष्य स्वाभाविक रूप से भुलक्कड़ होते हैं, इसलिए हां, क्षमता हमें 90% तक वहां पहुंचा सकती है। लेकिन एक संकेत हमें कार्य करने की याद दिलाता है। धारियाँ डिज़ाइन द्वारा लगातार बनी रहती हैं, इसलिए उपयोगकर्ताओं को कार्य करने के लिए लगातार याद दिलाने की आवश्यकता होती है। यह देखने के लिए कि कोई संकेत कितना शक्तिशाली हो सकता है, डुओलिंगो ने यह देखने के लिए ए/बी परीक्षण किया कि क्या ऐप के आइकन पर थोड़ा सा लाल बैज लगातार उपयोग में वृद्धि करता है। इससे दैनिक सक्रिय उपयोगकर्ताओं में 6% की वृद्धि हुई। बस एक लाल बिल्ला. मॉडल सीमाएँ यह सब कहा जा रहा है, फॉग मॉडल की एक सीमा है जिसके तहत आलोचकों और आधुनिक शोध ने देखा है कि एक डिज़ाइन जो आक्रामक सूचनाओं जैसे संकेतों पर बहुत अधिक निर्भर करता है, मानसिक थकान पैदा करने का जोखिम उठाता है। लगातार सूचनाएं और ओवरटाइम उपयोगकर्ताओं को परेशान कर सकते हैं। तो, उससे सावधान रहें। ज़िगार्निक प्रभाव जब आप किसी प्रोजेक्ट का कार्य आधा-अधूरा छोड़ देते हैं तो आपको कैसा महसूस होता है? यह कई लोगों को परेशान करता है क्योंकि अधूरे कार्य हमारे द्वारा पूरे किए गए कार्यों की तुलना में अधिक मानसिक स्थान घेरते हैं। जब कोई चीज़ हो कर चली जाती है तो हम उसे भूल जाते हैं। जब कुछ अधूरा रह जाता है, तो इसका बोझ हमारे दिमाग पर पड़ता है। यही कारण है कि डिजिटल उत्पाद कृत्रिम प्रगति संकेतकों का उपयोग करते हैं, जैसे अपवर्क की प्रोफ़ाइल पूर्णता पट्टी, उपयोगकर्ता को यह बताने के लिए कि उनकी प्रोफ़ाइल केवल "60% पूर्ण" है। यह उपयोगकर्ता को जो शुरू किया था उसे पूरा करने के लिए प्रेरित करता है।

आइए एक और उदाहरण देखें. आपके पास टू-डू सूची ऐप में पांच कार्य हैं, और दिन के अंत में, आप उनमें से केवल चार को पूर्ण के रूप में जांचते हैं। हममें से कई लोग उस एक अधूरे कार्य के कारण अधूरापन महसूस करेंगे। वह, वहीं, ज़िगार्निक प्रभाव है। ज़िगार्निक प्रभाव को मनोवैज्ञानिक ब्लूमा ज़िगार्निक द्वारा प्रदर्शित किया गया था, जिन्होंने बताया कि हम पूरे किए गए कार्यों की तुलना में अधूरे कार्यों को अपनी स्मृति में अधिक समय तक सक्रिय रखते हैं। UX डिज़ाइन में एक स्ट्रीक पैटर्न स्वाभाविक रूप से इसमें शामिल होता है। मान लीजिए कि आप सीखने के क्रम के 63वें दिन पर हैं। उस समय, आप अधूरे कार्य के चल रहे पैटर्न में हैं। आपका मस्तिष्क इसके बारे में शायद ही कभी भूलेगा क्योंकि यह आपके दिमाग के पिछले हिस्से में बैठा होता है। इस बिंदु पर, आपका मस्तिष्क आपको सूचनाएं भेजने वाला बन जाता है। जब आप इन मनोवैज्ञानिक शक्तियों को एक साथ रखते हैं, तो आप वास्तव में यह समझना शुरू कर देते हैं कि स्ट्रीक्स सिर्फ एक नियमित ऐप सुविधा क्यों नहीं है; वे मानव व्यवहार को नया आकार देने में सक्षम हैं। लेकिन कहीं न कहीं - मैं ठीक-ठीक नहीं कह सकता कि कब, क्योंकि यह हर किसी के लिए अलग-अलग होता है - चीजें एक ऐसे बिंदु पर पहुंचती हैं जहां एक लकीर "मज़े" से कुछ ऐसी चीज़ में बदल जाती है जिसे आप महसूस करते हैं कि आप खोना बर्दाश्त नहीं कर सकते। क्या आप नहीं चाहते कि 58 दिनों की मेहनत बर्बाद हो जाए? यही चीज़ स्ट्रीक प्रणाली को प्रभावी बनाती है। अगर सही तरीके से किया जाए, तो स्ट्रीक्स उपयोगकर्ताओं को आश्चर्यजनक आदतें बनाने में मदद करती हैं जो लक्ष्य पूरा करती हैं। इसमें रोजाना पढ़ना या लगातार जिम जाना शामिल हो सकता है। ये दोहराई जाने वाली क्रियाएं (कभी-कभी छोटी) समय के साथ बढ़ती हैं और हमारे दैनिक जीवन में स्पष्ट हो जाती हैं। लेकिन हर सिक्के के दो पहलू होते हैं. आदत और मजबूरी के बीच की पतली रेखा यदि आप इसका अनुसरण कर रहे हैं, तो आप पहले से ही बता सकते हैं कि स्ट्रीक सिस्टम का एक स्याह पक्ष है। आदत निर्माण का तात्पर्य दोहराए गए लक्ष्य के साथ निरंतरता रखना है। हालाँकि, मजबूरी एक ऐसे लक्ष्य पर काम करने की निरंतरता है जिसकी अब आवश्यकता नहीं है लेकिन डर या दबाव के कारण उसे रोक कर रखा गया है। यह बहुत पतली रेखा है. आप हर सुबह बिना सोचे-समझे अपने दाँत ब्रश करते हैं; यह स्वचालित और सहज है, जिसका स्पष्ट लक्ष्य अच्छी सांस लेना है। यह एक सिलसिला है जो एक अच्छी आदत बनाता है। एक नैतिक स्ट्रीक प्रणाली उपयोगकर्ताओं को सांस लेने की जगह देती है। यदि किसी कारणवश आप सुबह ब्रश नहीं कर पाते तो दोपहर में ब्रश कर सकते हैं। लंबे प्रयास को खोने के डर के बिना अपूर्णता की अनुमति दी जाती है। मजबूरी विपरीत मार्ग अपनाती है, जिससे एक लकीर आपको चिंतित कर देती है, आप दोषी महसूस करते हैं या थक भी जाते हैं, और कभी-कभी, ऐसा महसूस होता है कि आपने तमाम कोशिशों के बावजूद कुछ भी हासिल नहीं किया है।काम। आप इसलिए कार्य नहीं करते क्योंकि आप ऐसा करना चाहते हैं, बल्कि इसलिए करते हैं क्योंकि आप अपनी प्रगति को शून्य पर रीसेट होते देखकर अवचेतन रूप से भयभीत हो जाते हैं। किसी ने इसका सटीक वर्णन भी किया है, "मुझे लगा कि मैं धोखा दे रहा हूं, लेकिन मैंने इसकी परवाह नहीं की। मैं अपनी लकीर के बिना कुछ भी नहीं हूं।" इससे पता चलता है कि किसी व्यक्ति पर अत्यधिक पकड़ की धारियाँ पड़ सकती हैं। इस हद तक कि उपयोगकर्ता अपने आत्म-मूल्य को मूल लक्ष्य या कारण के बजाय एक मनमानी मीट्रिक से जोड़ना शुरू कर देते हैं, जिससे उन्होंने सबसे पहले यह सिलसिला शुरू किया था। लकीर यह बन जाती है कि वे कौन हैं, न कि केवल वे क्या करते हैं। एक अच्छी तरह से डिज़ाइन की गई नैतिक स्ट्रीक प्रणाली को उपयोगकर्ता को प्रोत्साहन की तरह महसूस करना चाहिए, दबाव या दायित्व की तरह नहीं। यह आंतरिक और बाह्य प्रेरणा के संतुलन से संबंधित है। बाहरी प्रेरणा (बाहरी पुरस्कार, सज़ा से बचना) से उपयोगकर्ता शुरुआत कर सकते हैं, लेकिन आंतरिक प्रेरणा (स्पेनिश सीखने जैसे व्यक्तिगत लक्ष्य के लिए कार्य करना क्योंकि आप वास्तव में किसी प्रियजन के साथ संवाद करना चाहते हैं) दीर्घकालिक जुड़ाव के लिए अधिक मजबूत है। एक अच्छी प्रणाली को बाहरी तत्वों के सावधानीपूर्वक उपयोग के साथ आंतरिक प्रेरणा की ओर बढ़ना चाहिए, यानी, उपयोगकर्ताओं को याद दिलाना चाहिए कि वे कितनी दूर आ गए हैं, न कि उन्हें यह धमकी देनी चाहिए कि वे क्या खो सकते हैं। फिर, यह एक अच्छी लाइन है. स्ट्रीक सिस्टम को डिज़ाइन करते समय एक सरल परीक्षण यह है कि वास्तव में कुछ समय लें और सोचें कि क्या आपके उत्पाद आपके उत्पाद द्वारा पैदा की गई चिंता का समाधान बेचकर पैसा कमाते हैं। यदि हां, तो इस बात की बहुत अधिक संभावना है कि आप उपयोगकर्ताओं का शोषण कर रहे हैं। तो अगला प्रश्न यह हो जाता है कि, यदि मैं स्ट्रीक का उपयोग करना चुनता हूँ, तो मैं इसे इस तरह से कैसे डिज़ाइन करूँ जिससे उपयोगकर्ताओं को उनके लक्ष्य प्राप्त करने में वास्तव में मदद मिले? गुड स्ट्रीक सिस्टम डिज़ाइन का यूएक्स मेरा मानना ​​है कि यह वह जगह है जहां अधिकांश परियोजनाएं या तो एक प्रभावी स्ट्रीक प्रणाली को खत्म कर देती हैं या इसे पूरी तरह से खराब कर देती हैं। आइए एक अच्छी स्ट्रीक डिज़ाइन के कुछ UX सिद्धांतों पर गौर करें। इसे सहज रखें आपने शायद इसे पहले भी सुना होगा, शायद एटॉमिक हैबिट्स जैसी किताबों में, लेकिन यह ध्यान देने योग्य बात है कि आदतें बनाने का सबसे आसान तरीका कार्रवाई को छोटा और आसान बनाना है। यह उस क्षमता कारक के समान है जिसकी हमने फॉग व्यवहार मॉडल से चर्चा की थी। किसी भी स्ट्रीक डिज़ाइन का पहला नियम यह होना चाहिए कि प्रगति हासिल करते हुए आवश्यक कार्रवाई को मानवीय रूप से यथासंभव छोटा बनाया जाए। यदि किसी दैनिक कार्य को पूरा करने के लिए इच्छाशक्ति की आवश्यकता होती है, तो वह कार्य पांच दिनों से अधिक समय तक नहीं चल पाएगा। क्यों? आप लगातार पाँच दिनों तक प्रेरित नहीं हो सकते। मामले में मामला: यदि आप एक ध्यान ऐप चलाते हैं, तो आपको केवल स्ट्रीक बनाए रखने के लिए उपयोगकर्ताओं को 20 मिनट के सत्र से गुजरने की ज़रूरत नहीं है। इसके बजाय एक मिनट का प्रयास करें, शायद तीस सेकंड जितना छोटा भी। जैसा कि कहा जाता है, पानी की छोटी बूंदें विशाल महासागर बनाती हैं)। छोटे-छोटे प्रयास समय के साथ बड़ी उपलब्धियों में बदल जाते हैं। यही लक्ष्य होना चाहिए: घर्षण को दूर करें, खासकर जब वह क्षण कठिन हो। जब उपयोगकर्ता तनावग्रस्त या अभिभूत हों, तो उन्हें बताएं कि केवल कुछ सेकंड के लिए भी दिखावा करना भी प्रयास के रूप में गिना जाता है। स्पष्ट दृश्य प्रतिक्रिया प्रदान करें मनुष्य स्वभाव से दृश्यमान है। अधिकांश बार, हमें विश्वास करने के लिए किसी चीज़ को देखने की आवश्यकता होती है; चीज़ों को बेहतर ढंग से समझने और चीज़ों को परिप्रेक्ष्य में रखने के लिए उनकी कल्पना करने की ज़रूरत है। यही कारण है कि प्रयास को देखने के लिए स्ट्रीक पैटर्न अक्सर ग्राफ़, चेकमार्क, प्रगति रिंग और ग्रिड जैसे दृश्य तत्वों का उपयोग करते हैं। GitHub के योगदान ग्राफ़ को देखें। यह निरंतरता का एक सरल दृश्य है। फिर भी डेवलपर्स इसे ऑक्सीजन की तरह सांस लेते हैं।

मुख्य बात यह नहीं है कि स्ट्रीक सिस्टम को अमूर्त बनाया जाए। यह वास्तविक और अर्जित महसूस होना चाहिए। उदाहरण के लिए, डुओलिंगो और ऐप्पल की फिटनेस गतिविधि रिंग एक स्ट्रीक के पूरा होने पर स्वच्छ एनीमेशन डिज़ाइन का उपयोग करती हैं, और GitHub समय के साथ उपयोगकर्ता की स्थिरता का ऐतिहासिक डेटा दिखाता है।

अच्छे समय का प्रयोग करें मैंने पहले उल्लेख किया था कि मनुष्य आमतौर पर स्वभाव से भुलक्कड़ होते हैं, और संकेत आगे की गति को बनाए रखने में मदद कर सकते हैं। संकेतों के बिना, अधिकांश नए उपयोगकर्ता आगे बढ़ना भूल जाते हैं। जीवन व्यस्त हो सकता है, प्रेरणा ख़त्म हो जाती है और चीज़ें घटित होती हैं। यहां तक ​​कि लंबे समय तक उपयोग करने वाले भी संकेतों से लाभान्वित होते हैं, हालांकि ज्यादातर बार, वे पहले से ही आदत के घेरे में बंद होते हैं। फिर भी, सबसे प्रतिबद्ध व्यक्ति भी गलती से एक दिन चूक सकता है। आपके स्ट्रीक सिस्टम को निश्चित रूप से अनुस्मारक की आवश्यकता है। सबसे अधिक उपयोग किए जाने वाले त्वरित अनुस्मारक पुश सूचनाएँ हैं। पुश सूचनाओं के साथ काम करते समय समय वास्तव में मायने रखता है। ऐप का प्रकार भी मायने रखता है। सुबह 9 बजे यह कहते हुए अधिसूचना भेजना कि "आपने आज अभ्यास नहीं किया है" एक शिक्षण ऐप के लिए बिल्कुल अजीब है क्योंकि कई लोगों के पास पाठ पूरा करने के बारे में सोचने से पहले ही दिन में करने के लिए कुछ काम होते हैं। हालाँकि, अगर हम एक फिटनेस ऐप के बारे में बात कर रहे हैंउचित है और शायद दिन में पहले ही याद दिलाए जाने की उम्मीद भी की जाती है। पुश सूचनाएं ऐप श्रेणी के अनुसार काफी भिन्न होती हैं। उदाहरण के लिए, फिटनेस ऐप्स में सुबह की सूचनाओं (सुबह 7-8 बजे) के साथ उच्च सहभागिता देखी जाती है, जबकि उत्पादकता ऐप्स दोपहर के शुरुआती घंटों में बेहतर प्रदर्शन कर सकते हैं। मुख्य बात यह है कि चीजों को एक आकार-सभी के लिए उपयुक्त मानने के बजाय अपने उपयोगकर्ताओं के व्यवहार के आधार पर अपने ऐप के समय का ए/बी परीक्षण करें। ध्यान ऐप के लिए जो काम करता है वह कोडिंग ट्रैकर के लिए काम नहीं कर सकता है। अन्य त्वरित तरीके ऐप आइकन और यहां तक ​​कि ऐप विजेट पर लाल बिंदु हैं। अध्ययन अलग-अलग होते हैं, लेकिन औसत व्यक्ति दिन में 50-150 बार अपने डिवाइस को अनलॉक करता है (पीडीएफ)। यदि कोई उपयोगकर्ता किसी ऐप या विजेट पर एक लाल बिंदु देखता है जो हर बार अपने फोन को अनलॉक करने पर वर्तमान स्ट्रीक को इंगित करता है, तो इससे प्रतिबद्धता बढ़ जाती है। बस इसे ज़्यादा मत करो; संकेत को एक अनुस्मारक के रूप में काम करना चाहिए, न कि एक चेतावनी के रूप में। मील के पत्थर का जश्न मनाएं एक स्ट्रीक सिस्टम को भावनाओं को फिर से जगाने के लिए मील के पत्थर का जश्न मनाने की कोशिश करनी चाहिए, खासकर उन उपयोगकर्ताओं के लिए जो स्ट्रीक में गहरे हैं। जब कोई उपयोगकर्ता दिन 7, दिन 30, दिन 50, दिन 100, दिन 365 पर पहुँचता है, तो आपको इसका बड़ा फायदा उठाना चाहिए। उपलब्धियों को स्वीकार करें - विशेष रूप से लंबे समय के उपयोगकर्ताओं के लिए।

जैसा कि हमने पहले देखा, डुओलिंगो ने इसका पता लगाया और एक एनिमेटेड ग्राफिक लागू किया जो कंफ़ेद्दी के साथ मील के पत्थर का जश्न मनाता है। कुछ प्लेटफ़ॉर्म पर्याप्त बोनस पुरस्कार भी देते हैं जो उपयोगकर्ताओं के प्रयासों को मान्य करते हैं। और यह ऐप्स के लिए फायदेमंद हो सकता है, जैसे कि उपयोगकर्ता अपने मील के पत्थर को सोशल मीडिया पर सार्वजनिक रूप से साझा करते हैं। एक अन्य लाभ वह प्रत्याशा है जो मील के पत्थर तक पहुंचने से पहले आती है। यह सिर्फ उस सिलसिले को अंतहीन रूप से जीवित रखना नहीं है; उपयोगकर्ताओं के पास आगे देखने के लिए कुछ है। अनुग्रह तंत्र का प्रयोग करें जीवन अप्रत्याशित है. लोग विचलित हो जाते हैं. किसी भी अच्छी स्ट्रीक प्रणाली को अपूर्णता की अपेक्षा करनी चाहिए। स्ट्रीक सिस्टम के लिए सबसे बड़े मनोवैज्ञानिक खतरों में से एक केवल एक दिन छूटने के बाद शून्य पर हार्ड रीसेट है। एक "नैतिक" स्ट्रीक प्रणाली को उपयोगकर्ता को कुछ ढील प्रदान करनी चाहिए। मान लीजिए कि आपके पास शतरंज सीखने का 90 दिनों का सिलसिला है। आप तीन अच्छे महीनों से लगातार काम कर रहे हैं, और एक दिन, यात्रा करते समय आपका फोन बंद हो जाता है, और ऐसे ही, 90 0 हो जाता है - सब कुछ, वह सारा प्रयास, मिट जाता है, और प्रगति गायब हो जाती है। उपयोगकर्ता पूरी तरह तबाह हो सकता है. इसे नए सिरे से बनाने का विचार इतना निराशाजनक है कि यह प्रयास इसके लायक नहीं है। सबसे बुरी स्थिति में, उपयोगकर्ता विफलता महसूस करने के बाद ऐप को छोड़ सकता है। अपने स्ट्रीक सिस्टम में "अनुग्रह" तंत्र जोड़ने पर विचार करें:

स्ट्रीक फ़्रीज़ उपयोगकर्ताओं को जानबूझकर दंड के बिना एक दिन चूकने की अनुमति देता है। अतिरिक्त समय रीसेट को ट्रिगर करने से पहले सामान्य समय सीमा से कुछ घंटे (2-3) आगे बढ़ने का समय दें। क्षय मॉडलहार्ड रीसेट के बजाय, स्ट्रीक थोड़ी मात्रा में कम हो जाती है, उदाहरण के लिए, प्रति मिस्ड दिन स्ट्रीक से 10 दिन काट लिए जाते हैं।

उत्साहवर्धक स्वर का प्रयोग करें आइए एक स्ट्रीक टूटने पर उपयोगकर्ताओं को दिखाए गए दो संदेशों की तुलना करें:

"आपने अपनी 42 दिन की स्ट्रीक खो दी है। फिर से शुरू करें।" "आप लगातार 42 दिनों तक उपस्थित रहे। यह अविश्वसनीय प्रगति है! इसे एक बार और आज़माना चाहते हैं?"

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

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

एक स्ट्रीक सिस्टम इंजन का निर्माण यह कोई कोड ट्यूटोरियल नहीं है, इसलिए मैं आप पर ढेर सारे कोड डालने से बचूंगा। मैं इसे व्यावहारिक रखूंगा और वर्णन करूंगा कि वास्तुकला, प्रवाह और विश्वसनीयता के मामले में चीजें आम तौर पर एक स्ट्रीक सिस्टम इंजन को कैसे संचालित करती हैं। कोर आर्किटेक्चर जैसा कि मैंने कई बार कहा है, सर्वर को स्ट्रीक डेटा के लिए सत्य का एकल स्रोत बनाएं। सर्वर पर आर्किटेक्चर कुछ इस प्रकार हो सकता है:

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

इस बीच, ग्राहक-पक्ष पर:

सामान्यतः सर्वर से प्राप्त वर्तमान स्ट्रीक प्रदर्शित करें। यह सत्यापित करने के लिए कि उपयोगकर्ता ने वास्तव में क्वालीफाइंग स्ट्रीक कार्रवाई पूरी की है या नहीं, मेटाडेटा के रूप में की गई कार्रवाई को सर्वर पर भेजें। सर्वर प्रतिक्रियाओं के आधार पर दृश्य प्रतिक्रिया प्रदान करें।

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

उपयोगकर्ता एक क्वालीफाइंग स्ट्रीक कार्रवाई पूरी करता है। क्लाइंट एक इवेंट को मेटाडेटा के रूप में सर्वर पर भेजता है। यह "उपयोगकर्ता X ने टाइमस्टैम्प Z पर क्रिया Y पूर्ण की" हो सकता है। सर्वर इस ईवेंट को प्राप्त करता है और बुनियादी सत्यापन करता है। क्या यह वास्तविक उपयोगकर्ता है? क्या वे प्रमाणित हैं? क्या कार्रवाई वैध है? क्या समयक्षेत्र सुसंगत है? यदि यह पास हो जाता है, तो सर्वर डेटाबेस से उपयोगकर्ता का स्ट्रीक डेटा पुनर्प्राप्त करता है। फिर, प्राप्त कार्रवाई टाइमस्टैम्प को उपयोगकर्ता के स्थानीय समयक्षेत्र में परिवर्तित करें। सर्वर को उपयोगकर्ता के स्थानीय समयक्षेत्र में कैलेंडर तिथियों (टाइमस्टैम्प नहीं) की तुलना करने दें: यदि यह वही दिन है, तो कार्रवाई निरर्थक है और इसमें कोई बदलाव नहीं होता हैधारी। यदि यह अगला दिन है, तो स्ट्रीक का विस्तार होता है और 1 की वृद्धि होती है। एक दिन से ज्यादा का गैप होने पर स्ट्रीक टूट जाती है. हालाँकि, यह वह जगह है जहाँ आप अनुग्रह यांत्रिकी लागू कर सकते हैं। यदि ग्रेस मैकेनिज्म छूट गया है, तो स्ट्रीक को 1 पर रीसेट करें।

यदि आप मील के पत्थर की उपलब्धियों के लिए ऐतिहासिक डेटा को सहेजना चुनते हैं, तो "सबसे लंबी लकीर" या "कुल सक्रिय दिन" जैसे चर अपडेट करें। सर्वर तब डेटाबेस को अपडेट करता है और क्लाइंट को प्रतिक्रिया देता है। कुछ इस तरह:

{ "करंट_स्ट्रीक": 48, "सबसे लंबी_लकीर": 50, "कुल_सक्रिय_दिन": 120, "स्ट्रीक_एक्सटेंडेड": सत्य, }

एक और उपाय के रूप में, सर्वर को या तो पुनः प्रयास करना चाहिए या अस्वीकार करना चाहिए और प्रक्रिया के दौरान कुछ भी विफल होने पर क्लाइंट को सूचित करना चाहिए। लचीलेपन के लिए निर्माण जैसा कि पहले उल्लेख किया गया है, बग या सर्वर डाउनटाइम के कारण उपयोगकर्ताओं का स्ट्रीक खोना भयानक यूएक्स है, और उपयोगकर्ताओं को इसके लिए गिरावट की उम्मीद नहीं है। इस प्रकार, आपके स्ट्रीक सिस्टम में उन परिदृश्यों के लिए सुरक्षा उपाय होने चाहिए। यदि सर्वर रखरखाव (या किसी भी कारण) के कारण बंद है, तो इसे ठीक करने के लिए अतिरिक्त घंटों की एक अस्थायी विंडो की अनुमति देने पर विचार करें ताकि कार्रवाई देर से सबमिट की जा सके और फिर भी गिनती की जा सके। आप उपयोगकर्ताओं को सूचित करना भी चुन सकते हैं, खासकर यदि स्थिति किसी चल रही स्ट्रीक को प्रभावित करने में सक्षम है। नोट: एक व्यवस्थापक बैकडोर स्थापित करें जहां डेटा को मैन्युअल रूप से पुनर्स्थापित किया जा सके। बग अपरिहार्य हैं, और कुछ उपयोगकर्ता आपके ऐप को कॉल करेंगे या समर्थन करने के लिए पहुंचेंगे कि उनकी स्ट्रीक किसी कारण से टूट गई जिसे वे नियंत्रित नहीं कर सकते। यदि जांच के बाद उपयोगकर्ता सही है तो आपको स्ट्रीक्स को मैन्युअल रूप से पुनर्स्थापित करने में सक्षम होना चाहिए। निष्कर्ष एक बात स्पष्ट है: मानव मनोविज्ञान मौलिक स्तर पर कैसे काम करता है, इसकी वजह से धारियाँ वास्तव में शक्तिशाली हैं। सबसे अच्छा स्ट्रीक सिस्टम वह है जिसके बारे में उपयोगकर्ता सचेत रूप से नहीं सोचते हैं। यह दांतों को ब्रश करने की तरह तत्काल परिणाम या दृश्यमान प्रगति की दिनचर्या बन गई है, जो एक नियमित आदत बन जाती है। और मैं बस इतना ही कहूंगा: सभी उत्पादों को एक स्ट्रीक सिस्टम की आवश्यकता नहीं होती है। क्या आपको वास्तव में सिर्फ इसलिए निरंतरता के लिए बाध्य होना चाहिए क्योंकि आप दैनिक सक्रिय उपयोगकर्ता चाहते हैं? उत्तर बहुत अच्छी तरह से "नहीं" हो सकता है।

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free