મને ખાતરી છે કે તમે છટાઓ વિશે સાંભળ્યું હશે અથવા એક સાથે એપ્લિકેશનનો ઉપયોગ કર્યો હશે. પરંતુ ક્યારેય વિચાર્યું છે કે શા માટે છટાઓ એટલી લોકપ્રિય અને શક્તિશાળી છે? ઠીક છે, ત્યાં સ્પષ્ટ છે કે એપ્લિકેશન્સ શક્ય તેટલું તમારું ધ્યાન ઇચ્છે છે, પરંતુ તે સિવાય, શું તમે જાણો છો કે જ્યારે લોકપ્રિય લર્નિંગ એપ્લિકેશન Duolingo એ છટાઓ દર્શાવવા માટે iOS વિજેટ્સ રજૂ કર્યા, ત્યારે વપરાશકર્તાની પ્રતિબદ્ધતામાં 60%નો વધારો થયો. 60 ટકા એ વર્તણૂકમાં મોટા પાયે ફેરફાર છે અને દર્શાવે છે કે કેવી રીતે "સ્ટ્રીક" પેટર્નનો ઉપયોગ સગાઈ અને ડ્રાઇવનો ઉપયોગ વધારવા માટે થઈ શકે છે. તેના સૌથી મૂળભૂત રીતે, એક સ્ટ્રીક એ સતત દિવસોની સંખ્યા છે જેમાં વપરાશકર્તા ચોક્કસ પ્રવૃત્તિ પૂર્ણ કરે છે. કેટલાક લોકો તેને "ગેમિફાઇડ" ટેવ અથવા સતત ઉપયોગને પ્રોત્સાહિત કરવા માટે રચાયેલ મેટ્રિક તરીકે પણ વ્યાખ્યાયિત કરે છે. પરંતુ છટાઓ મેટ્રિક અથવા એપ્લિકેશનમાં રેકોર્ડ હોવા ઉપરાંત તે તેના કરતાં વધુ મનોવૈજ્ઞાનિક છે. માનવીય વૃત્તિ યોગ્ય પરિબળોથી પ્રભાવિત કરવી સરળ છે. આ ત્રણ પરિબળોને જુઓ: પ્રગતિ, ગૌરવ અને ગુમ થવાનો ડર (સામાન્ય રીતે FOMO કહેવાય છે). આ બધામાં શું સામ્ય છે? પ્રયત્ન. તમે કોઈ વસ્તુમાં જેટલા વધુ પ્રયત્નો કરશો, તેટલું જ તે તમારી ઓળખને આકાર આપે છે, અને આ રીતે વર્તણૂકીય મનોવિજ્ઞાનની દુનિયામાં છટાઓ ક્રોસ થાય છે. હવે, મહાન શક્તિ સાથે મોટી જવાબદારી આવે છે, અને તેના કારણે, છટાઓની કાળી બાજુ છે. આ લેખમાં, અમે અસરકારક સ્ટ્રીક સિસ્ટમ બનાવવા પાછળના મનોવિજ્ઞાન, UX અને ડિઝાઇન સિદ્ધાંતોમાં જઈશું. અમે જોઈશું કે (1) શા માટે આપણું મગજ લગભગ સહજ રીતે સ્ટ્રીક એક્ટિવિટીનો પ્રતિસાદ આપે છે, (2) સ્ટ્રીક્સને એવી રીતે કેવી રીતે ડિઝાઇન કરવી કે જે ખરેખર વપરાશકર્તાઓને મદદ કરે અને (3) સ્ટ્રીક પેટર્ન બનાવવામાં સામેલ તકનીકી કાર્ય. સ્ટ્રીક્સ પાછળની મનોવિજ્ઞાન અસરકારક સ્ટ્રીક સિસ્ટમની રચના અને નિર્માણ કરવા માટે, આપણે એ સમજવાની જરૂર છે કે તે આપણા મગજને કેવી રીતે વાયર કરે છે તેની સાથે તે કેવી રીતે સંરેખિત થાય છે. જેમ કે, આપણી છટાઓનું રક્ષણ કરવા માટે આપણે આટલું તીવ્ર સમર્પણ અનુભવીએ છીએ તે હદ સુધી તે શું અસરકારક બનાવે છે? ત્યાં ત્રણ રસપ્રદ, સારી રીતે દસ્તાવેજીકૃત મનોવિજ્ઞાન સિદ્ધાંતો છે જે આધાર આપે છે કે સ્ટ્રીક્સને શું શક્તિશાળી અને વ્યસનકારક બનાવે છે. નુકશાન અણગમો આ કદાચ છટાઓ પાછળનું સૌથી મજબૂત બળ છે. હું આ કહું છું કારણ કે મોટાભાગે, તમે જીવનમાં લગભગ આને ટાળી શકતા નથી. તેને આ રીતે વિચારો: જો કોઈ મિત્ર તમને $100 આપે, તો તમે ખુશ થશો. પરંતુ જો તમે તમારા વૉલેટમાંથી $100 ગુમાવો છો, તો તેનાથી વધુ નુકસાન થશે. તે પરિસ્થિતિઓનું ભાવનાત્મક વજન સમાન નથી. નફો સારો લાગે તેના કરતાં નુકસાન વધુ નુકસાન પહોંચાડે છે. ચાલો તેને આગળ લઈ જઈએ અને કહીએ કે હું તમને $100 આપું છું અને તમને જુગાર રમવા માટે કહું છું. તમે બીજા $100 જીતવાની 50% તક અને મૂળ $100 ગુમાવવાની 50% તક છે. શું તમે તેને લઈ શકશો? હું નહિ કરું. મોટાભાગના લોકો નહીં કરે. તે નુકશાન અણગમો છે. જો તમે તેના વિશે વિચારો છો, તો તે તાર્કિક છે, તે સમજી શકાય તેવું છે, તે માનવ છે. ખોટથી દૂર રહેવા પાછળનો ખ્યાલ એ છે કે સમાન મૂલ્યની વસ્તુ મેળવવાના આનંદ કરતાં બમણું કંઈક ગુમાવવાનું દુઃખ આપણે અનુભવીએ છીએ. મનોવૈજ્ઞાનિક દ્રષ્ટિએ, નફા કરતાં નુકસાન વધુ રહે છે. તમે કદાચ જોશો કે આ છટાઓ સાથે કેવી રીતે સંબંધિત છે. ધ્યાનપાત્ર દોર બનાવવા માટે, તેને પ્રયત્નોની જરૂર છે; જેમ જેમ સિલસિલો વધે છે, તેની પાછળની પ્રેરણા ઝાંખું થવા લાગે છે; અથવા વધુ સચોટ રીતે, તે ગૌણ બનવાનું શરૂ કરે છે. અહીં એક ઉદાહરણ છે: કહો કે તમારા મિત્રની એપલ વૉચ પર તેમની "મૂવ રિંગ્સ" બંધ કરવા માટે ત્રણ દિવસનો દોર છે. તેમની પાસે તેમના ધ્યેયને હાંસલ કરવા અને સતત રહેવાની ઇચ્છા સિવાય ગુમાવવાનું લગભગ કંઈ નથી. તે જ સમયે, તમારી પાસે પ્રભાવશાળી 219-દિવસનો દોર ચાલી રહ્યો છે. શક્યતા છે કે તમે તેને ગુમાવવાના ડરથી ફસાઈ ગયા છો. તમે મોટે ભાગે આ બિંદુએ સિદ્ધિ વિશે વિચારતા નથી; તે તમારા રોકાણ કરેલા પ્રયત્નોનું રક્ષણ કરવા વિશે વધુ છે, અને તે નુકસાનથી અણગમો છે. ડ્યુઓલિંગો સમજાવે છે કે કેવી રીતે નુકસાનની અણગમો વપરાશકર્તાની તેમના સૌથી આળસુ દિવસોમાં પણ લાંબી દોર તોડવાની અનિચ્છામાં ફાળો આપે છે. એક રીતે, જ્યારે ખોટનો અણગમો સ્થાયી થાય છે ત્યારે એક દોર આદતમાં ફેરવાઈ શકે છે. ફોગ બિહેવિયર મોડલ (B = MAP) હવે જ્યારે આપણે લાંબા દોરમાં રોકાણ કરેલા પ્રયત્નો ગુમાવવાના ડરને સમજીએ છીએ, ત્યારે બીજો પ્રશ્ન એ છે કે: સિલસિલો મોટો થાય તે પહેલાં જ, આપણે દિવસે દિવસે, પ્રથમ સ્થાને વસ્તુ કરવાનું શું પ્રેરિત કરે છે? ફોગ બિહેવિયર મોડલ તેના વિશે છે. તે પ્રમાણમાં સરળ છે. વર્તન (B) ત્યારે જ થાય છે જ્યારે ત્રણ પરિબળો - પ્રેરણા (M), ક્ષમતા (A), અને પ્રોમ્પ્ટ (P) - એક જ ક્ષણે સંરેખિત થાય છે. આમ, સમીકરણ B=MAP. જો આમાંના કોઈપણ પરિબળો, એક પણ, તે ક્ષણે ખૂટે છે, તો વર્તન થશે નહીં. તેથી, સ્ટ્રીક સિસ્ટમ કાર્યક્ષમ અને પુનરાવર્તિત થવા માટે, ત્રણેય પરિબળો હાજર હોવા જોઈએ: પ્રેરણા આ નાજુક છે અને એવું નથી કે જે સતત હાજર હોય. એવા દિવસો છે જ્યારે તમે છોસ્પેનિશ શીખવા માટે પમ્પ કરો, અને દિવસો તમે ભાષા શીખવા માટે ઇચ્છાશક્તિનો થોડો પણ અનુભવ કરશો નહીં. આદત બનાવવા માટે પોતે જ પ્રેરણા અવિશ્વસનીય છે અને પહેલા દિવસથી જ હારેલી લડાઈ છે. પ્રેરણાની મર્યાદાઓને વળતર આપવા માટે ક્ષમતા, ક્ષમતા મહત્વપૂર્ણ છે. આ સંદર્ભમાં, ક્ષમતાનો અર્થ થાય છે ક્રિયાની સરળતા, એટલે કે, પ્રયાસ એટલો સરળ છે કે તે શક્ય નથી એમ કહેવું અવાસ્તવિક છે. મોટાભાગની એપ જાણી જોઈને તેનો ઉપયોગ કરે છે. Apple Fitness માટે તમારે તમારા સ્ટેન્ડ ધ્યેય તરફ ટિક ​​મેળવવા માટે એક કલાકમાં એક મિનિટ માટે ઊભા રહેવાની જરૂર છે. ડ્યુઓલિંગોને માત્ર એક પૂર્ણ કરેલ પાઠની જરૂર છે. આ કાર્યો માટે એટલા બધા પ્રયત્નોની જરૂર નથી. અવરોધ એટલો ઓછો છે કે તમારા સૌથી ખરાબ દિવસોમાં પણ તમે તે કરી શકો છો. પરંતુ ચાલુ સ્ટ્રીકનો સંયુક્ત પ્રયાસ એ છે જ્યાં તે દોરને ગુમાવવાનો વિચાર આવે છે. પ્રોમ્પ્ટ આ તે છે જે સમીકરણને પૂર્ણ કરે છે. મનુષ્ય સ્વાભાવિક રીતે જ ભૂલી જાય છે, તેથી હા, ક્ષમતા આપણને ત્યાં 90% મેળવી શકે છે. પરંતુ પ્રોમ્પ્ટ અમને કાર્ય કરવાની યાદ અપાવે છે. સ્ટ્રીક્સ ડિઝાઇન દ્વારા સતત હોય છે, તેથી વપરાશકર્તાઓને કાર્ય કરવા માટે સતત યાદ અપાવવાની જરૂર છે. પ્રોમ્પ્ટ કેટલો શક્તિશાળી હોઈ શકે તે જોવા માટે, Duolingo એ એપના આયકન પર થોડો લાલ બેજ સાતત્યપૂર્ણ વપરાશમાં વધારો કરે છે કે કેમ તે જોવા માટે A/B પરીક્ષણ કર્યું. તે દૈનિક સક્રિય વપરાશકર્તાઓમાં 6% નો વધારો દર્શાવે છે. માત્ર એક લાલ બેજ. મોડલ મર્યાદાઓ આ બધું કહેવામાં આવે છે, ફોગ મોડલની મર્યાદા છે જેમાં વિવેચકો અને આધુનિક સંશોધનોએ નોંધ્યું છે કે આક્રમક સૂચનાઓ જેવા પ્રોમ્પ્ટ્સ પર ખૂબ જ વધુ આધાર રાખતી ડિઝાઇન માનસિક થાકનું જોખમ ઊભું કરે છે. સતત સૂચનાઓ અને ઓવરટાઇમ વપરાશકર્તાઓને મંથન કરી શકે છે. તેથી, તેના માટે સાવચેત રહો. Zeigarnik અસર જ્યારે તમે પ્રોજેક્ટનું કામ અડધું છોડી દો છો ત્યારે તમને કેવું લાગે છે? તે ઘણા લોકોને બળતરા કરે છે કારણ કે અધૂરા કાર્યો આપણે પૂર્ણ કરીએ છીએ તેના કરતાં વધુ માનસિક જગ્યા રોકે છે. જ્યારે કંઈક થઈ જાય છે અને ચાલ્યું જાય છે, ત્યારે આપણે તેને ભૂલી જઈએ છીએ. જ્યારે કંઈક પૂર્વવત્ છોડી દેવામાં આવે છે, ત્યારે તે આપણા મન પર ભાર મૂકે છે. આ જ કારણ છે કે ડિજિટલ ઉત્પાદનો કૃત્રિમ પ્રગતિ સૂચકોનો ઉપયોગ કરે છે, જેમ કે Upwork ના પ્રોફાઇલ પૂર્ણતા બાર, વપરાશકર્તાને જણાવવા માટે કે તેમની પ્રોફાઇલ ફક્ત "60% પૂર્ણ" છે. તે વપરાશકર્તાને તેણે જે શરૂ કર્યું છે તે સમાપ્ત કરવા માટે દબાણ કરે છે.

