Megye di sɛ woate streaks ho asɛm anaasɛ wode app bi a ɛwɔ bi adi dwuma. Nanso woasusuw nea enti a streaks agye din na tumi wom saa no ho pɛn? Wiɛ, nea ɛda adi pefee wɔ hɔ sɛ apps pɛ sɛ wode w’adwene si so kɛse sɛnea ɛbɛyɛ yiye biara, nanso sɛ yɛde to nkyɛn a, so wunim sɛ bere a adesua app a agye din Duolingo de iOS widgets bae sɛ ɛbɛda streaks adi no, user commitment kɔɔ soro 60%. Ɔha biara mu aduosia yɛ nsakrae kɛse wɔ nneyɛe mu na ɛkyerɛ sɛnea wobetumi de “streak” nhyehyɛe ahorow adi dwuma de ama wɔn ho a wɔde hyɛ mu no akɔ soro na ama wɔde adi dwuma. Wɔ nea ɛho hia sen biara mu no, streak yɛ nna dodow a ɛtoatoa so a obi a ɔde di dwuma no wie dwumadi pɔtee bi. Nnipa binom nso kyerɛkyerɛ mu sɛ “gamified” su anaasɛ metric a wɔayɛ sɛ wɔde bɛhyɛ dwumadie a ɛkɔ so daa ho nkuran. Nanso streaks boro so sen sɛ ɛbɛyɛ metric anaa kyerɛwtohɔ wɔ app bi mu; ɛyɛ adwene mu de kɛse sen saa. Ɛnyɛ den sɛ wɔde nneɛma a ɛfata benya nnipa nkate so nkɛntɛnso. Hwɛ nneɛma abiɛsa yi: nkɔso, ahantan, ne suro a wosuro sɛ wobɛyera (wɔtaa frɛ no FOMO). Dɛn na eyinom nyinaa yɛ pɛ? Ahoɔden. Dodow a wobɔ mmɔden wɔ biribi mu no, dodow no ara na ɛkyerɛkyerɛ wo nipasu, na saa na streaks twa kɔ suban ho adwene wiase no mu. Afei, tumi kɛseɛ de asɛdeɛ kɛseɛ ba, na ɛnam ɛno nti, there’s a dark side to streaks. Wɔ saa asɛm yi mu no, yɛbɛkɔ adwene ne nneyɛe ho nimdeɛ, UX, ne nhyehyɛe nnyinasosɛm ahorow a ɛwɔ akyi sɛ yɛbɛkyekye streak nhyehyɛe a etu mpɔn no mu. Yɛbɛhwɛ (1) nea enti a ɛkame ayɛ sɛ yɛn amemene no fi awosu mu yɛ n’ade wɔ streak dwumadi ho, (2) sɛnea yɛbɛyɛ streaks wɔ akwan horow so a ɛboa wɔn a wɔde di dwuma no ankasa, ne (3) mfiridwuma adwuma a ɛka ho wɔ streak pattern a wɔkyekye mu. Adwene ne Nkate Ho Adesua a Ɛda Ntrɛwmu Akyi Sɛ yebetumi ayɛ streak nhyehyɛe a etu mpɔn na yɛasi a, ɛsɛ sɛ yɛte sɛnea ɛne sɛnea wɔde nhama ayɛ yɛn amemene no hyia no ase. Te sɛ, dɛn na ɛma etu mpɔn kɛse kodu baabi a yɛte ahofama a emu yɛ den kɛse nka sɛ yɛbɛbɔ yɛn nsensanee ho ban? Adwene ne nneyɛe ho nnyinasosɛm abiɛsa a ɛyɛ anigye a wɔakyerɛw ho asɛm yiye wɔ hɔ a ɛfoa nea ɛma streaks yɛ nea tumi wom na ɛma obi yɛ ade tra so saa no so. Adehwere ho Aversion Ebia eyi ne tumi a emu yɛ den sen biara a ɛwɔ nsensanee akyi. Meka eyi efisɛ mpɛn pii no, ɛkame ayɛ sɛ wuntumi nkwati eyi wɔ asetra mu. Susuw ho saa kwan yi so: Sɛ w’adamfo bi ma wo $100 a, w’ani begye. Nanso sɛ wohwere $100 fi wo sika kotoku mu a, ɛno bɛyɛ yaw kɛse. Nkate fam mu duru a ɛwɔ saa tebea horow no mu no nyɛ pɛ. Adehwere yɛ yaw sen mfaso a wobɛte nka sɛ eye. Momma yɛmfa nkɔ akyiri na yɛnka sɛ mema wo $100 na meka kyerɛ wo sɛ mmɔ kyakya. There’s a 50% chance sɛ wobɛdi nkonim $100 foforɔ na 50% chance sɛ wobɛhwere $100 a ɛdi kan no. So wobɛfa? Anka merenyɛ saa. Nnipa dodow no ara renyɛ saa. Ɛno ne adehwere ho tan. Sɛ wususuw ho a, ntease wom, ntease wom, ɛyɛ onipa. Adwene a ɛwɔ adehwere ho tan akyi ne sɛ yɛte ɛyaw a ɛwɔ biribi a yɛhwere mu no nka mmɔho abien sen anigye a yɛwɔ sɛ yebenya biribi a ne bo yɛ pɛ. Wɔ adwene mu no, adehwere kyɛ sen mfaso a wonya. Ebia wubehu sɛnea eyi fa nsensanee ho. Sɛ wobɛkyekye streak a ɛda nsow a, egye mmɔdenbɔ; bere a streak bi nyin no, nea ɛkanyan no wɔ akyi no fi ase sɛe; anaasɛ sɛ yɛbɛka no pɛpɛɛpɛ a, efi ase yɛ nea ɛto so abien. Here’s an example: Ka sɛ w’adamfo no wɔ nnansa streak a ɔde to wɔn “Move Rings” mu wɔ wɔn Apple Watch so. Ɛkame ayɛ sɛ wonni biribiara a wɔbɛhwere sen sɛ wɔpɛ sɛ wodu wɔn botae ho na wɔyɛ nea ɛkɔ so daa. Bere koro no ara mu no, wowɔ nnafua 219 a ɛyɛ nwonwa a ɛrekɔ so. Ɛda adi sɛ suro a wusuro sɛ wobɛhwere no akyere wo. Ɛda adi kɛse sɛ wunsusuw nea woatumi ayɛ no ho wɔ saa bere yi mu; ɛfa wo mmɔdenbɔ a wode sika ahyɛ mu no ho banbɔ ho kɛse, na ɛno ne adehwere ho tan. Duolingo kyerɛkyerɛ sɛnea adehwere ho tan boa ma obi a ɔde di dwuma no mpɛ sɛ obegyae adwuma tenten bi, wɔ wɔn nna a wɔyɛ ɔkwasea sen biara mpo mu. Ɔkwan bi so no, streak betumi adan su bere a adehwere ho tan akɔ so ayɛ no. Fogg Suban Ho Nhwɛso (B = MAP) . Seesei a yɛate suro a yesuro sɛ yɛbɛhwere mmɔdenbɔ a yɛde ahyɛ streaks atenten mu no ase no, asɛmmisa foforo ne sɛ: Dɛn na ɛma yɛyɛ ade no wɔ nea edi kan no mu, da biara da, ansa na streak no ayɛ kɛse mpo? Ɛno ne nea Fogg Behavior Model no fa ho. Ɛyɛ mmerɛw koraa. Suban (B) ba bere a nneɛma abiɛsa — Nkannyan (M), Tumi (A), ne Nhyɛso (P) — hyia bere koro mu nkutoo. Enti, nsɛsoɔ B=MAP. Sɛ saa nneɛma yi mu biara, biako mpo, yera saa bere no a, suban no rensi. Enti, sɛ streak nhyehyɛe bi bɛyɛ adwuma yiye na ɛsan ba bio a, ɛsɛ sɛ nneɛma abiɛsa no nyinaa wɔ hɔ: NkannyanEyi yɛ nea ɛyɛ mmerɛw na ɛnyɛ biribi a ɛwɔ hɔ bere nyinaa. Nna bi wɔ hɔ a w’ayɛpumped to learn Spanish, na nna a wonte nka mpo sɛ wowɔ ɔpɛ sɛ wobɛsua kasa no. Nkannyan a ɛkanyan obi ma onya su bi no ankasa yɛ nea wontumi mfa ho nto so na ɛyɛ ɔko a wodi nkogu fi da a edi kan no. TumiSɛnea ɛbɛyɛ a wobetua anohyeto ahorow a ɛwɔ nkannyan mu no so ka no, tumi ho hia kɛse. Wɔ saa tebea yi mu no, tumi kyerɛ sɛ adeyɛ a ɛyɛ mmerɛw, i.e., mmɔdenbɔ no yɛ mmerɛw araa ma ɛnyɛ nokware sɛ yɛbɛka sɛ ɛrentumi nyɛ yiye. App dodow no ara hyɛ da de eyi di dwuma. Apple Fitness hia sɛ wugyina hɔ simma biako wɔ dɔnhwerew biako mu kɛkɛ na woanya tick akɔ wo Stand botae no ho. Duolingo hia adesua biako pɛ a wɔawie. Saa nnwuma yi nhwehwɛ mmɔdenbɔ kɛse saa. Akwanside no sua araa ma wɔ wo nna a enye koraa mpo mu no, wubetumi ayɛ. Nanso mmɔdenbɔ a wɔaka abom a ɛfa streak a ɛkɔ so ho no ne baabi a adwene a ɛne sɛ wɔbɛhwere saa streak no fi ase. PromptEyi ne nea ɛwie equation no. Nnipa fi awosu mu werɛ fi, enti yiw, tumi betumi ama yɛanya 90% wɔ hɔ. Nanso ntɛmpɛ kae yɛn sɛ yɛnyɛ ho biribi. Streaks yɛ nea ɛkɔ so tra hɔ sɛnea wɔayɛ no, enti ɛsɛ sɛ wɔkae wɔn a wɔde di dwuma no bere nyinaa sɛ wɔnyɛ ho biribi. Sɛnea ɛbɛyɛ na woahu sɛnea tumi a wɔde frɛ obi betumi ayɛ no, Duolingo yɛɛ A/B sɔhwɛ de hwɛɛ sɛ ebia badge kɔkɔɔ ketewaa bi a ɛwɔ app’s icon no so no maa dwumadie a ɛkɔ so daa no kɔɔ soro anaa. Ɛmaa wɔn a wɔde di dwuma a wɔyɛ nnam da biara da no nyaa nkɔanim 6%. Badge kɔkɔɔ bi kɛkɛ. Nhwɛso Anohyeto Ahorow Sɛ yɛreka eyi nyinaa a, anohyeto bi wɔ Fogg nhwɛso no mu a ɛnam so ma akasatiafo ne nnɛyi nhwehwɛmu ahu sɛ adwini a ɛde ne ho to nsɛm a ɛkanyan adwene so dodo, te sɛ amanneɛbɔ a ɛyɛ hu so no, de asiane ba sɛ ɛde adwene mu ɔbrɛ bɛba. Amanneɛbɔ a wɔde ma bere nyinaa ne bere a wɔde yɛ adwuma boro so no betumi ama wɔn a wɔde di dwuma no ayɛ basaa. Enti, hwɛ yiye wɔ saa asɛm no ho. Zeigarnik Nkɛntɛnso no Sɛ wugyae adwuma bi a ɛyɛ adwuma a wɔayɛ no fã a, wote nka dɛn? Ɛno hyɛ nnipa pii abufuw efisɛ nnwuma a wonwiei gye adwene mu baabi kɛse sen nneɛma a yewie. Sɛ wɔyɛ biribi na ɛkɔ a, yɛn werɛ taa fi. Sɛ wogyaw biribi a wɔnyɛ a, ɛtaa yɛ adesoa wɔ yɛn adwene mu. Eyi nti pɛpɛɛpɛ na dijitaal nneɛma de nkɔso ho nsɛnkyerɛnne a wɔayɛ, te sɛ Upwork profile completion bar, di dwuma de ma obi a ɔde di dwuma no hu sɛ wɔn profile no “60% awie” pɛ. Ɛpiapia nea ɔde di dwuma no ma onwie nea wofii ase no.

