मला खात्री आहे की तुम्ही स्ट्रीक्सबद्दल ऐकले असेल किंवा एक ॲप वापरला असेल. पण कधी विचार केला आहे की स्ट्रीक्स इतके लोकप्रिय आणि शक्तिशाली का आहेत? बरं, ॲप्सना तुमचे शक्य तितके लक्ष हवे आहे हे स्पष्ट आहे, परंतु त्याशिवाय, तुम्हाला माहित आहे का की लोकप्रिय लर्निंग ॲप Duolingo ने स्ट्रीक्स प्रदर्शित करण्यासाठी iOS विजेट्स सादर केले तेव्हा वापरकर्त्याची बांधिलकी 60% ने वाढली. साठ टक्के हे वर्तनात मोठ्या प्रमाणात बदल आहे आणि "स्ट्रीक" पॅटर्न प्रतिबद्धता आणि वाहन वापर वाढवण्यासाठी कसे वापरले जाऊ शकतात हे दर्शविते. सर्वात मूलभूतपणे, स्ट्रीक म्हणजे वापरकर्त्याने विशिष्ट क्रियाकलाप पूर्ण केलेल्या सलग दिवसांची संख्या. काही लोक याला "गेमिफाईड" सवय किंवा सातत्यपूर्ण वापरास प्रोत्साहन देण्यासाठी डिझाइन केलेले मेट्रिक म्हणून देखील परिभाषित करतात. परंतु स्ट्रीक्स मेट्रिक किंवा ॲपमधील रेकॉर्ड असण्यापलीकडे आहेत; ते त्यापेक्षा अधिक मानसिक आहे. मानवी अंतःप्रेरणा योग्य घटकांसह प्रभावित करणे सोपे आहे. या तीन घटकांकडे लक्ष द्या: प्रगती, अभिमान आणि हरवण्याची भीती (सामान्यतः FOMO म्हणतात). या सर्वांमध्ये काय साम्य आहे? प्रयत्न. तुम्ही एखाद्या गोष्टीसाठी जितके जास्त प्रयत्न कराल तितकेच ते तुमच्या ओळखीला आकार देते आणि अशा प्रकारे वर्तनात्मक मानसशास्त्राच्या जगात स्ट्रीक्स ओलांडतात. आता, मोठ्या सामर्थ्याने मोठी जबाबदारी येते आणि त्यामुळे, स्ट्रीक्सची एक गडद बाजू आहे. या लेखात, आम्ही एक प्रभावी स्ट्रीक सिस्टम तयार करण्यामागील मानसशास्त्र, UX आणि डिझाइन तत्त्वांमध्ये जाणार आहोत. (१) आपले मेंदू स्ट्रीक ॲक्टिव्हिटीला जवळजवळ सहज प्रतिसाद का देतात, (२) वापरकर्त्यांना खऱ्या अर्थाने मदत करतील अशा प्रकारे स्ट्रीक्स कसे डिझाइन करावेत आणि (३) स्ट्रीक पॅटर्न तयार करण्यात गुंतलेले तांत्रिक कार्य आपण पाहू. स्ट्रीक्सच्या मागे असलेले मानसशास्त्र एक प्रभावी स्ट्रीक सिस्टम डिझाइन आणि तयार करण्यासाठी, आपल्या मेंदूला कसे वायर्ड केले जाते ते कसे संरेखित करते हे आपल्याला समजून घेणे आवश्यक आहे. जसे की, आमच्या स्ट्रीक्सचे रक्षण करण्यासाठी आम्हाला इतके तीव्र समर्पण वाटते की ते इतके प्रभावी कशामुळे होते? तीन मनोरंजक, सुप्रसिद्ध मानसशास्त्र तत्त्वे आहेत जी स्ट्रीक्स इतकी शक्तिशाली आणि व्यसनाधीन बनविण्यास समर्थन देतात. नुकसान टाळणे ही कदाचित स्ट्रीक्समागील सर्वात मजबूत शक्ती आहे. मी हे म्हणतो कारण बहुतेक वेळा, आपण आयुष्यात हे जवळजवळ टाळू शकत नाही. याचा अशा प्रकारे विचार करा: जर एखाद्या मित्राने तुम्हाला $100 दिले तर तुम्हाला आनंद होईल. परंतु जर तुम्ही तुमच्या वॉलेटमधून $100 गमावले, तर ते अधिक दुखापत होईल. त्या परिस्थितींचे भावनिक वजन समान नसते. नफा चांगला वाटण्यापेक्षा तोटा जास्त दुखावतो. चला ते पुढे नेऊ आणि म्हणू की मी तुम्हाला $100 देतो आणि जुगार खेळायला सांगतो. तुम्हाला आणखी $100 जिंकण्याची 50% शक्यता आहे आणि मूळ $100 गमावण्याची 50% शक्यता आहे. तुम्ही घ्याल का? मी करणार नाही. बहुतेक लोक करणार नाहीत. तोटा तिरस्कार आहे. याचा विचार केला तर ते तार्किक आहे, समजण्यासारखे आहे, ते मानवी आहे. तोटा टाळण्यामागची संकल्पना अशी आहे की एखादी गोष्ट गमावल्याचं दु:ख जितकं तितकंच मोलाचं मिळालं आहे त्याच्या दुप्पट आपल्याला जाणवतं. मानसशास्त्रीय दृष्टीने, नफ्यापेक्षा तोटा जास्त असतो. हे स्ट्रीक्सशी कसे संबंधित आहे हे तुम्ही कदाचित पहाल. लक्षात येण्याजोगा लकीर तयार करण्यासाठी, त्यासाठी प्रयत्न करणे आवश्यक आहे; जसजशी लकीर वाढत जाते तसतशी त्यामागील प्रेरणा कमी होऊ लागते; किंवा अधिक अचूकपणे, ते दुय्यम होऊ लागते. हे एक उदाहरण आहे: म्हणा की तुमच्या मित्राने त्यांच्या Apple वॉचवर त्यांच्या “मूव्ह रिंग्ज” बंद केल्याचा तीन दिवसांचा स्ट्रीक आहे. त्यांचे ध्येय साध्य करण्याच्या आणि सातत्यपूर्ण राहण्याच्या इच्छेपलीकडे त्यांच्याकडे गमावण्यासारखे काहीही नाही. त्याच वेळी, तुमचा 219 दिवसांचा प्रभावशाली सिलसिला सुरू आहे. ते गमावण्याच्या भीतीने तुम्ही अडकल्याची शक्यता आहे. आपण बहुधा या क्षणी यशाबद्दल विचार करत नाही; हे तुमच्या गुंतवलेल्या प्रयत्नांचे संरक्षण करण्याबद्दल अधिक आहे आणि ते नुकसान टाळणे आहे. ड्युओलिंगो स्पष्ट करते की, वापरकर्त्याच्या आळशी दिवसांमध्येही, एक लांबलचक स्ट्रीक खंडित करण्याच्या अनिच्छेला तोटा टाळणे कसे योगदान देते. एक प्रकारे, जेव्हा तोटा टाळता येतो तेव्हा एक लकीर सवयीत बदलू शकते. फॉग बिहेवियर मॉडेल (B = MAP) आता आपल्याला दीर्घ पट्ट्यांमध्ये गुंतवलेले प्रयत्न गमावण्याची भीती समजली आहे, दुसरा प्रश्न असा आहे: स्ट्रीक मोठी होण्याआधीच, दिवसेंदिवस, आपल्याला प्रथम स्थानावर काय करावे लागेल? फॉग वर्तणूक मॉडेल याबद्दल आहे. हे तुलनेने सोपे आहे. वर्तन (B) केवळ तेव्हाच घडते जेव्हा तीन घटक - प्रेरणा (M), क्षमता (A), आणि प्रॉम्प्ट (P) - एकाच क्षणी संरेखित होते. अशा प्रकारे, समीकरण B=MAP. जर यापैकी कोणतेही घटक, अगदी एक, त्या क्षणी गहाळ असेल तर, वर्तन होणार नाही. म्हणून, स्ट्रीक सिस्टम कार्यक्षम आणि आवर्ती होण्यासाठी, सर्व तीन घटक उपस्थित असणे आवश्यक आहे: प्रेरणा ही नाजूक आहे आणि सतत उपस्थित असलेली गोष्ट नाही. असे दिवस आहेत जेव्हा आपण आहातस्पॅनिश शिकण्यासाठी उत्तेजित केले, आणि दिवसेंदिवस तुम्हाला भाषा शिकण्याची इच्छाशक्ती कमीही वाटत नाही. स्वत: हून एक सवय तयार करण्यासाठी प्रेरणा अविश्वसनीय आहे आणि पहिल्या दिवसापासून एक हरलेली लढाई आहे. प्रेरणेच्या मर्यादांची पूर्तता करण्यासाठी क्षमता, क्षमता महत्त्वपूर्ण आहे. या संदर्भात, क्षमता म्हणजे कृतीची सहजता, म्हणजेच प्रयत्न करणे इतके सोपे आहे की ते शक्य नाही असे म्हणणे अवास्तव आहे. बहुतेक ॲप्स हे जाणूनबुजून वापरतात. Apple Fitness ला तुमच्या स्टँड ध्येयाकडे टिक मिळवण्यासाठी एका तासात फक्त एक मिनिट उभे राहणे आवश्यक आहे. Duolingo ला फक्त एक पूर्ण केलेला धडा आवश्यक आहे. या कामांसाठी एवढ्या मेहनतीची गरज नाही. अडथळा इतका कमी आहे की तुमच्या सर्वात वाईट दिवसातही तुम्ही ते करू शकता. पण चालू असलेल्या स्ट्रीकच्या एकत्रित प्रयत्नामुळे ती स्ट्रीक गमावण्याची कल्पना येते. प्रॉम्प्ट हे समीकरण पूर्ण करते. मानव नैसर्गिकरित्या विसराळू असतो, म्हणून होय, क्षमता आपल्याला तेथे 90% मिळवू शकते. पण प्रॉम्प्ट आपल्याला कृती करण्याची आठवण करून देते. स्ट्रीक्स डिझाईननुसार कायम असतात, त्यामुळे वापरकर्त्यांना सतत कृती करण्याची आठवण करून देण्याची गरज असते. प्रॉम्प्ट किती शक्तिशाली असू शकते हे पाहण्यासाठी, ॲपच्या चिन्हावरील थोडासा लाल बॅज सातत्यपूर्ण वापर वाढला आहे की नाही हे पाहण्यासाठी Duolingo ने A/B चाचणी केली. दैनंदिन सक्रिय वापरकर्त्यांमध्ये 6% वाढ झाली आहे. फक्त लाल बिल्ला. मॉडेल मर्यादा हे सर्व सांगितले जात असताना, फॉग मॉडेलला मर्यादा आहे ज्यामध्ये समीक्षक आणि आधुनिक संशोधनाच्या लक्षात आले आहे की आक्रमक सूचनांसारख्या प्रॉम्प्टवर खूप जास्त अवलंबून असणारे डिझाइन, मानसिक थकवा निर्माण करण्याचा धोका आहे. सतत सूचना आणि जादा वेळ वापरकर्त्यांना मंथन होऊ शकते. म्हणून, त्याकडे लक्ष द्या. Zeigarnik प्रभाव प्रोजेक्टचे एखादे काम अर्धवट सोडल्यावर तुम्हाला कसे वाटते? हे बर्याच लोकांना चिडवते कारण आपण पूर्ण केलेल्या गोष्टींपेक्षा अपूर्ण कार्ये अधिक मानसिक जागा व्यापतात. जेव्हा एखादी गोष्ट केली जाते आणि निघून जाते तेव्हा आपण ते विसरून जातो. जेव्हा एखादी गोष्ट पूर्ववत ठेवली जाते तेव्हा ती आपल्या मनावर भारावून जाते. यामुळेच डिजिटल उत्पादने कृत्रिम प्रगती निर्देशक वापरतात, जसे की Upwork च्या प्रोफाइल पूर्णता बार, वापरकर्त्याला त्यांचे प्रोफाइल फक्त "60% पूर्ण" असल्याचे कळवण्यासाठी. हे वापरकर्त्याला त्यांनी जे सुरू केले ते पूर्ण करण्यासाठी धक्का देते.

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