ચાલો બીજું ઉદાહરણ જોઈએ. ટૂ-ડૂ લિસ્ટ એપમાં તમારી પાસે પાંચ કાર્યો છે અને દિવસના અંતે, તમે તેમાંથી માત્ર ચાર જ પૂર્ણ થયાં તરીકે તપાસો છો. તે એક અધૂરા કાર્યને કારણે આપણામાંના ઘણા અધૂરા અનુભવશે. તે, ત્યાં જ, Zeigarnik અસર છે. મનોવિજ્ઞાની બ્લુમા ઝેગર્નિક દ્વારા ઝીગાર્નિક અસરનું નિદર્શન કરવામાં આવ્યું હતું, જેમણે વર્ણવ્યું હતું કે આપણે પૂર્ણ કરેલા કાર્યો કરતાં અધૂરા કાર્યોને આપણી સ્મૃતિમાં લાંબા સમય સુધી સક્રિય રાખવાનું વલણ રાખીએ છીએ. UX ડિઝાઇનમાં સ્ટ્રીક પેટર્ન કુદરતી રીતે આને ટેપ કરે છે. ધારો કે તમે શીખવાની શ્રેણીના 63મા દિવસે છો. તે સમયે, તમે અધૂરા વ્યવસાયની ચાલુ પેટર્નમાં છો. તમારું મગજ ભાગ્યે જ તેના વિશે ભૂલી જશે કારણ કે તે તમારા મગજની પાછળ બેસે છે. આ સમયે, તમારું મગજ તમને સૂચનાઓ મોકલનાર બની જાય છે. જ્યારે તમે આ મનોવૈજ્ઞાનિક દળોને એકસાથે મૂકો છો, ત્યારે તમે સાચા અર્થમાં સમજવાનું શરૂ કરો છો કે શા માટે છટાઓ ફક્ત નિયમિત એપ્લિકેશન સુવિધા નથી; તેઓ માનવ વર્તણૂકને ફરીથી આકાર આપવા સક્ષમ છે. પરંતુ રેખા સાથે ક્યાંક — હું બરાબર ક્યારે કહી શકતો નથી, કારણ કે તે દરેક માટે અલગ છે — વસ્તુઓ એવા બિંદુએ પહોંચે છે જ્યાં એક સિલસિલો "મજા"માંથી એવી કોઈ વસ્તુ તરફ બદલાય છે જે તમને લાગે છે કે તમે ગુમાવવાનું પરવડી શકતા નથી. તમે નથી ઈચ્છતા કે 58 દિવસની મહેનત વ્યર્થ જાય, ખરું ને? તે તે છે જે સ્ટ્રીક સિસ્ટમને અસરકારક બનાવે છે. જો યોગ્ય રીતે કરવામાં આવે તો, છટાઓ વપરાશકર્તાઓને ધ્યેય સિદ્ધ કરતી આશ્ચર્યજનક ટેવો બનાવવામાં મદદ કરે છે. તે દરરોજ વાંચવું અથવા સતત જીમમાં જવું હોઈ શકે છે. આ પુનરાવર્તિત ક્રિયાઓ (ક્યારેક નાની) સમય જતાં સંયોજન કરે છે અને આપણા રોજિંદા જીવનમાં સ્પષ્ટ બને છે. પરંતુ દરેક સિક્કાની બે બાજુઓ હોય છે. આદત અને મજબૂરી વચ્ચેની પાતળી રેખા જો તમે અનુસરી રહ્યા છો, તો તમે પહેલેથી જ કહી શકો છો કે સ્ટ્રીક સિસ્ટમ્સની કાળી બાજુ છે. આદતની રચના એ પુનરાવર્તિત ધ્યેય સાથે સુસંગતતા વિશે છે. જો કે, મજબૂરી એ એવા ધ્યેય પર કામ કરવાની સુસંગતતા છે જેની હવે જરૂર નથી પરંતુ ડર અથવા દબાણને બહાર રાખવામાં આવે છે. તે રેઝર-પાતળી રેખા છે. તમે વિચાર્યા વિના દરરોજ સવારે તમારા દાંત સાફ કરો છો; તે આપોઆપ અને સહજ છે, સારા શ્વાસ લેવાના સ્પષ્ટ ધ્યેય સાથે. તે એક દોર છે જે સારી ટેવ બનાવે છે. નૈતિક સ્ટ્રીક સિસ્ટમ વપરાશકર્તાઓને શ્વાસ લેવાની જગ્યા આપે છે. જો, કોઈ કારણસર, તમે સવારે બ્રશ નથી કરતા, તો તમે બપોરના સમયે બ્રશ કરી શકો છો. લાંબા પ્રયત્નો ગુમાવવાના ભય વિના અપૂર્ણતાને મંજૂરી છે. મજબૂરી વિપરીત માર્ગ લે છે, જેમાં એક સિલસિલો તમને બેચેન બનાવે છે, તમે દોષિત અથવા થાકેલા અનુભવો છો, અને કેટલીકવાર, એવું લાગે છે કે તમારા બધા હોવા છતાં તમે કંઈપણ કર્યું નથી.કામ તમે કાર્ય કરો છો એટલા માટે નહીં કે તમે ઇચ્છો છો, પરંતુ કારણ કે તમે તમારી પ્રગતિને શૂન્ય પર રીસેટ થતા જોઈને અર્ધજાગૃતપણે ડરી ગયા છો. કોઈએ આનું સંપૂર્ણ રીતે વર્ણન પણ કર્યું, "મને લાગ્યું કે હું છેતરપિંડી કરી રહ્યો છું, પરંતુ ફક્ત ધ્યાન આપ્યું ન હતું. હું મારા દોર વિના કંઈ નથી". આ દર્શાવે છે કે આત્યંતિક હોલ્ડ સ્ટ્રીક્સ વ્યક્તિ પર હોઈ શકે છે. તે હદ સુધી કે વપરાશકર્તાઓ તેમના સ્વ-મૂલ્યને મૂળ ધ્યેય અથવા કારણને બદલે એક મનસ્વી મેટ્રિક સાથે જોડવાનું શરૂ કરે છે જે તેઓએ પ્રથમ સ્થાને દોર શરૂ કર્યો હતો. સ્ટ્રીક બની જાય છે કે તેઓ કોણ છે, માત્ર તેઓ શું કરે છે. સારી રીતે રચાયેલ નૈતિક સ્ટ્રીક સિસ્ટમ વપરાશકર્તાને પ્રોત્સાહન જેવું લાગવું જોઈએ, દબાણ અથવા જવાબદારી નહીં. આ આંતરિક અને બાહ્ય પ્રેરણાના સંતુલન સાથે સંબંધિત છે. બાહ્ય પ્રેરણા (બાહ્ય પુરસ્કારો, સજા ટાળવા) વપરાશકર્તાઓને પ્રારંભ કરાવી શકે છે, પરંતુ આંતરિક પ્રેરણા (સ્પેનિશ શીખવા જેવા વ્યક્તિગત ધ્યેય માટે કાર્ય કરવું કારણ કે તમે ખરેખર કોઈ પ્રિય વ્યક્તિ સાથે વાતચીત કરવા માંગો છો) લાંબા ગાળાની સગાઈ માટે વધુ મજબૂત છે. સારી પ્રણાલીએ બાહ્ય તત્વોના સાવચેતીપૂર્વક ઉપયોગ સાથે આંતરિક પ્રેરણા તરફ ગુરુત્વાકર્ષણ કરવું જોઈએ, એટલે કે, વપરાશકર્તાઓને યાદ કરાવવું જોઈએ કે તેઓ કેટલા આગળ આવ્યા છે, તેઓ શું ગુમાવી શકે છે તેની તેમને ધમકી આપવી નહીં. ફરીથી, તે એક સરસ રેખા છે. સ્ટ્રીક સિસ્ટમ ડિઝાઇન કરતી વખતે એક સરળ કસોટી એ છે કે વાસ્તવમાં થોડો સમય કાઢો અને વિચારો કે શું તમારી પ્રોડક્ટ્સ તમારી પ્રોડક્ટ બનાવેલી ચિંતાના ઉકેલો વેચીને પૈસા કમાય છે કે કેમ. જો હા, તો તમે વપરાશકર્તાઓનું શોષણ કરી રહ્યાં હોવ તેવી ઉચ્ચ સંભાવના છે. તેથી આગળનો પ્રશ્ન બને છે કે, જો હું સ્ટ્રીકનો ઉપયોગ કરવાનું પસંદ કરું, તો હું તેને એવી રીતે કેવી રીતે ડિઝાઇન કરી શકું કે જે વપરાશકર્તાઓને તેમના લક્ષ્યો હાંસલ કરવામાં ખરેખર મદદ કરે? ગુડ સ્ટ્રીક સિસ્ટમ ડિઝાઇનનું UX હું માનું છું કે આ તે છે જ્યાં મોટાભાગના પ્રોજેક્ટ્સ અસરકારક સ્ટ્રીક સિસ્ટમને ખીલી નાખે છે અથવા તેને સંપૂર્ણપણે ગડબડ કરે છે. ચાલો સારી સ્ટ્રીક ડિઝાઇનના કેટલાક UX સિદ્ધાંતો પર જઈએ. તેને પ્રયત્ન વિના રાખો તમે કદાચ આ પહેલા પણ સાંભળ્યું હશે, કદાચ એટોમિક હેબિટ્સ જેવા પુસ્તકોમાંથી, પરંતુ એ ઉલ્લેખનીય છે કે આદતો બનાવવાની સૌથી સરળ રીતોમાંની એક ક્રિયાને નાની અને સરળ બનાવીને છે. અમે ફોગ બિહેવિયર મોડલમાંથી ચર્ચા કરેલ ક્ષમતા પરિબળ જેવું જ છે. કોઈપણ સ્ટ્રીક ડિઝાઈનનો પ્રથમ નિયમ એ જરૂરી ક્રિયાને માનવીય રીતે શક્ય તેટલી નાની બનાવવી જોઈએ જ્યારે હજુ પણ પ્રગતિ હાંસલ કરવી જોઈએ. જો કોઈ દૈનિક ક્રિયાને પૂર્ણ કરવા માટે ઈચ્છાશક્તિની જરૂર હોય, તો તે ક્રિયા તેને પાંચ દિવસ વીતી જશે નહીં. શા માટે? તમે સતત પાંચ દિવસ પ્રેરિત થઈ શકતા નથી. કેસમાં: જો તમે ધ્યાન એપ્લિકેશન ચલાવો છો, તો તમારે ફક્ત સ્ટ્રીક જાળવવા માટે વપરાશકર્તાઓને 20-મિનિટના સત્રમાંથી પસાર થવાની જરૂર નથી. તેના બદલે એક મિનિટ, કદાચ ત્રીસ સેકન્ડ જેટલું નાનું પણ અજમાવી જુઓ. જેમ કહેવત છે, પાણીના નાના ટીપાં શક્તિશાળી મહાસાગર બનાવે છે). નાના પ્રયાસો સમય સાથે મોટી સિદ્ધિઓમાં સંકલન કરે છે. તે ધ્યેય હોવો જોઈએ: ઘર્ષણ દૂર કરો, ખાસ કરીને જ્યારે તે ક્ષણ મુશ્કેલ હોઈ શકે. જ્યારે વપરાશકર્તાઓ તણાવમાં હોય અથવા ભરાઈ ગયા હોય, ત્યારે તેમને જણાવો કે થોડીક સેકંડ માટે પણ, ફક્ત દેખાડો એ પ્રયત્ન તરીકે ગણાય છે. સ્પષ્ટ વિઝ્યુઅલ પ્રતિસાદ આપો માનવ સ્વભાવે દ્રશ્ય છે. મોટાભાગે, આપણે માનવા માટે કંઈક જોવાની જરૂર છે; વસ્તુઓને વધુ સારી રીતે સમજવા અને વસ્તુઓને પરિપ્રેક્ષ્યમાં મૂકવા માટે આની જરૂર છે. આ જ કારણ છે કે સ્ટ્રીક પેટર્ન ઘણીવાર પ્રયત્નોને વિઝ્યુઅલાઈઝ કરવા માટે ગ્રાફ, ચેકમાર્ક, પ્રોગ્રેસ રિંગ્સ અને ગ્રીડ જેવા વિઝ્યુઅલ તત્વોનો ઉપયોગ કરે છે. GitHub નો ફાળો ગ્રાફ જુઓ. તે સુસંગતતાનું સરળ વિઝ્યુલાઇઝેશન છે. છતાં વિકાસકર્તાઓ તેને ઓક્સિજનની જેમ શ્વાસમાં લે છે.