Ma yɛnhwɛ nhwɛso foforo. Wowɔ nnwuma anum wɔ to-do list app bi mu, na da no awiei no, wohwɛ emu anan pɛ sɛ woawie. Yɛn mu pii bɛte nka sɛ yentumi nyɛ hwee esiane saa adwuma biako a yenwiei nti. Ɛno, wɔ hɔ ara, ne Zeigarnik nkɛntɛnso no. Adwene ne nneyɛe ho ɔbenfo Bluma Zeigarnik na ɔdaa Zeigarnik effecthe no adi, na ɔkaa ho asɛm sɛ yɛtaa ma nnwuma a enni mũ yɛ nnam wɔ yɛn nkae mu kyɛ sen nnwuma a yɛawie. A streak pattern abɔde mu taps wɔ eyi mu wɔ UX nhyehyɛe mu. Momma yɛnka sɛ wowɔ adesua a ɛto so 63 mu. Saa bere no, wowɔ adwuma a wonwiei ho nhyehyɛe a ɛkɔ so mu. Anka w’amemene no werɛ remfi bere a ɛte w’adwene akyi no. Saa bere yi de, w’amemene no bɛyɛ nea ɛde amanneɛbɔ ahorow mena wo. Sɛ wode saa adwene mu tumi ahorow yi bom a, wufi ase te nea enti a streaks nyɛ app a wɔyɛ no daa ara kwa no ase ankasa; wotumi sesa nnipa nneyɛe foforo. Nanso baabi a ɛwɔ line no so — mintumi nka bere pɔtee a, sɛnea ɛsono obiara — nneɛma du baabi a streak dan fi “anigye” so kɔ biribi a wote nka sɛ wuntumi nhwere. Wompɛ sɛ nnafua 58 mmɔdenbɔ bɛsɛe, ɛnte saa? Ɛno ne nea ɛma streak nhyehyɛe tu mpɔn. Sɛ wɔyɛ no yiye a, streaks boa wɔn a wɔde di dwuma no ma wonya suban ahorow a ɛyɛ nwonwa a ɛma wotumi du botae bi ho. Ebetumi ayɛ akenkan da biara da anaasɛ apɔw-mu-teɛteɛ a wobɛbɔ bere nyinaa. Saa nneyɛe a yɛyɛ mpɛn pii yi (ɛtɔ mmere bi a nketenkete) no yɛ kɛse bere kɔ so na ɛda adi wɔ yɛn da biara da asetra mu. Nanso sika biara wɔ afã abien. Ntrɛwmu Teateaa a Ɛda Suban Ne Nhyɛso Ntam Sɛ woadi akyi a, wubetumi ahu dedaw sɛ there’s a dark side to streak systems. Su a wɔhyehyɛ no fa nea ɛkɔ so daa a botae a wɔde asi wɔn ani so mpɛn pii ho. Nanso, nhyɛso yɛ botae bi a ɛho nhia bio na mmom ehu anaa nhyɛso nti wokura mu a ɛkɔ so daa. Ɛyɛ nhama a ɛyɛ tratraa te sɛ ahama. Wohohoro wo sẽ anɔpa biara a wunsusuw ho; ɛyɛ nea ɛba ara kwa na efi awosu mu, a botae a emu da hɔ ne sɛ obenya ahome pa. Ɛno yɛ streak a ɛyɛ su pa. Ethical streak nhyehyɛe ma wɔn a wɔde di dwuma no nya baabi a wɔbɛhome. Sɛ biribi nti, woamfa brush anɔpa a, wubetumi abɔ brush awiabere. Wɔma sintɔ ho kwan a wonsuro sɛ wɔbɛhwere mmɔdenbɔ a ɛkyɛ. Nhyɛso fa ɔkwan a ɛne no bɔ abira so, a ɛnam so ma streak ma wo ho yeraw wo, wote afobu nka anaasɛ wobrɛ mpo, na ɛtɔ mmere bi a, ɛte sɛ nea wuntumi nyɛ hwee, ɛmfa ho wo nyinaaadwuma. Ɛnyɛ sɛ wopɛ nti na woyɛ w’ade, na mmom esiane sɛ wo subconsciously suro sɛ wubehu sɛ wo nkɔso no asan akɔ zero nti. Obi mpo kaa eyi ho asɛm pɛpɛɛpɛ sɛ, “Metee nka sɛ meresisi, nanso na ɛnyɛ me asɛm kɛkɛ. Mennyɛ hwee a me streak nni mu”. Eyi kyerɛ sɛnea hold streaks betumi anya wɔ ankorankoro bi so kɛse. Ɛde besi baabi a wɔn a wɔde di dwuma no fi ase de wɔn ho bo a ɛsom bata metric a wɔpɛ ho sen sɛ wɔbɛka mfitiase botae anaa nea enti a wofii ase wɔ streak no mu wɔ nea edi kan no mu. Streak no bɛyɛ onipa ko a wɔyɛ, ɛnyɛ nea wɔyɛ ara kwa. Ɛsɛ sɛ abrabɔ pa ho nhyehyɛe a wɔayɛ no yiye no te nka sɛ ɛyɛ nkuranhyɛ ma nea ɔde di dwuma no, na ɛnyɛ nhyɛso anaa asɛyɛde. Eyi fa nkannyan a ɛwɔ nipadua no mu ne nea ɛwɔ akyi a ɛkari pɛ ho. Ebia abɔnten so nkannyan (akyi akatua, asotwe a wɔkwati) bɛma wɔn a wɔde di dwuma no afi ase, nanso nkannyan a ɛwɔ nipadua no mu (adwuma no a wobɛyɛ ama w’ankasa botae bi te sɛ Spania kasa a wubesua efisɛ wopɛ sɛ wo ne wo dɔfo bi di nkitaho ankasa) mu yɛ den ma bere tenten a wode bedi dwuma. Ɛsɛ sɛ nhyehyɛe pa twetwe kɔ nkannyan a ɛwɔ nipadua mu so denam nneɛma a ɛwɔ akyi a wɔde ahwɛyiye di dwuma so, i.e., ɛkae wɔn a wɔde di dwuma no baabi a wɔadu, na ɛnyɛ sɛ ɛde nea ebia wɔbɛhwere no hunahuna wɔn. Bio nso, ɛyɛ nkyerɛwde fɛfɛ. Sɔhwɛ a ɛnyɛ den bere a woreyɛ streak nhyehyɛe ne sɛ wubegye bere kakra ankasa na woasusuw ho sɛ ebia wo nneɛma no nya sika denam dadwen a wo nneɛma no de bae no ano aduru a wobɛtɔn so anaa. Sɛ yiw a, ɛyɛ hokwan kɛse sɛ woreyɛ wɔn a wɔde di dwuma no basabasa. Enti asɛmmisa a edi hɔ no bɛyɛ sɛ, Sɛ mepaw sɛ mede streak bedi dwuma a, mɛyɛ dɛn ayɛ no wɔ ɔkwan bi so a ɛbɛboa wɔn a wɔde di dwuma no ankasa ma wɔadu wɔn botae ahorow ho? UX a ɛwɔ Streak System Design Pa no mu Migye di sɛ eyi ne baabi a nnwuma dodow no ara de nnadewa bɔ streak nhyehyɛe a etu mpɔn anaasɛ wɔsɛe no koraa. Momma yɛnkɔ UX nnyinasosɛm ahorow bi a ɛfa streak design pa ho mu. Ma Ɛnyɛ Mmɔdenbɔ Ebia woate eyi pɛn, ebia efi nhoma ahorow te sɛ Atomic Habits mu, nanso ɛfata sɛ yɛka sɛ akwan a ɛyɛ mmerɛw a wobetumi afa so ayɛ suban no mu biako ne sɛ wɔbɛma adeyɛ no ayɛ ketewaa na ayɛ mmerɛw. Eyi te sɛ tumi ade a yɛkaa ho asɛm fii Fogg Behavior Model no mu no. Ɛsɛ sɛ mmara a edi kan wɔ streak nhyehyɛe biara mu yɛ sɛ wɔbɛma adeyɛ a wɔhwehwɛ no ayɛ ketewaa sɛnea nnipa betumi ayɛ bere a wɔda so ara nya nkɔso no. Sɛ da biara da adeyɛ bi hwehwɛ sɛ obi nya ɔpɛ sɛ obewie a, saa adeyɛ no remma ɛntra nnanu. Adɛn? Worentumi nnya nkannyan nnanu a ɛtoatoa so. Case in point: Sɛ wode meditation app di dwuma a, enhia sɛ woma wɔn a wɔde di dwuma no fa simma 20 nhyiam bi mu sɛnea ɛbɛyɛ a wɔbɛkɔ so akura streak no mu kɛkɛ. Sɔ simma biako hwɛ, ebia biribi ketewaa bi te sɛ sikɔne aduasa mpo, mmom. Sɛnea wɔka no, nsu nketenkete a ɛtɔ gu fam no ma ɛpo a ɛyɛ den no). Mmɔdenbɔ nketenkete bom yɛ nneɛma akɛse a bere kɔ so no. Ɛsɛ sɛ ɛno yɛ botae no: yi akasakasa fi hɔ, titiriw bere a ebia bere no bɛyɛ den no. Sɛ wɔn a wɔde di dwuma no adwennwen anaasɛ wɔayɛ basaa a, ma wonhu sɛ sɛ obi bɛda ne ho adi kɛkɛ, wɔ sikɔne kakraa bi mpo mu a, ebu mmɔdenbɔ. Fa Nsɛm a Wɔde Aniwa Hu a Ɛda Adi Ma Nnipa fi awosu mu yɛ ade a wotumi hu. Mpɛn pii no, ɛsɛ sɛ yehu biribi a yebetumi agye adi; there’s this hia sɛ yɛyɛ nneɛma ho mfonini wɔ w’adwenem na ama yɛate ase yie na yɛde nneɛma ahyɛ adwene mu. Eyi nti na streak patterns taa de nneɛma a wotumi hu te sɛ graphs, checkmarks, progress rings, ne grids di dwuma de yɛ mmɔdenbɔ ho mfonini wɔ wɔn adwene mu no. Hwɛ GitHub’s ntoboa graph no. Ɛyɛ mfonini a ɛnyɛ den a wɔde hwɛ nneɛma a ɛkɔ so pɛpɛɛpɛ. Nanso wɔn a wɔyɛ no home no te sɛ oxygen.

