Jam i sigurt që keni dëgjuar për vija ose keni përdorur një aplikacion me një të tillë. Por e keni pyetur ndonjëherë veten pse brezat janë kaq të njohur dhe të fuqishëm? Epo, është e dukshme që aplikacionet duan sa më shumë vëmendjen tuaj, por përveç kësaj, a e dini se kur aplikacioni popullor mësimor Duolingo prezantoi miniaplikacionet iOS për të shfaqur vija, angazhimi i përdoruesit u rrit me 60%. Gjashtëdhjetë për qind është një ndryshim masiv në sjellje dhe tregon se si mund të përdoren modelet e "vijave" për të rritur angazhimin dhe për të nxitur përdorimin. Në bazë të tij, një brez është numri i ditëve të njëpasnjëshme që një përdorues përfundon një aktivitet specifik. Disa njerëz e përcaktojnë atë gjithashtu si një zakon "të gamifikuar" ose një metrikë të krijuar për të inkurajuar përdorimin e qëndrueshëm. Por vijat tejkalojnë të qenit një metrikë ose një rekord në një aplikacion; është më shumë psikologjike se kaq. Instinktet njerëzore janë të lehta për t'u ndikuar me faktorët e duhur. Shikoni këta tre faktorë: përparimi, krenaria dhe frika për të humbur (zakonisht i quajtur FOMO). Çfarë kanë të përbashkët të gjitha këto? Përpjekje. Sa më shumë përpjekje të bëni për diçka, aq më shumë ajo formëson identitetin tuaj, dhe kjo është mënyra se si vija kalon në botën e psikologjisë së sjelljes. Tani, me fuqi të madhe vjen një përgjegjësi e madhe, dhe për shkak të kësaj, ka një anë të errët të brezave. Në këtë artikull, ne do të kalojmë në psikologjinë, UX-në dhe parimet e dizajnit pas ndërtimit të një sistemi efektiv brezi. Ne do të shikojmë (1) pse truri ynë pothuajse instinktivisht i përgjigjet aktivitetit të brezit, (2) si të dizajnohen vijat në mënyra që ndihmojnë vërtet përdoruesit dhe (3) punën teknike të përfshirë në ndërtimin e një modeli brezi. Psikologjia pas vijave Për të hartuar dhe ndërtuar një sistem efektiv brezi, ne duhet të kuptojmë se si ai përputhet me mënyrën se si truri ynë është i lidhur. Për shembull, çfarë e bën atë kaq efektiv në masën që ndiejmë kaq shumë përkushtim intensiv për të mbrojtur brezat tanë? Ekzistojnë tre parime psikologjike interesante dhe të mirë-dokumentuara që mbështesin atë që i bën brezat kaq të fuqishëm dhe të varur. Aversioni i Humbjes Kjo është ndoshta forca më e fortë pas brezave. E them këtë sepse në shumicën e rasteve, pothuajse nuk mund ta shmangësh këtë në jetë. Mendoni në këtë mënyrë: Nëse një mik ju jep 100 dollarë, do të ishit të lumtur. Por nëse humbisni 100 dollarë nga portofoli juaj, kjo do të dëmtonte shumë më tepër. Pesha emocionale e atyre situatave nuk është e barabartë. Humbja dhemb shumë më tepër sesa fitimi ndihet mirë. Le ta çojmë më tej dhe të themi që unë të jap 100 dollarë dhe të kërkoj të luani një kumar. Ka një shans 50% që të fitoni 100 dollarë të tjerë dhe një shans 50% që të humbni 100 dollarët origjinalë. A do ta merrnit? Unë nuk do të. Shumica e njerëzve nuk do ta bënin. Kjo është neveri ndaj humbjes. Po ta mendosh, është logjike, e kuptueshme, është njerëzore. Koncepti pas neverisë ndaj humbjes është se ne ndjejmë dhimbjen e humbjes së diçkaje dy herë më shumë sesa kënaqësinë për të fituar diçka me vlerë të barabartë. Në aspektin psikologjik, humbja zgjat më shumë sesa fitimet. Ju ndoshta e shihni se si kjo lidhet me vijat. Për të ndërtuar një brez të dukshëm, kërkon përpjekje; ndërsa një brez rritet, motivimi pas tij fillon të zbehet; ose më saktë, fillon të bëhet dytësore. Ja një shembull: Thuaj se shoku juaj ka një seri tre-ditore duke mbyllur "Unazat lëvizëse" në Apple Watch. Ata nuk kanë pothuajse asgjë për të humbur përveç dëshirës për të arritur qëllimin e tyre dhe të jenë të qëndrueshëm. Në të njëjtën kohë, ju keni një seri mbresëlënëse prej 219 ditësh. Shanset janë që të jeni të bllokuar nga frika se mos e humbisni atë. Me shumë mundësi nuk po mendoni për arritjen në këtë pikë; ka të bëjë më shumë me mbrojtjen e përpjekjeve tuaja të investuara, dhe kjo është neveria ndaj humbjes. Duolingo shpjegon se si neveria ndaj humbjes kontribuon në hezitimin e një përdoruesi për të thyer një varg të gjatë, edhe në ditët e tyre më dembele. Në një farë mënyre, një brez mund të kthehet në një zakon kur vendoset neveria për humbjen. Modeli i sjelljes Fogg (B = MAP) Tani që e kuptojmë frikën e humbjes së përpjekjeve të investuara në vija më të gjata, një pyetje tjetër është: Çfarë na bën ta bëjmë këtë gjë në radhë të parë, ditë pas dite, edhe para se brezi të bëhet i madh? Kjo është ajo që ka të bëjë me Modeli i Sjelljes Fogg. Është relativisht e thjeshtë. Një sjellje (B) ndodh vetëm kur tre faktorë - Motivimi (M), Aftësia (A) dhe Prompt (P) - rreshtohen në të njëjtin moment. Kështu, ekuacioni B=MAP. Nëse ndonjë nga këta faktorë, qoftë edhe një, mungon në atë moment, sjellja nuk do të ndodhë. Pra, që një sistem brezi të jetë efikas dhe i përsëritur, duhet të jenë të pranishëm të tre faktorët: MotivimiKjo është e brishtë dhe jo diçka që është vazhdimisht e pranishme. Ka ditë kur jenipompohet për të mësuar spanjisht dhe ditët e sotme nuk ndjen as edhe një grimë vullneti për të mësuar gjuhën. Motivimi në vetvete për të ndërtuar një zakon është i pabesueshëm dhe një betejë e humbur që nga dita e parë. Aftësia për të kompensuar kufizimet e motivimit, aftësia është kritike. Në këtë kontekst, aftësia nënkupton lehtësinë e veprimit, d.m.th., përpjekja është aq e lehtë sa që është joreale të thuhet se nuk është e mundur. Shumica e aplikacioneve e përdorin këtë qëllimisht. Apple Fitness ka nevojë që ju të qëndroni në këmbë për një minutë në një orë për të fituar një pikë drejt qëllimit tuaj Stand. Duolingo ka nevojë vetëm për një mësim të përfunduar. Këto detyra nuk kërkojnë shumë përpjekje. Barriera është aq e ulët saqë edhe në ditët tuaja më të këqija, mund ta bëni. Por përpjekja e kombinuar e një serie të vazhdueshme është ajo ku fillon ideja për të humbur atë brez. PromptKjo është ajo që plotëson ekuacionin. Njerëzit harrojnë natyrshëm, kështu që po, aftësia mund të na çojë 90% atje. Por një nxitje na kujton të veprojmë. Vijat janë të qëndrueshme nga dizajni, kështu që përdoruesit duhet të kujtohen vazhdimisht të veprojnë. Për të parë se sa i fuqishëm mund të jetë një kërkesë, Duolingo bëri një test A/B për të parë nëse një distinktiv i vogël i kuq në ikonën e aplikacionit rriti përdorimin e qëndrueshëm. Ai prodhoi një rritje prej 6% në përdoruesit aktivë të përditshëm. Vetëm një simbol i kuq. Kufizimet e modelit E gjithë kjo duke u thënë, ka një kufizim për modelin Fogg, ku kritikët dhe kërkimet moderne kanë vënë re se një dizajn që mbështetet shumë në nxitjet, si njoftimet agresive, rrezikon të krijojë lodhje mendore. Njoftimet e vazhdueshme dhe puna jashtë orarit mund të bëjnë që përdoruesit të shpërthejnë. Pra, kini kujdes për këtë. Efekti Zeigarnik Si ndiheni kur e lini përgjysmë një detyrë të projektit? Kjo irriton shumë njerëz, sepse detyrat e papërfunduara zënë më shumë hapësirë ​​mendore sesa gjërat që përfundojmë. Kur diçka bëhet dhe zhduket, ne priremi ta harrojmë atë. Kur diçka lihet pa bërë, ajo tenton të rëndojë në mendjet tona. Kjo është pikërisht arsyeja pse produktet dixhitale përdorin tregues artificialë të përparimit, si shiriti i përfundimit të profilit të Upwork, për t'i bërë të ditur një përdoruesi se profili i tyre është vetëm "60% i plotë". Ai e shtyn përdoruesin të përfundojë atë që filloi.