ચાવી એ છે કે સ્ટ્રીક સિસ્ટમને અમૂર્ત લાગે નહીં. તે વાસ્તવિક અને કમાયેલું લાગવું જોઈએ. દાખલા તરીકે, ડ્યુઓલિંગો અને Appleની ફિટનેસ એક્ટિવિટી રિંગ્સ સ્ટ્રીક પૂર્ણ થવા પર સ્વચ્છ એનિમેશન ડિઝાઇનનો ઉપયોગ કરે છે, અને GitHub સમય જતાં વપરાશકર્તાની સુસંગતતાનો ઐતિહાસિક ડેટા દર્શાવે છે.

સારા સમયનો ઉપયોગ કરો મેં અગાઉ ઉલ્લેખ કર્યો છે કે માણસો સામાન્ય રીતે સ્વભાવે ભુલતા હોય છે, અને તે સંકેતો આગળની ગતિ જાળવી રાખવામાં મદદ કરી શકે છે. સંકેતો વિના, મોટાભાગના નવા વપરાશકર્તાઓ ચાલુ રાખવાનું ભૂલી જાય છે. જીવન વ્યસ્ત થઈ શકે છે, પ્રેરણા અદૃશ્ય થઈ જાય છે, અને વસ્તુઓ થાય છે. લાંબા સમયના વપરાશકર્તાઓ પણ પ્રોમ્પ્ટ્સથી લાભ મેળવે છે, જોકે મોટાભાગે, તેઓ પહેલેથી જ આદત લૂપની અંદર લૉક હોય છે. તેમ છતાં, સૌથી પ્રતિબદ્ધ વ્યક્તિ પણ આકસ્મિક રીતે એક દિવસ ચૂકી શકે છે. તમારી સ્ટ્રીક સિસ્ટમને ચોક્કસપણે રીમાઇન્ડર્સની જરૂર છે. સૌથી વધુ ઉપયોગમાં લેવાતા પ્રોમ્પ્ટ રીમાઇન્ડર્સ પુશ સૂચનાઓ છે. પુશ સૂચનાઓ સાથે કામ કરતી વખતે સમય ખરેખર મહત્વપૂર્ણ છે. એપ્લિકેશનનો પ્રકાર પણ મહત્વપૂર્ણ છે. સવારે 9 વાગ્યે "તમે આજે પ્રેક્ટિસ નથી કરી" એમ કહીને નોટિફિકેશન મોકલવું એ શીખવાની એપ્લિકેશન માટે માત્ર વિચિત્ર છે કારણ કે ઘણા લોકો પાઠ પૂરો કરવા વિશે વિચારે તે પહેલાં જ દિવસમાં કરવા જેવું હોય છે. જો આપણે ફિટનેસ એપ્લિકેશન વિશે વાત કરી રહ્યા છીએ, તેમ છતાં, તેવાજબી છે અને કદાચ દિવસ પહેલા યાદ અપાવવાની પણ અપેક્ષા છે. પુશ સૂચનાઓ એપ્લિકેશન શ્રેણી દ્વારા નોંધપાત્ર રીતે બદલાય છે. ફિટનેસ એપ્લિકેશન્સ, દાખલા તરીકે, વહેલી સવારની સૂચનાઓ (7-8 AM) સાથે ઉચ્ચ સંલગ્નતા જુઓ, જ્યારે ઉત્પાદકતા એપ્લિકેશન્સ વહેલી બપોર પછી વધુ સારું પ્રદર્શન કરી શકે છે. મુખ્ય વસ્તુ એ છે કે વસ્તુઓ એક-સાઇઝ-ફીટ-ઓલ છે એમ માની લેવાને બદલે તમારા વપરાશકર્તાઓના વર્તનના આધારે તમારી એપ્લિકેશનના સમયનું પરીક્ષણ કરવું. મેડિટેશન એપ્લિકેશન માટે જે કામ કરે છે તે કોડિંગ ટ્રેકર માટે કામ ન કરે. અન્ય પ્રોમ્પ્ટ પદ્ધતિઓ એપ આઇકોન અને એપ વિજેટ્સ પર લાલ બિંદુઓ છે. અભ્યાસો બદલાય છે, પરંતુ સરેરાશ વ્યક્તિ દિવસમાં 50-150 વખત (PDF) વચ્ચે તેમના ઉપકરણને અનલૉક કરે છે. જો કોઈ વપરાશકર્તા એપ્લિકેશન અથવા વિજેટ પર લાલ ટપકું જુએ છે જે દર વખતે તેમના ફોનને અનલૉક કરે છે ત્યારે વર્તમાન સ્ટ્રીક સૂચવે છે, તો તે પ્રતિબદ્ધતામાં વધારો કરે છે. ફક્ત તેને વધુપડતું ન કરો; પ્રોમ્પ્ટ રીમાઇન્ડર તરીકે સેવા આપવી જોઈએ, નાગ નહીં. માઇલસ્ટોન્સની ઉજવણી કરો સ્ટ્રીક સિસ્ટમે લાગણીઓને ફરીથી પ્રજ્વલિત કરવા માટે લક્ષ્યોની ઉજવણી કરવાનો પ્રયાસ કરવો જોઈએ, ખાસ કરીને સ્ટ્રીકમાં ઊંડા વપરાશકર્તાઓ માટે. જ્યારે કોઈ વપરાશકર્તા દિવસ 7, દિવસ 30, દિવસ 50, દિવસ 100, દિવસ 365 હિટ કરે છે, ત્યારે તમારે તેમાંથી મોટો સોદો કરવો જોઈએ. સિદ્ધિઓનો સ્વીકાર કરો — ખાસ કરીને લાંબા સમયના વપરાશકર્તાઓ માટે.