Nea ɛho hia ne sɛ ɛnyɛ sɛ wobɛma streak nhyehyɛe bi ate nka sɛ enni adwene. Ɛsɛ sɛ ɛte nka sɛ ɛyɛ nokware na wɔanya. Sɛ nhwɛso no, Duolingo ne Apple’s Fitness dwumadi nkaa ahorow no de animation nhyehyɛe a ɛho tew di dwuma bere a wɔawie streak bi, na GitHub kyerɛ abakɔsɛm mu data a ɛkyerɛ sɛnea obi a ɔde di dwuma no yɛ pɛpɛɛpɛ bere tenten.

Fa Bere Pa Di Dwuma Madi kan aka sɛ mpɛn pii no nnipa werɛ fi fi awosu mu, na nkannyan betumi aboa ma wɔakɔ so anya nkɔso. Sɛ wɔanhyɛ wɔn nkuran a, wɔn a wɔde di dwuma foforo no mu dodow no ara werɛ fi sɛ wɔbɛkɔ so ayɛ adwuma. Asetra betumi ayɛ nea adagyew nnim, nea ɛkanyan obi no yera, na nneɛma sisi. Wɔn a wɔde di dwuma bere tenten mpo nya mfaso fi nsɛm a wɔka kyerɛ wɔn mu, ɛwom sɛ mpɛn pii no, wɔatoto mu dedaw wɔ su no mu de. Ne nyinaa mu no, obi a ɔde ne ho ama paa mpo betumi ayera da koro wɔ akwanhyia mu. Wo streak nhyehyɛe no hia nkaebɔ ampa. Nkaebɔ a wɔde hyɛ nkurɔfo nkuran a wɔde di dwuma kɛse ne push notifications. Bere ho hia ankasa bere a wode push notifications reyɛ adwuma no. App ko a wɔde yɛ adwuma no nso ho hia. Sɛ wode amanneɛbɔ bɛmena anɔpa 9 a.m. sɛ “Wo nyɛɛ adesua nnɛ” no yɛ nwonwa ara kwa ma adesua app efisɛ pii wɔ nneɛma a wɔbɛyɛ wɔ da no mu ansa na wɔasusuw ho mpo sɛ wobewie adesua bi. Nanso, sɛ yɛreka fitness app ho asɛm a, ɛyɛntease wom na ebia wɔhwɛ kwan mpo sɛ wɔbɛkae no ntɛm wɔ da no mu. Push notifications gu ahorow kɛse wɔ app category biara mu. Sɛ nhwɛso no, fitness apps hu sɛ wɔde wɔn ho hyɛ anɔpatutuutu amanneɛbɔ (7–8 AM) mu kɛse, bere a productivity apps betumi ayɛ adwuma yiye wɔ awiabere anɔpatutuutu. Ade titiriw ne sɛ A/B bɛsɔ wo app’s timing ahwɛ a egyina wo users’ behaviors so sen sɛ wobɛfa no sɛ nneɛma yɛ biako-sɛ-nea ɛfata-obiara. Ebia nea ɛyɛ adwuma ma meditation app no ​​rennyɛ adwuma mma coding tracker. Akwan foforo a wɔfa so bisabisa nsɛm ne nsensanee kɔkɔɔ a ɛwɔ app ahyɛnsode no so ne app widgets mpo. Nhwehwɛmu ahorow gu ahorow, nanso sɛ wɔkyekyem pɛpɛɛpɛ a, onipa biara bue ne mfiri no mpɛn 50-150 da biara (PDF). Sɛ obi a ɔde di dwuma hu nsensanee kɔkɔɔ bi wɔ app anaa widget bi so a ɛkyerɛ mprempren streak bere biara a obebue ne fon no a, ɛma ahofama yɛ kɛse. Mma ɛntra so kɛkɛ; ɛsɛ sɛ asɛm a wɔka kyerɛ no yɛ nkaebɔ, na ɛnyɛ nag. Di Nneɛma a Ɛho Hia Ho Afahyɛ Ɛsɛ sɛ streak nhyehyɛe bɔ mmɔden sɛ wobedi nsɛntitiriw ho afahyɛ de asan akanyan nkate, titiriw ma wɔn a wɔde di dwuma a ɛkɔ akyiri wɔ streak mu. Sɛ obi a ɔde di dwuma bɔ Da 7, Da 30, Da 50, Da 100, Da 365 a, ɛsɛ sɛ woyɛ ade kɛse fi mu. Gye nkɔsoɔ tom — titiriw ma wɔn a wɔde adi dwuma akyɛ.