मुख्य गोष्ट म्हणजे स्ट्रीक सिस्टीमला अमूर्त वाटत नाही. ते वास्तविक आणि कमावलेले वाटले पाहिजे. उदाहरणार्थ, ड्युओलिंगो आणि ऍपलच्या फिटनेस ॲक्टिव्हिटी रिंग्स स्ट्रीक पूर्ण झाल्यावर स्वच्छ ॲनिमेशन डिझाइन्स वापरतात आणि GitHub कालांतराने वापरकर्त्याच्या सुसंगततेचा ऐतिहासिक डेटा दाखवते.

चांगल्या वेळेचा वापर करा मी आधी नमूद केले आहे की मनुष्य स्वभावाने सामान्यतः विसराळू असतो आणि ते प्रॉम्प्ट पुढे गती राखण्यास मदत करू शकतात. सूचनांशिवाय, बरेच नवीन वापरकर्ते पुढे जाणे विसरतात. जीवन व्यस्त होऊ शकते, प्रेरणा अदृश्य होते आणि गोष्टी घडतात. दीर्घकाळ वापरकर्त्यांना प्रॉम्प्टचा फायदा होतो, जरी बहुतेक वेळा, ते आधीपासूनच सवय लूपमध्ये लॉक केलेले असतात. तरीसुद्धा, सर्वात प्रतिबद्ध व्यक्ती देखील चुकून एक दिवस चुकवू शकते. आपल्या स्ट्रीक सिस्टमला निश्चितपणे स्मरणपत्रांची आवश्यकता आहे. सर्वात जास्त वापरले जाणारे प्रॉम्प्ट स्मरणपत्रे पुश सूचना आहेत. पुश नोटिफिकेशन्ससह काम करताना वेळ खरोखर महत्त्वाची असते. ॲपचा प्रकार देखील महत्त्वाचा आहे. सकाळी ९ वाजता "तुम्ही आज सराव केला नाही" अशी सूचना पाठवणे हे शिकण्याच्या ॲपसाठी विचित्र आहे कारण अनेकांना धडा पूर्ण करण्याचा विचार करण्याआधी दिवसभरात काही गोष्टी करायच्या असतात. आम्ही फिटनेस ॲपबद्दल बोलत असल्यास, तेवाजवी आहे आणि कदाचित आदल्या दिवशी आठवण करून दिली जाईल अशी अपेक्षा आहे. पुश सूचना ॲप श्रेणीनुसार लक्षणीयरीत्या बदलतात. फिटनेस ॲप्स, उदाहरणार्थ, पहाटेच्या सूचनांसह (7-8 AM) उच्च प्रतिबद्धता पहा, तर उत्पादकता ॲप्स दुपारच्या सुरुवातीला चांगली कामगिरी करू शकतात. सर्व गोष्टी एकाच आकाराच्या आहेत असे गृहीत धरण्यापेक्षा तुमच्या वापरकर्त्यांच्या वर्तनावर आधारित तुमच्या ॲपच्या वेळेची A/B चाचणी करणे ही मुख्य गोष्ट आहे. ध्यान ॲपसाठी काय कार्य करते ते कोडिंग ट्रॅकरसाठी कार्य करू शकत नाही. इतर प्रॉम्प्ट पद्धती म्हणजे ॲप चिन्हावर लाल ठिपके आणि अगदी ॲप विजेट्स. अभ्यास बदलतात, परंतु सरासरी व्यक्ती दिवसातून 50-150 वेळा (PDF) त्यांचे डिव्हाइस अनलॉक करते. एखाद्या वापरकर्त्याला ॲप किंवा विजेटवर लाल ठिपका दिसला जो प्रत्येक वेळी त्यांचा फोन अनलॉक करताना वर्तमान स्ट्रीक दर्शवितो, तर ते वचनबद्धता वाढवते. फक्त ते जास्त करू नका; प्रॉम्प्टने स्मरणपत्र म्हणून काम केले पाहिजे, नग. माइलस्टोन साजरे करा स्ट्रीक सिस्टीमने भावना पुन्हा जागृत करण्यासाठी टप्पे साजरे करण्याचा प्रयत्न केला पाहिजे, विशेषतः वापरकर्त्यांसाठी स्ट्रीकमध्ये खोलवर. जेव्हा एखादा वापरकर्ता दिवस 7, दिवस 30, दिवस 50, दिवस 100, दिवस 365 दाबतो, तेव्हा तुम्ही यातून मोठा व्यवहार केला पाहिजे. यशाची कबुली द्या — विशेषतः दीर्घकाळ वापरकर्त्यांसाठी.

