Ez bawer im ku we li ser xêzikan bihîstiye an serîlêdanek bi yekê re bikar aniye. Lê qet meraq kiriye çima streak ewqas populer û bi hêz in? Welê, ya eşkere heye ku serîlêdan bi qasî ku gengaz bala we dixwazin, lê ji xeynî wê, we dizanibû ku dema ku sepana fêrbûna populer Duolingo widgetên iOS-ê destnîşan kir ku xêzikan nîşan bide, pabendbûna bikarhêner ji sedî 60 zêde bû. Ji sedî şêst di behrê de guheztinek girseyî ye û destnîşan dike ku meriv çawa qalibên "streak" dikare were bikar anîn da ku tevlêbûn û ajotina karanîna zêde bike. Di ya herî bingehîn de, xelek hejmara rojên li pey hev e ku bikarhênerek çalakiyek taybetî temam dike. Hin kes jî wê wekî adetek "gamîkirî" an metrikek ku ji bo teşwîqkirina karanîna domdar hatî çêkirin destnîşan dikin. Lê xêz ji metrîk an tomarek di sepanekê de derbas dibin; ji wê zêdetir psîkolojîk e. Bi faktorên rast re bandorkirina însên mirovan hêsan e. Li van sê faktoran binêrin: pêşkeftin, serbilindî, û tirsa windabûnê (bi gelemperî FOMO tê gotin). What do all these have in common? Berxwedanî. Her ku hûn bêtir hewl didin tiştek, ew bêtir nasnameya we çêdike, û bi vî rengî xêzikan derbasî cîhana psîkolojiya behrê dibe. Naha, bi hêzek mezin berpirsiyariyek mezin tê, û ji ber vê yekê, aliyek tarî ya xêzikan heye. Di vê gotarê de, em ê biçin nav psîkolojî, UX, û prensîbên sêwiranê yên li pişt avakirina pergalek xerîdar a bi bandor. Em ê li (1) binihêrin ka çima mejiyên me hema hema bi xweber bersivê dide çalakiya xêzikê, (2) meriv çawa xêzan bi awayên ku bi rastî alîkariya bikarhêneran dike, û (3) xebata teknîkî ya ku di avakirina şêwazek xerîkê de têkildar e, sêwirîne. Psîkolojiya Li Paş Streaks Ji bo sêwirandin û avakirina pergalek xerîdar a bi bandor, divê em fam bikin ka ew çawa bi mejiyê me ve girêdayî ye. Mînakî, çi ew qas bandorker dike ku em ji bo parastina xêzikên xwe hewqasî dilsoziya xwe hîs dikin? Sê prensîbên psîkolojiyê yên balkêş, baş-belgekirî hene ku piştgirî didin tiştê ku xêzikan ew qas hêzdar û tiral dike. Loss Aversion This is probably the strongest force behind streaks. Ez vê dibêjim ji ber ku pir caran, hûn hema nekarin di jiyanê de ji vê yekê dûr bikevin. Bi vî awayî bifikirin: Ger hevalek $ 100 bide we, hûn ê kêfxweş bibin. Lê heke we 100 $ ji berîka xwe winda kir, ew ê pirtir zirarê bike. Giraniya hestyarî ya wan rewşan ne wekhev e. Windabûn ji qezencê bêtir diêşîne. Ka em wê hê pêşdetir bikin û bibêjin ku ez 100 $ didim we û ji we dipirsim ku hûn qumarek bilîzin. 50% şansê we heye ku hûn 100 $ din qezenc bikin û 50% şansê we heye ku hûn 100 $ ya orîjînal winda bikin. Ma hûn wê bigirin? Ez ê nekim. Piraniya mirovan dê nexwazin. Ew hêrsa windakirinê ye. Ger mirov lê bifikire, mentiqî ye, tê fêmkirin, mirovî ye. Têgeha li pişt nefreta windakirinê ev e ku em êşa windakirina tiştekî du caran ji kêfa bidestxistina tiştek bi nirxek wekhev hîs dikin. Di warê psîkolojîk de, winda ji destkeftiyan zêdetir dimîne. Hûn belkî dibînin ka ev çawa bi xêzikan re têkildar e. Ji bo avakirina xelekek berbiçav, hewldan hewce dike; her ku xelek mezin dibe, motîvasyona li pişt wê dest pê dike; an jî rasttir, ew dest pê dike ku bibe duyemîn. Li vir mînakek heye: Dibêjin hevalê we sê-rojek heye ku li ser Apple Watch-ê xwe "Zengên Tevgerê" digire. Ji bilî ku dixwazin bigihîjin armanca xwe û bihevre bin, hema tiştek tune ku winda bikin. Di heman demê de, we 219-rojek balkêş heye. Derfetên wê hene ku hûn ji tirsa windakirina wê asê mane. Bi îhtîmaleke mezin hûn di vê nuqteyê de li ser destkeftiyê nafikirin; ew bêtir li ser parastina hewildana weya veberhênanê ye, û ew nefretbûna windabûnê ye. Duolingo rave dike ka çawa nerazîbûna windabûnê dibe alîkar ku bikarhênerek nexwaze xêzek dirêj bişkîne, tewra di rojên wan ên herî tembel de. Bi rengekî, xêzek dikare bibe adetek dema ku nerazîbûna windabûnê bi cih bibe. Modela Behaviorê Fogg (B = MAP) Naha ku em tirsa windakirina hewildana ku di xetên dirêj de hatine veberhênan de fam dikin, pirsek din ev e: Çi me dike ku di rêza yekem de, roj bi roj, hetta berî ku xet mezin bibe, tiştê ku bikin bikin? Ya ku Modela Behaviorê ya Fogg li ser e. Ew nisbeten hêsan e. Tevgerek (B) tenê diqewime dema ku sê faktor - Motivasyon (M), Qebîlbûn (A), û Serlêdan (P) - di heman demê de li hev bikin. Bi vî awayî, hevkêşeya B = MAP. Ger yek ji van faktoran, tewra yek jî, di wê gavê de winda bibe, tevger dê çê nebe. Ji ber vê yekê, ji bo ku pergalek streak bi bandor û dûbare be, divê her sê faktor hebin: MotivationEv şikestî ye û ne tiştek ku bi domdarî heye. There are days when you’reji bo fêrbûna spanî tê pompe kirin, û bi rojan hûn ji bo fêrbûna ziman jî îradeyek hîs nakin. Motivasyona ji bo avakirina adetek bi serê xwe ne pêbawer e û ji roja yekem ve şerek winda ye. Qabiliyet Ji bo telafîkirina tixûbên motîvasyonê, jêhatîbûn krîtîk e. Di vê çarçoveyê de, qabiliyet tê wateya hêsaniya çalakiyê, ango hewldan ew qas hêsan e ku ne rast e ku meriv bêje ku ew ne gengaz e. Piraniya sepanan bi mebest vê yekê bikar tînin. Apple Fitness tenê ji we re hewce dike ku hûn di saetekê de deqîqeyek rawestin da ku berbi armanca Standê ya xwe veqetînin. Duolingo tenê yek dersek qedandî hewce dike. Van karan hewqas hewildan hewce nake. Asteng ew qas kêm e ku di rojên xwe yên herî xirab de jî, hûn dikarin wiya bikin. Lê hewildana hevgirtî ya xelekek domdar ew e ku ramana windakirina wê rêzê tê de ye. PromptEv e ya ku hevkêşanê temam dike. Mirov bi xwezayî jibîrker in, ji ber vê yekê erê, jêhatî dikare me 90% bigihîne wir. Lê tavilê tê bîra me ku em tevbigerin. Streaks ji hêla sêwiranê ve domdar in, ji ber vê yekê pêdivî ye ku bikarhêner bi domdarî bêne bîranîn ku tevbigerin. Ji bo ku hûn bibînin ka bilezek çiqas bi hêz dibe, Duolingo ceribandinek A/B kir da ku bibîne ka nîşanek sor a piçûk li ser îkona sepanê karanîna domdar zêde kiriye. Di bikarhênerên çalak ên rojane de 6% zêdebûnek çêkir. Tenê nîşanek sor. Model Limitations Hemî ku tê gotin, di modela Fogg de tixûbek heye ku ji ber vê yekê rexnegir û lêkolînên nûjen pê hesiyane ku sêwirana ku pir giran xwe dispêre tavilê, mîna agahdariya aggressive, xetereya afirandina westandina derûnî heye. Agahdariyên domdar û dema zêde dikare bibe sedema ku bikarhêner biqewirînin. Ji ber vê yekê, ji bo vê yekê hişyar bikin. Bandora Zeigarnik Gava ku hûn karekî projeyekê nîvco dihêlin hûn çawa hîs dikin? Ew gelek mirovan aciz dike ji ber ku karên neqediyayî ji tiştên ku em temam dikin bêtir cîhê derûnî digirin. Dema ku tiştek tê kirin û çû, em wê ji bîr dikin. Dema ku tiştek neyê kirin, ew li ser hişê me giran dibe. Ji ber vê yekê hilberên dîjîtal nîşanên pêşkeftina çêkirî bikar tînin, mîna barika qedandina profîla Upwork, da ku bikarhênerek bizanibe ku profîla wan tenê "60% temam e". Ew bikarhêner dihêle ku tiştê ku dest pê kiriye biqedîne.
Ka em li mînakek din binêrin. Di serîlêdanek navnîşek karûbar de pênc peywirên we hene, û di dawiya rojê de, hûn tenê çar ji wan wekî temamkirî kontrol dikin. Many of us will feel unaccomplished because of that one unfinished task. Ew, li wir, bandora Zeigarnik e. Bandora Zeigarnik ji hêla psîkolog Bluma Zeigarnik ve hate destnîşan kirin, ku diyar kir ku em mêl dikin ku karên netemam di bîra xwe de ji karên qedandî dirêjtir çalak bihêlin. Di sêwirana UX-ê de nexşeyek rêzik bi xwezayî vê yekê vedigire. Ka em bibêjin ku hûn di roja 63-an de fêrbûna fêrbûnê ne. Di wê gavê de, hûn di şêwazek domdar a karsaziyek neqediyayî de ne. Mêjiyê we kêm caran wê ji bîr bike ji ber ku ew di paşiya hişê we de rûniştiye. Di vê nuqteyê de, mêjiyê we dibe yê ku ji we re agahdariyan dişîne. Gava ku hûn van hêzên psîkolojîk li hev dixin, hûn dest pê dikin ku bi rastî fam bikin ka çima streak ne tenê taybetmendiyek serîlêdanê ya birêkûpêk in; ew dikarin tevgera mirovan ji nû ve biguherînin. Lê li deverek rêzê - ez nikarim tam bibêjim kengê, ji ber ku ew ji her kesî re cûda dibe - tişt digihîjin nuqteyek ku xelekek ji "kêfxweşiyê" vediguheze tiştek ku hûn hîs dikin ku hûn nekarin winda bikin. Hûn naxwazin ku 58 rojên hewildan biqewimin, ne? Ya ku pergala streak bandorker dike ev e. Ger rast were kirin, streak ji bikarhêneran re dibe alîkar ku adetên ecêb ên ku armancek pêk tînin ava bikin. Dibe ku ew rojane bixwînin an bi domdarî lêdana werzîşê be. Van kiryarên dubare (carinan piçûk) bi demê re tevlihev dibin û di jiyana me ya rojane de diyar dibin. Lê du aliyên her diravê hene. Xeta Tenik a Di Navbera Habit Û Mecburî de If you have been following along, you can already tell there’s a dark side to streak systems. Damezrandina Habit li ser hevgirtîbûna bi armancek dubare ye. Lêbelê, mecbûrî domdariya xebata li ser armancek e ku êdî ne hewce ye lê ji tirs an zextê tê girtin. Xeteke zirav e. Tu her sibe bêyî ku bifikirî diranên xwe firçe dikî; ew otomotîk û nefsbiçûkî ye, bi armancek zelal ku bêhna xweş hebe. Ew xelekek e ku adetek baş çêdike. Pergalek xêzika exlaqî cîhê nefesê dide bikarhêneran. Ger ji ber hin sedeman hûn serê sibê firçe nekin, hûn dikarin nîvro firçe bikin. Bêkêmasî bêyî tirsa windakirina hewildanek dirêj destûr tê dayîn. Mecburî rêyek berevajî digre, bi vî rengî xelekek we aciz dike, hûn xwe sûcdar an jî westiyayî hîs dikin, û carinan wusa dixuye ku we tiştek bi dest nexistiye, tevî hemî tiştên xwekar. Hûn ne ji ber ku hûn dixwazin tevdigerin, lê ji ber ku hûn bi binhişmendî ditirsin ku hûn pêşkeftina xwe ji nû ve vegerînin sifir. Hinekan jî ev yek bi awayekî bêkêmasî vegot, "Min hîs kir ku ez dixapînim, lê bi tenê xem nedikir. Ez bêyî xêza xwe ne tiştek im". Ev nîşan dide ku xetên ragirtinê yên tund dikarin li ser kesek hebe. Bi qasî ku bikarhêner dest pê dikin ku xwe-nirxa xwe bi metrîkek keyfî ve girêbidin û ne ji armanc an sedemek bingehîn, wan di rêza yekem de dest bi rêzê kirin. Rêz dibe ku ew kî ne, ne tenê ya ku ew dikin. Pergalek rêzika exlaqî ya ku baş hatî sêwirandin divê wekî teşwîqek ji bikarhêner re hîs bike, ne zext an mecbûrî. Ev bi hevsengiya motîvasyona hundurîn û derveyî ve girêdayî ye. Motîvasyona derveyî (xelatên derve, dûrketina ji cezakirinê) dibe ku bikarhêneran dest pê bikin, lê motîvasyona hundurîn (kirina peywirê ji bo armancek kesane mîna fêrbûna Spanî ji ber ku hûn bi rastî dixwazin bi yekî hezkirî re danûstendinê bikin) ji bo tevlêbûna demdirêj bihêztir e. Pêdivî ye ku pergalek baş bi karanîna baldar a hêmanên derveyî ve ber bi motîvasyona hundurîn ve bikişîne, ango, bîne bîra bikarhêneran ka ew çiqas dûr ketine, ne ku wan bi tiştê ku ew winda bikin tehdîd bike. Dîsa, ew rêzek baş e. Testek hêsan dema sêwirana pergalek streak ev e ku hûn bi rastî hin dem bigirin û bifikirin ka hilberên we bi firotina çareseriyên xemgîniya ku hilberê we çêkiriye drav didin. Ger erê, şansek mezin heye ku hûn bikarhêneran îstismar dikin. Ji ber vê yekê pirsa paşîn dibe, Ger ez hilbijêrim ku streak bikar bînim, ez çawa wê bi rengekî dîzayn bikim ku bi rastî ji bikarhêneran re dibe alîkar ku bigihîjin armancên xwe? UX ya Sêwirana Pergala Streak ya Baş Ez bawer dikim ku ev e ku pir projeyan an pergalek xêzek bibandor çêdikin an jî bi tevahî wê tevlihev dikin. Ka em çend prensîbên UX-ê yên sêwirana xêzek baş derbas bikin. Keep It Fortless We belkî berê jî ev yek bihîstiye, dibe ku ji pirtûkên mîna Adetên Atomî, lê hêjayî gotinê ye ku yek ji awayên herî hêsan ku adet çêbibin ev e ku çalakiyê piçûk û hêsan bikin. This is similar to the ability factor we discussed from the Fogg Behaviour Model. Rêza yekem a her sêwirana rêzê divê ev be ku gava ku hîn jî bigihîje pêşkeftinê, çalakiya pêwîst bi qasî ku ji hêla mirovî ve gengaz dibe piçûk bike. Ger çalakiyek rojane ji bo qedandina îradeyê hewce bike, ew kiryar dê pênc rojan derbas neke. Çima? Hûn nikarin pênc rojan li pey hev motîv bibin. Di xalê de: Heke hûn serîlêdanek meditationê dimeşînin, hûn ne hewce ne ku bikarhêneran bihêlin ku ji danişînek 20 hûrdemî derbas bibin tenê ji bo domandina rêzikê. Li şûna wê, deqeyek yekane biceribînin, dibe ku tiştek bi qasî sî çirkeyan jî piçûktir be. Wekî ku tê gotin, dilopên piçûk ên avê okyanûsa bi hêz çêdike). Hewldanên piçûk bi demê re destkeftiyên mezin berhev dikin. Pêdivî ye ku armanc ev be: tevliheviyê derxînin, nemaze dema ku dem dibe ku dijwar be. Gava ku bikarhêner bi stres in an jî sergirtî ne, bila ew zanibin ku bi tenê xuyang kirin, hetta çend saniyeyan, wekî hewldanek tê hesibandin. Bersivên Dîtbarî yên Zelal peyda bikin Mirov bi xwezayê dîtbar in. Pir caran, em hewce ne ku tiştek bibînin ku bawer bikin; ev pêdivî ye ku meriv tiştan xuyang bike da ku wan çêtir fam bike û tiştan bi perspektîfê vegerîne. Ji ber vê yekê qalibên rêzikan bi gelemperî hêmanên dîtbarî, mîna grafîk, nîşangirên kontrolê, zengilên pêşkeftinê, û tîrêjan bikar tînin da ku hewldanê bibînin. Li grafiya tevkariya GitHub binihêrin. Ew dîmenek hêsan a hevgirtinê ye. Lêbelê pêşdebiran wê mîna oksîjenê dikişînin.
The key is not to make a streak system feel abstract. Divê ew rast û bi destxistî hîs bike. Mînakî, zengilên çalakiya Fitnessê ya Duolingo û Apple piştî qedandina rêzikan sêwiranên anîmasyonê yên paqij bikar tînin, û GitHub daneyên dîrokî yên domdariya bikarhênerek bi demê re destnîşan dike.
Demjimêra baş bikar bînin Min berê behs kir ku mirov bi gelemperî ji hêla xwezayê ve jibîrker in, û ku tavilê dikare bibe alîkar ku pêşkeftina pêşkeftinê biparêze. Bêyî tavilê, pir bikarhênerên nû ji bîr dikin ku bidomînin. Jiyan dikare mijûl bibe, motîvasyon winda dibe, û tişt diqewimin. Tewra bikarhênerên demdirêj jî ji pêşniyaran sûd werdigirin, her çend pir caran, ew jixwe di hundurê hêlîna adetê de girtî ne. Digel vê yekê, tewra kesê herî dilsoz jî dikare rojek bi xeletî winda bike. Pergala weya streak bê guman hewceyê bîranînan e. Bîranînên bilez ên ku herî zêde têne bikar anîn agahdariya push in. Dema ku bi agahdariya push re dixebitin dem bi rastî girîng e. Cûreya sepanê jî girîng e. Di demjimêr 9ê sibehê de şandina agahiyekê ya bi gotina "Te îro pratîk nekiriye" ji bo serîlêdanek fêrbûnê tenê ecêb e ji ber ku gelek tişt hene ku di rojê de bikin berî ku ew jî li ser qedandina dersê bifikirin. Ger em li ser sepanek fitnessê dipeyivin, lê ewmaqûl e û belkî jî tê payîn ku di serê rojê de were bîranîn. Agahiyên Push li gorî kategoriya sepanê pir diguhezin. Mînakî, serîlêdanên fitnessê bi agahdariya serê sibê (7-8 AM) re tevlêbûna bilindtir dibînin, dema ku sepanên hilberîneriyê dibe ku di destpêka nîvro de çêtir bikin. Ya sereke ev e ku A/B wexta sepana xwe li ser bingeha tevgerên bikarhênerên xwe biceribîne ne ku bihesibîne ku tişt yek-salî ne. Ya ku ji bo serîlêdana meditationê dixebite dibe ku ji bo şopînerek kodkirinê nexebite. Rêbazên din ên bilez xalên sor ên li ser îkonê sepanê û tewra widgetên serîlêdanê ne. Lêkolîn cûda dibin, lê mirovê navîn rojê di navbera 50-150 caran de amûrê xwe vedike (PDF). Ger bikarhênerek li ser serîlêdanek an widgetek xalek sor dibîne ku her gava ku ew têlefona xwe vedike xêzek heyî destnîşan dike, ew pabendbûna xwe zêde dike. Tenê zêde nekin; Pêwîst e ku serpêhatî wekî bîranînek be, ne nalînek. Milestones pîroz bikin Pêdivî ye ku pergalek streak hewl bide ku xalan pîroz bike da ku hestan ji nû ve bişewitîne, nemaze ji bo bikarhênerên ku di nav xelekek kûr de ne. Dema ku bikarhênerek Roja 7, Roja 30, Roja 50, Roja 100, Roja 365 lê dixe, divê hûn jê re karek mezin çêbikin. Serkeftinan qebûl bikin - nemaze ji bo bikarhênerên demdirêj.
Wekî ku me berê jî dît, Duolingo ev yek fêhm kir û grafîkek anîmasyonek ku bi konfetî pîroz dike pêk anî. Hin platform tewra xelatên bonus ên girîng didin ku hewildanên bikarhêneran rast dikin. Û ev dikare ji serîlêdanan re sûdmend be, bi vî rengî ku bikarhêner mêl dikin ku qonaxên xwe bi gelemperî li ser medyaya civakî parve bikin. Feydeyek din jî bendewariya ku beriya ku bigihîje xalan tê. Ew ne tenê zindîkirina rêzê bêdawî ye; bikarhêner tiştek heye ku li bendê bin. Mekanîzmayên Grace bikar bînin Jiyan nayê pêşbînîkirin. Mirov bala xwe dikişîne. Pêdivî ye ku her pergalek streakek baş li benda bêkêmasiyê be. Yek ji mezintirîn tehdîdên psîkolojîk ên li ser pergalek xêzkirinê ew e ku piştî yek rojek wendabûyî vesazkirina zexm a sifirê ye. Pergalek xêzkirina "exlaqî" divê bikarhêner hinekî sistbûnê peyda bike. Em bêjin ku hûn 90-rojek fêrbûna şetrencê heye. Hûn sê mehên xweş domdar bûn, û rojek, têlefona we di dema rêwîtiyê de dimire, û bi vî rengî, 90 dibe 0 - her tişt, hemî ew hewldan, têne jêbirin, û pêşkeftin winda dibe. Dibe ku bikarhêner bi tevahî wêran bibe. Ramana ji nû ve avakirina wê ji sifirê ew qas bêexlaq e ku hewildan ne hêja ye. Ya herî xirab, dibe ku bikarhênerek piştî ku xwe wekî têkçûn hîs bike dev ji sepanê berde. Bifikirin ku mekanîzmayek "kerem" li pergala xweya streak zêde bikin:
Streak FreezeDestûrê bide bikarhêneran ku bi mebest rojek bê ceza winda bikin. Dema Zêde Destûrê bide çend demjimêran (2–3) ji maweya asayî derbas bibe berî ku vegerandin. Modelên Xerab Di şûna vesazkirina hişk de, xêz bi mîqdarek piçûk kêm dibe, mînakî, her roja windabûyî 10 roj ji rêzê tê derxistin.
Tonek Teşwîqkar Bikar bînin Werin em du peyamên ku ji bikarhêneran re têne xuyang kirin dema ku xêzek bişkîne berhev bikin:
"We rêzika xwe ya 42 rojan winda kir. Ji nû ve dest pê bikin." "Hûn 42 rojan rasterast xuya bûn. Ew pêşkeftinek bêhempa ye! Ma hûn dixwazin careke din hewl bidin?"
Her du jî heman agahdarî radigihînin, lê bandora hestyarî cûda ye. Peyama yekem bi îhtîmalek mezin dê bikarhênerek xwe bêexlaq bike û bibe sedema dev jê berde. Peyama duyemîn tiştê ku berê bi dest xistiye pîroz dike û bi nermî bikarhêner teşwîq dike ku dîsa biceribîne. Streak Systems Design Challenges Berî ku em bikevin nav taybetmendiyên teknîkî yên avakirina pergalek streak, divê hûn ji kêşeyên ku hûn dikarin rû bi rû bimînin haydar bin. Tişt dikarin tevlihev bibin, wekî ku hûn hêvî dikin. Handling Timezones Sedemek heye ku hilanîna dem û tarîxê di nav têgehên herî dijwar de ye ku pêşdebiran pê re mijûl dibin. Formkirin, navneteweyîbûn, û hêj bêtir hene ku meriv bifikirin. Bihêle ez ji te bipirsim: Çi roj tê hesibandin? Em dizanin ku cîhan li deverên demjimêrên cihêreng dimeşe, û mîna ku ew ne bes be, li hin deveran Demjimêra Rojê (DST) heye ku salê du caran dibe. Hûn jî li ku derê dest bi van dozên qeraxê dikin? Çi wekî "destpêka" sibê tê hesibandin? Hin pêşdebiran hewl didin ku bi karanîna yek devera demjimêra navendî, mîna UTC, ji vê yekê dûr bixin. Ji bo hin bikarhêneran, ev ê encamên rast derxe, lê ji bo hin kesan, ew dikare saetek, du saetan, an jî bêtir betal bibe. Ev nakokî ezmûna bikarhêner xera dike. Bikarhêner kêm eleqedar dibin ka hûn çawa wextê li pişt perdeyê digirin dest; Tişta ku ew hêvî dikin ev e ku heke ew di demjimêr 23:40 danê êvarê de çalakiyek xêzkirinê pêk bînin, wê hingê divê ew di wê wextê tam de, di çarçoweya xwe de tomar bike. Pêdivî ye ku hûn "yek roj" li ser bingeha demjimêra herêmî ya bikarhêner, ne dema serverê diyar bikin. Bê guman, hûn dikarin hêsan bikinxêzên rê û vesazkirina gerdûnî ji bo hemî bikarhêneran di nîvê şevê UTC de, lê hûn pir neheqiyê diafirînin. Kesek li Kalîforniyayê ji yekî ku li Londonê dijî her dem heşt demjimêrên zêde heye ku karê xwe biqedîne. Ew xeletiyek sêwirana neheq e ku hin bikarhêneran ji ber cîhê wan ceza dike. Û eger ew kesê li Londonê tenê serdanê bike, karekî biqedîne, paşê vegere navçeyek demkî ya din? Yek çareseriyek bibandor ji van hemîyan re ev e ku ji bikarhêneran bipirsin ku di dema serîlêdanê de bi eşkere qada demjimêra xwe destnîşan bikin (bi tercîhî piştî pejirandina yekem). Ramanek baş e ku meriv têbînîyek nazik bihewîne ku peydakirina agahdariya devera demjimêr tenê ji bo sepanê tê bikar anîn da ku pêşkeftinê bi rêkûpêk bişopîne, ne ku wekî daneyên kesane yên naskirî were bikar anîn. Û fikreke din a baş e ku meriv wê mîhengek guhêrbar bike. Ez pêşniyar dikim ku kesek rasterast ji mentiqê devera demjimêrê di serîlêdanê de dûr bixe. Pirtûkxaneyên dîroka ceribandin-û-rast bikar bînin, mîna Moment.js an pytz (Python), hwd. Ne hewce ye ku ji nû ve çerxa ji bo tiştek wusa tevlihev were îcadkirin. Rojên Bêriya Û Dozên Edge Pirsgirêkek din a ku divê hûn jê bitirsin ev e ku dozên qeraxên nekontrolkirî yên mîna xewên xewê yên bikarhêner, domdariya serverê, derengbûn, têkçûna torê, û hwd. Bikaranîna ramana mekanîzmayên keremê, mîna yên ku me berê nîqaş kir, dikare bibe alîkar. Pencereyek keremê ya du demjimêran dibe ku hem ji bikarhêner û hem jî ji pêşdebir re bibe alîkar, di vê wateyê de ku bikarhêner ji ber şert û mercên jiyanê yên bêkontrol bi hişk nayên ceza kirin. Ji bo pêşdebiran, pencereyên keremê di wan kêliyên bêkontrol de arîkar in dema ku server di nîvê şevê de têk diçe. Berî her tiştî, tu carî bi xerîdar bawer nekin. Her gav li ser server-aliyê piştrast bikin. Divê server bibe çavkaniya yekane ya rastiyê. Pêşîlêgirtina Xapandinê Dîsa, ez nikarim bi têra xwe balê bikişînim ser vê yekê: Piştrast bikin ku her tiştî server-aliyê rast bikin. Bikarhêner mirov in, û ger derfet bê dayîn dibe ku mirov bixapînin. Ew neçar e. Hûn dikarin biceribînin:
Hemî kiryaran bi demjimêrên UTC-ê re hilîne. Xerîdar dikare dema xweya herêmî bişîne, lê server dikare tavilê wê veguhezîne UTC û li hember dema serverê rast bike. Bi vî rengî, heke nîşana dema xerîdar bi guman dûr be, pergal dikare wê wekî xeletiyek red bike, û UI dikare li gorî wê bersivê bide. Bikaranîna şopandina-bingeha bûyerê. Bi gotinek din, tomarek her çalakiyê bi metadata re, tevî agahdariya wekî nasnameya bikarhêner, celebê çalakiya ku hatî kirin, û dem û qada demjimêrê tomar bike. Ev bi erêkirinê re dibe alîkar.
Avakirina A Engine System Streak Ev ne tutoriyek kodê ye, ji ber vê yekê ez ê ji avêtina komek kodê li ser we dûr bixim. Ez ê vê pratîkê bidomînim û diyar bikim ka tişt çawa bi gelemperî motorek pergala xêzkirinê bi qasî mîmarî, herikîn û pêbaweriyê tevdigerin. Core Architecture Wekî ku min çend caran gotiye, serverê bikin çavkaniya yekane ya rastiyê ji bo daneya stûyê. Mîmarî dikare li ser serverê tiştek wusa biçe:
Daneyên her bikarhêner di databasek de hilînin. Depoya xêzika heyî (wek 0-ya xwerû) wekî jimareyek tevde hilîne. Vebijêrka devera demjimêr, ango rêzika Demjimêra IANA-yê hilînin (an bi nepenî ji mohra demjimêra herêmî an jî bi eşkere ji bikarhêner daxwaz dikin ku qada demjimêra xwe hilbijêrin). Mînakî, "Amerîka/New_York". Hemî mantiqê bişopînin da ku diyar bikin ka xêzik berdewam dike an dişkê, bi kontrolek devera demjimêrê ya ku bi qada demjimêra herêmî ya bikarhêner re têkildar e.
Di vê navberê de, li aliyê xerîdar:
Rêza heyî ya ku bi gelemperî ji serverê tê derxistin nîşan bidin. Çalakiya ku di forma metadatayê de hatî kirin ji serverê re bişîne da ku rast bike ka bikarhêner bi rastî çalakiyek xêzika bijarte qedandiye. Li ser bingeha bersivên serverê bertekên dîtbarî peyda bikin.
Ji ber vê yekê, bi kurtasî, mêjî li ser serverê ye, û xerîdar ji bo mebestên pêşandanê û şandina bûyeran e. Ev ji we re gelek têkçûn û dozên qeraxê xilas dike, hem jî nûvekirin û sererastkirinê hêsantir dike. Herikîna Mantiqî Werin em rêgezek bişopînin ka meriv gava ku bikarhêner çalakiyek biqedîne dê çawa biçe motora pergala xêzikê ya herî kêm:
Bikarhêner çalakiyek xêzek bijartî temam dike. Xerîdar bûyerek wekî metadata ji serverê re dişîne. Dibe ku ev bibe "Bikarhêner X çalakiya Y di dema nîşana Z de qedand". Pêşkêşkar vê bûyerê distîne û erêkirina bingehîn dike. Ma ev bikarhênerek rastîn e? Ma ew hatine pejirandin? Çalakî derbasdar e? Ma qada demjimêr hevgirtî ye? Ger ev derbas bibe, server daneyên stûyê bikarhêner ji databasê vedigire. Dûv re, nîşaneya çalakiya wergirtî veguherînin qada demjimêra herêmî ya bikarhêner. Bihêle server tarîxên salnameyê (ne îşaretên demê) di qada demjimêra herêmî ya bikarhêner de bide ber hev: Ger di heman rojê de be, wê gavê kiryar zêde ye û di nav de tu guhertin tunestreak. Ger roja din be, wê gavê xêz 1-ê dirêj dibe û zêde dibe. Ger ji rojekê zêdetir valahiyek hebe, xêz qut dibe. Lêbelê, ev e ku hûn dikarin mekanîka keremê bicîh bikin. Ger mekanîzmaya keremê ji dest dabe, wê hingê xêzikê vegerînin 1.
Ger hûn hilbijêrin ku daneyên dîrokî ji bo destkeftiyên girîng hilînin, wê hingê guhêrbarên mîna "rêya herî dirêj" an "bi tevahî rojên çalak" nûve bikin. Dûv re server databasê nûve dike û bersivê dide xerîdar. Tiştek weha:
{ "current_streak": 48, "longest_streak": 50, "total_active_days": 120, "streak_extended": rast, }
Wekî pîvanek din, server divê ji nû ve biceribîne an red bike û xerîdar agahdar bike gava ku tiştek di pêvajoyê de têk diçe. Avakirina Ji bo Berxwedanê Wekî ku berê hate behs kirin, bikarhênerên ku ji ber xeletî an domdariya serverê xelekek winda dikin UX-ya tirsnak e, û bikarhêner li bendê ne ku wê hilweşînin. Ji ber vê yekê, pergala weya stêrkê divê ji bo wan senaryoyan xwedî parastin be. Ger server ji ber lênihêrînê daketiye (an her sedemek), bihesibînin ku rê bidin pencereyek demkî ya demjimêrên zêde da ku wê were sererast kirin da ku kiryar dereng werin şandin û hîn jî bêne hesibandin. Her weha hûn dikarin hilbijêrin ku bikarhêneran agahdar bikin, nemaze heke rewş karibe bandorê li ser xelekek domdar bike. Nîşe: Deriyek paşîn a rêveberiyê saz bikin ku dane dikarin bi destan werin sererast kirin. Çewtî neçar in, û hin bikarhêner dê bangî sepana we bikin an jî xwe bigihînin ku piştgirî bidin ku xêzika wan ji ber sedemek ku ew nekarin kontrol bikin şikestin. Ger, piştî lêpirsînê, bikarhêner rast be, divê hûn bi destan xêzikan sererast bikin. Encam Tiştek zelal dimîne: Streaks bi rastî bi hêz in ji ber ku çawa psîkolojiya mirovî li ser astek bingehîn dixebite. Pergala strûpê ya çêtirîn li wir ew e ku bikarhêner bi hişmendî li ser nafikirin. Ew bûye rûtînek encamên tavilê an pêşkeftinek xuya, mîna firçekirina diranan, ku dibe adetek birêkûpêk. Û ez ê tenê wê bibêjim: Ne hemî hilber pêdivî bi pergalek streak heye. Ma hûn bi rastî ji ber ku hûn bikarhênerên çalak ên rojane dixwazin bi rastî hevgirtinê ferz bikin? Dibe ku bersiv pir baş "na" be.