Sɛnea yɛadi kan ahu no, Duolingo huu eyi na ɔde mfonini bi a ɛyɛ anigye a ɛde confetti di nneɛma atitiriw ho afahyɛ dii dwuma. Platform ahorow bi mpo ma bonus akatua kɛse a ɛma wɔn a wɔde di dwuma no mmɔdenbɔ yɛ nokware. Na eyi betumi ayɛ nea mfaso wɔ so ama app ahorow, ma enti wɔn a wɔde di dwuma no taa ka wɔn nsɛntitiriw ho asɛm wɔ baguam wɔ sohyial media so. Mfaso foforo ne akwanhwɛ a ɛba ansa na wɔadu nsɛntitiriw ho. Ɛnyɛ sɛ wɔbɛma streak no atra ase a enni awiei kɛkɛ; wɔn a wɔde di dwuma no wɔ biribi a ɛsɛ sɛ wɔhwɛ kwan. Fa Adom Nnwinnade Di Dwuma Asetra yɛ nea wontumi nhu. Nkurɔfo adwene twetwe wɔn adwene. Ɛsɛ sɛ streak nhyehyɛe pa biara hwɛ kwan sɛ ɛnyɛ pɛ. Adwene mu ahunahuna kɛse biako a ɛwɔ streak nhyehyɛe so ne hard reset a wɔde kɔ zero wɔ da koro pɛ a wɔapa no akyi. Ɛsɛ sɛ “abrabɔ pa” streak nhyehyɛe ma nea ɔde di dwuma no nya slack bi. Momma yɛnka sɛ wowɔ nnafua 90 chess adesua a ɛkɔ so. Woayɛ nea ɛkɔ so daa asram abiɛsa pa, na da bi, wo fon wu bere a woretu kwan, na saa ara, 90 bɛyɛ 0 — biribiara, saa mmɔdenbɔ no nyinaa, popa, na nkɔso yera. Ebia nea ɔde di dwuma no bɛhaw koraa. Adwene a ɛne sɛ wɔbɛsan akyekye afi mfiase no ma obi abam bu araa ma mmɔdenbɔ no mfata. Nea enye koraa no, ebia obi a ɔde di dwuma no begyae app no ​​bere a wate nka sɛ wadi nkogu akyi. Susuw ho sɛ wode “adom” afiri bi bɛka wo streak nhyehyɛe no ho:

