Jsem si jistý, že jste slyšeli o pruhech nebo jste s nimi používali aplikaci. Přemýšleli jste někdy nad tím, proč jsou pruhy tak oblíbené a silné? Je zřejmé, že aplikace chtějí co nejvíce vaší pozornosti, ale kromě toho, věděli jste, že když populární výuková aplikace Duolingo představila iOS widgety pro zobrazení pruhů, nasazení uživatelů vzrostlo o 60 %. Šedesát procent je obrovský posun v chování a ukazuje, jak lze „proužkové“ vzory použít ke zvýšení zapojení a využití. Ve své nejzákladnější podobě je pruhem počet po sobě jdoucích dnů, kdy uživatel dokončí určitou aktivitu. Někteří lidé to také definují jako „gamifikovaný“ zvyk nebo metrika navržená tak, aby podporovala konzistentní používání. Ale pruhy přesahují rámec toho, že jsou metrikou nebo záznamem v aplikaci; je to spíše psychologické než to. Lidské instinkty lze snadno ovlivnit správnými faktory. Podívejte se na tyto tři faktory: pokrok, hrdost a strach z promeškání (běžně nazývané FOMO). Co mají všechny tyto společné? Úsilí. Čím více úsilí do něčeho vložíte, tím více to utváří vaši identitu, a to je způsob, jakým se pruhy protínají do světa psychologie chování. Nyní, s velkou mocí přichází velká zodpovědnost, a proto je tu temná stránka pruhů. V tomto článku se podíváme na principy psychologie, UX a designu, které stojí za vytvořením efektivního systému streak. Podíváme se na to, (1) proč naše mozky téměř instinktivně reagují na aktivitu pruhů, (2) jak navrhovat pruhy způsobem, který skutečně pomáhá uživatelům, a (3) technickou práci spojenou s vytvářením vzoru pruhů. Psychologie za pruhy Abychom mohli navrhnout a vybudovat účinný systém proužků, musíme pochopit, jak se shoduje s tím, jak jsou zapojeny naše mozky. Například, proč je to tak účinné, že cítíme tak intenzivní odhodlání chránit naše pruhy? Existují tři zajímavé, dobře zdokumentované principy psychologie, které podporují to, co dělá pruhy tak mocnými a návykovými. Averze ke ztrátě To je pravděpodobně nejsilnější síla za pruhy. Říkám to, protože většinou se tomu v životě téměř nevyhnete. Přemýšlejte o tom takto: Pokud vám přítel dá 100 dolarů, budete šťastní. Ale pokud byste ztratili 100 dolarů z peněženky, bolelo by to mnohem víc. Emocionální váha těchto situací není stejná. Ztráta bolí mnohem víc, než zisk je dobrý pocit. Vezměme to dále a řekněme, že vám dám 100 $ a požádám vás, abyste si zahráli hazardní hru. Existuje 50% šance, že vyhrajete dalších 100 $ a 50% šance, že prohrajete původních 100 $. Brali byste to? nechtěl bych. Většina lidí by to neudělala. To je averze ke ztrátě. Když se nad tím zamyslíte, je to logické, je to pochopitelné, je to lidské. Koncept averze ke ztrátě je ten, že cítíme bolest ze ztráty něčeho dvakrát tolik jako potěšení ze získání něčeho stejné hodnoty. Z psychologického hlediska ztráta trvá déle než zisky. Pravděpodobně vidíte, jak to souvisí s pruhy. Chcete-li vytvořit znatelný pruh, vyžaduje to úsilí; jak pruh roste, motivace za ním začíná mizet; nebo přesněji, začíná být druhotná. Zde je příklad: Řekněme, že váš přítel má třídenní sérii uzavření „Move Rings“ na svých Apple Watch. Nemají téměř co ztratit, kromě toho, že chtějí dosáhnout svého cíle a být důslední. Zároveň máte za sebou impozantní 219denní sérii. Je pravděpodobné, že jste v pasti strachu, že ji ztratíte. S největší pravděpodobností v tuto chvíli nemyslíte na úspěch; jde spíše o ochranu vašeho investovaného úsilí, a to je averze ke ztrátě. Duolingo vysvětluje, jak averze ke ztrátám přispívá k neochotě uživatele přerušit dlouhou sérii, a to i v těch nejlínějších dnech. Svým způsobem se může pruh změnit ve zvyk, když se usadí averze ke ztrátě. The Fogg Behavior Model (B = MAP) Nyní, když chápeme strach ze ztráty úsilí investovaného do delších sérií, další otázka zní: Co nás nutí dělat tu věc na prvním místě, den za dnem, ještě předtím, než se série rozroste? O tom je Foggův model chování. Je to poměrně jednoduché. K chování (B) dochází pouze tehdy, když se tři faktory – motivace (M), schopnost (A) a pobídka (P) – shodují ve stejném okamžiku. Tedy rovnice B=MAP. Pokud některý z těchto faktorů, byť jen jeden, v tu chvíli chybí, k chování nedojde. Aby byl systém proužků účinný a opakující se, musí být přítomny všechny tři faktory: Motivace Toto je křehké a není to něco, co je trvale přítomné. Jsou dny, kdy jstenapumpovaní učit se španělsky a dny, kdy nepocítíte ani špetku vůle se jazyk naučit. Motivace sama o sobě vybudovat si návyk je nespolehlivá a od prvního dne prohraná bitva. Schopnost Schopnost je kritická, aby kompenzovala omezení motivace. V tomto kontextu schopnost znamená snadnost jednání, tj. úsilí je tak snadné, že je nerealistické říkat, že to není možné. Většina aplikací to záměrně používá. Apple Fitness potřebuje, abyste za hodinu stáli jednu minutu, abyste dosáhli svého cíle Stand. Duolingo potřebuje pouze jednu dokončenou lekci. Tyto úkoly nevyžadují tolik úsilí. Bariéra je tak nízká, že to zvládnete i v těch nejhorších dnech. Ale společné úsilí pokračující série je místem, kde začíná myšlenka prohrát tuto sérii. PromptThis je to, co dokončí rovnici. Lidé jsou přirozeně zapomnětliví, takže ano, schopnost nás tam může dostat z 90 %. Ale výzva nám připomíná, abychom jednali. Pruhy jsou ze své podstaty trvalé, takže uživatelům je třeba neustále připomínat, aby jednali. Aby Duolingo zjistilo, jak mocná může být výzva, provedlo test A/B, aby zjistilo, zda malý červený odznak na ikoně aplikace zvyšuje konzistentní používání. To přineslo 6% nárůst denních aktivních uživatelů. Jen červený odznak. Omezení modelu Jak již bylo řečeno, existuje omezení modelu Fogg, kdy kritici a moderní výzkum zaznamenali, že design, který se příliš spoléhá na výzvy, jako jsou agresivní oznámení, riskuje vytvoření duševní únavy. Neustálá upozornění a přesčasy by mohly způsobit, že uživatelé budou mířit. Tak na to pozor. Zeigarnikův efekt Jak se cítíte, když necháte úkol z projektu napůl hotový? To mnoho lidí dráždí, protože nedokončené úkoly zabírají více mentálního prostoru než věci, které dokončíme. Když se něco udělá a odejde, máme tendenci na to zapomenout. Když něco zůstane nedokončené, má tendenci tížit naši mysl. To je přesně důvod, proč digitální produkty používají umělé indikátory průběhu, jako je lišta dokončení profilu Upwork, aby uživatel věděl, že jeho profil je dokončen pouze z 60 %. Pobízí uživatele, aby dokončil, co začal.