Le të shohim një shembull tjetër. Ju keni pesë detyra në një aplikacion të listës së detyrave dhe në fund të ditës, ju kontrolloni vetëm katër prej tyre si të përfunduara. Shumë prej nesh do të ndihen të papërfunduar për shkak të asaj detyre të papërfunduar. Ky, pikërisht aty, është efekti Zeigarnik. Efekti Zeigarnik u demonstrua nga psikologia Bluma Zeigarnik, e cila përshkroi se ne priremi t'i mbajmë detyrat e paplota aktive në kujtesën tonë më gjatë se detyrat e përfunduara. Një model brezi e prek natyrshëm këtë në dizajnin UX. Le të themi se jeni në ditën e 63-të të një brezi mësimor. Në atë pikë, ju jeni në një model të vazhdueshëm biznesi të papërfunduar. Truri juaj rrallë do ta harronte atë pasi qëndron në fund të mendjes tuaj. Në këtë pikë, truri juaj bëhet ai që ju dërgon njoftime. Kur i bashkoni këto forca psikologjike, filloni të kuptoni vërtet pse vijat nuk janë vetëm një veçori e zakonshme e aplikacionit; ato janë të afta të riformësojnë sjelljen njerëzore. Por diku përgjatë linjës - nuk mund të them saktësisht se kur, pasi ndryshon për të gjithë - gjërat arrijnë në një pikë ku një brez kalon nga "argëtim" në diçka që ju mendoni se nuk mund ta përballoni ta humbni. Ju nuk dëshironi që 58 ditë përpjekjesh të shkojnë dëm, apo jo? Kjo është ajo që e bën një sistem brezi efektiv. Nëse bëhen siç duhet, vijat i ndihmojnë përdoruesit të krijojnë zakone mahnitëse që arrijnë një qëllim. Mund të jetë leximi i përditshëm ose të shkosh vazhdimisht në palestër. Këto veprime të përsëritura (ndonjëherë të vogla) ndërlidhen me kalimin e kohës dhe bëhen të dukshme në jetën tonë të përditshme. Por çdo monedhë ka dy anë. Linja e hollë midis zakonit dhe detyrimit Nëse e keni ndjekur, tashmë mund të tregoni se ka një anë të errët të sistemeve të brezit. Formimi i zakonit ka të bëjë me qëndrueshmërinë me një qëllim të përsëritur. Detyrimi, megjithatë, është qëndrueshmëria e punës për një qëllim që nuk është më i nevojshëm, por i mbajtur nga frika ose presioni. Është një vijë e hollë si brisk. Ju lani dhëmbët çdo mëngjes pa u menduar; është automatik dhe instinktiv, me një synim të qartë për të pasur frymë të mirë. Ky është një brez që formon një zakon të mirë. Një sistem brezi etik u jep përdoruesve hapësirë ​​për të marrë frymë. Nëse, për ndonjë arsye, nuk lani në mëngjes, mund të lani në mesditë. Papërsosmëria lejohet pa frikën e humbjes së një përpjekjeje të gjatë. Detyrimi merr rrugën e kundërt, ku një varg ju bën të ankthshëm, të ndiheni fajtor apo edhe të rraskapitur, dhe ndonjëherë, duket sikur nuk keni arritur asgjë, pavarësishtpuna. Ju veproni jo sepse dëshironi, por sepse jeni nënndërgjegjeshëm të tmerruar nga shikimi i përparimit tuaj të rivendosur në zero. Dikush madje e përshkroi këtë në mënyrë perfekte, "Ndjeva se po mashtroja, por thjesht nuk më interesonte. Unë nuk jam asgjë pa brezin tim". Kjo tregon vijat ekstreme të mbajtjes që mund të ketë tek një individ. Në masën që përdoruesit fillojnë ta lidhin vetëvlerësimin e tyre me një metrikë arbitrare dhe jo me qëllimin ose arsyen fillestare që ata filluan brezin në radhë të parë. Vargu bëhet ata që janë, jo vetëm ajo që bëjnë. Një sistem i mirë-projektuar i brezit etik duhet të ndihet si inkurajim për përdoruesit, jo presion apo detyrim. Kjo lidhet me ekuilibrin e motivimit të brendshëm dhe të jashtëm. Motivimi i jashtëm (shpërblimet e jashtme, shmangia e ndëshkimit) mund t'i bëjë përdoruesit të fillojnë, por motivimi i brendshëm (të bësh detyrën për një qëllim personal si të mësosh spanjisht sepse vërtet dëshiron të komunikosh me një të dashur) është më i fortë për angazhimin afatgjatë. Një sistem i mirë duhet të gravitojë drejt motivimit të brendshëm me përdorim të kujdesshëm të elementeve të jashtëm, d.m.th., t'i kujtojë përdoruesit se sa larg kanë arritur, jo t'i kërcënojë ata me atë që mund të humbasin. Përsëri, është një linjë e mirë. Një test i thjeshtë kur dizajnoni një sistem brezi është që në fakt të merrni pak kohë dhe të mendoni nëse produktet tuaja fitojnë para duke shitur zgjidhje për ankthin që krijoi produkti juaj. Nëse po, ka një shans të lartë që po shfrytëzoni përdoruesit. Pra, pyetja tjetër bëhet, nëse zgjedh të përdor brezin, si ta dizajnoj atë në një mënyrë që t'i ndihmojë vërtet përdoruesit të arrijnë qëllimet e tyre? UX e dizajnit të sistemit të brezit të mirë Unë besoj se kjo është ajo ku shumica e projekteve ose ngulmojnë një sistem efektiv brezi ose e prishin plotësisht atë. Le të kalojmë nëpër disa parime UX të një dizajni të mirë brezi. Mbajeni pa mundim Me siguri e keni dëgjuar këtë më parë, ndoshta nga libra si Zakonet Atomike, por vlen të përmendet se një nga mënyrat më të lehta për të formuar zakone është duke e bërë veprimin të vogël dhe të lehtë. Ky është i ngjashëm me faktorin e aftësisë që diskutuam nga Modeli i Sjelljes Fogg. Rregulli i parë i çdo modeli brezi duhet të jetë bërja e veprimit të kërkuar sa më të vogël që të jetë e mundur nga ana njerëzore, duke arritur ende përparim. Nëse një veprim i përditshëm kërkon vullnet për të përfunduar, ai veprim nuk do t'i kalojë pesë ditët. Pse? Nuk mund të motivohesh pesë ditë radhazi. Rasti kryesor: Nëse përdorni një aplikacion meditimi, nuk keni nevojë t'i bëni përdoruesit të kalojnë një seancë 20-minutëshe vetëm për të ruajtur brezin. Në vend të kësaj, provoni një minutë të vetme, ndoshta edhe diçka të vogël sa tridhjetë sekonda. Siç thotë shprehja, pika të vogla uji bëjnë oqeanin e fuqishëm). Përpjekjet e vogla shndërrohen në arritje të mëdha me kalimin e kohës. Ky duhet të jetë qëllimi: hiqni fërkimin, veçanërisht kur momenti mund të jetë i vështirë. Kur përdoruesit janë të stresuar ose të mbingarkuar, bëjini të ditur se thjesht shfaqja, qoftë edhe për disa sekonda, llogaritet si përpjekje. Siguroni reagime të qarta vizuale Njerëzit janë vizualë nga natyra. Shumë herë, ne kemi nevojë të shohim diçka për të besuar; ka këtë nevojë për të vizualizuar gjërat për t'i kuptuar më mirë dhe për t'i vënë gjërat në perspektivë. Kjo është arsyeja pse modelet e brezit shpesh përdorin elemente vizuale, si grafikët, shenjat e kontrollit, unazat e përparimit dhe rrjetat, për të vizualizuar përpjekjet. Shikoni grafikun e kontributit të GitHub. Është një vizualizim i thjeshtë i qëndrueshmërisë. Megjithatë, zhvilluesit e thithin atë si oksigjen.