आम्ही आधी पाहिल्याप्रमाणे, ड्युओलिंगोने हे शोधून काढले आणि कॉन्फेटीसह टप्पे साजरे करणारे ॲनिमेटेड ग्राफिक लागू केले. काही प्लॅटफॉर्म वापरकर्त्यांच्या प्रयत्नांची पुष्टी करणारी भरीव बोनस बक्षिसे देखील देतात. आणि हे ॲप्ससाठी फायदेशीर ठरू शकते, जसे की वापरकर्ते त्यांचे टप्पे सोशल मीडियावर सार्वजनिकपणे शेअर करतात. आणखी एक फायदा म्हणजे टप्पे गाठण्यापूर्वी येणारी अपेक्षा. हे केवळ स्ट्रीक अविरतपणे जिवंत ठेवत नाही; वापरकर्त्यांना वाट पाहण्यासारखे काहीतरी आहे. ग्रेस यंत्रणा वापरा जीवन अप्रत्याशित आहे. लोक विचलित होतात. कोणत्याही चांगल्या स्ट्रीक सिस्टममध्ये अपूर्णतेची अपेक्षा केली पाहिजे. स्ट्रीक सिस्टीमला सर्वात मोठा मानसिक धोका म्हणजे फक्त एका चुकलेल्या दिवसानंतर शून्यावर हार्ड रीसेट करणे. "नैतिक" स्ट्रीक प्रणालीने वापरकर्त्याला काही सुस्तपणा प्रदान केला पाहिजे. समजा तुमच्याकडे 90 दिवसांची बुद्धिबळ शिकण्याची पद्धत आहे. तुम्ही तीन चांगले महिने सातत्य ठेवता, आणि एके दिवशी, प्रवासात तुमचा फोन मरतो, आणि त्याचप्रमाणे, 90 0 होतो — सर्वकाही, ते सर्व प्रयत्न, पुसले जातात आणि प्रगती नाहीशी होते. वापरकर्ता पूर्णपणे उद्ध्वस्त होऊ शकतो. सुरवातीपासून ते पुनर्बांधणी करण्याचा विचार इतका निराश करणारा आहे की प्रयत्नांचे मूल्य नाही. सर्वात वाईट म्हणजे, अयशस्वी झाल्यासारखे वाटल्यानंतर वापरकर्ता ॲप सोडू शकतो. तुमच्या स्ट्रीक सिस्टममध्ये "ग्रेस" यंत्रणा जोडण्याचा विचार करा:

Streak Freeze वापरकर्त्यांना जाणूनबुजून एक दिवस दंड न चुकवण्याची अनुमती द्या. अतिरिक्त वेळ रीसेट ट्रिगर करण्यापूर्वी नेहमीच्या अंतिम मुदतीनंतर काही तास (2-3) द्या. क्षय मॉडेल हार्ड रीसेट ऐवजी, स्ट्रीक थोड्या प्रमाणात कमी होते, उदा., चुकलेल्या दिवसाच्या स्ट्रीकमधून 10 दिवस वजा केले जातात.

उत्साहवर्धक टोन वापरा स्ट्रीक ब्रेक झाल्यावर वापरकर्त्यांना दाखवलेल्या दोन संदेशांची तुलना करूया:

"तुम्ही तुमचा 42 दिवसांचा स्ट्रीक गमावला आहे. पुन्हा सुरुवात करा." "तुम्ही 42 दिवस सरळ हजर आहात. ही अतुलनीय प्रगती आहे! पुन्हा एकदा प्रयत्न करू इच्छिता?"

दोघेही समान माहिती देतात, परंतु भावनिक प्रभाव भिन्न असतो. पहिला संदेश बहुधा वापरकर्त्याला निराश वाटेल आणि त्यांना सोडण्यास प्रवृत्त करेल. दुसरा संदेश आधीच जे साध्य केले आहे ते साजरे करतो आणि वापरकर्त्याला पुन्हा प्रयत्न करण्यासाठी हळूवारपणे प्रोत्साहित करतो. स्ट्रीक सिस्टम डिझाइन आव्हाने स्ट्रीक सिस्टीम तयार करण्याच्या तांत्रिक बाबींमध्ये जाण्यापूर्वी, तुम्हाला कोणत्या आव्हानांचा सामना करावा लागू शकतो याची तुम्हाला जाणीव असली पाहिजे. तुमच्या अपेक्षेप्रमाणे गोष्टी क्लिष्ट होऊ शकतात. टाइमझोन हाताळणे डेव्हलपर ज्या संकल्पना हाताळतात त्यामध्ये वेळ आणि तारीख हाताळण्याचे एक कारण आहे. येथे स्वरूपन, आंतरराष्ट्रीयीकरण आणि बरेच काही विचारात घेण्यासारखे आहे. मी तुम्हाला हे विचारू दे: दिवस म्हणून काय मोजले जाते? आम्हाला माहित आहे की जग वेगवेगळ्या टाइम झोनवर चालते आणि जणू ते पुरेसे नाही, काही प्रदेशांमध्ये डेलाइट सेव्हिंग टाइम (DST) असतो जो वर्षातून दोनदा होतो. या एज केसेस तुम्ही कुठे हाताळायला सुरुवात करता? उद्याची "सुरुवात" म्हणून काय मोजले जाते? काही डेव्हलपर UTC सारखा एक केंद्रीय टाइमझोन वापरून हे टाळण्याचा प्रयत्न करतात. काही वापरकर्त्यांसाठी, हे योग्य परिणाम देईल, परंतु काहींसाठी, ते एक तास, दोन तास किंवा त्याहून अधिक बंद असू शकते. ही विसंगती वापरकर्त्याचा अनुभव खराब करते. तुम्ही पडद्यामागील वेळ कसा हाताळता ते वापरकर्ते कमी काळजी घेतात; त्यांना फक्त एवढीच अपेक्षा आहे की जर त्यांनी रात्री ११:४० वाजता एक स्ट्रीक कृती केली, तर ती त्यांच्या संदर्भात नेमक्या वेळी नोंदवली जावी. तुम्ही वापरकर्त्याच्या स्थानिक टाइमझोनवर आधारित "एक दिवस" ​​परिभाषित केला पाहिजे, सर्व्हरच्या वेळेवर नाही. नक्कीच, आपण सोपे घेऊ शकतामध्यरात्री UTC वाजता सर्व वापरकर्त्यांसाठी जागतिक स्तरावर मार्ग काढा आणि स्ट्रीक्स रीसेट करा, परंतु तुम्ही खूप अन्याय निर्माण करत आहात. लंडनमध्ये राहणाऱ्या व्यक्तीपेक्षा कॅलिफोर्नियातील एखाद्या व्यक्तीकडे त्यांचे कार्य पूर्ण करण्यासाठी नेहमी आठ अतिरिक्त तास असतात. ही एक अन्यायकारक रचना त्रुटी आहे जी विशिष्ट वापरकर्त्यांना त्यांच्या स्थानामुळे शिक्षा करते. आणि जर लंडनमधील ती व्यक्ती फक्त भेट देत असेल, एखादे कार्य पूर्ण करत असेल, नंतर दुसऱ्या टाइमझोनमध्ये परत येत असेल तर? या सर्वांवर एक प्रभावी उपाय म्हणजे वापरकर्त्यांना ऑनबोर्डिंग दरम्यान (शक्यतो प्रथम प्रमाणीकरणानंतर) त्यांचा टाइमझोन स्पष्टपणे सेट करण्यास सांगणे. टाइमझोन माहिती प्रदान करणे हे वैयक्तिकरित्या ओळखता येण्याजोगे डेटा म्हणून वापरण्याऐवजी प्रगतीचा अचूक मागोवा घेण्यासाठी ॲपसाठी वापरला जातो ही सूक्ष्म टीप समाविष्ट करणे चांगली कल्पना आहे. आणि ती बदलण्यायोग्य सेटिंग बनवणे ही आणखी एक चांगली कल्पना आहे. मी सुचवितो की कोणीही ॲपमध्ये थेट टाइमझोन लॉजिक हाताळणे टाळावे. Moment.js किंवा pytz (Python) सारख्या ट्राय आणि ट्रू डेट लायब्ररी वापरा. ​​यासारख्या जटिल गोष्टीसाठी चाक पुन्हा शोधण्याची गरज नाही. मिस्ड डेज आणि एज केसेस आणखी एक आव्हान ज्याची तुम्ही काळजी करावी ते म्हणजे अनियंत्रित एज केसेस जसे की वापरकर्ते जास्त झोपणे, सर्व्हर डाउनटाइम, लॅग, नेटवर्क बिघाड इ. आपण आधी चर्चा केल्याप्रमाणे, कृपा यंत्रणेची कल्पना वापरणे, मदत करू शकते. दोन तासांची ग्रेस विंडो वापरकर्ता आणि विकसक दोघांनाही मदत करू शकते, या अर्थाने की वापरकर्त्यांना अनियंत्रित जीवन परिस्थितीसाठी कठोरपणे शिक्षा केली जात नाही. विकासकांसाठी, मध्यरात्री जेव्हा सर्व्हर डाउन होतो तेव्हा अशा अनियंत्रित क्षणांमध्ये ग्रेस विंडो उपयुक्त ठरतात. सर्वात महत्त्वाचे म्हणजे, क्लायंटवर कधीही विश्वास ठेवू नका. सर्व्हर-साइडवर नेहमी प्रमाणित करा. सर्व्हर हा सत्याचा एकमेव स्त्रोत असावा. फसवणूक प्रतिबंध पुन्हा, मी यावर पुरेसा ताण देऊ शकत नाही: सर्व काही सर्व्हर-साइड प्रमाणित करण्याचे सुनिश्चित करा. वापरकर्ते मानव आहेत आणि संधी मिळाल्यास मानव फसवणूक करू शकतात. ते अटळ आहे. तुम्ही प्रयत्न करू शकता:

UTC टाइमस्टॅम्पसह सर्व क्रिया संचयित करणे. क्लायंट त्यांची स्थानिक वेळ पाठवू शकतो, परंतु सर्व्हर त्वरित ते UTC मध्ये रूपांतरित करू शकतो आणि सर्व्हर वेळेनुसार प्रमाणित करू शकतो. अशाप्रकारे, क्लायंटचा टाइमस्टॅम्प संशयास्पदरीत्या दूर असल्यास, सिस्टम त्रुटी म्हणून नाकारू शकते आणि UI त्यानुसार प्रतिसाद देऊ शकते. इव्हेंट-आधारित ट्रॅकिंग वापरणे. दुसऱ्या शब्दांत, वापरकर्त्याचा आयडी, केलेल्या कृतीचा प्रकार आणि टाइमस्टॅम्प आणि टाइमझोन यासारख्या माहितीसह मेटाडेटासह प्रत्येक क्रियेचा रेकॉर्ड संग्रहित करा. हे प्रमाणीकरणास मदत करते.

एक स्ट्रीक सिस्टम इंजिन तयार करणे हे कोड ट्यूटोरियल नाही, म्हणून मी तुमच्यावर कोडचा एक समूह टाकणे टाळतो. मी हे व्यावहारिक ठेवीन आणि आर्किटेक्चर, प्रवाह आणि विश्वासार्हतेपर्यंत गोष्टी सामान्यतः स्ट्रीक सिस्टम इंजिन कशा चालवतात याचे वर्णन करेन. कोर आर्किटेक्चर मी अनेकदा म्हटल्याप्रमाणे, स्ट्रीक डेटासाठी सर्व्हरला सत्याचा एकच स्रोत बनवा. आर्किटेक्चर सर्व्हरवर असे काहीतरी जाऊ शकते:

प्रत्येक वापरकर्त्याचा डेटा डेटाबेसमध्ये साठवा. वर्तमान स्ट्रीक स्टोअर (डीफॉल्ट म्हणून 0) पूर्णांक म्हणून संग्रहित करा. टाइमझोन प्राधान्य संग्रहित करा, म्हणजे, IANA टाइमझोन स्ट्रिंग (एकतर स्थानिक टाइमस्टॅम्पवरून किंवा स्पष्टपणे वापरकर्त्याला त्यांचा टाइमझोन निवडण्यास सांगून). उदाहरणार्थ, “अमेरिका/न्यूयॉर्क”. वापरकर्त्याच्या स्थानिक टाइमझोनशी संबंधित असलेल्या टाइमझोन तपासणीसह स्ट्रीक सुरू राहते किंवा खंडित होते हे निर्धारित करण्यासाठी सर्व तर्क हाताळा.

दरम्यान, क्लायंटच्या बाजूने:

सामान्यपणे सर्व्हरवरून आणलेली वर्तमान स्ट्रीक प्रदर्शित करा. वापरकर्त्याने पात्रता स्ट्रीक क्रिया प्रत्यक्षात पूर्ण केली की नाही हे सत्यापित करण्यासाठी मेटाडेटा स्वरूपात केलेली क्रिया सर्व्हरवर पाठवा. सर्व्हरच्या प्रतिसादांवर आधारित व्हिज्युअल फीडबॅक द्या.