Podívejme se na další příklad. V aplikaci se seznamem úkolů máte pět úkolů a na konci dne zkontrolujete pouze čtyři z nich jako dokončené. Mnoho z nás se bude cítit nesplněno kvůli tomuto jednomu nedokončenému úkolu. To je právě ten Zeigarnikův efekt. Zeigarnikův efekt byl demonstrován psycholožkou Bluma Zeigarnik, která popsala, že nedokončené úkoly máme tendenci udržovat v paměti déle než dokončené úkoly. V UX designu do toho přirozeně zapadá vzor pruhů. Řekněme, že jste na 63. dni série učení. V tom okamžiku jste v neustálém vzoru nedokončených záležitostí. Váš mozek na to jen zřídka zapomene, protože to leží vzadu ve vaší mysli. V tomto okamžiku se váš mozek stává tím, kdo vám posílá upozornění. Když dáte tyto psychologické síly dohromady, začnete skutečně chápat, proč pruhy nejsou jen běžnou funkcí aplikace; jsou schopni přetvářet lidské chování. Ale někde podél linie – nemohu přesně říci, kdy, protože se to u každého liší – věci dosáhnou bodu, kdy se série posune od „zábavy“ k něčemu, o čem máte pocit, že si nemůžete dovolit prohrát. Nechcete, aby 58 dní úsilí přišlo nazmar, že? To je to, co dělá systém pruhů efektivním. Pokud se to udělá správně, pruhy pomohou uživatelům vytvořit úžasné návyky, které dosáhnou cíle. Může to být každodenní čtení nebo pravidelné cvičení v posilovně. Tyto opakované akce (někdy malé) se časem skládají a stávají se evidentními v našem každodenním životě. Ale každá mince má dvě strany. Tenká linie mezi zvykem a nucením Pokud jste to sledovali, už můžete říct, že systémy pruhů mají temnou stránku. Tvorba návyků je o důslednosti s opakovaným cílem. Nutkání je však důslednost práce na cíli, který již není potřeba, ale drží se ho ze strachu nebo tlaku. Je to linie tenká jako břitva. Bez přemýšlení si každé ráno čistíte zuby; je automatický a instinktivní, s jasným cílem mít dobrý dech. To je pruh, který tvoří dobrý zvyk. Systém etických pruhů dává uživatelům prostor k dýchání. Pokud si z nějakého důvodu nečistíte ráno, můžete kartáčovat v poledne. Nedokonalost je povolena bez obav ze ztráty dlouhého úsilí. Nutkání jde opačnou cestou, kdy ve vás řada vyvolává úzkost, cítíte se provinile nebo dokonce vyčerpaní a někdy máte pocit, že jste nic nedokázali, navzdory všem svýmpráce. Nejednáte proto, že chcete, ale protože se podvědomě bojíte, že uvidíte, jak se váš pokrok vynuluje. Někdo to dokonce dokonale popsal: "Měl jsem pocit, že podvádím, ale bylo mi to jedno. Bez své nálady nejsem nic." To ukazuje, jaké extrémní pruhy mohou mít u jednotlivce. Do té míry, že uživatelé začnou spojovat svou sebehodnotu s libovolnou metrikou spíše než s původním cílem nebo důvodem, proč sérii začali. Pruh se stává tím, kým jsou, nejen tím, co dělají. Dobře navržený etický systém by měl být pro uživatele povzbuzením, nikoli tlakem nebo povinností. To souvisí s rovnováhou vnitřní a vnější motivace. Vnější motivace (externí odměny, vyhýbání se trestu) může uživatele nastartovat, ale vnitřní motivace (dělat úkol pro osobní cíl, jako je učení španělštiny, protože opravdu chcete komunikovat s milovanou osobou) je silnější pro dlouhodobé zapojení. Dobrý systém by měl tíhnout k vnitřní motivaci s pečlivým používáním vnějších prvků, tedy připomínat uživatelům, jak daleko se dostali, a ne jim vyhrožovat tím, co mohou ztratit. Opět je to jemná čára. Jednoduchým testem při navrhování systému pruhů je skutečně chvíli trvat a přemýšlet, zda vaše produkty vydělávají peníze prodejem řešení úzkosti, která váš produkt vytvořil. Pokud ano, je velká šance, že uživatele využíváte. Takže další otázka zní: Pokud se rozhodnu použít pruh, jak ho navrhnu tak, aby uživatelům skutečně pomohl dosáhnout jejich cílů? UX designu systému Good Streak Domnívám se, že právě zde většina projektů buď nakopíruje účinný systém pruhů, nebo jej úplně pokazí. Pojďme si projít některé UX principy dobrého streak designu. Udržujte to bez námahy Pravděpodobně jste to už někdy slyšeli, možná z knih jako Atomic Habits, ale stojí za zmínku, že jedním z nejjednodušších způsobů, jak lze návyky vytvořit, je udělat akci drobnou a snadnou. To je podobné faktoru schopností, o kterém jsme hovořili v modelu chování Fogg. Prvním pravidlem každého návrhu série by mělo být učinit požadovanou akci co nejmenší a přitom dosáhnout pokroku. Pokud k dokončení denní akce vyžaduje sílu vůle, tato akce nepřekročí pět dní. Proč? Nemůžete být motivováni pět dní v řadě. Příklad: Pokud spustíte meditační aplikaci, nemusíte nutit uživatele projít 20minutovou relací, abyste udrželi sérii. Zkuste místo toho jedinou minutu, možná i něco malého, jako je třicet sekund. Jak se říká, malé kapky vody tvoří mocný oceán). Malé úsilí se časem spojí do velkých úspěchů. To by měl být cíl: odstranit tření, zvláště když to může být obtížné. Když jsou uživatelé ve stresu nebo ohromeni, dejte jim vědět, že pouhé zobrazení, byť jen na pár sekund, se počítá jako úsilí. Poskytněte jasnou vizuální zpětnou vazbu Lidé jsou od přírody vizuální. Většinou potřebujeme něco vidět, čemu můžeme věřit; je potřeba si věci vizualizovat, abychom jim lépe porozuměli a uvedli věci do perspektivy. To je důvod, proč vzory pruhů často používají vizuální prvky, jako jsou grafy, značky zaškrtnutí, kruhy průběhu a mřížky, k vizualizaci úsilí. Podívejte se na graf příspěvků GitHubu. Je to jednoduchá vizualizace konzistence. Přesto to vývojáři vdechují jako kyslík.