આપણે અગાઉ જોયું તેમ, ડ્યુઓલિંગોએ આ શોધી કાઢ્યું અને એક એનિમેટેડ ગ્રાફિક અમલમાં મૂક્યું જે કોન્ફેટી સાથે માઇલસ્ટોન્સની ઉજવણી કરે છે. કેટલાક પ્લેટફોર્મ્સ નોંધપાત્ર બોનસ પુરસ્કારો પણ આપે છે જે વપરાશકર્તાઓના પ્રયત્નોને માન્ય કરે છે. અને આ એપ્સ માટે ફાયદાકારક હોઈ શકે છે, જેમ કે વપરાશકર્તાઓ તેમના લક્ષ્યોને સાર્વજનિક રીતે સોશિયલ મીડિયા પર શેર કરવાનું વલણ ધરાવે છે. બીજો ફાયદો એ અપેક્ષા છે જે માઇલસ્ટોન્સ સુધી પહોંચતા પહેલા આવે છે. તે માત્ર સ્ટ્રીકને અવિરતપણે જીવંત રાખવાનું નથી; વપરાશકર્તાઓ પાસે આગળ જોવા માટે કંઈક છે. ગ્રેસ મિકેનિઝમ્સનો ઉપયોગ કરો જીવન અણધારી છે. લોકો વિચલિત થાય છે. કોઈપણ સારી સ્ટ્રીક સિસ્ટમમાં અપૂર્ણતાની અપેક્ષા રાખવી જોઈએ. સ્ટ્રીક સિસ્ટમ માટેના સૌથી મોટા મનોવૈજ્ઞાનિક જોખમો પૈકી એક માત્ર એક ચૂકી ગયેલા દિવસ પછી શૂન્ય પર હાર્ડ રીસેટ છે. "નૈતિક" સ્ટ્રીક સિસ્ટમે વપરાશકર્તાને થોડી ઢીલાશ પૂરી પાડવી જોઈએ. ધારો કે તમારી પાસે 90-દિવસની ચેસ શીખવાની સિલસિલો છે. તમે ત્રણ સારા મહિનાઓથી સતત રહ્યા છો, અને એક દિવસ, મુસાફરી દરમિયાન તમારો ફોન મૃત્યુ પામે છે, અને તે જ રીતે, 90 0 બની જાય છે - બધું, તે તમામ પ્રયત્નો, ભૂંસી નાખવામાં આવે છે, અને પ્રગતિ અદૃશ્ય થઈ જાય છે. વપરાશકર્તા સંપૂર્ણપણે બરબાદ થઈ શકે છે. તેને શરૂઆતથી પુનઃનિર્માણ કરવાનો વિચાર એટલો નિરાશાજનક છે કે પ્રયત્નો તે મૂલ્યવાન નથી. સૌથી ખરાબ રીતે, વપરાશકર્તા નિષ્ફળતાની લાગણી અનુભવ્યા પછી એપ્લિકેશનને છોડી શકે છે. તમારી સ્ટ્રીક સિસ્ટમમાં "ગ્રેસ" મિકેનિઝમ ઉમેરવાનું વિચારો:

સ્ટ્રીક ફ્રીઝ વપરાશકર્તાઓને ઇરાદાપૂર્વક દંડ વિના એક દિવસ ચૂકી જવાની મંજૂરી આપો. વધારાનો સમય રીસેટ ટ્રિગર કરતા પહેલા સામાન્ય સમયમર્યાદાના થોડા કલાકો (2-3) પસાર થવા દો. સડો મોડલ હાર્ડ રીસેટને બદલે, સ્ટ્રીક થોડી માત્રામાં ઘટે છે, દા.ત., ચૂકી ગયેલા દિવસ દીઠ સ્ટ્રીકમાંથી 10 દિવસ કાપવામાં આવે છે.

પ્રોત્સાહક સ્વરનો ઉપયોગ કરો ચાલો જ્યારે સ્ટ્રીક તૂટી જાય ત્યારે વપરાશકર્તાઓને બતાવવામાં આવતા બે સંદેશાઓની તુલના કરીએ:

"તમે તમારો 42-દિવસનો દોર ગુમાવી દીધો છે. ફરી શરૂ કરો." "તમે સીધા 42 દિવસ માટે બતાવ્યા. તે અદ્ભુત પ્રગતિ છે! તેને ફરી પ્રયાસ કરવા માંગો છો?"

બંને સમાન માહિતી આપે છે, પરંતુ ભાવનાત્મક અસર અલગ છે. પ્રથમ સંદેશ મોટે ભાગે વપરાશકર્તાને હતાશ અનુભવે છે અને તેમને છોડી દેવાનું કારણ બને છે. બીજો સંદેશ પહેલાથી જ પ્રાપ્ત કરેલ છે તેની ઉજવણી કરે છે અને વપરાશકર્તાને ફરીથી પ્રયાસ કરવા માટે હળવાશથી પ્રોત્સાહિત કરે છે. સ્ટ્રીક સિસ્ટમ્સ ડિઝાઇન પડકારો સ્ટ્રીક સિસ્ટમ બનાવવાની ટેકનિકલ વિશિષ્ટતાઓમાં જઈએ તે પહેલાં, તમારે પડકારોનો સામનો કરવો પડી શકે છે તે વિશે તમારે વાકેફ હોવું જોઈએ. વસ્તુઓ જટિલ બની શકે છે, જેમ તમે અપેક્ષા રાખી શકો છો. ટાઈમઝોન હેન્ડલિંગ સમય અને તારીખને હેન્ડલ કરવાનું એક કારણ છે જે વિકાસકર્તાઓ સાથે વ્યવહાર કરે છે તે સૌથી મુશ્કેલ વિભાવનાઓમાંનું એક છે. ત્યાં ફોર્મેટિંગ, આંતરરાષ્ટ્રીયકરણ અને ઘણું બધું ધ્યાનમાં લેવાનું છે. ચાલો હું તમને આ પૂછું: દિવસ તરીકે શું ગણવામાં આવે છે? આપણે જાણીએ છીએ કે વિશ્વ જુદા જુદા સમય ઝોન પર ચાલે છે, અને જાણે કે તે પૂરતું નથી, કેટલાક પ્રદેશોમાં ડેલાઇટ સેવિંગ ટાઇમ (DST) હોય છે જે વર્ષમાં બે વાર થાય છે. તમે પણ આ કિસ્સાઓનું સંચાલન ક્યાંથી શરૂ કરો છો? આવતીકાલની "શરૂઆત" તરીકે શું ગણવામાં આવે છે? કેટલાક વિકાસકર્તાઓ UTC જેવા એક કેન્દ્રીય સમય ઝોનનો ઉપયોગ કરીને આને ટાળવાનો પ્રયાસ કરે છે. કેટલાક વપરાશકર્તાઓ માટે, આ યોગ્ય પરિણામો આપશે, પરંતુ કેટલાક માટે, તે એક કલાક, બે કલાક અથવા તેથી વધુ સમય સુધી બંધ થઈ શકે છે. આ અસંગતતા વપરાશકર્તાના અનુભવને બગાડે છે. તમે પડદા પાછળના સમયને કેવી રીતે હેન્ડલ કરો છો તેની વપરાશકર્તાઓ ઓછી કાળજી લે છે; તેઓ માત્ર એટલી જ અપેક્ષા રાખે છે કે જો તેઓ 11:40 p.m. પર એક સ્ટ્રીક ક્રિયા કરે છે, તો તે તેમના સંદર્ભમાં, તે ચોક્કસ સમયે નોંધણી કરાવવી જોઈએ. તમારે વપરાશકર્તાના સ્થાનિક સમય ઝોનના આધારે "એક દિવસ" વ્યાખ્યાયિત કરવો જોઈએ, સર્વર સમયના આધારે નહીં. ખાતરી કરો કે, તમે સરળ લઈ શકો છોમધ્યરાત્રિના UTC પર તમામ વપરાશકર્તાઓ માટે વૈશ્વિક સ્તરે રૂટ અને રીસેટ સ્ટ્રીક્સ, પરંતુ તમે ખૂબ જ અન્યાયી બનાવી રહ્યા છો. કેલિફોર્નિયામાં રહેતી કોઈ વ્યક્તિ પાસે લંડનમાં રહેતા કોઈ વ્યક્તિ કરતાં તેમનું કાર્ય પૂર્ણ કરવા માટે હંમેશા આઠ વધારાના કલાકો હોય છે. તે એક અન્યાયી ડિઝાઇન ખામી છે જે ચોક્કસ વપરાશકર્તાઓને તેમના સ્થાનને કારણે સજા કરે છે. અને જો લંડનમાં તે વ્યક્તિ માત્ર મુલાકાત લે, કાર્ય પૂર્ણ કરે, પછી બીજા ટાઈમઝોનમાં પરત ફરે તો શું? આ બધાનો એક અસરકારક ઉકેલ એ છે કે વપરાશકર્તાઓને ઓનબોર્ડિંગ દરમિયાન (પ્રાધાન્યમાં પ્રથમ પ્રમાણીકરણ પછી) સ્પષ્ટપણે તેમનો સમયઝોન સેટ કરવાનું કહેવું. સૂક્ષ્મ નોંધ શામેલ કરવી એ એક સારો વિચાર છે કે સમય ઝોનની માહિતી પ્રદાન કરવાનો ઉપયોગ વ્યક્તિગત રીતે ઓળખી શકાય તેવા ડેટા તરીકે ઉપયોગ કરવાને બદલે, પ્રગતિને ચોક્કસપણે ટ્રૅક કરવા માટે એપ્લિકેશન માટે જ થાય છે. અને તેને બદલી શકાય તેવું સેટિંગ બનાવવાનો બીજો સારો વિચાર છે. હું સૂચન કરું છું કે કોઈ પણ વ્યક્તિ એપમાં ટાઇમઝોન લોજિકને સીધું હેન્ડલ કરવાનું ટાળે. ટ્રુ-એન્ડ-ટ્રુ ડેટ લાઇબ્રેરીઓનો ઉપયોગ કરો, જેમ કે Moment.js અથવા pytz (Python), વગેરે. આના જેવી જટિલ વસ્તુ માટે વ્હીલને ફરીથી શોધવાની જરૂર નથી. ચૂકી ગયેલા દિવસો અને એજ કેસ અન્ય એક પડકાર જેની તમારે ચિંતા કરવી જોઈએ તે અનિયંત્રિત કિસ્સાઓ છે જેમ કે વપરાશકર્તાઓ ઓવરસ્લીપિંગ, સર્વર ડાઉનટાઇમ, લેગ, નેટવર્ક નિષ્ફળતા વગેરે. ગ્રેસ મિકેનિઝમના વિચારનો ઉપયોગ, જેમ કે આપણે અગાઉ ચર્ચા કરી છે, મદદ કરી શકે છે. બે કલાકની ગ્રેસ વિન્ડો વપરાશકર્તા અને વિકાસકર્તા બંનેને મદદ કરી શકે છે, આ અર્થમાં કે વપરાશકર્તાઓને અનિયંત્રિત જીવન સંજોગો માટે સખત સજા કરવામાં આવતી નથી. વિકાસકર્તાઓ માટે, જ્યારે મધ્યરાત્રિએ સર્વર ડાઉન થઈ જાય ત્યારે તે અનિયંત્રિત ક્ષણોમાં ગ્રેસ વિન્ડો મદદરૂપ થાય છે. સૌથી ઉપર, ગ્રાહક પર ક્યારેય વિશ્વાસ ન કરો. હંમેશા સર્વર-સાઇડ પર માન્ય કરો. સર્વર સત્યનો એકમાત્ર સ્ત્રોત હોવો જોઈએ. છેતરપિંડી નિવારણ ફરીથી, હું આ પર પૂરતો ભાર આપી શકતો નથી: સર્વર-સાઇડ દરેક વસ્તુને માન્ય કરવાની ખાતરી કરો. વપરાશકર્તાઓ મનુષ્યો છે, અને જો તક મળે તો મનુષ્ય છેતરપિંડી કરી શકે છે. તે અનિવાર્ય છે. તમે પ્રયાસ કરી શકો છો:

UTC ટાઈમસ્ટેમ્પ્સ સાથે તમામ ક્રિયાઓ સંગ્રહિત કરવી. ક્લાયંટ તેમનો સ્થાનિક સમય મોકલી શકે છે, પરંતુ સર્વર તેને તરત જ UTCમાં રૂપાંતરિત કરી શકે છે અને સર્વર સમય સામે માન્ય કરી શકે છે. આ રીતે, જો ક્લાયન્ટનો ટાઇમસ્ટેમ્પ શંકાસ્પદ રીતે દૂર હોય, તો સિસ્ટમ તેને ભૂલ તરીકે નકારી શકે છે, અને UI તે મુજબ પ્રતિસાદ આપી શકે છે. ઇવેન્ટ-આધારિત ટ્રેકિંગનો ઉપયોગ કરીને. બીજા શબ્દોમાં કહીએ તો, મેટાડેટા સાથે દરેક ક્રિયાનો રેકોર્ડ સ્ટોર કરો, જેમાં વપરાશકર્તાની ID, કરવામાં આવેલ ક્રિયાનો પ્રકાર અને ટાઇમસ્ટેમ્પ અને ટાઇમઝોન જેવી માહિતીનો સમાવેશ થાય છે. આ માન્યતા સાથે મદદ કરે છે.