Çelësi nuk është që një sistem brezi të ndihet abstrakt. Duhet të ndihet e vërtetë dhe e fituar. Për shembull, unazat e aktivitetit të fitnesit të Duolingo dhe Apple përdorin dizajne të pastra animacioni pas përfundimit të një brezi, dhe GitHub tregon të dhëna historike të qëndrueshmërisë së një përdoruesi me kalimin e kohës.

Përdorni kohë të mirë E përmenda më herët se njerëzit janë përgjithësisht harrestarë nga natyra dhe se nxitjet mund të ndihmojnë në ruajtjen e vrullit përpara. Pa kërkesa, shumica e përdoruesve të rinj harrojnë të vazhdojnë. Jeta mund të jetë e zënë, motivimi zhduket dhe gjërat ndodhin. Edhe përdoruesit për një kohë të gjatë përfitojnë nga kërkesat, edhe pse në shumicën e rasteve, ata tashmë janë të kyçur brenda qarkut të zakonit. Sidoqoftë, edhe personi më i përkushtuar mund të humbasë aksidentalisht një ditë. Sistemi juaj i brezit ka më shumë nevojë për kujtesë. Përkujtuesit e shpejtë më të përdorur janë njoftimet shtytëse. Koha ka vërtet rëndësi kur punoni me njoftimet shtytëse. Lloji i aplikacionit gjithashtu ka rëndësi. Dërgimi i një njoftimi në orën 9 të mëngjesit duke thënë "Nuk je praktikuar sot" është thjesht e çuditshme për një aplikacion mësimor, sepse shumë kanë gjëra për të bërë një ditë para se të mendojnë për përfundimin e një mësimi. Megjithatë, nëse po flasim për një aplikacion fitnesiështë e arsyeshme dhe ndoshta edhe pritet të kujtohet më herët gjatë ditës. Njoftimet Push ndryshojnë ndjeshëm sipas kategorisë së aplikacionit. Aplikacionet e fitnesit, për shembull, shohin një angazhim më të lartë me njoftimet e mëngjesit herët (7–8 të mëngjesit), ndërsa aplikacionet e produktivitetit mund të performojnë më mirë në mesditën e hershme. Çelësi është të testoni A/B kohën e aplikacionit tuaj bazuar në sjelljet e përdoruesve tuaj, në vend që të supozoni se gjërat janë të përshtatshme për të gjithë. Ajo që funksionon për një aplikacion meditimi mund të mos funksionojë për një gjurmues kodimi. Metoda të tjera të menjëhershme janë pikat e kuqe në ikonën e aplikacionit dhe madje edhe miniaplikacionet e aplikacionit. Studimet ndryshojnë, por një person mesatar e zhbllokon pajisjen e tij midis 50-150 herë në ditë (PDF). Nëse një përdorues sheh një pikë të kuqe në një aplikacion ose një miniaplikacion që tregon një brez aktual sa herë që zhbllokojnë telefonin e tij, kjo rrit përkushtimin. Vetëm mos e teproni; kërkesa duhet të shërbejë si një kujtesë, jo një bezdi. Festoni piketa Një sistem brezi duhet të përpiqet të festojë piketa për të rindezur emocionet, veçanërisht për përdoruesit e thellë në një brez. Kur një përdorues godet Ditën 7, Ditën 30, Ditën 50, Ditën 100, Ditën 365, ju duhet të bëni një punë të madhe prej saj. Njohni arritjet - veçanërisht për përdoruesit e vjetër.