Klíčem je, aby systém pruhů nepůsobil abstraktně. Mělo by to být skutečné a zasloužené. Například kroužky aktivit Duolingo a Apple Fitness používají čisté návrhy animací po dokončení pruhu a GitHub zobrazuje historická data konzistence uživatele v průběhu času.

Použijte dobré načasování Již dříve jsem zmínil, že lidé jsou obecně od přírody zapomnětliví a že výzvy mohou pomoci udržet hybnost vpřed. Bez výzev většina nových uživatelů zapomene pokračovat. Život může být zaneprázdněn, motivace mizí a věci se dějí. Dokonce i dlouholetí uživatelé těží z výzev, i když většinou jsou již zamčeni ve smyčce zvyků. Přesto i ten nejoddanější člověk může náhodně vynechat den. Váš systém pruhů rozhodně potřebuje připomenutí. Nejpoužívanějšími připomenutími jsou push notifikace. Při práci s push notifikacemi opravdu záleží na načasování. Důležitý je také typ aplikace. Odeslání oznámení v 9:00 s nápisem „Dnes jste necvičili“ je pro výukovou aplikaci prostě divné, protože mnozí mají co dělat den předtím, než vůbec pomyslí na dokončení lekce. Pokud však mluvíme o fitness aplikaci, tak anoje rozumné a možná se dokonce očekává, že bude připomenut dříve během dne. Push oznámení se výrazně liší podle kategorie aplikace. Fitness aplikace například zaznamenávají vyšší zapojení díky časným ranním oznámením (7–8 hodin ráno), zatímco aplikace pro zvýšení produktivity mohou fungovat lépe v brzké poledne. Klíčem je A/B otestovat načasování vaší aplikace na základě chování vašich uživatelů, spíše než předpokládat, že věci jsou univerzální. To, co funguje pro meditační aplikaci, nemusí fungovat pro sledovač kódování. Dalšími způsoby výzvy jsou červené tečky na ikoně aplikace a dokonce i widgety aplikace. Studie se liší, ale průměrný člověk odemkne své zařízení 50-150krát denně (PDF). Pokud uživatel uvidí na aplikaci nebo widgetu červenou tečku, která označuje aktuální pruh pokaždé, když odemkne svůj telefon, zvyšuje to nasazení. Jen to nepřehánějte; výzva by měla sloužit jako připomenutí, ne jako otrava. Oslavte milníky Systém pruhů by se měl pokusit oslavit milníky, aby znovu podnítil emoce, zejména u uživatelů, kteří jsou hluboko v pruhu. Když uživatel narazí na den 7, den 30, den 50, den 100, den 365, měli byste z toho udělat velký problém. Uznání úspěchů — zejména pro dlouhodobé uživatele.