સ્ટ્રીક સિસ્ટમ એન્જિન બનાવવું આ કોડ ટ્યુટોરીયલ નથી, તેથી હું તમારા પર કોડનો સમૂહ ડમ્પ કરવાનું ટાળીશ. હું આને વ્યવહારુ રાખીશ અને વર્ણન કરીશ કે આર્કિટેક્ચર, પ્રવાહ અને વિશ્વસનીયતા સુધી વસ્તુઓ સામાન્ય રીતે સ્ટ્રીક સિસ્ટમ એન્જિનને કેવી રીતે ચલાવે છે. કોર આર્કિટેક્ચર મેં ઘણી વાર કહ્યું છે તેમ, સ્ટ્રીક ડેટા માટે સર્વરને સત્યનો એકમાત્ર સ્ત્રોત બનાવો. સર્વર પર આર્કિટેક્ચર આના જેવું કંઈક જઈ શકે છે:

દરેક વપરાશકર્તાના ડેટાને ડેટાબેઝમાં સંગ્રહિત કરો. વર્તમાન સ્ટ્રીક સ્ટોર (ડિફોલ્ટ તરીકે 0) ને પૂર્ણાંક તરીકે સંગ્રહિત કરો. ટાઈમઝોન પ્રેફરન્સ સ્ટોર કરો, એટલે કે, IANA ટાઈમઝોન સ્ટ્રિંગ (ક્યાં તો સ્થાનિક ટાઈમસ્ટેમ્પમાંથી અથવા સ્પષ્ટપણે યુઝરને તેમનો ટાઈમઝોન પસંદ કરવાનું કહીને). ઉદાહરણ તરીકે, “America/New_York”. સ્ટ્રીક ચાલુ રહે છે કે તૂટે છે તે નિર્ધારિત કરવા માટે તમામ તર્કને હેન્ડલ કરો, ટાઈમઝોન ચેક સાથે જે વપરાશકર્તાના સ્થાનિક ટાઈમઝોન સાથે સંબંધિત છે.