Streak FreezeMa wɔn a wɔde di dwuma no kwan ma wɔhyɛ da nkɔ da koro a asotwe biara nni ho. Bere a Ɛboro SoMa kwan ma nnɔnhwerew kakraa bi (2–3) twa bere a wɔtaa yɛ no ansa na woahyɛ reset ase. Decay ModelsSɛ́ anka wɔbɛyɛ hard reset no, streak no so tew kakra, s.e., wɔtwe nnafua 10 fi streak no mu da biara a wɔayera.

Fa Ɛnne a Ɛhyɛ Nkuran Di Dwuma Momma yɛmfa nkrasɛm abien a wɔkyerɛ kyerɛ wɔn a wɔde di dwuma bere a streak bi abubu no ntoto ho:

“Wohweree wo nnafua 42 a wode dii dwuma no. Fi ase bio.” "Woyii wo ho adi nnafua 42 tẽẽ. That’s incredible progress! Wanna give it another try?"

Wɔn baanu nyinaa de nsɛm koro ma, nanso ɛsono nkate mu nkɛntɛnso. Ɛda adi kɛse sɛ nkrasɛm a edi kan no bɛma obi a ɔde di dwuma no ate nka sɛ n’abam abu na ama wagyae. Nkrasɛm a ɛto so abien no di nea wɔatumi ayɛ dedaw no ho afahyɛ na ɛhyɛ nea ɔde di dwuma no nkuran brɛoo sɛ ɔnsɔ mmɔden bio. Streak Systems Design Nsɛnnennen Ansa na yɛbɛkɔ mfiridwuma mu nsɛm pɔtee a ɛfa streak nhyehyɛe a yɛbɛkyekye ho no, ɛsɛ sɛ wuhu nsɛnnennen a ebia wubehyia. Nneɛma betumi ayɛ den, sɛnea ebia wobɛhwɛ kwan no. Bere a Wɔde Di Dwuma Ntease bi wɔ hɔ a enti bere ne da a wobedi ho dwuma no ka nsusuwii ahorow a ɛyɛ den sen biara a wɔn a wɔyɛ no di ho dwuma no ho. Ɛwɔ formatting, internationalization, ne pii a ɛsɛ sɛ wususuw ho. Ma memmisa wo eyi: Dɛn na wobu no sɛ da koro? Yenim sɛ wiase no tu mmirika wɔ bere ahorow so, na te sɛ nea ɛno nnɔɔso no, mpɔtam bi wɔ Daylight Saving Time (DST) a ɛkɔ so mprenu afe biara. Ɛhe na wufi ase mpo di saa edge cases yi ho dwuma? Dɛn na wobu no sɛ ɔkyena “mfiase”? Wɔn a wɔyɛ no binom bɔ mmɔden sɛ wɔbɛkwati eyi denam mfinimfini bere nhyehyɛe biako a wɔde bedi dwuma so, te sɛ UTC. Wɔ wɔn a wɔde di dwuma no bi fam no, eyi bɛma wɔanya nea ɛteɛ, nanso ebinom fam no, ebetumi adum dɔnhwerew biako, nnɔnhwerew abien, anaa nea ɛboro saa. Saa abirabɔ yi sɛe osuahu a ɔde di dwuma no. Wɔn a wɔde di dwuma no mfa sɛnea wudi bere a ɛwɔ akyi no ho dwuma no ho; nea wɔhwɛ kwan ara ne sɛ sɛ wɔyɛ streak action 11:40 p.m. a, ɛnde ɛsɛ sɛ ɛkyerɛw ne din wɔ saa bere pɔtee no mu, wɔ wɔn nsɛm a ɛfa ho no mu. Ɛsɛ sɛ wokyerɛkyerɛ “da koro” mu gyina ɔdefo no mpɔtam hɔ bere nhyehyɛe so, na ɛnyɛ server bere no. Ampa, wubetumi afa nea ɛyɛ mmerɛwkwan ne reset streaks wiase nyinaa ma wɔn a wɔde di dwuma nyinaa wɔ anadwo fã UTC, nanso worebɔ atɛntrenee kɛse. Bere nyinaa obi a ɔwɔ California wɔ nnɔnhwerew awotwe foforo de wie n’adwuma sen obi a ɔte London. Ɛno yɛ design flaw a ɛnteɛ a ɛtwe wɔn a wɔde di dwuma binom aso esiane beae a wɔwɔ nti. Na sɛ saa onipa a ɔwɔ London no rekɔsra hɔ nkutoo, owie adwuma bi, afei ɔsan kɔ bere nhyehyɛe foforo mu nso ɛ? Eyinom nyinaa ano aduru biako a etu mpɔn ne sɛ wobɛka akyerɛ wɔn a wɔde di dwuma no sɛ wɔmfa wɔn bere nhyehyɛe no nhyɛ pefee bere a wɔreyɛ onboarding (sɛ ɛbɛyɛ yiye a, bere a wɔadi kan agye atom akyi). Ɛyɛ adwene pa sɛ wode anifere kwan so nsɛm bi bɛka ho sɛ bere nhyehyɛe ho nsɛm a wɔde ma no, wɔde di dwuma ma app no ​​nkutoo na ama wɔadi nkɔso akyi pɛpɛɛpɛ, sen sɛ wɔde bedi dwuma sɛ data a wotumi hu. Na ɛyɛ adwene pa foforo sɛ wobɛma ɛno ayɛ tebea a ɛsakra. Mehyɛ nyansa sɛ obiara kwati sɛ obedi timezone logic ho dwuma tẽẽ wɔ app bi mu. Fa date nhomakorabea ahorow a wɔasɔ ahwɛ, te sɛ Moment.js anaa pytz (Python), ne nea ɛkeka ho Di dwuma Ɛho nhia sɛ wobɛsan ayɛ ntwahonan no ama biribi a ɛyɛ den te sɛ eyi. Nna a Wɔayera Ne Edge Nsɛm Asɛnnennen foforo a ɛsɛ sɛ wohaw wo ho wɔ ho ne edge cases a wontumi nni so te sɛ users a wɔda boro so, server downtime, lag, network huammɔdi, ne nea ɛkeka ho. Adom akwan ho adwene a yɛde bedi dwuma, te sɛ nea yɛadi kan aka ho asɛm no, betumi aboa. Adom mfɛnsere a ɛyɛ nnɔnhwerew abien betumi aboa nea ɔde di dwuma ne nea ɔyɛ no nyinaa, wɔ ntease a ɛne sɛ wɔmfa asotwe a emu yɛ den mma wɔn a wɔde di dwuma no wɔ asetra mu tebea horow a wontumi nni so ho. Wɔ developers fam no, grace windows boa wɔ saa bere a wontumi nni so bere a server no kɔ fam anadwo fã no. Nea ɛsen ne nyinaa no, nnye nea worehwehwɛ no no nni da. Bere nyinaa validate wɔ server-side. Ɛsɛ sɛ server no yɛ nokware fibea biako pɛ. Nsisi a Wosiw Ano Bio, mintumi nsi eyi so dua sɛnea ɛsɛ: Hwɛ hu sɛ wobɛma biribiara ayɛ nokware wɔ server-side. Wɔn a wɔde di dwuma no yɛ nnipa, na sɛ wɔma nnipa hokwan a, ebia wobesisi. Ɛyɛ nea wontumi nkwati. Wubetumi asɔ ahwɛ sɛ:

Storing all actions with UTC timestamps.Akrafoɔ no bɛtumi de wɔn mpɔtam hɔ berɛ akɔ, nanso seva no bɛtumi adan saa no ntɛm ara akɔ UTC na wagye atom wɔ seva berɛ no ho. Saa kwan no so no, sɛ akraman no bere nsɔano no kɔ akyirikyiri wɔ ɔkwan a ɛyɛ adwenem naayɛ so a, nhyehyɛe no betumi apow sɛ mfomso, na UI no betumi abua sɛnea ɛfata. Using event-based tracking.Wɔ kwan foforo so no, sie adeyɛ biara ho kyerɛwtohɔ a metadata ka ho a nsɛm te sɛ nea ɔde di dwuma no ID, adeyɛ ko a wɔayɛ, ne bere nsɔano ne bere nhyehyɛe ka ho. Eyi boa wɔ validation mu.

Streak System Engine a Wɔbɛkyekye Eyi nyɛ code tutorial, enti mɛkwati sɛ mɛtow code bunch bi agu wo so. I’ll keep this practical na kyerɛkyerɛ sɛnea nneɛma taa yɛ adwuma wɔ streak system engine mu kɔsi architecture, flow, ne reliability. Nneɛma a Wɔde Sisi Nneɛma Titiriw Sɛnea maka mpɛn pii no, ma server no nyɛ nokware fibea biako ma streak data. Architecture no betumi akɔ biribi te sɛ eyi so wɔ server no so:

Fa obiara a ɔde di dwuma no data sie wɔ database mu. Fa mprempren streak store (default sɛ 0) sie sɛ integer. Sie bere fã a wopɛ, i.e., IANA Bere fã ahama (a ɛkyerɛ sɛ efi mpɔtam hɔ bere nsɔano anaasɛ pefee denam ka a wobɛka akyerɛ ɔdefo sɛ ɔmpaw wɔn bere nhyehyɛe no so). Sɛ nhwɛso no, “Amerika/New_York”. Di nteaseɛ nyinaa ho dwuma na hwɛ sɛ streak no kɔ so anaasɛ ɛbubu, a timezone check a ɛfa user’s local timezone ho.

Saa bere yi nyinaa, wɔ client-side no:

Kyerɛ mprempren streak, a wɔtaa fa fi server no so. Send adeyɛ a wɔayɛ wɔ metadata kwan so kɔ server no so de hwɛ sɛ ebia ɔdefo no wiee streak adeyɛ a ɛfata ampa anaa. Fa aniwa so nsɛm a egyina server mmuae so ma.

Enti, ne tiawa mu no, amemene no wɔ server no so, na client no wɔ display atirimpɔw ahorow ne nsɛm a esisi a wɔde bɛmena. Wei gye wo nkogudi ne edge cases pii, nea ɛka ho no ma updates ne fixes yɛ mmerɛw. Nteaseɛ a Ɛsen Momma yɛnyɛ sɛnea streak system engine a ɛyɛ adwuma yiye kakraa bi bɛkɔ bere a obi a ɔde di dwuma awie adeyɛ bi no ho nhwɛso:

Ɔdefoɔ no wie streak adeyɛ a ɛfata. Client no de event bi kɔ server no so sɛ metadata. Eyi betumi ayɛ “Ɔdefo X wiee adeyɛ Y wɔ bere nsɔano Z so”. Server no nya saa adeyɛ yi na ɛyɛ mfitiaseɛ validation. So eyi yɛ obi a ɔde di dwuma ankasa? So wɔagye atom sɛ ɛyɛ nokware? So adeyɛ no yɛ nea ɛfata? So bere nhyehyɛe no hyia? Sɛ eyi twam a, server no gye user’s streak data fi database no mu. Afei, dane adeyɛ bere nsɔano a woanya no kɔ ɔdefo no mpɔtam hɔ bere nhyehyɛe mu. Ma server no mfa kalenda nna (ɛnyɛ bere nsɔano) ntoto nea ɔde di dwuma no mpɔtam hɔ bere nhyehyɛe mu: Sɛ ɛyɛ da koro no ara a, ɛnde adeyɛ no yɛ nea ɛho nhia na nsakrae biara mma wɔnsensaneeɛ soronko. Sɛ ɛyɛ da a edi hɔ a, ɛnde streak no trɛw na ɛkɔ soro 1. Sɛ ɛda ntam bɛboro da koro a, streak no mu paapae. Nanso, ɛha na wubetumi de adom mfiridwuma adi dwuma. Sɛ adom adwinnade no ayera a, ɛnde san hyehyɛ streak no kɔ 1.

Sɛ wopaw sɛ wobɛkora abakɔsɛm mu data so ama milestone nkɔso a, ɛnde update variables te sɛ “longest streak” anaa “total active days”. Afei server no yɛ database no foforo na obua client no. Biribi te sɛ eyi:

{ "mprempren_streak": 48, 2019. "afiri_a_ɛware sen biara": 50, . "nna_a_wɔde_ayɛ adwuma nyinaa": 120, . "streak_extended": nokware, . } .

Sɛ́ adeyɛ foforo no, ɛsɛ sɛ server no san bɔ mmɔden anaasɛ ɛpow na ɔbɔ client no amanneɛ bere a biribiara adi nkogu wɔ adeyɛ no mu. Ɔdan Ma Wobɛtumi Agyina Ano Sɛnea yɛadi kan aka no, users a wɔhwere streak esiane bugs anaa server downtime nti yɛ UX a ɛyɛ hu, na users nhwɛ kwan sɛ wɔbɛfa asehwe no ama no. Enti, ɛsɛ sɛ wo streak nhyehyɛe no nya ahobammɔ ma saa tebea horow no. Sɛ server no ayɛ adwuma esiane nsiesie nti (anaasɛ nea enti a ɛte saa biara), susuw ho sɛ wobɛma kwan ma bere tiaa mu mfɛnsere a ɛyɛ nnɔnhwerew foforo a ɛbɛma wɔasiesie no sɛnea ɛbɛyɛ a wobetumi de nneyɛe akɔ akyiri na wɔada so ara akan. Wubetumi nso apaw sɛ wobɛbɔ wɔn a wɔde di dwuma no amanneɛ, titiriw sɛ tebea no tumi nya streak a ɛkɔ so so nkɛntɛnso a. Hyɛ no nsow: Fa admin backdoor si hɔ a wobetumi de nsa asan de data aba. Mfomso yɛ nea wontumi nkwati, na wɔn a wɔde di dwuma no binom bɛfrɛ wo app no ​​anaasɛ wɔbɛtwe wɔn nsa aboa sɛ wɔn streak no bubui esiane biribi a wɔantumi nni so nti. Ɛsɛ sɛ wutumi de nsa san de streaks no ba sɛ, nhwehwɛmu akyi no, nea ɔde di dwuma no teɛ a. Awiei Ade biako da so ara da adi pefee: Streaks wɔ tumi ankasa esiane sɛnea nnipa adwene ho nimdeɛ yɛ adwuma wɔ ɔfã titiriw bi so nti. Streak system a eye sen biara wɔ hɔ ne nea wɔn a wɔde di dwuma no nsusuw ho wɔ adwenem. Abɛyɛ adeyɛ a efi mu ba ntɛm ara anaa nkɔso a wotumi hu, te sɛ sẽ a wɔhohoro, a ɛbɛyɛ su a wɔyɛ no daa. Na I’m just gonna say it: Ɛnyɛ nneɛma nyinaa na ehia streak system. So ɛsɛ sɛ wohyɛ nea ɛkɔ so daa no ankasa esiane sɛ wopɛ sɛ wode di dwuma a wɔyɛ nnam da biara da nti? Ebia mmuae no bɛyɛ “dabi” yiye.

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