Jak jsme viděli dříve, Duolingo na to přišlo a implementovalo animovanou grafiku, která oslavuje milníky pomocí konfet. Některé platformy dokonce poskytují značné bonusové odměny, které ověřují úsilí uživatelů. A to může být pro aplikace výhodné, protože uživatelé mají tendenci sdílet své milníky veřejně na sociálních sítích. Další výhodou je očekávání, které přichází před dosažením milníků. Nejde jen o to, aby se série donekonečna udržovala při životě; uživatelé se mají na co těšit. Používejte mechanismy milosti Život je nepředvídatelný. Lidé se rozptylují. Každý dobrý systém pruhů by měl počítat s nedokonalostí. Jednou z největších psychologických hrozeb pro streak systém je tvrdý reset na nulu po jediném zmeškaném dni. „Etický“ systém pruhů by měl uživateli poskytnout určitou volnost. Řekněme, že máte za sebou 90denní sérii šachového učení. Byli jste konzistentní tři dobré měsíce a jednoho dne vám při cestování zemře telefon, a stejně tak se z 90 stane 0 – vše, všechna ta námaha, je vymazána a pokrok zmizí. Uživatel může být zcela zničen. Myšlenka na její přestavbu od nuly je tak demoralizující, že to úsilí nestojí za to. V nejhorším případě může uživatel aplikaci opustit poté, co se cítil jako selhání. Zvažte přidání mechanismu „milosti“ do vašeho systému pruhů:

Streak FreezeUmožněte uživatelům záměrně vynechat den bez sankcí. Extra časPřed spuštěním resetu nechte několik hodin (2–3) po obvyklém termínu. Modely úpadku Namísto tvrdého resetu se série o malou částku sníží, např. za každý zmeškaný den se z řady odečte 10 dní.

Použijte povzbuzující tón Porovnejme dvě zprávy, které se uživatelům zobrazí, když se pruh přeruší:

"Ztratili jste svou 42denní sérii. Začněte znovu." "Ukázal jsi se 42 dní v kuse. To je neuvěřitelný pokrok! Chceš to zkusit znovu?"

Oba přenášejí stejné informace, ale emocionální dopad je jiný. První zpráva by s největší pravděpodobností způsobila, že by se uživatel cítil demoralizovaný a způsobil by ukončení. Druhá zpráva oslavuje to, čeho již bylo dosaženo, a jemně povzbuzuje uživatele, aby to zkusil znovu. Výzvy pro návrh systémů Streak Než se pustíme do technických specifik budování streak systému, měli byste si být vědomi problémů, kterým můžete čelit. Věci se mohou zkomplikovat, jak se dalo čekat. Zpracování časových pásem Existuje důvod, proč zpracování času a data patří mezi nejobtížnější koncepty, se kterými se vývojáři potýkají. Je třeba zvážit formátování, internacionalizaci a mnoho dalšího. Dovolte mi, abych se vás zeptal na toto: Co se počítá jako den? Víme, že svět běží v různých časových pásmech, a jako by to nestačilo, některé regiony mají letní čas (DST), ke kterému dochází dvakrát ročně. Kde vůbec začít s vyřizováním těchto okrajových případů? Co se počítá jako „začátek“ zítřka? Někteří vývojáři se tomu snaží vyhnout použitím jednoho centrálního časového pásma, jako je UTC. Pro některé uživatele by to přineslo správné výsledky, ale pro některé by to mohlo být o hodinu, dvě hodiny nebo více. Tato nekonzistence ničí uživatelský dojem. Uživatelé se méně starají o to, jak nakládáte s časem v zákulisí; vše, co očekávají, je, že pokud provedou akci pruhu ve 23:40, měla by se zaregistrovat přesně v ten čas v jejich kontextu. Měli byste definovat „jeden den“ na základě místního časového pásma uživatele, nikoli času serveru. Jasně, můžete si vzít klidsměrovat a resetovat pruhy globálně pro všechny uživatele o půlnoci UTC, ale do značné míry vytváříte nespravedlnost. Někdo v Kalifornii má vždy osm hodin navíc na dokončení svého úkolu než někdo žijící v Londýně. To je nespravedlivá konstrukční chyba, která trestá určité uživatele kvůli jejich poloze. A co když je ten člověk v Londýně pouze na návštěvě, splní úkol a pak se vrátí do jiného časového pásma? Jedním z účinných řešení všech těchto problémů je požádat uživatele, aby během připojování (nejlépe po prvním ověření) explicitně nastavili své časové pásmo. Je dobré zahrnout jemnou poznámku, že poskytování informací o časovém pásmu se používá pouze pro aplikaci k přesnému sledování pokroku, nikoli jako údaje umožňující zjištění totožnosti. A je to další dobrý nápad udělat z toho proměnlivé nastavení. Navrhuji, aby se kdokoli vyhnul přímému zpracování logiky časového pásma v aplikaci. Používejte osvědčené datové knihovny, jako je Moment.js nebo pytz (Python) atd. Není třeba znovu vymýšlet kolo pro něco tak složitého, jako je toto. Zmeškané dny a Edge Případy Další výzvou, které byste se měli obávat, jsou nekontrolovatelné okrajové případy, jako je zaspání uživatelů, výpadky serveru, zpoždění, selhání sítě a tak dále. Použití myšlenky mechanismů milosti, jako jsou ty, o kterých jsme hovořili dříve, může pomoci. Dvouhodinové období odkladu může pomoci jak uživateli, tak vývojáři v tom smyslu, že uživatelé nejsou přísně trestáni za nekontrolovatelné životní okolnosti. Pro vývojáře jsou okna milosti užitečná v těch nekontrolovatelných chvílích, kdy se server uprostřed noci zhroutí. Především nikdy nevěřte klientovi. Vždy ověřujte na straně serveru. Server by měl být jediným zdrojem pravdy. Prevence podvádění Znovu to nemohu dostatečně zdůraznit: Ujistěte se, že jste ověřili vše na straně serveru. Uživatelé jsou lidé a lidé mohou podvádět, pokud dostanou příležitost. Je nevyhnutelné. Můžete zkusit:

Ukládání všech akcí s časovými razítky UTC. Klient může odeslat svůj místní čas, ale server jej může okamžitě převést na UTC a ověřit proti času serveru. Tímto způsobem, pokud je časové razítko klienta podezřele daleko, systém to může odmítnout jako chybu a uživatelské rozhraní může odpovídajícím způsobem reagovat. Pomocí sledování na základě událostí. Jinými slovy, uložte záznam o každé akci s metadaty včetně informací, jako je ID uživatele, typ provedené akce a časové razítko a časové pásmo. To pomáhá při ověřování.

Budování systému Streak System Engine Toto není výukový program pro kód, takže se vyhnu tomu, abych na vás hodil spoustu kódu. Nechám to praktické a popíšu, jak věci obecně fungují s motorem streak system, pokud jde o architekturu, tok a spolehlivost. Základní architektura Jak jsem již několikrát řekl, udělejte ze serveru jediný zdroj pravdy pro čárová data. Architektura může na serveru vypadat nějak takto:

Uložte data každého uživatele do databáze. Uložit aktuální úložiště pruhů (výchozí hodnota je 0) jako celé číslo. Uložte předvolbu časového pásma, tj. řetězec časového pásma IANA (buď implicitně z místního časového razítka, nebo explicitně tak, že požádáte uživatele, aby vybral své časové pásmo). Například „Amerika/New_York“. Zpracujte veškerou logiku, abyste zjistili, zda pruh pokračuje nebo se přeruší, pomocí kontroly časového pásma, která je relativní k místnímu časovému pásmu uživatele.