દરમિયાન, ગ્રાહક બાજુ પર:

વર્તમાન સ્ટ્રીક દર્શાવો, સામાન્ય રીતે સર્વરમાંથી મેળવેલ. વપરાશકર્તાએ વાસ્તવમાં ક્વોલિફાઇંગ સ્ટ્રીક ક્રિયા પૂર્ણ કરી છે કે કેમ તે માન્ય કરવા માટે મેટાડેટાના રૂપમાં કરવામાં આવેલી ક્રિયા સર્વરને મોકલો. સર્વર પ્રતિસાદોના આધારે વિઝ્યુઅલ પ્રતિસાદ પ્રદાન કરો.

તેથી, ટૂંકમાં, મગજ સર્વર પર છે, અને ક્લાયંટ પ્રદર્શન હેતુઓ અને ઇવેન્ટ્સ સબમિટ કરવા માટે છે. આ તમને ઘણી બધી નિષ્ફળતાઓ અને કિસ્સાઓ બચાવે છે, ઉપરાંત અપડેટ્સ અને ફિક્સેસને સરળ બનાવે છે. લોજિકલ ફ્લો જ્યારે વપરાશકર્તા કોઈ ક્રિયા પૂર્ણ કરે છે ત્યારે ન્યૂનતમ કાર્યક્ષમ સ્ટ્રીક સિસ્ટમ એન્જિન કેવી રીતે ચાલશે તેના વોકથ્રુનું અનુકરણ કરીએ:

વપરાશકર્તા ક્વોલિફાઇંગ સ્ટ્રીક ક્રિયા પૂર્ણ કરે છે. ક્લાયંટ મેટાડેટા તરીકે સર્વરને ઇવેન્ટ મોકલે છે. આ "ટાઈમસ્ટેમ્પ Z પર વપરાશકર્તા X પૂર્ણ કરેલ ક્રિયા Y" હોઈ શકે છે. સર્વર આ ઇવેન્ટ મેળવે છે અને મૂળભૂત માન્યતા કરે છે. શું આ વાસ્તવિક વપરાશકર્તા છે? શું તેઓ પ્રમાણિત છે? શું ક્રિયા માન્ય છે? શું ટાઇમઝોન સુસંગત છે? જો આ પસાર થાય છે, તો સર્વર ડેટાબેઝમાંથી વપરાશકર્તાના સ્ટ્રીક ડેટાને પુનઃપ્રાપ્ત કરે છે. પછી, પ્રાપ્ત કરેલ એક્શન ટાઇમસ્ટેમ્પને વપરાશકર્તાના સ્થાનિક ટાઇમઝોનમાં કન્વર્ટ કરો. સર્વરને વપરાશકર્તાના સ્થાનિક ટાઈમઝોનમાં કૅલેન્ડર તારીખો (ટાઈમસ્ટેમ્પ નહીં) ની સરખામણી કરવા દો: જો તે જ દિવસ હોય, તો ક્રિયા નિરર્થક છે અને તેમાં કોઈ ફેરફાર નથીદોર જો તે બીજા દિવસે હોય, તો પછી સિલસિલો વિસ્તરે છે અને 1 દ્વારા વધે છે. જો એક કરતાં વધુ દિવસનું અંતર હોય, તો દોર તૂટી જાય છે. જો કે, આ તે છે જ્યાં તમે ગ્રેસ મિકેનિક્સ લાગુ કરી શકો છો. જો ગ્રેસ મિકેનિઝમ ચૂકી જાય, તો પછી સ્ટ્રીકને 1 પર ફરીથી સેટ કરો.

જો તમે માઇલસ્ટોન સિદ્ધિઓ માટે ઐતિહાસિક ડેટા સાચવવાનું પસંદ કરો છો, તો પછી "સૌથી લાંબી દોર" અથવા "કુલ સક્રિય દિવસો" જેવા ચલોને અપડેટ કરો. સર્વર પછી ડેટાબેઝ અપડેટ કરે છે અને ક્લાયંટને જવાબ આપે છે. આના જેવું કંઈક:

{ "વર્તમાન_સ્ટ્રીક": 48, "સૌથી લાંબી_સ્ટ્રેક": 50, "કુલ_સક્રિય_દિવસો": 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