तर, थोडक्यात, मेंदू सर्व्हरवर आहे आणि क्लायंट प्रदर्शनाच्या उद्देशाने आणि इव्हेंट सबमिट करण्यासाठी आहे. हे तुम्हाला बऱ्याच अयशस्वी आणि एज केसेस वाचवते, तसेच अद्यतने आणि निराकरणे सुलभ करते. तार्किक प्रवाह वापरकर्त्याने एखादी क्रिया पूर्ण केल्यावर किमान कार्यक्षम स्ट्रीक सिस्टीम इंजिन कसे चालेल याचे वॉकथ्रूचे अनुकरण करूया:

वापरकर्ता पात्रता स्ट्रीक क्रिया पूर्ण करतो. क्लायंट मेटाडेटा म्हणून सर्व्हरला इव्हेंट पाठवतो. हे "टाईमस्टॅम्प Z वर वापरकर्ता X पूर्ण केलेली क्रिया Y" असू शकते. सर्व्हरला हा कार्यक्रम प्राप्त होतो आणि मूलभूत प्रमाणीकरण करतो. हा खरा वापरकर्ता आहे का? ते प्रमाणीकृत आहेत का? कारवाई वैध आहे का? टाइमझोन सुसंगत आहे का? हे पास झाल्यास, सर्व्हर डेटाबेसमधून वापरकर्त्याचा स्ट्रीक डेटा पुनर्प्राप्त करतो. त्यानंतर, प्राप्त झालेला क्रिया टाइमस्टॅम्प वापरकर्त्याच्या स्थानिक टाइमझोनमध्ये रूपांतरित करा. सर्व्हरला वापरकर्त्याच्या स्थानिक टाइमझोनमध्ये कॅलेंडर तारखांची (टाइमस्टॅम्प नव्हे) तुलना करू द्या: जर तोच दिवस असेल, तर कृती निरर्थक आहे आणि त्यात कोणताही बदल नाहीलकीर जर तो दुसऱ्या दिवशी असेल, तर स्ट्रीक 1 ने वाढतो आणि वाढतो. जर एका दिवसापेक्षा जास्त अंतर असेल तर स्ट्रीक तुटते. तथापि, येथे तुम्ही ग्रेस मेकॅनिक्स लागू करू शकता. कृपा यंत्रणा चुकल्यास, स्ट्रीक 1 वर रीसेट करा.