Siç e pamë më herët, Duolingo e kuptoi këtë dhe zbatoi një grafikë të animuar që feston piketa me konfeti. Disa platforma madje japin shpërblime të konsiderueshme bonus që vërtetojnë përpjekjet e përdoruesve. Dhe kjo mund të jetë e dobishme për aplikacionet, në mënyrë që përdoruesit të priren të ndajnë momentet e tyre piketa publikisht në mediat sociale. Një përfitim tjetër është pritshmëria që vjen përpara arritjes së piketa. Nuk është vetëm mbajtja pafund e brezit; përdoruesit kanë diçka për të pritur. Përdorni Mekanizmat Grace Jeta është e paparashikueshme. Njerëzit shpërqendrohen. Çdo sistem i mirë brezi duhet të presë papërsosmëri. Një nga kërcënimet më të mëdha psikologjike për një sistem brezi është rivendosja e vështirë në zero pas vetëm një dite të humbur. Një sistem "etik" i brezit duhet t'i sigurojë përdoruesit një plogështi. Le të themi se keni një brez 90-ditor të mësimit të shahut. Keni qenë të qëndrueshëm për tre muaj të mirë, dhe një ditë, telefoni juaj vdes gjatë udhëtimit, dhe ashtu, 90 bëhet 0 - gjithçka, gjithë ajo përpjekje, fshihet dhe përparimi zhduket. Përdoruesi mund të jetë plotësisht i shkatërruar. Mendimi për ta rindërtuar atë nga e para është aq demoralizues sa përpjekja nuk ia vlen. Në rastin më të keq, një përdorues mund të braktisë aplikacionin pasi të ndjehet si një dështim. Merrni parasysh shtimin e një mekanizmi "hiri" në sistemin tuaj të brezit:

Streak FreezeLejo përdoruesit të humbasin qëllimisht një ditë pa penallti. Koha shtesë Lejo disa orë (2–3) të kalojnë afatin e zakonshëm përpara se të aktivizosh një rivendosje. Modelet e prishjes Në vend të një rivendosjeje të vështirë, brezi zvogëlohet me një sasi të vogël, p.sh., 10 ditë zbriten nga brezi për çdo ditë të humbur.

Përdorni një ton inkurajues Le të krahasojmë dy mesazhe që u shfaqen përdoruesve kur prishet një brez:

"Ke humbur serinë tuaj 42-ditore. Filloni nga e para." "Ju jeni paraqitur për 42 ditë rresht. Ky është një përparim i jashtëzakonshëm! Dëshiron ta provosh edhe një herë?"

Të dy përcjellin të njëjtin informacion, por ndikimi emocional është i ndryshëm. Mesazhi i parë ka shumë të ngjarë ta bëjë një përdorues të ndihet i demoralizuar dhe ta bëjë atë të heqë dorë. Mesazhi i dytë feston atë që tashmë është arritur dhe inkurajon butësisht përdoruesin të provojë përsëri. Sfidat e projektimit të sistemeve të brezit Përpara se të kalojmë në specifikat teknike të ndërtimit të një sistemi brezi, duhet të jeni të vetëdijshëm për sfidat me të cilat mund të përballeni. Gjërat mund të ndërlikohen, siç mund ta prisni. Trajtimi i zonave kohore Ekziston një arsye pse trajtimi i kohës dhe datës është ndër konceptet më të vështira me të cilat merren zhvilluesit. Ka formatim, ndërkombëtarizim dhe shumë më tepër për t'u marrë parasysh. Më lejoni t'ju pyes këtë: Çfarë llogaritet si një ditë? Ne e dimë se bota funksionon në zona të ndryshme kohore, dhe sikur kjo të mos mjaftonte, disa rajone kanë Ora Ditore (DST) që ndodh dy herë në vit. Ku mund të filloni t'i trajtoni këto raste të skajshme? Çfarë llogaritet si “fillimi” i së nesërmes? Disa zhvillues përpiqen ta shmangin këtë duke përdorur një zonë kohore qendrore, si UTC. Për disa përdorues, kjo do të jepte rezultate të sakta, por për disa, mund të fiket për një orë, dy orë ose më shumë. Kjo mospërputhje shkatërron përvojën e përdoruesit. Përdoruesit kujdesen më pak se si e trajtoni kohën prapa skenave; gjithçka që ata presin është që nëse kryejnë një veprim brezi në orën 23:40, atëherë ai duhet të regjistrohet pikërisht në atë kohë, në kontekstin e tyre. Ju duhet të përcaktoni "një ditë" bazuar në zonën kohore lokale të përdoruesit, jo në kohën e serverit. Sigurisht, ju mund të merrni lehtërrugëzoni dhe rivendosni brezat globalisht për të gjithë përdoruesit në mesnatë UTC, por ju po krijoni shumë padrejtësi. Dikush në Kaliforni ka gjithmonë tetë orë shtesë për të përfunduar detyrën e tij sesa dikush që jeton në Londër. Ky është një e metë e padrejtë e dizajnit që ndëshkon përdorues të caktuar për shkak të vendndodhjes së tyre. Dhe çfarë nëse ai person në Londër është vetëm për vizitë, përfundon një detyrë dhe pastaj kthehet në një zonë tjetër kohore? Një zgjidhje efektive për të gjitha këto është t'u kërkohet përdoruesve të vendosin në mënyrë eksplicite zonën e tyre kohore gjatë hyrjes në bord (mundësisht pas vërtetimit të parë). Është një ide e mirë të përfshini një shënim delikate se ofrimi i informacionit të zonës kohore përdoret vetëm që aplikacioni të gjurmojë me saktësi përparimin, në vend që të përdoret si të dhëna të identifikueshme personalisht. Dhe është një ide tjetër e mirë për ta bërë atë një mjedis të ndryshueshëm. Unë sugjeroj që dikush të shmangë trajtimin e drejtpërdrejtë të logjikës së zonës kohore në një aplikacion. Përdor bibliotekat e datave të provuara dhe të vërteta, si Moment.js ose pytz (Python), etj. Nuk ka nevojë të rishpikësh timonin për diçka kaq komplekse si kjo. Ditët e humbura dhe rastet e skajeve Një sfidë tjetër për të cilën duhet të shqetësoheni janë rastet e skajshme të pakontrollueshme si gjumi i tepërt i përdoruesve, ndërprerja e serverit, vonesa, dështimet e rrjetit etj. Përdorimi i idesë së mekanizmave të hirit, si ato që diskutuam më parë, mund të ndihmojë. Një dritare hiri prej dy orësh mund të ndihmojë si përdoruesin ashtu edhe zhvilluesin, në kuptimin që përdoruesit nuk ndëshkohen ashpër për rrethana të pakontrollueshme të jetës. Për zhvilluesit, grace windows janë të dobishëm në ato momente të pakontrollueshme kur serveri nuk funksionon në mes të natës. Mbi të gjitha, mos i besoni kurrë klientit. Vërtetoni gjithmonë në anën e serverit. Serveri duhet të jetë burimi i vetëm i së vërtetës. Parandalimi i mashtrimit Përsëri, nuk mund ta theksoj mjaftueshëm këtë: Sigurohuni që të vërtetoni gjithçka nga ana e serverit. Përdoruesit janë njerëz dhe njerëzit mund të mashtrojnë nëse u jepet mundësia. Është e pashmangshme. Mund të provoni:

Ruajtja e të gjitha veprimeve me vulat kohore UTC. Klienti mund të dërgojë orën e tij lokale, por serveri mund ta konvertojë atë menjëherë në UTC dhe ta vërtetojë atë kundrejt kohës së serverit. Në këtë mënyrë, nëse vula kohore e klientit është në mënyrë të dyshimtë larg, sistemi mund ta refuzojë atë si një gabim dhe UI mund të përgjigjet në përputhje me rrethanat. Duke përdorur gjurmimin e bazuar në ngjarje. Me fjalë të tjera, ruani një regjistrim të çdo veprimi me meta të dhëna duke përfshirë informacione si ID-ja e përdoruesit, lloji i veprimit të kryer dhe vula kohore dhe zona kohore. Kjo ndihmon me vërtetimin.

Ndërtimi i një motori të sistemit të brezit Ky nuk është një udhëzues kodi, kështu që unë do të shmang hedhjen e një grupi kodesh mbi ju. Unë do ta mbaj këtë praktike dhe do të përshkruaj se si gjërat në përgjithësi funksionojnë një motor të sistemit të brezit për sa i përket arkitekturës, rrjedhës dhe besueshmërisë. Arkitektura bërthamë Siç e kam thënë disa herë, bëjeni serverin burimin e vetëm të së vërtetës për të dhënat e brezit. Arkitektura mund të shkojë diçka si kjo në server:

Ruani të dhënat e çdo përdoruesi në një bazë të dhënash. Ruani ruajtjen aktuale të brezit (parazgjedhja si 0) si një numër i plotë. Ruani preferencën e zonës kohore, d.m.th., vargun e zonës kohore IANA (në mënyrë të nënkuptuar nga vula kohore lokale ose në mënyrë eksplicite duke i kërkuar përdoruesit të zgjedhë zonën e tij kohore). Për shembull, "America/New_York". Trajtoni të gjithë logjikën për të përcaktuar nëse brezi vazhdon apo prishet, me një kontroll të zonës kohore që është në lidhje me zonën kohore lokale të përdoruesit.

Ndërkohë, nga ana e klientit:

Shfaq brezin aktual, normalisht i marrë nga serveri. Dërgo veprimin e kryer në formën e meta të dhënave te serveri për të vërtetuar nëse përdoruesi ka përfunduar në të vërtetë një veprim të brezit kualifikues. Siguroni reagime vizuale bazuar në përgjigjet e serverit.

Pra, me pak fjalë, truri është në server, dhe klienti është për qëllime të shfaqjes dhe paraqitjes së ngjarjeve. Kjo ju kursen shumë dështime dhe raste të skajeve, plus i bën përditësimet dhe rregullimet më të lehta. Rrjedha Logjike Le të simulojmë një përshkrim se si do të shkonte një motor sistemi me brez minimal efiçent kur një përdorues përfundon një veprim:

Përdoruesi përfundon një veprim të brezit kualifikues. Klienti dërgon një ngjarje në server si meta të dhëna. Kjo mund të jetë "Përdoruesi X ka përfunduar veprimin Y në vulën kohore Z". Serveri e merr këtë ngjarje dhe bën vërtetimin bazë. A është ky një përdorues i vërtetë? A janë vërtetuar? A është veprimi i vlefshëm? A është e qëndrueshme zona kohore? Nëse kjo kalon, serveri merr të dhënat e brezit të përdoruesit nga baza e të dhënave. Më pas, konverto vulën kohore të veprimit të marrë në zonën kohore lokale të përdoruesit. Lëreni serverin të krahasojë datat e kalendarit (jo vulat kohore) në zonën lokale kohore të përdoruesit: Nëse është e njëjta ditë, atëherë veprimi është i tepërt dhe nuk ka ndryshim nëbrez. Nëse është e nesërmja, atëherë brezi zgjatet dhe rritet me 1. Nëse ka një hendek prej më shumë se një ditë, brezi prishet. Sidoqoftë, këtu mund të aplikoni mekanikën e hirit. Nëse mekanizmi i hirit mungon, atëherë rivendosni brezin në 1.

Nëse zgjidhni të ruani të dhënat historike për arritjet historike, atëherë përditësoni variablat si "vargu më i gjatë" ose "ditët gjithsej aktive". Serveri më pas përditëson bazën e të dhënave dhe i përgjigjet klientit. Diçka si kjo:

{ "rrjedha_aktuale": 48, "vija më e gjatë": 50, "total_active_dits": 120, "streak_extended": e vërtetë, }

Si masë tjetër, serveri ose duhet të riprovojë ose të refuzojë dhe të njoftojë klientin kur ndonjë gjë dështon gjatë procesit. Ndërtesa për Rezistencë Siç u përmend më parë, përdoruesit që humbasin një varg për shkak të gabimeve ose ndërprerjes së serverit është UX e tmerrshme, dhe përdoruesit nuk presin që ta pranojnë atë. Kështu, sistemi juaj i brezit duhet të ketë masa mbrojtëse për ata skenarë. Nëse serveri nuk funksionon për mirëmbajtje (ose çfarëdo arsye tjetër), konsideroni të lejoni një dritare të përkohshme orësh shtesë për ta rregulluar atë, në mënyrë që veprimet të mund të dorëzohen me vonesë dhe të numërohen ende. Ju gjithashtu mund të zgjidhni të njoftoni përdoruesit, veçanërisht nëse situata është në gjendje të ndikojë në një brez të vazhdueshëm. Shënim: Krijoni një derë të pasme administratori ku të dhënat mund të restaurohen manualisht. Defektet janë të pashmangshme dhe disa përdorues do të thërrasin aplikacionin tuaj ose do të kontaktojnë për të mbështetur që brezi i tyre u ndërpre për një arsye që ata nuk mund ta kontrollonin. Ju duhet të jeni në gjendje të rivendosni manualisht vijat nëse, pas hetimit, përdoruesi ka të drejtë. konkluzioni Një gjë mbetet e qartë: Rripat janë vërtet të fuqishëm për shkak të mënyrës se si psikologjia njerëzore funksionon në një nivel themelor. Sistemi më i mirë i brezit atje është ai për të cilin përdoruesit nuk mendojnë me vetëdije. Është bërë një rutinë e rezultateve të menjëhershme ose progresit të dukshëm, si larja e dhëmbëve, e cila bëhet një zakon i rregullt. Dhe unë thjesht do ta them: Jo të gjitha produktet kanë nevojë për një sistem brezi. A duhet të detyroni vërtet qëndrueshmëri vetëm sepse dëshironi përdorues aktivë të përditshëm? Përgjigja mund të jetë shumë mirë "jo".

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