Rwy'n siŵr eich bod wedi clywed am rediadau neu wedi defnyddio ap gydag un. Ond tybed erioed pam fod rhediadau mor boblogaidd a phwerus? Wel, mae yna un amlwg bod apiau eisiau cymaint o'ch sylw â phosib, ond ar wahân i hynny, a oeddech chi'n gwybod pan gyflwynodd yr ap dysgu poblogaidd Duolingo widgets iOS i ddangos rhediadau, bod ymrwymiad defnyddwyr wedi cynyddu 60%. Mae chwe deg y cant yn newid enfawr mewn ymddygiad ac mae'n dangos sut y gellir defnyddio patrymau “llinol” i gynyddu ymgysylltiad a sbarduno defnydd. Ar ei fwyaf sylfaenol, rhediad yw nifer y diwrnodau olynol y mae defnyddiwr yn cwblhau gweithgaredd penodol. Mae rhai pobl hefyd yn ei ddiffinio fel arfer “gamified” neu fetrig sydd wedi'i gynllunio i annog defnydd cyson. Ond mae rhediadau'n mynd y tu hwnt i fod yn fetrig neu'n gofnod mewn ap; mae'n fwy seicolegol na hynny. Mae'n hawdd dylanwadu ar reddfau dynol gyda'r ffactorau cywir. Edrychwch ar y tri ffactor hyn: cynnydd, balchder, ac ofn colli allan (a elwir yn gyffredin yn FOMO). Beth sydd gan y rhain i gyd yn gyffredin? Ymdrech. Po fwyaf o ymdrech a roddwch i mewn i rywbeth, y mwyaf y mae'n siapio'ch hunaniaeth, a dyna sut mae rhediadau'n croesi i fyd seicoleg ymddygiad. Nawr, gyda phŵer mawr daw cyfrifoldeb mawr, ac oherwydd hynny, mae ochr dywyll i rediadau. Yn yr erthygl hon, byddwn yn mynd i mewn i'r seicoleg, UX, a'r egwyddorion dylunio y tu ôl i adeiladu system rhediad effeithiol. Byddwn yn edrych ar (1) pam mae ein hymennydd bron yn ymateb yn reddfol i weithgaredd rhediadau, (2) sut i ddylunio rhediadau mewn ffyrdd sy'n wirioneddol helpu defnyddwyr, a (3) y gwaith technegol sy'n gysylltiedig ag adeiladu patrwm rhediadau. Y Seicoleg y tu ôl i Llifoedd Er mwyn dylunio ac adeiladu system rhediad effeithiol, mae angen i ni ddeall sut mae'n cyd-fynd â sut mae ein hymennydd wedi'i wifro. Fel, beth sy'n ei wneud mor effeithiol i'r graddau ein bod yn teimlo cymaint o ymroddiad dwys i amddiffyn ein rhediadau? Mae tair egwyddor seicoleg ddiddorol, sydd wedi'u dogfennu'n dda, sy'n cefnogi'r hyn sy'n gwneud rhediadau mor bwerus a chaethiwus. Gwrthdroad Colled Mae'n debyg mai dyma'r grym cryfaf y tu ôl i rediadau. Rwy'n dweud hyn oherwydd y rhan fwyaf o weithiau, bron na allwch osgoi hyn mewn bywyd. Meddyliwch amdano fel hyn: Os yw ffrind yn rhoi $100 i chi, byddech chi'n hapus. Ond pe baech chi'n colli $100 o'ch waled, byddai hynny'n brifo llawer mwy. Nid yw pwysau emosiynol y sefyllfaoedd hynny yn gyfartal. Mae colled yn brifo llawer mwy nag y mae ennill yn teimlo'n dda. Gadewch i ni fynd ag ef ymhellach a dweud fy mod yn rhoi $100 ichi a gofyn ichi chwarae gambl. Mae siawns o 50% y byddwch chi'n ennill $100 arall a siawns o 50% y byddwch chi'n colli'r $100 gwreiddiol. A fyddech chi'n ei gymryd? Fyddwn i ddim. Ni fyddai'r rhan fwyaf o bobl. Gwrthwynebu colled yw hynny. Os ydych chi'n meddwl amdano, mae'n rhesymegol, mae'n ddealladwy, mae'n ddynol. Y cysyniad y tu ôl i wrthwynebu colled yw ein bod yn teimlo'r boen o golli rhywbeth ddwywaith cymaint â'r pleser o ennill rhywbeth o werth cyfartal. Mewn termau seicolegol, mae colled yn aros yn fwy nag enillion. Mae'n debyg eich bod yn gweld sut mae hyn yn ymwneud â rhediadau. Er mwyn adeiladu rhediad amlwg, mae angen ymdrech; wrth i rediad dyfu, mae'r cymhelliad y tu ôl iddo yn dechrau pylu; neu yn fwy cywir, mae'n dechrau dod yn eilradd. Dyma enghraifft: Dywedwch fod gan eich ffrind rediad tri diwrnod yn cau eu “Move Rings” ar eu Apple Watch. Nid oes ganddynt bron ddim i'w golli y tu hwnt i fod eisiau cyflawni eu nod a bod yn gyson. Ar yr un pryd, mae gennych rediad trawiadol o 219 diwrnod yn mynd. Mae'n debygol eich bod yn cael eich dal gan yr ofn o'i golli. Mae'n debyg nad ydych chi'n meddwl am y cyflawniad ar hyn o bryd; mae'n ymwneud yn fwy â diogelu eich ymdrech fuddsoddi, ac mae hynny'n amharod i golli. Mae Duolingo yn esbonio sut mae amharodrwydd colled yn cyfrannu at amharodrwydd defnyddiwr i dorri rhediad hir, hyd yn oed ar eu diwrnodau mwyaf diog. Mewn ffordd, gall rhediad droi yn arferiad pan fydd gwrthwynebiad colled yn setlo i mewn. Y Model Ymddygiad Fogg (B = MAP) Nawr ein bod yn deall yr ofn o golli'r ymdrech a fuddsoddwyd mewn rhediadau hirach, cwestiwn arall yw: Beth sy'n gwneud i ni wneud y peth yn y lle cyntaf, ddydd ar ôl dydd, hyd yn oed cyn i'r rhediad fynd yn fawr? Dyna hanfod Model Ymddygiad Fogg. Mae'n gymharol syml. Mae ymddygiad (B) ond yn digwydd pan fydd tri ffactor - Cymhelliant (M), Gallu (A), ac Anogwr (P) - yn cyd-fynd ar yr un pryd. Felly, mae'r hafaliad B=MAP. Os oes unrhyw un o'r ffactorau hyn, hyd yn oed un, ar goll ar yr adeg honno, ni fydd yr ymddygiad yn digwydd. Felly, er mwyn i system rhediad fod yn effeithlon ac yn gylchol, rhaid i'r tri ffactor fod yn bresennol: Cymhelliant Mae hyn yn fregus ac nid yw'n rhywbeth sy'n gyson bresennol. Mae yna ddyddiau pan fyddwch chicael eich pwmpio i ddysgu Sbaeneg, a dyddiau nad ydych chi hyd yn oed yn teimlo iota o rym ewyllys i ddysgu'r iaith. Mae cymhelliant ynddo'i hun i adeiladu arferiad yn annibynadwy ac yn frwydr sy'n colli o'r diwrnod cyntaf. Gallu Er mwyn gwneud iawn am gyfyngiadau cymhelliant, mae gallu yn hollbwysig. Yn y cyd-destun hwn, mae gallu yn golygu rhwyddineb gweithredu, h.y., mae’r ymdrech mor hawdd fel ei bod yn afrealistig dweud nad yw’n bosibl. Mae'r rhan fwyaf o apiau'n defnyddio hyn yn fwriadol. Mae Apple Fitness yn gofyn i chi sefyll am funud mewn awr i ennill tic tuag at eich nod Stand. Dim ond un wers orffenedig sydd ei hangen ar Duolingo. Nid yw'r tasgau hyn yn gofyn am lawer o ymdrech. Mae'r rhwystr mor isel, hyd yn oed ar eich dyddiau gwaethaf, gallwch chi ei wneud. Ond ymdrech gyfunol rhediad parhaus yw lle mae'r syniad o golli'r rhediad hwnnw'n cychwyn. AnogwrDyma beth sy'n cwblhau'r hafaliad. Mae bodau dynol yn naturiol anghofus, felly ie, gall gallu ein cael ni 90% yno. Ond mae anogwr yn ein hatgoffa i weithredu. Mae rhediadau'n barhaus yn ôl eu dyluniad, felly mae angen atgoffa defnyddwyr yn gyson i weithredu. I weld pa mor bwerus y gall anogwr fod, gwnaeth Duolingo brawf A/B i weld a oedd ychydig o fathodyn coch ar eicon yr ap yn cynyddu defnydd cyson. Cynhyrchodd gynnydd o 6% yn nifer y defnyddwyr gweithredol dyddiol. Dim ond bathodyn coch. Cyfyngiadau Model Wedi dweud hyn oll, mae yna gyfyngiad ar fodel Fogg lle mae beirniaid ac ymchwil fodern wedi sylwi bod cynllun sy'n dibynnu'n ormodol ar ysgogiadau, fel hysbysiadau ymosodol, mewn perygl o greu blinder meddwl. Gallai hysbysiadau cyson a goramser achosi defnyddwyr i gorddi. Felly, gwyliwch allan am hynny. Yr Effaith Zeigarnik Sut ydych chi'n teimlo pan fyddwch chi'n gadael tasg prosiect wedi'i hanner ei chwblhau? Mae hynny'n cythruddo llawer o bobl oherwydd bod tasgau anorffenedig yn meddiannu mwy o ofod meddwl na'r pethau rydyn ni'n eu cwblhau. Pan fydd rhywbeth wedi'i wneud ac wedi mynd, rydyn ni'n tueddu i'w anghofio. Pan fydd rhywbeth yn cael ei adael heb ei wneud, mae'n tueddu i bwyso ar ein meddyliau. Dyma’n union pam mae cynhyrchion digidol yn defnyddio dangosyddion cynnydd artiffisial, fel bar cwblhau proffil Upwork, i roi gwybod i ddefnyddiwr mai dim ond “60% wedi’i gwblhau” yw eu proffil. Mae'n annog y defnyddiwr i orffen yr hyn a ddechreuwyd ganddo.
Edrychwn ar enghraifft arall. Mae gennych bum tasg mewn ap rhestr i'w wneud, ac ar ddiwedd y dydd, dim ond pedwar ohonyn nhw y byddwch chi'n gwirio eu bod wedi'u cwblhau. Bydd llawer ohonom yn teimlo'n anghymwys oherwydd yr un dasg anorffenedig honno. Dyna, yn y fan honno, yw effaith Zeigarnik. Dangoswyd yr effaith Zeigarnik gan y seicolegydd Bluma Zeigarnik, a ddisgrifiodd ein bod yn tueddu i gadw tasgau anghyflawn yn weithredol yn ein cof yn hirach na thasgau a gwblhawyd. Mae patrwm rhediad yn manteisio'n naturiol ar hyn mewn dyluniad UX. Gadewch i ni ddweud eich bod ar ddiwrnod 63 o rediad dysgu. Ar y pwynt hwnnw, rydych chi mewn patrwm parhaus o fusnes anorffenedig. Anaml y byddai eich ymennydd yn anghofio amdano gan ei fod yn eistedd yng nghefn eich meddwl. Ar y pwynt hwn, eich ymennydd yw'r un sy'n anfon hysbysiadau atoch. Pan fyddwch chi'n rhoi'r grymoedd seicolegol hyn at ei gilydd, rydych chi'n dechrau deall yn iawn pam nad nodwedd app reolaidd yn unig yw rhediadau; maent yn gallu ail-lunio ymddygiad dynol. Ond rhywle ar hyd y llinell - ni allaf ddweud yn union pryd, gan ei fod yn wahanol i bawb - mae pethau'n cyrraedd pwynt lle mae rhediad yn symud o “hwyl” i rywbeth rydych chi'n teimlo na allwch fforddio ei golli. Nid ydych chi eisiau 58 diwrnod o ymdrech i fynd yn wastraff, ydych chi? Dyna sy'n gwneud system rhediad yn effeithiol. Os caiff ei wneud yn iawn, mae rhediadau'n helpu defnyddwyr i feithrin arferion syfrdanol sy'n cyflawni nod. Gallai fod yn ddarllen bob dydd neu'n taro'r gampfa yn gyson. Mae'r gweithredoedd ailadroddus hyn (weithiau'n fach) yn gwaethygu dros amser ac yn dod yn amlwg yn ein bywydau bob dydd. Ond mae dwy ochr i bob darn arian. Y Llinell denau Rhwng Arfer A Gorfodaeth Os ydych chi wedi bod yn dilyn ymlaen, gallwch chi ddweud eisoes bod ochr dywyll i systemau rhediad. Mae ffurfio arferion yn ymwneud â chysondeb gyda nod ailadroddus. Gorfodaeth, fodd bynnag, yw cysondeb gweithio ar nod nad oes ei angen mwyach ond sy'n cael ei ddal allan o ofn neu bwysau. Mae'n llinell razor-denau. Rydych chi'n brwsio'ch dannedd bob bore heb feddwl; mae'n awtomatig ac yn reddfol, gyda nod clir o gael anadl dda. Dyna rediad sy'n ffurfio arfer da. Mae system rhediad moesegol yn rhoi lle i ddefnyddwyr anadlu. Os, am ryw reswm, nad ydych chi'n brwsio yn y bore, gallwch chi frwsio am hanner dydd. Caniateir amherffeithrwydd heb ofni colli ymdrech hir. Mae gorfodaeth yn cymryd y llwybr arall, lle mae rhediad yn eich gwneud chi'n bryderus, rydych chi'n teimlo'n euog neu hyd yn oed wedi blino'n lân, ac weithiau, mae'n teimlo fel nad ydych chi wedi cyflawni unrhyw beth, er gwaethaf eich hollgwaith. Rydych chi'n gweithredu nid oherwydd eich bod chi eisiau gwneud hynny, ond oherwydd eich bod wedi'ch dychryn yn isymwybodol o weld eich cynnydd yn cael ei ailosod i sero. Disgrifiodd rhywun hyn yn berffaith hyd yn oed, "Roeddwn i'n teimlo fy mod yn twyllo, ond yn syml, nid oedd ots gen i. Nid wyf yn ddim byd heb fy rhediad". Mae hyn yn dangos y rhediadau gafael eithafol y gall unigolyn ei gael. I'r graddau y mae defnyddwyr yn dechrau clymu eu hunanwerth â metrig mympwyol yn hytrach na'r nod neu'r rheswm gwreiddiol y gwnaethant ddechrau'r rhediad yn y lle cyntaf. Mae'r rhediad yn dod yn pwy ydyn nhw, nid dim ond yr hyn maen nhw'n ei wneud. Dylai system rhediadau moesegol sydd wedi'i dylunio'n dda deimlo fel anogaeth i'r defnyddiwr, nid pwysau neu rwymedigaeth. Mae hyn yn ymwneud â chydbwysedd cymhelliant cynhenid ac anghynhenid. Efallai y bydd cymhelliant anghynhenid (gwobrau allanol, osgoi cosb) yn rhoi cychwyn ar ddefnyddwyr, ond mae cymhelliant cynhenid (gwneud y dasg ar gyfer nod personol fel dysgu Sbaeneg oherwydd eich bod chi wir eisiau cyfathrebu ag anwylyd) yn gryfach ar gyfer ymgysylltiad hirdymor. Dylai system dda wyro tuag at gymhelliant cynhenid gyda defnydd gofalus o elfennau anghynhenid, h.y., atgoffa defnyddwyr pa mor bell y maent wedi dod, nid eu bygwth â’r hyn y gallent ei golli. Unwaith eto, mae'n llinell denau. Prawf syml wrth ddylunio system rhediad yw cymryd peth amser a meddwl a yw'ch cynhyrchion yn gwneud arian trwy werthu atebion i bryder a grëwyd gan eich cynnyrch. Os ydych, mae siawns uchel eich bod yn ecsbloetio defnyddwyr. Felly daw'r cwestiwn nesaf, Os byddaf yn dewis defnyddio rhediad, sut ydw i'n ei ddylunio mewn ffordd sy'n wirioneddol helpu defnyddwyr i gyflawni eu nodau? Yr UX o Ddylunio System Streak Da Rwy'n credu mai dyma lle mae'r rhan fwyaf o brosiectau naill ai'n hoelio system rhediad effeithiol neu'n ei gwneud yn llanast llwyr. Gadewch i ni fynd trwy rai egwyddorion UX o ddyluniad rhediad da. Cadwch Ef yn Ddiymdrech Mae'n debyg eich bod wedi clywed hyn o'r blaen, efallai o lyfrau fel Atomic Habits, ond mae'n werth nodi mai un o'r ffyrdd hawsaf y gellir ffurfio arferion yw trwy wneud y weithred yn fach ac yn hawdd. Mae hyn yn debyg i'r ffactor gallu a drafodwyd gennym o'r Model Ymddygiad Fogg. Dylai rheol gyntaf unrhyw ddyluniad rhediad fod yn gwneud y camau gofynnol mor fach â phosibl yn ddynol tra'n dal i gyflawni cynnydd. Os yw gweithred ddyddiol yn gofyn am bŵer ewyllys i'w chwblhau, ni fydd y weithred honno'n ei gwneud yn fwy na phum diwrnod. Pam? Ni allwch gael eich cymell bum diwrnod yn olynol. Achos dan sylw: Os ydych chi'n rhedeg ap myfyrdod, nid oes angen i chi wneud i ddefnyddwyr fynd trwy sesiwn 20 munud dim ond i gynnal y rhediad. Rhowch gynnig ar un funud, efallai hyd yn oed rhywbeth mor fach â thri deg eiliad, yn lle hynny. Fel y dywed y dywediad, mae diferion bach o ddŵr yn gwneud y cefnfor nerthol). Mae ymdrechion bach yn crynhoi i gyflawniadau mawr gydag amser. Dyna ddylai fod y nod: cael gwared ar ffrithiant, yn enwedig pan allai'r foment fod yn anodd. Pan fydd defnyddwyr dan straen neu wedi'u gorlethu, rhowch wybod iddynt fod dangos i fyny, hyd yn oed am ychydig eiliadau, yn cyfrif fel ymdrech. Darparu Adborth Gweledol Clir Mae bodau dynol yn weledol wrth natur. Gan amlaf, mae angen inni weld rhywbeth i'w gredu; mae angen delweddu pethau er mwyn eu deall yn well a rhoi pethau mewn persbectif. Dyma pam mae patrymau rhediad yn aml yn defnyddio elfennau gweledol, fel graffiau, marciau gwirio, modrwyau cynnydd, a gridiau, i ddelweddu ymdrech. Edrychwch ar graff cyfraniad GitHub. Mae'n ddelweddiad syml o gysondeb. Ac eto mae datblygwyr yn ei anadlu i mewn fel ocsigen.
Yr allwedd yw peidio â gwneud i system rhediad deimlo'n haniaethol. Dylai deimlo'n real ac yn ennill. Er enghraifft, mae cylchoedd gweithgaredd Duolingo ac Apple's Fitness yn defnyddio dyluniadau animeiddio glân ar ôl cwblhau rhediad, ac mae GitHub yn dangos data hanesyddol o gysondeb defnyddiwr dros amser.
Defnyddiwch Amseru Da Soniais yn gynharach fod bodau dynol yn gyffredinol yn anghofus eu natur, ac y gall ysgogiadau helpu i gynnal momentwm ymlaen. Heb anogwyr, mae'r rhan fwyaf o ddefnyddwyr newydd yn anghofio dal ati. Gall bywyd fynd yn brysur, mae cymhelliant yn diflannu, ac mae pethau'n digwydd. Mae hyd yn oed defnyddwyr amser hir yn elwa o anogwyr, er y rhan fwyaf o weithiau, maent eisoes wedi'u cloi y tu mewn i'r ddolen arfer. Serch hynny, gall hyd yn oed y person mwyaf ymroddedig golli diwrnod yn ddamweiniol. Yn bendant mae angen nodiadau atgoffa ar eich system rhediad. Y nodiadau atgoffa prydlon a ddefnyddir fwyaf yw hysbysiadau gwthio. Mae amseru yn bwysig iawn wrth weithio gyda hysbysiadau gwthio. Mae'r math o ap yn bwysig hefyd. Mae anfon hysbysiad am 9 a.m. yn dweud “Dydych chi ddim wedi ymarfer heddiw” yn rhyfedd ar gyfer ap dysgu oherwydd mae gan lawer bethau i'w gwneud y diwrnod cyn iddyn nhw hyd yn oed feddwl am gwblhau gwers. Fodd bynnag, os ydym yn siarad am ap ffitrwyddyn rhesymol ac efallai hyd yn oed disgwyl cael ei atgoffa yn gynharach yn y dydd. Mae hysbysiadau gwthio yn amrywio'n sylweddol yn ôl categori app. Mae apiau ffitrwydd, er enghraifft, yn gweld ymgysylltiad uwch â hysbysiadau yn gynnar yn y bore (7-8 AM), tra gallai apiau cynhyrchiant berfformio’n well yn gynnar yn y dydd. Yr allwedd yw i A/B brofi amseriad eich ap yn seiliedig ar ymddygiadau eich defnyddwyr yn hytrach na thybio bod pethau'n addas i bawb. Efallai na fydd yr hyn sy'n gweithio i ap myfyrdod yn gweithio i draciwr codio. Dulliau prydlon eraill yw dotiau coch ar eicon yr app a hyd yn oed teclynnau app. Mae astudiaethau'n amrywio, ond mae'r person cyffredin yn datgloi ei ddyfais rhwng 50-150 gwaith y dydd (PDF). Os yw defnyddiwr yn gweld dot coch ar ap neu declyn sy'n nodi rhediad cyfredol bob tro y bydd yn datgloi ei ffôn, mae'n cynyddu ymrwymiad. Peidiwch â gorwneud pethau; dylai'r anogwr fod yn atgof, nid fel swn. Dathlu Cerrig Milltir Dylai system rhediad geisio dathlu cerrig milltir i ailgynnau emosiynau, yn enwedig i ddefnyddwyr yn ddwfn i mewn i rediad. Pan fydd defnyddiwr yn taro Diwrnod 7, Diwrnod 30, Diwrnod 50, Diwrnod 100, Diwrnod 365, dylech wneud llawer ohono. Cydnabod cyflawniadau - yn enwedig ar gyfer defnyddwyr amser hir.
Fel y gwelsom yn gynharach, fe wnaeth Duolingo gyfrifo hyn a gweithredu graffig animeiddiedig sy'n dathlu cerrig milltir gyda chonffeti. Mae rhai platfformau hyd yn oed yn rhoi gwobrau bonws sylweddol sy'n dilysu ymdrechion defnyddwyr. A gall hyn fod yn fuddiol i apiau, fel bod defnyddwyr yn tueddu i rannu eu cerrig milltir yn gyhoeddus ar gyfryngau cymdeithasol. Mantais arall yw'r disgwyliad a ddaw cyn cyrraedd cerrig milltir. Nid dim ond cadw’r rhediad yn fyw yn ddiddiwedd mohono; mae gan ddefnyddwyr rywbeth i edrych ymlaen ato. Defnyddiwch Grace Mecanweithiau Mae bywyd yn anrhagweladwy. Mae pobl yn tynnu sylw. Dylai unrhyw system rhediad da ddisgwyl amherffeithrwydd. Un o'r bygythiadau seicolegol mwyaf i system rhediad yw'r ailosodiad caled i sero ar ôl dim ond un diwrnod a gollwyd. Dylai system rhediad “foesegol” roi rhywfaint o slac i'r defnyddiwr. Gadewch i ni ddweud bod gennych chi rediad dysgu gwyddbwyll 90 diwrnod. Rydych chi wedi bod yn gyson ers tri mis da, ac un diwrnod, mae eich ffôn yn marw wrth deithio, ac yn union fel hynny, mae 90 yn dod yn 0—mae popeth, yr holl ymdrech honno, yn cael ei ddileu, ac mae cynnydd yn diflannu. Efallai bod y defnyddiwr wedi'i ddifrodi'n llwyr. Mae meddwl am ei ailadeiladu o'r dechrau mor ddigalon fel nad yw'r ymdrech yn werth chweil. Ar y gwaethaf, efallai y bydd defnyddiwr yn cefnu ar yr ap ar ôl teimlo fel methiant. Ystyriwch ychwanegu mecanwaith “gras” at eich system rhediad:
Streak FreezeCaniatáu i ddefnyddwyr golli diwrnod yn fwriadol heb gosbau. Amser Ychwanegol Caniatewch ychydig oriau (2-3) ar ôl y dyddiad cau arferol cyn ysgogi ailosodiad. Modelau PydreddYn lle ailosodiad caled, mae'r rhediad yn gostwng ychydig, e.e., mae 10 diwrnod yn cael ei dynnu o'r rhediad fesul diwrnod a gollwyd.
Defnyddiwch Naws Calonogol Gadewch i ni gymharu dwy neges a ddangosir i ddefnyddwyr pan fydd rhediad yn torri:
“Fe golloch chi eich rhediad o 42 diwrnod. Dechreuwch drosodd.” "Fe wnaethoch chi ymddangos am 42 diwrnod yn syth. Dyna gynnydd anhygoel! Eisiau rhoi cynnig arall arni?"
Mae'r ddau yn cyfleu'r un wybodaeth, ond mae'r effaith emosiynol yn wahanol. Mae'n debyg y byddai'r neges gyntaf yn gwneud i ddefnyddiwr deimlo'n ddigalon ac yn achosi iddynt roi'r gorau iddi. Mae'r ail neges yn dathlu'r hyn sydd eisoes wedi'i gyflawni ac yn annog y defnyddiwr yn dyner i roi cynnig arall arni. Heriau Dylunio Systemau Streak Cyn i ni fynd i mewn i fanylion technegol adeiladu system rhediad, dylech fod yn ymwybodol o'r heriau y gallech eu hwynebu. Gall pethau fynd yn gymhleth, fel y gallech ddisgwyl. Trin Parthau Amser Mae yna reswm pam mae trin amser a dyddiad ymhlith y cysyniadau anoddaf y mae datblygwyr yn delio â nhw. Mae yna fformatio, rhyngwladoli, a llawer mwy i'w hystyried. Gadewch imi ofyn hyn i chi: Beth sy'n cyfrif fel diwrnod? Gwyddom fod y byd yn rhedeg ar wahanol barthau amser, ac fel pe na bai hynny'n ddigon, mae gan rai rhanbarthau Amser Arbed Golau Dydd (DST) sy'n digwydd ddwywaith y flwyddyn. Ble ydych chi hyd yn oed yn dechrau trin yr achosion ymyl hyn? Beth sy’n cyfrif fel “dechrau” yfory? Mae rhai datblygwyr yn ceisio osgoi hyn trwy ddefnyddio un gylchfa amser ganolog, fel UTC. I rai defnyddwyr, byddai hyn yn rhoi canlyniadau cywir, ond i rai, gallai fod i ffwrdd o awr, dwy awr, neu fwy. Mae'r anghysondeb hwn yn difetha profiad y defnyddiwr. Mae defnyddwyr yn poeni llai am sut rydych chi'n trin yr amser y tu ôl i'r llenni; y cyfan y maent yn ei ddisgwyl yw, os byddant yn perfformio rhediad am 11:40 p.m., yna dylai gofrestru ar yr union amser hwnnw, yn eu cyd-destun. Dylech ddiffinio “un diwrnod” yn seiliedig ar gylchfa amser leol y defnyddiwr, nid amser y gweinydd. Yn sicr, gallwch chi gymryd yr hawddllwybrau ac ailosod rhediadau yn fyd-eang i bob defnyddiwr am hanner nos UTC, ond rydych chi'n creu annhegwch yn fawr iawn. Mae gan rywun yng Nghaliffornia bob amser wyth awr ychwanegol i gwblhau eu tasg na rhywun sy'n byw yn Llundain. Mae hynny'n ddiffyg dylunio anghyfiawn sy'n cosbi rhai defnyddwyr oherwydd eu lleoliad. A beth os yw'r person hwnnw yn Llundain ond yn ymweld, yn cwblhau tasg, yna'n dychwelyd i gylchfa amser arall? Un ateb effeithiol i'r rhain i gyd yw gofyn i ddefnyddwyr osod eu cylchfa amser yn benodol wrth ymuno (ar ôl y dilysu cyntaf yn ddelfrydol). Mae’n syniad da cynnwys nodyn cynnil mai dim ond er mwyn i’r ap olrhain cynnydd yn gywir y defnyddir darparu gwybodaeth parth amser, yn hytrach na chael ei ddefnyddio fel data y gellir ei adnabod yn bersonol. Ac mae'n syniad da gwneud hwnnw'n lleoliad cyfnewidiol. Rwy'n awgrymu bod unrhyw un yn osgoi trin rhesymeg parth amser yn uniongyrchol mewn app. Defnyddiwch lyfrgelloedd dyddiad profedig, fel Moment.js neu pytz (Python), ac ati. Nid oes angen ailddyfeisio'r olwyn ar gyfer rhywbeth mor gymhleth â hyn. Dyddiau Coll Ac Achosion Ymyl Her arall y dylech chi boeni amdani yw achosion ymyl na ellir eu rheoli fel defnyddwyr yn gor-gysgu, amser segur gweinydd, oedi, methiannau rhwydwaith, ac ati. Gall defnyddio'r syniad o fecanweithiau gras, fel y rhai a drafodwyd gennym yn gynharach, helpu. Gallai ffenestr ras o ddwy awr helpu'r defnyddiwr a'r datblygwr, yn yr ystyr nad yw defnyddwyr yn cael eu cosbi'n llym am amgylchiadau bywyd na ellir eu rheoli. I ddatblygwyr, mae ffenestri gras yn ddefnyddiol yn yr eiliadau afreolus hynny pan fydd y gweinydd yn mynd i lawr yng nghanol y nos. Yn anad dim, peidiwch byth ag ymddiried yn y cleient. Dilyswch bob amser ar ochr y gweinydd. Dylai'r gweinydd fod yn ffynhonnell unigol o wirionedd. Atal Twyllo Unwaith eto, ni allaf bwysleisio hyn ddigon: Gwnewch yn siŵr eich bod yn dilysu popeth ar ochr y gweinydd. Bodau dynol yw defnyddwyr, a gallai bodau dynol dwyllo os cânt gyfle. Mae'n anochel. Efallai y byddwch yn ceisio:
Gall storio'r holl gamau gweithredu gyda stampiau amser UTC. Gall y cleient anfon eu hamser lleol, ond gall y gweinydd drosi hynny ar unwaith i UTC a dilysu yn erbyn amser y gweinydd. Y ffordd honno, os yw stamp amser y cleient yn amheus o bell, gall y system ei wrthod fel gwall, a gall yr UI ymateb yn unol â hynny. Mewn geiriau eraill, cadwch gofnod o bob gweithred gyda metadata gan gynnwys gwybodaeth fel ID y defnyddiwr, y math o weithred a gyflawnwyd, a'r stamp amser a'r gylchfa amser. Mae hyn yn helpu gyda dilysu.
Adeiladu Peiriant System Streak Nid tiwtorial cod yw hwn, felly byddaf yn osgoi dympio criw o god arnoch chi. Byddaf yn cadw hyn yn ymarferol ac yn disgrifio sut mae pethau'n gyffredinol yn gweithredu injan system rhediad cyn belled â phensaernïaeth, llif a dibynadwyedd. Pensaernïaeth Graidd Fel y dywedais sawl gwaith, gwnewch y gweinydd yn ffynhonnell wirionedd sengl ar gyfer data rhediad. Gall y bensaernïaeth fynd rhywbeth fel hyn ar y gweinydd:
Storio data pob defnyddiwr mewn cronfa ddata. Storiwch y storfa rhediad presennol (diofyn fel 0) fel cyfanrif. Storiwch y dewis parth amser, h.y., llinyn Timezone IANA (naill ai'n ymhlyg o'r stamp amser lleol neu'n benodol trwy ofyn i'r defnyddiwr ddewis ei gylchfa amser). Er enghraifft, “America/New_York”. Triniwch yr holl resymeg i benderfynu a yw'r rhediad yn parhau neu'n torri, gyda gwiriad cylchfa amser sy'n berthnasol i gylchfa amser leol y defnyddiwr.
Yn y cyfamser, ar ochr y cleient:
Dangoswch y rhediad cyfredol, sydd fel arfer yn cael ei nôl o'r gweinydd. Anfonwch weithred a wnaed ar ffurf metadata i'r gweinydd i ddilysu a yw'r defnyddiwr wedi cwblhau gweithred rhediad cymhwysol mewn gwirionedd. Darparu adborth gweledol yn seiliedig ar ymatebion y gweinydd.
Felly, yn fyr, mae'r ymennydd ar y gweinydd, ac mae'r cleient at ddibenion arddangos a chyflwyno digwyddiadau. Mae hyn yn arbed llawer o fethiannau ac achosion ymyl i chi, yn ogystal â gwneud diweddariadau ac atgyweiriadau yn haws. Y Llif Rhesymegol Gadewch i ni efelychu llwybr o sut y byddai injan system rhediad lleiaf effeithlon yn mynd pan fydd defnyddiwr yn cwblhau gweithred:
Mae'r defnyddiwr yn cwblhau gweithred rhediad cymhwyso. Mae'r cleient yn anfon digwyddiad i'r gweinydd fel metadata. Gallai hyn fod yn “Defnyddiwr X wedi cwblhau cam Y ar stamp amser Z”. Mae'r gweinydd yn derbyn y digwyddiad hwn ac yn gwneud dilysiad sylfaenol. Ydy hwn yn ddefnyddiwr go iawn? Ydyn nhw wedi'u dilysu? A yw'r weithred yn ddilys? A yw'r gylchfa amser yn gyson? Os bydd hyn yn mynd heibio, mae'r gweinydd yn adfer data rhediad y defnyddiwr o'r gronfa ddata. Yna, troswch y stamp amser gweithredu a dderbyniwyd i barth amser lleol y defnyddiwr. Gadewch i'r gweinydd gymharu'r dyddiadau calendr (nid stampiau amser) yng nghylchfa amser leol y defnyddiwr: Os yw'r un diwrnod, yna mae'r weithred yn ddiangen ac nid oes unrhyw newid yn yrhediad. Os mai'r diwrnod wedyn yw hi, yna mae'r rhediad yn ymestyn ac yn cynyddu 1. Os oes bwlch o fwy nag un diwrnod, mae'r rhediad yn torri. Fodd bynnag, dyma lle y gallech gymhwyso mecaneg gras. Os yw'r mecanwaith gras yn cael ei fethu, yna ailosodwch y rhediad i 1.
Os dewiswch arbed data hanesyddol ar gyfer cyflawniadau carreg filltir, yna diweddarwch newidynnau fel “llinyn hiraf” neu “cyfanswm diwrnodau gweithredol”. Yna mae'r gweinydd yn diweddaru'r gronfa ddata ac yn ymateb i'r cleient. Rhywbeth fel hyn:
{ "streak_presennol": 48, "streak_hiraf": 50, "diwrnod_gweithredol_cyfanswm": 120, "streak_extended": gwir, }
Fel mesur pellach, dylai'r gweinydd naill ai ail geisio neu wrthod a hysbysu'r cleient pan fydd unrhyw beth yn methu yn ystod y broses. Adeiladu ar gyfer Cadernid Fel y soniwyd o'r blaen, mae defnyddwyr sy'n colli rhediad oherwydd bygiau neu amser segur gweinydd yn UX ofnadwy, ac nid yw defnyddwyr yn disgwyl cymryd y cwymp amdano. Felly, dylai fod gan eich system rhediad fesurau diogelu ar gyfer y senarios hynny. Os yw'r gweinydd i lawr ar gyfer gwaith cynnal a chadw (neu ba bynnag reswm), ystyriwch ganiatáu ffenestr dros dro o oriau ychwanegol i'w drwsio fel y gellir cyflwyno gweithredoedd yn hwyr a dal i gyfrif. Gallwch hefyd ddewis hysbysu defnyddwyr, yn enwedig os yw'r sefyllfa'n gallu effeithio ar rediad parhaus. Nodyn: Sefydlu drws cefn gweinyddwr lle gellir adfer data â llaw. Mae chwilod yn anochel, a byddai rhai defnyddwyr yn ffonio'ch app neu'n estyn allan i gefnogi bod eu rhediad wedi torri am reswm na allent ei reoli. Dylech allu adfer y rhediadau â llaw os yw'r defnyddiwr yn iawn ar ôl ymchwilio. Casgliad Mae un peth yn dal yn glir: mae rhediadau yn wirioneddol bwerus oherwydd sut mae seicoleg ddynol yn gweithio ar lefel sylfaenol. Y system rhediad orau allan yna yw'r un nad yw defnyddwyr yn meddwl amdani'n ymwybodol. Mae wedi dod yn drefn o ganlyniadau uniongyrchol neu gynnydd gweladwy, fel brwsio dannedd, sy'n dod yn arferiad rheolaidd. Ac rydw i'n mynd i'w ddweud: Nid oes angen system rhediad ar bob cynnyrch. A ddylech chi wir orfodi cysondeb dim ond oherwydd eich bod chi eisiau defnyddwyr gweithredol dyddiol? Efallai’n wir mai’r ateb yw “na”.