तुम्ही माइलस्टोन कृत्यांसाठी ऐतिहासिक डेटा सेव्ह करणे निवडल्यास, "सर्वात लांब स्ट्रीक" किंवा "एकूण सक्रिय दिवस" सारखे व्हेरिएबल्स अपडेट करा. सर्व्हर नंतर डेटाबेस अपडेट करतो आणि क्लायंटला प्रतिसाद देतो. असे काहीतरी:

{ "करंट_स्ट्रीक": ४८, "सर्वात लांब_स्ट्रीक": ५०, "एकूण_सक्रिय_दिवस": 120, "स्ट्रीक_विस्तारित": खरे, }

पुढील उपाय म्हणून, सर्व्हरने एकतर पुन्हा प्रयत्न केला पाहिजे किंवा नाकारला पाहिजे आणि प्रक्रियेदरम्यान काहीही अयशस्वी झाल्यास क्लायंटला सूचित केले पाहिजे. लवचिकतेसाठी इमारत आधी सांगितल्याप्रमाणे, बग्स किंवा सर्व्हर डाउनटाइममुळे वापरकर्ते स्ट्रीक गमावणे हे भयंकर UX आहे आणि वापरकर्ते यासाठी पडण्याची अपेक्षा करत नाहीत. अशा प्रकारे, आपल्या स्ट्रीक सिस्टममध्ये त्या परिस्थितींसाठी सुरक्षितता असणे आवश्यक आहे. सर्व्हर देखभालीसाठी (किंवा कोणतेही कारण असो) डाउन असल्यास, त्याचे निराकरण करण्यासाठी अतिरिक्त तासांच्या तात्पुरत्या विंडोला परवानगी देण्याचा विचार करा जेणेकरून क्रिया उशीरा सबमिट केल्या जाऊ शकतात आणि तरीही मोजल्या जाऊ शकतात. तुम्ही वापरकर्त्यांना सूचित करणे देखील निवडू शकता, विशेषतः जर परिस्थिती चालू असलेल्या स्ट्रीकवर परिणाम करण्यास सक्षम असेल. टीप: एक प्रशासक बॅकडोअर स्थापित करा जिथे डेटा व्यक्तिचलितपणे पुनर्संचयित केला जाऊ शकतो. बग अपरिहार्य आहेत आणि काही वापरकर्ते आपल्या ॲपला कॉल करतील किंवा ते नियंत्रित करू शकत नसल्याच्या कारणास्तव त्यांची स्ट्रीक तुटल्याच्या समर्थनासाठी संपर्क साधतील. जर, तपासानंतर, वापरकर्ता योग्य असेल तर तुम्ही स्ट्रीक्स व्यक्तिचलितपणे पुनर्संचयित करण्यात सक्षम असाल. निष्कर्ष एक गोष्ट स्पष्ट आहे: मानवी मानसशास्त्र मूलभूत स्तरावर कसे कार्य करते यामुळे स्ट्रीक्स खरोखर शक्तिशाली आहेत. वापरकर्ते जाणीवपूर्वक विचार करत नाहीत अशी सर्वोत्तम स्ट्रीक प्रणाली आहे. हे तात्काळ परिणाम किंवा दृश्यमान प्रगतीचा नित्यक्रम बनला आहे, जसे की दात घासणे, जी एक नियमित सवय बनते. आणि मी फक्त ते सांगणार आहे: सर्व उत्पादनांना स्ट्रीक सिस्टमची आवश्यकता नसते. तुम्हाला दैनंदिन सक्रिय वापरकर्ते हवे आहेत म्हणून तुम्ही खरोखर सातत्य आणले पाहिजे का? उत्तर खूप चांगले असू शकते "नाही".

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