Sigurado ko nga nakadungog ka bahin sa mga streak o gigamit ang usa ka app nga adunay usa. Apan nahibulong ka ba kung nganong ang mga streak popular kaayo ug gamhanan? Aw, adunay klaro nga gusto sa mga app ang imong atensyon kutob sa mahimo, apan gawas niana, nahibal-an ba nimo nga sa dihang gipaila sa sikat nga app sa pagkat-on nga Duolingo ang mga widget sa iOS aron ipakita ang mga streak, ang pasalig sa gumagamit miuswag sa 60%. Ang kan-uman ka porsyento usa ka dako nga pagbag-o sa pamatasan ug gipakita kung giunsa ang mga pattern sa "streak" magamit aron madugangan ang pag-apil ug paggamit sa pagmaneho. Sa labing sukaranan, ang usa ka streak mao ang gidaghanon sa sunud-sunod nga mga adlaw nga nakompleto sa usa ka user ang usa ka piho nga kalihokan. Gihubit usab kini sa ubang mga tawo ingon usa ka "gamified" nga batasan o usa ka sukatan nga gidisenyo aron madasig ang makanunayon nga paggamit. Apan ang mga streak labaw pa kay sa usa ka metric o usa ka rekord sa usa ka app; kini mas sikolohikal kay niana. Ang mga instinct sa tawo dali nga maimpluwensyahan sa husto nga mga hinungdan. Tan-awa kining tulo ka mga hinungdan: pag-uswag, garbo, ug kahadlok nga mawala (kasagarang gitawag nga FOMO). Unsa may managsama niining tanan? Paningkamot. Ang labi nga paningkamot nga imong gihimo sa usa ka butang, labi nga naghulma kini sa imong pagkatawo, ug mao kana kung giunsa ang mga streak nga nagtabok sa kalibutan sa sikolohiya sa pamatasan. Karon, uban sa dako nga gahum moabut dako nga responsibilidad, ug tungod niana, adunay usa ka mangitngit nga bahin sa mga streaks. Niini nga artikulo, moadto kami sa sikolohiya, UX, ug mga prinsipyo sa disenyo luyo sa pagtukod og epektibo nga sistema sa streak. Atong tan-awon ang (1) ngano nga ang atong mga utok halos kinaiyanhon nga motubag sa streak nga kalihokan, (2) unsaon pagdesinyo sa mga streak sa mga paagi nga tinud-anay nga makatabang sa mga tiggamit, ug (3) ang teknikal nga trabaho nga nalangkit sa paghimo og streak pattern. Ang Psychology sa Likod sa mga Streak Aron sa pagdesinyo ug paghimo og usa ka epektibo nga streak system, kinahanglan natong masabtan kung giunsa kini pagpahiuyon sa kung giunsa ang atong mga utok nga naka-wire. Sama sa, unsa ang nakapahimo niini nga epektibo hangtod nga gibati namon ang labi ka grabe nga pagpahinungod aron mapanalipdan ang among mga streak? Adunay tulo ka makapaikag, maayo nga dokumentado nga mga prinsipyo sa sikolohiya nga nagsuporta kung unsa ang naghimo sa mga streak nga labi ka kusgan ug makaadik. Paglikay sa Pagkawala Kini tingali ang labing kusog nga puwersa luyo sa mga streak. Gisulti ko kini tungod kay kasagaran, halos dili nimo kini malikayan sa kinabuhi. Hunahunaa kini niining paagiha: Kon ang usa ka higala mohatag kanimo og $100, malipay ka. Apan kung mawad-an ka og $100 gikan sa imong pitaka, mas makadaot kana. Ang emosyonal nga gibug-aton sa maong mga sitwasyon dili managsama. Ang kapildihan mas sakit kay sa kaayohan nga gibati. Atong ipadayon kini ug ingnon nga hatagan ko ikaw og $100 ug hangyoon ka nga magdula og sugal. Adunay 50% nga tsansa nga makadaog ka ug laing $100 ug 50% nga higayon nga mapildi nimo ang orihinal nga $100. Kuhaon ba nimo? dili ko. Kadaghanan sa mga tawo dili. Mao kana ang pagkawalay pag-ayo. Kung imong hunahunaon, kini lohikal, masabtan, kini tawo. Ang konsepto sa luyo sa pagkawala sa pag-ayad mao nga atong gibati ang kasakit sa pagkawala sa usa ka butang nga doble sa kalipay sa pag-angkon sa usa ka butang nga managsama ang kantidad. Sa sikolohikal nga mga termino, ang pagkawala nagpabilin labaw pa sa mga kadaugan. Tingali nakita nimo kung giunsa kini nalangkit sa mga streak. Aron makahimo og usa ka mamatikdan nga streak, nagkinahanglan kini og paningkamot; samtang ang usa ka streak motubo, ang kadasig sa luyo niini nagsugod sa pagkahanaw; o sa mas tukma, kini nagsugod nga mahimong ikaduha. Ania ang usa ka pananglitan: Ingna ang imong higala adunay tulo ka adlaw nga sunodsunod nga pagsira sa ilang "Move Rings" sa ilang Apple Watch. Wala silay mawala nga labaw pa sa ilang tinguha nga makab-ot ang ilang tumong ug mahimong makanunayon. Sa parehas nga oras, ikaw adunay usa ka impresibo nga 219 ka adlaw nga sunodsunod nga pag-adto. Lagmit nga natanggong ka sa kahadlok nga mawala kini. Ikaw lagmit wala maghunahuna mahitungod sa kalampusan niini nga punto; kini labaw pa mahitungod sa pagpanalipod sa imong gipuhunan nga paningkamot, ug kana mao ang pagkawalay pag-ayad. Gipatin-aw ni Duolingo kung giunsa ang pag-ayad sa pagkawala nakatampo sa pagduha-duha sa usa ka tiggamit nga maputol ang usa ka taas nga streak, bisan sa ilang labing tapulan nga mga adlaw. Sa usa ka paagi, ang usa ka streak mahimong usa ka batasan kung ang pag-ayad sa pagkawala masulbad. Ang Fogg Behavior Model (B = MAP) Karon nga atong nasabtan ang kahadlok nga mawad-an sa paningkamot nga gipuhunan sa mas taas nga mga streak, ang laing pangutana mao: Unsa ang nakapahimo kanato sa pagbuhat sa butang sa unang dapit, adlaw-adlaw, bisan sa wala pa ang streak mahimong dako? Mao kana ang mahitungod sa Fogg Behavior Model. Kini mao ang medyo yano. Ang usa ka kinaiya (B) mahitabo lamang kung ang tulo ka mga hinungdan - Pagdasig (M), Abilidad (A), ug Pag-aghat (P) - mag-align sa samang higayon. Busa, ang equation B=MAP. Kung ang bisan unsa niini nga mga hinungdan, bisan usa, ang nawala nianang higayona, ang pamatasan dili mahitabo. Mao nga, aron ang usa ka sistema sa streak mahimong episyente ug nagbalikbalik, ang tanan nga tulo nga mga hinungdan kinahanglan naa: Pagdasig Kini huyang ug dili usa ka butang nga kanunay anaa. Adunay mga adlaw nga ikawgibomba sa pagkat-on sa Kinatsila, ug mga adlaw nga wala ka gani mobati nga bisan usa ka iota sa determinasyon sa pagkat-on sa pinulongan. Ang pagdasig sa kaugalingon sa paghimo sa usa ka batasan dili kasaligan ug usa ka pildi nga gubat gikan sa unang adlaw. AbilidadAron mabayran ang mga limitasyon sa panukmod, ang abilidad kritikal. Niini nga konteksto, ang abilidad nagpasabot sa kasayon sa aksyon, i.e, ang paningkamot sayon kaayo nga dili realistiko ang pag-ingon nga kini dili mahimo. Kadaghanan sa mga app gituyo nga naggamit niini. Gikinahanglan lang sa Apple Fitness nga mobarog ka sulod sa usa ka minuto sa usa ka oras aron makakuha og marka sa imong tumong sa Stand. Ang Duolingo nagkinahanglan lamang og usa ka nahuman nga leksyon. Kini nga mga buluhaton wala magkinahanglan sa tanan nga daghang paningkamot. Ubos kaayo ang babag nga bisan sa imong pinakagrabe nga mga adlaw, mahimo nimo kini. Apan ang hiniusa nga paningkamot sa usa ka nagpadayon nga streak diin ang ideya nga mawala kana nga streak nagsugod. PromptKini ang nagkompleto sa equation. Ang mga tawo natural nga malimtanon, mao nga oo, ang abilidad makahatag kanato og 90% didto. Apan ang usa ka aghat nagpahinumdom kanato sa paglihok. Ang mga streak nagpadayon pinaagi sa disenyo, mao nga ang mga tiggamit kinahanglan nga kanunay nga pahinumdoman nga molihok. Aron mahibal-an kung unsa ka kusog ang usa ka pag-aghat, si Duolingo naghimo usa ka pagsulay sa A/B aron mahibal-an kung ang gamay nga pula nga badge sa icon sa app nagdugang kanunay nga paggamit. Naghimo kini og 6% nga pagtaas sa adlaw-adlaw nga aktibo nga tiggamit. Pula nga badge lang. Mga Limitasyon sa Modelo Ang tanan nga giingon, adunay limitasyon sa modelo sa Fogg diin ang mga kritiko ug modernong panukiduki nakamatikod nga ang usa ka disenyo nga nagsalig kaayo sa mga pag-aghat, sama sa agresibo nga mga pahibalo, peligro nga makamugna og kakapoy sa pangisip. Ang kanunay nga mga pahibalo ug overtime mahimong hinungdan sa mga tiggamit nga mag-churn. Busa, pagbantay niana. Ang Epekto sa Zeigarnik Unsa ang imong bation sa dihang imong biyaan ang usa ka buluhaton sa proyekto nga katunga nahuman? Makapasuko kana sa daghang mga tawo tungod kay ang wala mahuman nga mga buluhaton nag-okupar sa daghang luna sa pangisip kaysa sa mga butang nga atong nahuman. Kung nahuman na ang usa ka butang ug nawala, lagmit makalimtan naton kini. Kung adunay usa ka butang nga wala mabuhat, kini lagmit nga mabug-atan sa atong mga hunahuna. Mao gyud kini ang hinungdan ngano nga ang mga digital nga produkto naggamit ug artipisyal nga mga indikasyon sa pag-uswag, sama sa profile sa pagkompleto sa profile sa Upwork, aron mahibal-an sa usa ka tiggamit nga ang ilang profile kay "60% kompleto". Gidasig niini ang tiggamit nga tapuson ang ilang gisugdan.
Atong tan-awon ang laing pananglitan. Adunay ka lima ka mga buluhaton sa usa ka to-do list app, ug sa katapusan sa adlaw, imong susihon ang upat niini kung nahuman na. Daghan kanato ang mobati nga wala matuman tungod sa usa ka wala mahuman nga buluhaton. Kana, didto mismo, mao ang epekto sa Zeigarnik. Ang epekto sa Zeigarnik gipakita sa psychologist nga si Bluma Zeigarnik, kinsa naghulagway nga kita adunay kalagmitan nga magpabilin nga dili kompleto nga mga buluhaton nga aktibo sa atong panumduman mas dugay kaysa nahuman nga mga buluhaton. Ang usa ka streak pattern natural nga nag-tap niini sa disenyo sa UX. Ingnon ta nga anaa ka sa ika-63 nga adlaw sa usa ka sunodsunod nga pagkat-on. Nianang puntoha, anaa ka sa nagpadayon nga sumbanan sa wala pa mahuman nga negosyo. Ang imong utok panagsa ra makalimot niini kay kini anaa sa luyo sa imong hunahuna. Niini nga punto, ang imong utok mahimong usa nga nagpadala kanimo mga pahibalo. Kung imong gihiusa kini nga mga sikolohikal nga pwersa, nagsugod ka sa tinuud nga pagsabut kung ngano nga ang mga streak dili usa ka regular nga bahin sa app; sila makahimo sa pag-usab sa kinaiya sa tawo. Apan sa usa ka lugar sa linya - dili nako masulti kung kanus-a, tungod kay lahi kini alang sa tanan - ang mga butang moabut sa usa ka punto diin ang usa ka streak nagbalhin gikan sa "kalingawan" ngadto sa usa ka butang nga imong gibati nga dili nimo mahimo nga mawala. Dili nimo gusto nga mausik ang 58 ka adlaw nga paningkamot, dili ba? Mao kana ang naghimo sa usa ka streak system nga epektibo. Kung nahimo nga husto, ang mga streak makatabang sa mga tiggamit sa paghimo og mga katingalahang pamatasan nga makab-ot ang usa ka katuyoan. Mahimo kini nga pagbasa kada adlaw o kanunay nga pag-igo sa gym. Kining balik-balik nga mga aksyon (usahay gamay) nahugpong sa paglabay sa panahon ug nahimong dayag sa atong adlaw-adlaw nga kinabuhi. Apan adunay duha ka kilid sa matag sensilyo. Ang Nipis nga Linya Tali sa Kinaiya ug Pagpugos Kung nagsunod ka, mahimo nimong isulti nga adunay usa ka ngitngit nga bahin sa mga sistema sa streak. Ang pagporma sa kinaiya mahitungod sa pagkamakanunayon sa usa ka balikbalik nga tumong. Ang pagpamugos, bisan pa, mao ang pagkamakanunayon sa pagtrabaho sa usa ka katuyoan nga dili na kinahanglan apan gihuptan tungod sa kahadlok o pagpit-os. Kini usa ka nipis nga linya nga labaha. Nagsipilyo ka sa imong ngipon matag buntag nga wala maghunahuna; kini awtomatiko ug kinaiyanhon, nga adunay tin-aw nga katuyoan nga adunay maayo nga gininhawa. Kana usa ka streak nga nagporma usa ka maayong pamatasan. Ang usa ka ethical streak nga sistema naghatag sa mga tiggamit og luna sa pagginhawa. Kung, sa usa ka hinungdan, dili ka magsipilyo sa buntag, mahimo ka magsipilyo sa udto. Ang pagkadili-hingpit gitugotan nga walay kahadlok nga mawad-an ug taas nga paningkamot. Ang pagpugos moagi sa kaatbang nga ruta, diin ang usa ka sunodsunod nga pagpabalaka kanimo, gibati nimo nga sad-an o bisan gikapoy, ug usahay, ingon og wala ka nakab-ot bisan unsa, bisan pa sa tanan nimo.trabaho. Naglihok ka dili tungod kay gusto nimo, apan tungod kay nahadlok ka nga makita ang imong pag-uswag nga na-reset sa zero. Adunay bisan usa nga naghulagway niini nga hingpit, "Gibati nako nga nanglimbong ako, apan wala'y pagtagad. Wala ako kung wala ang akong streak". Gipakita niini ang grabe nga mga streak nga mahimo sa usa ka indibidwal. Sa gidak-on nga ang mga tiggamit magsugod sa paghigot sa ilang kaugalingon nga bili ngadto sa usa ka arbitraryong metric kay sa orihinal nga tumong o rason nga ilang gisugdan ang streak sa unang dapit. Ang streak mahimong kung kinsa sila, dili lang kung unsa ang ilang gibuhat. Ang usa ka maayong pagkadisenyo nga sistema sa etikal nga streak kinahanglan mobati sama sa pagdasig sa tiggamit, dili pagpit-os o obligasyon. Kini may kalabutan sa balanse sa intrinsic ug extrinsic motivation. Ang ekstrinsic nga kadasig (panggawas nga mga ganti, paglikay sa silot) mahimong makasugod sa mga tiggamit, apan ang intrinsic nga kadasig (pagbuhat sa buluhaton alang sa usa ka personal nga katuyoan sama sa pagkat-on sa Kinatsila tungod kay gusto nimo nga makigsulti sa usa ka minahal) mas lig-on alang sa dugay nga panag-uban. Ang usa ka maayo nga sistema kinahanglan nga madani sa intrinsic nga kadasig uban ang mabinantayon nga paggamit sa mga extrinsic nga elemento, i.e., pahinumdum ang mga tiggamit kung unsa ka layo ang ilang naabut, dili hulgaon sila kung unsa ang mahimo nga mawala. Pag-usab, kini usa ka maayong linya. Ang usa ka yano nga pagsulay kung ang pagdesinyo sa usa ka streak nga sistema mao ang paggahin gyud ug oras ug paghunahuna kung ang imong mga produkto makakwarta pinaagi sa pagbaligya sa mga solusyon sa kabalaka nga gihimo sa imong produkto. Kung oo, adunay taas nga higayon nga imong gipahimuslan ang mga tiggamit. Mao nga ang sunod nga pangutana nahimo, Kung gipili nako ang paggamit sa streak, giunsa nako kini pagdesinyo sa paagi nga tinuud nga makatabang sa mga tiggamit nga makab-ot ang ilang mga katuyoan? Ang UX sa Maayo nga Streak System Design Nagtuo ako nga kini diin ang kadaghanan sa mga proyekto mahimo’g maglansang sa usa ka epektibo nga sistema sa streak o hingpit nga gubot kini. Atong susihon ang pipila ka mga prinsipyo sa UX sa usa ka maayo nga disenyo sa streak. Hupti Kini nga Walay Kakugi Tingali nakadungog na ka niini kaniadto, tingali gikan sa mga libro sama sa Atomic Habits, apan angay nga hisgutan nga usa sa labing kadali nga paagi nga maporma ang mga pamatasan mao ang paghimo sa aksyon nga gamay ug dali. Susama kini sa abilidad nga atong gihisgutan gikan sa Fogg Behavior Model. Ang una nga lagda sa bisan unsang streak nga disenyo kinahanglan nga maghimo sa gikinahanglan nga aksyon nga gamay kutob sa mahimo sa tawo samtang nakab-ot pa ang pag-uswag. Kung ang usa ka adlaw-adlaw nga aksyon nanginahanglan kusog sa pagkompleto, kana nga aksyon dili molapas sa lima ka adlaw. Ngano man? Dili ka madasig sa lima ka adlaw nga sunodsunod. Kaso sa punto: Kung nagpadagan ka usa ka meditation app, dili nimo kinahanglan nga ipaagi sa mga tiggamit ang usa ka 20-minuto nga sesyon aron mapadayon ang streak. Sulayi ang usa ka minuto, tingali bisan usa ka gamay nga katloan ka segundo, sa baylo. Ingon sa giingon, ang gagmay nga mga tulo sa tubig naghimo sa kusog nga kadagatan). Ang gagmay nga mga paningkamot nahugpong ngadto sa dagkong mga kalampusan sa paglabay sa panahon. Mao unta kana ang tumong: tangtangon ang panagbingkil, ilabina kung ang higayon mahimong lisud. Kung ang mga tiggamit na-stress o nabug-atan, pahibaloa sila nga ang pagpakita lang, bisan sa pipila ka segundo, giisip nga paningkamot. Paghatag og Tin-aw nga Visual Feedback Ang mga tawo makita sa kinaiyahan. Kasagaran, kinahanglan natong makita ang usa ka butang nga tuohan; adunay kini nga panginahanglan sa paghanduraw sa mga butang aron mas masabtan kini ug ibutang ang mga butang ngadto sa panglantaw. Mao kini ang hinungdan nga ang mga pattern sa streak kanunay nga naggamit mga visual nga elemento, sama sa mga graph, mga marka sa tsek, mga singsing sa pag-uswag, ug mga grid, aron mahanduraw ang paningkamot. Tan-awa ang graph sa kontribusyon sa GitHub. Kini usa ka yano nga pagtan-aw sa pagkamakanunayon. Bisan pa ang mga developer nagginhawa niini sama sa oxygen.
Ang yawe mao ang dili paghimo sa usa ka streak nga sistema nga mobati nga abstract. Kini kinahanglan nga mobati nga tinuod ug kinitaan. Pananglitan, ang Duolingo ug Apple's Fitness activity rings naggamit ug limpyo nga mga disenyo sa animation sa pagkompleto sa usa ka streak, ug ang GitHub nagpakita sa makasaysayanong datos sa pagkamakanunayon sa usa ka user sa paglabay sa panahon.
Gamita ang Maayong Timing Gihisgotan nako sa sayo pa nga ang mga tawo kasagarang malimtanon sa kinaiyahan, ug kana nga mga pag-aghat makatabang sa pagpadayon sa kusog sa unahan. Kung walay mga pag-aghat, kadaghanan sa mga bag-ong tiggamit makalimot sa pagpadayon. Mahimong busy ang kinabuhi, mawala ang kadasig, ug mahitabo ang mga butang. Bisan ang dugay na nga mga tiggamit makabenepisyo gikan sa mga pag-aghat, bisan sa kadaghanan nga mga higayon, sila na-lock na sa sulod sa habit loop. Bisan pa niana, bisan ang labing mapasaligon nga tawo mahimong aksidenteng masipyat sa usa ka adlaw. Ang imong streak system kinahanglan gyud nga mga pahinumdom. Ang labing gigamit nga mga pahinumdom sa pagduso mao ang mga pahibalo sa pagduso. Hinungdanon kaayo ang oras kung nagtrabaho uban ang mga pahibalo sa pagduso. Importante usab ang matang sa app. Ang pagpadala og pahibalo sa alas 9 sa buntag nga nag-ingon nga "Wala ka nagpraktis karon" talagsaon lang alang sa usa ka app sa pagkat-on tungod kay daghan ang adunay mga butang nga buhaton sa usa ka adlaw sa wala pa sila maghunahuna bahin sa pagkompleto sa usa ka leksyon. Kung naghisgot kami bahin sa usa ka fitness app, bisan pa, kinimakatarunganon ug tingali gipaabot nga pahinumdoman sa sayo pa sa adlaw. Ang mga pahibalo sa pagduso lahi kaayo sa kategorya sa app. Ang mga fitness app, pananglitan, makakita og mas taas nga engagement sa sayo sa buntag nga mga abiso (7–8 AM), samtang ang productivity apps mahimong mas maayo sa sayong udto. Ang yawe mao ang pagsulay sa A/B sa timing sa imong app base sa mga gawi sa imong mga user imbes nga maghunahuna nga ang mga butang usa ra ka sukod sa tanan. Unsa ang magamit alang sa usa ka meditation app mahimong dili magamit alang sa usa ka coding tracker. Ang ubang mga dali nga pamaagi mao ang mga pula nga tulbok sa icon sa app ug bisan ang mga widget sa app. Nagkalainlain ang mga pagtuon, apan ang kasagaran nga tawo nag-abli sa ilang aparato tali sa 50-150 ka beses sa usa ka adlaw (PDF). Kung ang usa ka tiggamit makakita og pula nga tulbok sa usa ka app o usa ka widget nga nagpakita sa usa ka kasamtangan nga streak matag higayon nga ilang maablihan ang ilang telepono, kini nagdugang sa pasalig. Ayaw lang palabi; ang pag-aghat kinahanglan nga magsilbi nga usa ka pahinumdom, dili usa ka gutlo. Pagsaulog sa Milestones Ang usa ka sistema sa streak kinahanglan nga mosulay sa pagsaulog sa mga milestone aron mapukaw ang mga emosyon, labi na alang sa mga tiggamit nga lawom sa usa ka streak. Kung naigo sa usa ka user ang Adlaw 7, Adlaw 30, Adlaw 50, Adlaw 100, Adlaw 365, kinahanglan nimo nga buhaton ang usa ka dako nga butang gikan niini. Ilha ang mga nahimo — labi na alang sa dugay nang tiggamit.
Sama sa among nakita sa sayo pa, si Duolingo nakahunahuna niini ug nagpatuman sa usa ka animated graphic nga nagsaulog sa mga milestone gamit ang confetti. Ang ubang mga plataporma naghatag pa gani ug daghang bonus nga mga ganti nga nagpamatuod sa mga paningkamot sa mga tiggamit. Ug kini mahimong mapuslanon sa mga app, nga ang mga tiggamit lagmit nga ipaambit ang ilang mga milestone sa publiko sa social media. Ang laing kaayohan mao ang pagpaabut nga moabut sa dili pa maabot ang mga milestones. Kini dili lamang sa pagpadayon sa streak nga buhi nga walay katapusan; ang mga tiggamit adunay usa ka butang nga gipaabut. Gamita ang Grasya nga Mekanismo Ang kinabuhi dili matag-an. Ang mga tawo malinga. Ang bisan unsang maayo nga sistema sa streak kinahanglan magdahum nga dili hingpit. Usa sa pinakadako nga sikolohikal nga hulga sa usa ka streak system mao ang lisud nga pag-reset sa zero pagkahuman sa usa ka adlaw nga wala. Ang usa ka "ethical" streak nga sistema kinahanglan maghatag sa tiggamit og pipila ka hinay. Ingnon ta nga ikaw adunay 90 ka adlaw nga sunodsunod nga pagkat-on sa chess. Nagpadayon ka sa tulo ka maayong mga bulan, ug usa ka adlaw, namatay ang imong telepono samtang nagbiyahe, ug ingon niana, ang 90 nahimong 0 — ang tanan, ang tanan nga paningkamot, mapapas, ug ang pag-uswag mawala. Ang tiggamit mahimong hingpit nga malaglag. Ang paghunahuna sa pagtukod pag-usab niini gikan sa sinugdan makapaluya kaayo nga ang paningkamot dili takus niini. Sa pinakagrabe, mahimong biyaan sa usa ka user ang app human mobati nga napakyas. Ikonsiderar ang pagdugang og "grasya" nga mekanismo sa imong streak system:
Pag-freeze sa StreakTugoti ang mga tiggamit nga tinuyo nga wala’y usa ka adlaw nga wala’y mga silot. Dugang nga Oras Tugoti ang pipila ka oras (2–3) lapas sa naandan nga tagal sa dili pa mag-trigger og reset. Mga Modelo sa Pagkadunot Imbes usa ka hard reset, ang streak mikunhod sa gamay nga kantidad, pananglitan, ang 10 ka adlaw gikuha gikan sa streak matag nawala nga adlaw.
Paggamit ug Makapadasig nga Tono Atong itandi ang duha ka mga mensahe nga gipakita sa mga tiggamit kung ang usa ka streak maputol:
"Nawala nimo ang imong 42 ka adlaw nga sunodsunod. Sugdi pag-usab." "Mipakita ka sulod sa 42 ka adlaw nga sunodsunod. Kana talagsaon nga pag-uswag! Gusto ba nimo nga sulayan kini?"
Ang duha naghatag sa parehas nga kasayuran, apan ang emosyonal nga epekto lahi. Ang una nga mensahe lagmit makapahimo sa usa ka tiggamit nga mawad-an sa moralidad ug hinungdan nga sila mohunong. Ang ikaduha nga mensahe nagsaulog kung unsa ang nakab-ot na ug hinayhinay nga nag-awhag sa tiggamit sa pagsulay pag-usab. Mga Hagit sa Pagdesinyo sa Sistema sa Streak Sa dili pa kita moadto sa teknikal nga mga detalye sa pagtukod sa usa ka streak system, kinahanglan nga imong mahibal-an ang mga hagit nga mahimo nimong atubangon. Mahimong komplikado ang mga butang, sama sa imong gilauman. Pagdumala sa mga Timezone Adunay usa ka hinungdan ngano nga ang pagdumala sa oras ug petsa usa sa labing lisud nga mga konsepto nga giatubang sa mga developer. Adunay pag-format, internasyonalisasyon, ug daghan pa nga ikonsiderar. Tugoti ako nga mangutana kanimo: Unsa ang giisip nga usa ka adlaw? Nahibal-an namon nga ang kalibutan nagdagan sa lainlaing mga time zone, ug ingon nga dili kana igo, ang ubang mga rehiyon adunay Daylight Saving Time (DST) nga mahitabo kaduha sa usa ka tuig. Asa man ka magsugod sa pagdumala niining mga edge case? Unsa ang giisip nga "pagsugod" sa ugma? Ang ubang mga developers naningkamot sa paglikay niini pinaagi sa paggamit sa usa ka sentral nga timezone, sama sa UTC. Alang sa pipila ka mga tiggamit, kini makahatag og husto nga mga resulta, apan alang sa uban, kini mahimo nga usa ka oras, duha ka oras, o labaw pa. Kini nga pagkasumpaki makaguba sa kasinatian sa tiggamit. Ang mga tiggamit dili kaayo magtagad kung giunsa nimo pagdumala ang oras sa luyo sa mga eksena; Ang tanan nga ilang gipaabut mao nga kung maghimo sila usa ka sunodsunod nga aksyon sa 11:40 p.m., nan kini kinahanglan nga magparehistro sa eksakto nga oras, sa ilang konteksto. Kinahanglan nimong ipasabut ang "usa ka adlaw" base sa lokal nga timezone sa user, dili ang oras sa server. Sigurado, mahimo nimo nga daliruta ug pag-reset sa mga streak sa tibuok kalibutan alang sa tanang tiggamit sa tungang gabii UTC, apan ikaw nagmugna og dili patas. Ang usa ka tawo sa California kanunay adunay walo ka dugang nga oras aron makompleto ang ilang buluhaton kaysa usa nga nagpuyo sa London. Kana usa ka dili makatarunganon nga sayup sa disenyo nga nagsilot sa pipila nga mga tiggamit tungod sa ilang lokasyon. Ug unsa kaha kung ang maong tawo sa London mobisita lang, mokompleto sa usa ka buluhaton, unya mobalik sa laing timezone? Usa ka epektibo nga solusyon sa tanan niini mao ang paghangyo sa mga tiggamit nga klaro nga itakda ang ilang timezone sa panahon sa onboarding (mas maayo pagkahuman sa una nga pag-authenticate). Maayo nga ideya nga ilakip ang usa ka maliputon nga pahinumdom nga ang paghatag impormasyon sa timezone gigamit lamang alang sa app aron tukma nga masubay ang pag-uswag, imbes nga gamiton ingon nga personal nga mailhan nga datos. Ug usa pa ka maayong ideya nga himuon kana nga usa ka mabag-o nga kahimtang. Gisugyot nako nga bisan kinsa nga likayan ang direkta nga pagdumala sa lohika sa timezone sa usa ka app. Gamita ang gisulayan-ug-tinuod nga mga librarya sa petsa, sama sa Moment.js o pytz (Python), ug uban pa. Dili na kinahanglan nga imbento pag-usab ang ligid alang sa usa ka butang nga sama ka komplikado niini. Nawala nga mga Adlaw Ug Mga Kaso sa Edge Ang laing hagit nga angay nimong kabalak-an mao ang dili makontrol nga mga kaso sa edge sama sa oversleeping sa mga tiggamit, downtime sa server, lag, pagkapakyas sa network, ug uban pa. Ang paggamit sa ideya sa mga mekanismo sa grasya, sama sa atong gihisgutan sa sayo pa, makatabang. Ang grasya nga bintana sa duha ka oras mahimong makatabang sa tiggamit ug developer, sa diwa nga ang mga tiggamit dili estrikto nga silotan tungod sa dili makontrol nga mga kahimtang sa kinabuhi. Alang sa mga developers, ang mga bintana sa grasya makatabang sa mga dili makontrol nga mga higayon kung ang server nahulog sa tungang gabii. Labaw sa tanan, ayaw gyud pagsalig sa kliyente. Kanunay nga balido sa server-side. Ang server kinahanglan nga ang bugtong tinubdan sa kamatuoran. Paglikay sa pagpanglimbong Pag-usab, dili nako ma-stress kini nga igo: Siguruha nga i-validate ang tanan nga bahin sa server. Ang mga tiggamit mga tawo, ug ang mga tawo mahimo’g manikas kung hatagan ang higayon. Dili kini malikayan. Mahimo nimong sulayan:
Pagtipig sa tanan nga mga aksyon gamit ang mga timestamp sa UTC. Ang kliyente mahimong magpadala sa ilang lokal nga oras, apan ang server mahimo dayon nga i-convert kana sa UTC ug ma-validate batok sa oras sa server. Nianang paagiha, kung ang timestamp sa kliyente kadudahan nga layo, ang sistema mahimong isalikway kini ingon usa ka sayup, ug ang UI makatubag sumala niana. Gamit ang pagsubay nga gibase sa panghitabo. Sa ato pa, pagtipig og rekord sa matag aksyon nga adunay metadata lakip ang impormasyon sama sa ID sa user, ang matang sa aksyon nga gihimo, ug ang timestamp ug timezone. Makatabang kini sa pag-validate.
Pagtukod og usa ka Streak System Engine Dili kini usa ka panudlo sa code, mao nga likayan nako ang paglabay sa usa ka hugpong sa code kanimo. Ipadayon nako kini nga praktikal ug ihulagway kung giunsa ang mga butang sa kasagaran naglihok sa usa ka streak system nga makina hangtod sa arkitektura, dagan, ug kasaligan. Kinauyokan nga Arkitektura Sama sa akong gisulti sa makadaghang higayon, himoa ang server nga usa ka tinubdan sa kamatuoran alang sa streak data. Ang arkitektura mahimong sama niini sa server:
Tipigi ang datos sa matag user sa usa ka database. Tipigi ang kasamtangan nga streak store (default isip 0) isip integer. Tipigi ang gusto sa timezone, i.e., IANA Timezone string (mahimo gikan sa lokal nga timestamp o klaro pinaagi sa paghangyo sa user sa pagpili sa ilang timezone). Pananglitan, "America/New_York". Pagdumala sa tanan nga lohika aron mahibal-an kung ang streak nagpadayon o naputol, nga adunay pagsusi sa timezone nga may kalabotan sa lokal nga timezone sa tiggamit.
Samtang, sa bahin sa kliyente:
Ipakita ang kasamtangan nga streak, kasagaran gikuha gikan sa server. Ipadala ang aksyon nga gihimo sa porma sa metadata ngadto sa server aron ma-validate kung ang user ba nakakompleto sa usa ka qualifying streak nga aksyon. Paghatag og biswal nga feedback base sa mga tubag sa server.
Busa, sa laktud, ang utok naa sa server, ug ang kliyente alang sa mga katuyoan sa pagpakita ug pagsumite sa mga panghitabo. Kini makaluwas kanimo sa daghang mga kapakyasan ug mga kaso sa edge, dugang nga naghimo sa mga update ug pag-ayo nga mas sayon. Ang Lohikal nga Pag-agos Atong i-simulate ang usa ka walkthrough kung giunsa ang usa ka gamay nga episyente nga streak system nga makina kung makompleto sa usa ka user ang usa ka aksyon:
Nakompleto sa user ang usa ka qualifying streak nga aksyon. Ang kliyente nagpadala usa ka panghitabo sa server ingon metadata. Kini mahimong "User X nakompleto aksyon Y sa timestamp Z". Ang server nakadawat niini nga panghitabo ug naghimo sa batakang pag-validate. Tinuod ba kini nga tiggamit? Authenticated ba sila? Balido ba ang aksyon? Nagkanayon ba ang timezone? Kung kini moagi, makuha sa server ang streak data sa user gikan sa database. Dayon, i-convert ang nadawat nga timestamp sa aksyon ngadto sa lokal nga timezone sa user. Tugoti ang server nga itandi ang mga petsa sa kalendaryo (dili mga timestamp) sa lokal nga timezone sa user: Kung parehas nga adlaw, nan ang aksyon labi ka daghan ug wala’y pagbag-o sastreak. Kung kini mao ang sunod nga adlaw, nan ang streak molugway ug modugang sa 1. Kung adunay usa ka gintang nga labaw sa usa ka adlaw, ang streak maputol. Bisan pa, dinhi mahimo nimong magamit ang mga mekaniko sa grasya. Kung wala ang mekanismo sa grasya, i-reset ang streak sa 1.
Kung gipili nimo nga i-save ang makasaysayan nga datos alang sa mga milestone nga nahimo, dayon i-update ang mga variable sama sa "labing taas nga streak" o "total nga aktibo nga mga adlaw". Ang server dayon mag-update sa database ug motubag sa kliyente. Usa ka butang nga sama niini:
{ "karon_streak": 48, "labing taas nga_streak": 50, "total_active_days": 120, "streak_extended": tinuod, }
Ingon usa ka dugang nga sukod, ang server kinahanglan nga sulayan pag-usab o isalikway ug ipahibalo ang kliyente kung adunay bisan unsang mapakyas sa proseso. Pagtukod Alang sa Kalig-on Sama sa nahisgutan na kaniadto, ang mga tiggamit nga nawad-an sa usa ka streak tungod sa mga bug o server downtime mao ang makalilisang nga UX, ug ang mga tiggamit wala magdahom nga makuha ang pagkahulog alang niini. Busa, ang imong streak system kinahanglan adunay mga panalipod alang sa mga senaryo. Kung ang server napakyas alang sa pagmentinar (o bisan unsa nga hinungdan), hunahunaa ang pagtugot sa usa ka temporaryo nga bintana sa dugang nga mga oras aron ma-ayo kini aron ang mga aksyon mahimong ulahi nga isumite ug maihap gihapon. Mahimo ka usab nga mopili nga ipahibalo ang mga tiggamit, labi na kung ang sitwasyon adunay katakus nga makaapekto sa nagpadayon nga streak. Mubo nga sulat: Paghimo og admin backdoor diin ang data mahimong manu-manong ibalik. Ang mga bug dili kalikayan, ug ang ubang mga tiggamit motawag sa imong app o moduol aron suportahan nga ang ilang streak naputol tungod sa usa ka rason nga dili nila makontrol. Kinahanglan nimo nga mano-mano nga ibalik ang mga streak kung, pagkahuman sa imbestigasyon, husto ang tiggamit. Panapos Usa ka butang ang nagpabilin nga tin-aw: Ang mga streak kusog kaayo tungod sa kung giunsa ang sikolohiya sa tawo nagtrabaho sa usa ka sukaranan nga lebel. Ang labing kaayo nga sistema sa streak sa gawas mao ang usa nga wala gihunahuna sa mga tiggamit. Nahimo na kini nga rutina sa diha-diha nga mga resulta o makita nga pag-uswag, sama sa pag-brush sa ngipon, nga nahimong usa ka regular nga batasan. Ug isulti ra nako kini: Dili tanan nga mga produkto nanginahanglan usa ka sistema sa streak. Kinahanglan ba nimo nga pugson ang pagkamakanunayon tungod lang kay gusto nimo ang adlaw-adlaw nga aktibo nga tiggamit? Ang tubag mahimong "dili".