Mezitím na straně klienta:

Zobrazte aktuální pruh, normálně načtený ze serveru. Odešlete akci provedenou ve formě metadat na server, abyste ověřili, zda uživatel skutečně dokončil kvalifikační akci série. Poskytujte vizuální zpětnou vazbu na základě odpovědí serveru.

Stručně řečeno, mozek je na serveru a klient slouží k zobrazování a odesílání událostí. To vám ušetří spoustu selhání a okrajových případů a navíc zjednoduší aktualizace a opravy. Logický tok Pojďme si nasimulovat návod, jak by fungoval minimálně účinný systém streak systému, když uživatel dokončí akci:

Uživatel dokončí akci kvalifikační série. Klient odešle událost na server jako metadata. Může to být „Uživatel X dokončil akci Y v časovém razítku Z“. Server přijme tuto událost a provede základní ověření. Je to skutečný uživatel? Jsou ověřené? Je akce platná? Je časové pásmo konzistentní? Pokud to projde, server načte z databáze uživatelská data. Poté převeďte časové razítko přijaté akce na místní časové pásmo uživatele. Nechte server porovnat kalendářní data (nikoli časová razítka) v místním časovém pásmu uživatele: Pokud je to stejný den, pak je akce nadbytečná a nedochází k žádné změněpruh. Pokud je to další den, pak se pruh prodlouží a zvýší o 1. Pokud je mezera delší než jeden den, pruh se přeruší. Zde však můžete použít milostnou mechaniku. Pokud mechanismus odkladu zmeškáte, resetujte pruh na 1.

Pokud se rozhodnete ukládat historická data pro dosažené milníky, aktualizujte proměnné jako „nejdelší série“ nebo „celkový počet aktivních dnů“. Server poté aktualizuje databázi a odpoví klientovi. Něco jako toto:

{ "current_streak": 48, "longest_streak": 50, "total_active_days": 120, "streak_extended": true, }

Jako další opatření by měl server buď pokus zopakovat, nebo odmítnout a upozornit klienta, když během procesu něco selže. Budova pro odolnost Jak již bylo zmíněno dříve, uživatelé ztrácející sérii kvůli chybám nebo výpadkům serveru jsou hrozné UX a uživatelé neočekávají, že za to padnou. Váš systém pruhů by tedy měl mít pro tyto scénáře zabezpečení. Pokud je server mimo provoz z důvodu údržby (nebo z jakéhokoli důvodu), zvažte povolení dočasného období dalších hodin na opravu, aby bylo možné akce odeslat pozdě a stále se počítaly. Můžete se také rozhodnout upozornit uživatele, zejména pokud situace může ovlivnit probíhající sérii. Poznámka: Vytvořte zadní vrátka správce, kde lze data ručně obnovit. Chyby jsou nevyhnutelné a někteří uživatelé by vaši aplikaci zavolali nebo požádali o podporu, že se jejich pruh zlomil z důvodu, který nemohli ovlivnit. Měli byste být schopni ručně obnovit pruhy, pokud má uživatel po vyšetření pravdu. Závěr Jedna věc zůstává jasná: Pruhy jsou opravdu silné díky tomu, jak lidská psychologie funguje na základní úrovni. Nejlepší systém pruhů je ten, o kterém uživatelé vědomě nepřemýšlejí. Stalo se to rutinou okamžitých výsledků nebo viditelného pokroku, jako je čištění zubů, které se stává pravidelným zvykem. A já to jen řeknu: Ne všechny produkty potřebují systém pruhů. Měli byste opravdu vynutit konzistenci jen proto, že chcete každodenní aktivní uživatele? Odpověď může být velmi dobře „ne“.

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