Svakodnevna vežba kucanja najbolje funkcioniše kada je dnevni minimum mali. Na ovom sajtu niz dana zahteva jedan validan test po UTC danu, a test od 30 sekundi vredi isto kao sat vremena. Tako smo ga napravili jer niz dana vežbe kucanja treba da te vraća, a da se ne pretvori u obavezu koju mrziš.
Funkcija oko koje smo se najduže raspravljali nije bila trkačka staza ni zaštita od varanja. Bio je to niz dana.
Nizovi dana funkcionišu. Svako ko je koristio aplikaciju za učenje jezika zna i osećaj kada je otvara u 23:50 da otkuca jednu rečenicu kako se broj ne bi resetovao. Hteli smo prvo bez drugog. Evo odluka, sa brojevima, da možeš da proceniš da li smo pogodili.
Šta se računa u niz dana kucanja?
Niz dana je broj uzastopnih dana sa bar jednim validnim testom. Jednim. Sesija od četiri minuta produžava ga isto kao sat vremena, a ništa što uradiš kasnije tog dana ga ne menja. Zen režim se ne računa, jer se zen rezultati nikad ne šalju na server, a nismo hteli da režim bez merenja nosi metriku navike.
Dani su UTC dani, odluka oko koje očekujemo najviše pitanja. Razlozi, i cena, su niže.
Podsetnik i ono što ne radi
Kada ti je poslednji uračunati dan bio juče, a danas još nisi kucao, niz je „u opasnosti” i oznaka niza na početnoj stranici to kaže. To je ceo podsetnik. Nema obaveštenja, nema imejla, nema crvene značke na ikonici, osim ako si se prijavio za nedeljni pregled, koji tvoj niz pominje jednom nedeljno u jednom redu običnog teksta.
To je bilo namerno i verovatno nas košta nekih posetilaca koji bi se vratili. Push obaveštenja o gubitku niza su čest alat za ponovno angažovanje u aplikacijama za navike i, po našem iskustvu, jedan od najomraženijih. Naš plan je glasio „bez obaveštenja o gubitku niza, osim uz prijavu” i toga smo se držali.
Ako rezultat stigne sa datumom pre tvog poslednjeg uračunatog dana (pogrešan sat na laptopu, rezultat sa kucanja van mreže koji se kasno sinhronizuje), računamo test, a niz ostavljamo na miru. Pomeren sat ne bi trebalo nikoga da košta sto dana.
Kako se računaju XP i nivoi
XP je valuta vremena provedenog u vežbi. Namerno nije rangiranje, iz razloga koji dolaze kasnije.
Za svaki validan test koji nije u zen režimu:
- Osnovni XP je 2 po sekundi aktivnog kucanja, pomnoženo tačnošću. Trideset sekundi pri 95% daje 57 XP. „Aktivno” znači uračunato trajanje minus sekunde provedene van tastature, pa ostavljanje otvorene kartice ne donosi ništa.
- Uračunava se najviše 600 sekundi po testu, pa test od trideset minuta donosi istu osnovu kao test od deset i maratoni ne dominiraju.
- Množioci se sabiraju: +50% za 100% tačnosti, +50% za test sa citatom, +40% za uključenu interpunkciju, +10% za uključene brojeve. Savršen citat sa interpunkcijom ide na 2,4×.
- Fiksni bonusi: +50 za prvi test UTC dana, +50 za pokušaj dnevnog izazova, +25 za trku i još +25 za pobedu u njoj, +20 za lični rekord.
Nivoi prate blagu krivu: XP potreban za prelazak sa nivoa L na L+1 je 100 × L^1,3. Kad se sabere, nivo 2 stiže posle 100 XP, nivo 5 posle oko 1.370, nivo 10 posle oko 7.700, nivo 20 posle oko 40.300, a nivo 50 posle oko 343.000.
Da nivo 50 izrazimo u vežbi: savršen test od 30 sekundi donosi 90 XP pre bonusa (60 osnovnih, plus 50% za savršenu tačnost), pa je to oko 3.800 takvih testova. Petnaest minuta dnevno uz 95% tačnosti donosi oko 1.760 XP sa bonusom za prvi test, čime se nivo 50 dostiže za otprilike šest do sedam meseci. Za nivo 100 treba oko 1,7 miliona XP. Nazivi nivoa idu od Početnika preko Daktilografa, Kovača tastera i Majstora reči do Legende na 50 i Besmrtnika na 100, i da, vrh tog spiska je namerno pomalo smešan.
Kao gost, tvoj pregledač primenjuje ista pravila na lokalnu kopiju. Prijava je ono što čuva niz i dnevni plasman na nalogu, a ako se prijaviš novim nalogom, lokalni napredak se spaja jednom, uz ograničenje od 5.000 XP, 500 testova i niza od 30 dana. Ograničenje postoji da spajanje ne bi moglo da se iskoristi za fabrikovanje rekorda; zbog njega je i prijavljen nalog jedini put do značke za 100 dana.
Prekretnice niza su na 3, 7, 14, 30, 60, 100, 180 i 365 dana, a značke na 3, 7, 30, 100 i 365. Značku za 365 očekujemo da skoro niko neće osvojiti, i u tome je njena svrha.
Zašto je niz napravljen ovako
Pet pravila oblikuje niz dana. Svako je nastalo iz pitanja šta metrika navike treba da nagrađuje.
Nema bodova za količinu na rang-listama
XP meri provedeno vreme, pa nagrađuje količinu. Uzmimo dva daktilografa. Jedan kuca 60 WPM i dnevno uradi jedan test od 30 sekundi uz 98% tačnosti, što donosi oko 59 XP, plus 50 bonusa za prvi test, dakle otprilike 110 dnevno. Drugi kuca 45 WPM i vežba petnaest minuta dnevno uz 95%, što donosi oko 1.760. Sporiji daktilograf zaradi šesnaest puta više.
To je pravi odgovor za valutu vežbe, jer je vreme na tasterima upravo ono što vežbi treba. To je pogrešan odgovor za rangiranje, koje treba da kaže ko kuca najbrže i najčistije. Rang-lista po XP-u stavila bi drugog daktilografa na prvo mesto, a način da se na njoj napreduje bio bi dodavanje minuta.
Zato XP nikoga ne rangira. Rang-liste rangiraju brzinu, uz prag tačnosti; XP se prikazuje u tvojim rezultatima i na profilu, nikada na rang-listi. Ista logika određuje i ekran sa rezultatima trke: mesto, WPM i tačnost su prvi, a red sa XP-om je mali i ispod njih.
Ništa se ne kupuje
Nema valute za trošenje, nema prodavnice, nema kozmetičkih nadogradnji i ničega što propada ako se ne prijaviš. Niz je zapis dana u kojima si vežbao. Čim se bilo koji njegov deo može kupiti, broj znači „vežbao ili platio” i prestaje bilo šta da ti govori. Prodavnica bi sajtu dala i razlog da te brine gubitak napretka, jer se strahom prodaje zaštita. Nismo hteli taj podsticaj u kodu.
Istorija nije iza naplate
Tvoja istorija je neograničena i besplatna, a niz nikada ne zavisi ni od čega što bi se plaćalo. Niz postoji da bi stvorio trend od 90 dana na stranici sa tvojom istorijom, a taj grafikon je jedina poštena provera da li navika deluje. Zaključavanje starih rezultata sakrilo bi plato koji ti je najpotrebnije da vidiš.
Nema ekrana gubitka
Kada se niz prekine, a hoće, oznaka pokazuje 1, a tvoj najbolji niz ostaje. Nema ponude da ga vratiš.
Istraživanja navika podržavaju blagost u ovome. U istraživanju sa Univerzitetskog koledža u Londonu (UCL) koje je vodila Phillippa Lally, formiranje nove navike trajalo je u proseku 66 dana kod učesnika koje su istraživači mogli da modeluju, a propuštanje jedne prilike „nije značajno uticalo na proces formiranja navike”. Ako se propušten dan tretira kao katastrofa, ljudi uče da je navika krhka, i neki odustanu umesto da ponovo krenu od 1.
Razmatrali smo „zamrzavanje niza” kakvo prodaju aplikacije za jezike i zaključili da je upravo ono što nismo hteli da napravimo: da se izgubljen niz oseća kao propuštena kupovina.
UTC dani
Granica dana mora biti ista za sve, inače je rang-liste i dnevni izazov ne mogu deliti. Po lokalnom vremenu, dnevni citat bi se menjao u drugom trenutku za svakog posetioca, a spisak „najbržih danas” poredio bi različite dane. UTC je jedina granica koju server može da izračuna bez pitanja pregledaču.
Cena je to što se za daktilografa u Kaliforniji dan menja u 16 ili 17 časova, a za nekoga u Delhiju u 5:30 ujutru. Razmatrali smo pomeranje sata po nalogu i za prvu verziju odlučili da ga nema: dodaje pravilo koje treba objasniti, a niz kome treba pasus objašnjenja već gubi. Odbrojavanje dnevnog izazova pokazuje koliko je ostalo od tekućeg dana. Ako se vratimo ovome, biće to jednokratno pomeranje i ova beleška će to reći.
Koliko često treba vežbati kucanje?
Postavi nizak minimum. Niz kome treba petnaest minuta umire prvog zauzetog dana; u loš dan dovoljan je jedan test od 30 sekundi. Plan vežbe od 40 do 80 WPM napravljen je oko toga: cela sesija traje petnaest minuta, a minimum je jedan test.
Ne juri bonus za prvi test u ponoć. +50 postoji da bi se kratka sesija isplatila, a ne da bi ostajao budan. Ako je 23:55 po UTC-u i umoran si, niz vredi manje od sna.
Koristi dnevni izazov kao podrazumevanu sesiju. To je jedan citat, obično traje manje od minuta, a njegova rang-lista se resetuje svakog dana, pa je vrh dostižan. Dizajner gejmifikacije Yu-kai Chou zastupa isto: „Standardno rangiranje od prvog do poslednjeg mesta motiviše samo malu grupu pri vrhu”, i predlaže da se resetovanje uskladi sa tim koliko često ljudi nešto rade, dnevno za česte radnje.
Prati liniju trenda, ne niz. Grafikon od 90 dana na stranici sa istorijom je ono čemu niz služi. Ako linija ide naviše, niz je obavio svoj posao čak i ako se prekine. Ako je linija mesec dana ravna, niz te drži za tastaturom, ali te ne čini bržim, i to je signal da umesto uobičajenog testa otvoriš vežbu slabih tastera u vežbi.
Šta pratimo
Još nemamo podatke o zadržavanju korisnika koje bismo objavili. Kad ih budemo imali, pitanje je da li ljudi koji održe niz od 30 dana postaju brži po trendu od 90 dana ili samo održavaju niz. Ako je ovo drugo, dizajn je pogrešan, a prva promena bila bi da se računa dnevni izazov.
Česta pitanja
Koliko često treba da vežbam kucanje?
Malo i često je bolje od povremenih maratona kada je reč o održavanju navike. Naš niz traži jedan validan test dnevno, a plan vežbe predlaže petnaest minuta kada ih imaš i jedan kratak test kada ih nemaš.
Kada se dnevni niz resetuje?
U ponoć po UTC-u. Odbrojavanje dnevnog izazova pokazuje koliko je sati ostalo od tekućeg UTC dana, pa vidiš kada se „danas” završava, gde god da živiš.
Da li dnevni izazov traži savršenu tačnost?
Ne. Možeš da igraš koliko god puta želiš i računa se tvoj najbolji pokušaj, ali pokušaj se rangira na dnevnoj rang-listi samo uz 90% tačnosti ili više.